Files
esh-pfi-infrastructure/persistent-memory.d/2026-07-14-mtp-on-modelopt-no-checkpoint-config-skips-the.md
T
vh d710e56aca memory: migrate persistent-memory.md to two-tier index (53 detail files)
Split the 53 over-threshold dated log entries (Recent decisions, Tried
and abandoned) into per-entry persistent-memory.d/<slug>.md detail files,
leaving one-line pointers in the index; the 10 short entries stay inline.
Startup index drops 60,527 -> 25,256 bytes (492 -> 270 lines); entry
bodies move verbatim to on-demand detail files, so a fresh session loads
~25 KB instead of ~60 KB and pulls a detail file only when its pointer is
relevant. Top matter (Repo purpose, Tools & conventions, Current state)
is unchanged; both archival back-references preserved.

CLAUDE.md persistent-memory section now documents the index<->detail read
discipline (read the index, pull details on demand, never bulk-read the
dir, commit both together).

Auto-archival still held every dated entry back (all <30 days old); the
July burst begins aging past the 30-day guard ~2026-07-31.
2026-07-15 13:33:42 -07:00

1.2 KiB

  • [2026-07-14] MTP-on-modelopt: NO checkpoint config skips the spec-decode drafter's quant (vLLM 0.24 bug) — 4 config attempts failed before the runtime workaround. All crashed the same way (qwen3_5_mtp.py:256 param_data.shape == loaded_weight.shape AssertionError — bf16 mtp head loaded into a quantized drafter param): (1) mtp excludes in config.json (WRONG file — vLLM modelopt reads hf_quant_config.json); (2) specific-unfused mtp names in hf_quant_config; (3) wildcards mtp*/mtp.layers.0* (is_layer_skipped is EXACT-membership, NOT glob — wildcards match nothing); (4) exact fused+unfused names in both mtp./model. prefixes. Instrumenting is_layer_skipped proved the drafter's exclude list holds ONLY the main model's linear_attn entries — the mtp excludes never reach the draft-model quant config. ONLY fix = a mounted sitecustomize force-skipping mtp.*. LESSON: don't chase checkpoint-config fixes for the mtp-drafter crash; go straight to the runtime patch. Also nvidia-modelopt[hf]==0.43 (AEON's producer version) is a trap — it pins transformers back to 4.57 which can't load qwen3_5 at all; use 0.45 + the FusedMoE guard in quant_modelopt.py.