# GLM-5.2 AQLM convergence RUNLOG (see /home/coder/git/glm52/PLAN.md for the runbook; append-only) ## 2026-07-06 phase 1 start - Smoke: layer 40 on GPU4, optimized scoring (bf16 GEMM, CHUNK 32768). - w13 warm-start weighted rel-err 0.0868 -> converging ~0.4%/iter. ## Phase 1 full run launched - Smoke L40 PASS: w13 0.0889->0.0859, w2 0.0887->0.0732 (-17.5%). - Converger: all 75 layers, 8 GPUs (resumable), ETA ~5h. - REAP scorer (CPU, 12 workers) running in parallel -> /data/glm52-reap-scores.npz. ## 2026-07-06 21:05Z phase 2.0 staging (CPU/network only, no GPU) ### Task A - calibration corpus v3 - /data/glm52-calib-v3/ : 16 uint32 .npy shards, 15,010,095 tokens total. Shards 0-14 = 1,000,000 tok each; shard 15 = 10,095 tok. No empty shard. - Composition (on target): code 40.0% (6,000,054), agentic/tool-calling 25.0% (3,756,155), instruction chat 15.0% (2,250,536), medical 10.0% (1,503,133), prose 10.0% (1,500,217). - Sources: reused tools/collect_expert_stats_v2.py generators (raw vLLM code, bash corpus, agentic tool-calling via GLM chat template, coding chat, MedQA textbook continuation, medical/general Q&A) + HF streaming downloads: m-a-p/CodeFeedback-Filtered-Instruction + jtatman/python-code-dataset-500k (code), tatsu-lab/alpaca (instruction), databricks/databricks-dolly-15k (prose). All ungated, streaming=True, no auth. - MedQA note: /tmp was wiped so /tmp/medqa was re-extracted from cogbuji/medqa_corpus_en textbooks_en_jsonl.zip (18 textbook jsonl files). - Held-out exclusions honored: heldout.txt never read; skipped last 25 vLLM docs/*.md (sorted), last 3 MedQA jsonl (sorted), and vLLM python at seed-42 shuffle indices >=400 (used code_files[:400] only). Deterministic seed 42. - Verify: tokenizer round-trip on a 300-token sample re-encodes exactly (True). - Builder: tools/build_calib_v3.py. ### Task B - BF16 teacher streamer - tools/bf16_stream.py : class Bf16Teacher.get_expert(layer,expert,proj)->bf16, HTTP range reads of zai-org/GLM-5.2 (BF16, 282 shards, 1.5TB). Index + per-shard headers cached under /data/bf16-cache/{index.json,headers/}; LRU blob cache /data/bf16-cache/blobs (400GB cap, mtime eviction). Retry w/ exponential backoff. Range pattern reused from gguf_remote/make_hot_manifest. - VERIFY (CPU): cosine(BF16, NVFP4-dequant teacher) on 10 random (layer,expert, proj) triples, NVFP4 from /tmp/glm52-hot-dl2 via aqlm_converge dequant helpers. All > 0.98: [0.99670,0.99639,0.99560,0.99573,0.99560,0.99543,0.99588,0.99557, 0.99636,0.99714]; min 0.99543, mean 0.99604. PASS. ### Task C - bench_small - tools/sanity/bench_small.py : 20 HumanEval (openai/human-eval jsonl.gz from GitHub, greedy, 512 tok, subprocess sandbox 5s timeout, pass@1) + 50 GSM8K (openai/gsm8k main test, streaming, 3-shot, final-number exact match). --self-test validates imports+downloads with no server. self-test PASS: HumanEval 20 loaded, sandbox verifies canonical solution, GSM8K 3-shot+50 test stream + answer extraction OK. Not run against a server (none up). ## 2026-07-07 REAP re-tier GATES PASS (1M final) - Slimmed stage-1 (190 lowest-REAP-score demotions on L21-39, 59 newly encoded), rebuilt 291.6 GB. SC-1/2 PASS. - SC-7: KV 1,052,672 tok; needle BLUEBERRY42; worst GPU 97,724 <= 97,887. - SC-6 ppl: 2.7714 (ship) -> 2.7646 (conv) -> 2.7459 (REAP slim). - Final recipe: util 0.5146 emul (0.959 real), --num-gpu-blocks-override 16448.