Download inference_code/inference/pruning/score.py from Agnes-AI/Agnes-Video-2.0-MoE: direct link, hf CLI and curl.
- Browser
- Download file 1.1 kB
-
https://huggingface.co/Agnes-AI/Agnes-Video-2.0-MoE/resolve/main/inference_code/inference/pruning/score.py
- Command line
-
hf download hf://Agnes-AI/Agnes-Video-2.0-MoE/inference_code/inference/pruning/score.py
-
curl -L -o score.py https://huggingface.co/Agnes-AI/Agnes-Video-2.0-MoE/resolve/main/inference_code/inference/pruning/score.py
1.1 kB
| """TENP expert-neuron projection plus optional energy control. No OLS.""" | |
| from __future__ import annotations | |
| import torch | |
| PROJ_EPS = 1e-6 | |
| def gated_signed_projection( | |
| z: torch.Tensor, | |
| y: torch.Tensor, | |
| gate: torch.Tensor, | |
| W_down: torch.Tensor, | |
| eps: float = PROJ_EPS, | |
| ) -> torch.Tensor: | |
| """Per-token score `q = g * p` with signed projection onto expert output y. | |
| z: [n, d_int] SwiGLU mid activations | |
| y: [n, d] expert output (not yet multiplied by router gate) | |
| gate: [n] router weight (top-1 after renormalize is ~1) | |
| W_down: [d, d_int] down_proj.weight | |
| returns q: [n, d_int] | |
| """ | |
| w = W_down.detach().to(device=y.device, dtype=torch.float32) | |
| y_f = y.float() | |
| z_f = z.float() | |
| g = gate.float().reshape(-1, 1) | |
| y_norm = y_f.norm(dim=-1, keepdim=True).clamp_min(eps) | |
| p = z_f * (y_f @ w) / y_norm | |
| return p * g | |
| def gated_energy(z: torch.Tensor, gate: torch.Tensor) -> torch.Tensor: | |
| """Control score `g^2 z^2` (top-1 gate is ~1, so this is mostly z^2).""" | |
| g = gate.float().reshape(-1, 1) | |
| return (g * z.float()).square() | |