Download code/tools/capture_acts.py from FlyCockpit/GLM-5.2-NVFP4-AQLM-Abliterated-Vision: direct link, hf CLI and curl.
- Browser
- Download file 1.23 kB
-
https://huggingface.co/FlyCockpit/GLM-5.2-NVFP4-AQLM-Abliterated-Vision/resolve/main/code/tools/capture_acts.py
- Command line
-
hf download hf://FlyCockpit/GLM-5.2-NVFP4-AQLM-Abliterated-Vision/code/tools/capture_acts.py
-
curl -L -o capture_acts.py https://huggingface.co/FlyCockpit/GLM-5.2-NVFP4-AQLM-Abliterated-Vision/resolve/main/code/tools/capture_acts.py
1.23 kB
| #!/usr/bin/env python3 | |
| """Run the calibration corpus through the live 1M model with the | |
| VLLM_ACT_CAPTURE_DIR hook: per layer, ~24k routed tokens of (x, topk). | |
| Reuses the corpus builder from collect_expert_stats_v2.""" | |
| import os | |
| import sys | |
| os.environ["VLLM_ACT_CAPTURE_DIR"] = "/data/glm52-acts" | |
| os.environ.setdefault("VLLM_PP_LAYER_PARTITION", "21,19,19,19") | |
| sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) | |
| from collect_expert_stats_v2 import build_corpus # noqa: E402 | |
| def main(): | |
| from vllm import LLM, SamplingParams | |
| from vllm.inputs import TokensPrompt | |
| llm = LLM( | |
| model="/data/glm52", | |
| pipeline_parallel_size=4, | |
| gpu_memory_utilization=0.509, | |
| kv_cache_dtype="fp8_ds_mla", | |
| max_model_len=8192, | |
| max_num_seqs=2, | |
| max_num_batched_tokens=2048, | |
| enforce_eager=True, | |
| ) | |
| tok = llm.get_tokenizer() | |
| texts = build_corpus(tok) | |
| prompts = [TokensPrompt(prompt_token_ids=tok.encode(t)[:7900]) | |
| for t in texts] | |
| print(f"{len(prompts)} calibration prompts") | |
| llm.generate(prompts, SamplingParams(max_tokens=1, temperature=0.0)) | |
| print("generation done; check /data/glm52-acts") | |
| if __name__ == "__main__": | |
| main() | |