From 2f4780b69f9e98f234fb14c0a393bcd84a847dd7 Mon Sep 17 00:00:00 2001 From: iomgaa Date: Sun, 19 Jul 2026 05:24:25 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20roadmap=20=E5=AD=98=E6=A1=A3=E7=82=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E2=80=94=E2=80=94=E5=B1=82=202=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=85=B3=E8=B4=A6=EF=BC=88U1-U5=20=E5=85=A8=E7=BB=BF?= =?UTF-8?q?=EF=BC=89=EF=BC=8C=E5=88=97=E8=BF=9C=E7=A8=8B=E5=86=92=E7=83=9F?= =?UTF-8?q?=E4=B8=89=E7=9B=AF=E5=BE=85=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/00-roadmap.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/00-roadmap.md b/docs/00-roadmap.md index c9aadd4..205d051 100644 --- a/docs/00-roadmap.md +++ b/docs/00-roadmap.md @@ -7,9 +7,10 @@ > 每次断点(层完成/工作暂停)更新此节。恢复上下文时:读 CLAUDE.md → 本节 → 对应章节文档。 -- **日期**: 2026-07-18 -- **当前层**: 层 2(white-box OPD),学习阶段——docs/03 已写,用户精读中;U1-U5 待默认参数确认后开写 -- **层 2 开写前两件待办**: ① docs/03 §5 默认参数提案待用户确认,其中 per-device batch=4 须先用层 1 实测显存账重审(白盒 = student+teacher 两份全词表 logits);② 用户三道自查题待对答案(尾桶丢什么信息 / off-policy 蒸馏何时值得加回+层 1 缓存的角色 / 低频路径 bug 存活率与单测应压向哪里) +- **日期**: 2026-07-19 +- **当前层**: 层 2(white-box OPD),**代码已完成(U1-U5 全绿,66 单测通过)**,待远程冒烟 +- **层 2 远程冒烟待办(下一步,用户在远程机执行)**: `bash scripts/train_whitebox.sh sanity`(50 步)。三盯:① `nvidia-smi` 确认 B=4/T=2048 不 OOM(白盒 = student+teacher 两份全词表 logits,§5 估算但未实测,OOM 阶梯:降 B→2、再开 gradient_checkpointing);② KL loss 曲线应见**毛刺**(§4.1 梯度爆炸实况,截图留档给层 5 当有界乘子对照);③ `distill/num_gen_tokens_per_step` 不塌成 0(生成没空转)。首跑会下载 teacher Qwen3-4B(GB 级)到 /data/zym/hf_cache +- **层 2 代码构成**: U1 DistillConfig(configs.py,两温度分名/三处刻意缺席);U2 token_divergence + 梯度爆炸单测(trainer.py,全词表 KL/JSD);U3 SFTCollator prompt_only 模式(data.py);U4 DistillTrainer + build_generated_batch(trainer.py,生成→双前向→divergence);U5 train_whitebox.py/.sh。附带:load_sft_dataset 毛刺已磨平(改吃散装参数,接口回看记录清账) - **层 0**: ✅ 已关账(2026-07-18) - **层 1**: ✅ 已关账(2026-07-18)。判据全过:正本缓存 sha `33deb18c…`(1000 条,键唯一,think 残留 0,仅 2 条硬题截断);正式 1 epoch loss 0.94→0.60(56s/16 步);checkpoint 生成通顺(`/data/zym/outputs/sft_qwen3-0.6b_dapo1k`);接口回看完成(全部模块判"深";毛刺记录:load_sft_dataset 吃整个 SFTConfig 迫使诊断脚本填假 output_dir,层 2 第二消费方出现时定夺) - **层 1 疤痕档案**(详见 docs/02 §2.6/§5 勘误): ① 显存大头是 (B,T,V) logits 链与激活(正比 B×T,与参数量无关),B=8 曾爆 80G;② HF 梯度累积契约两幕剧(×8 → ÷4),终解 = model_accepts_loss_kwargs=False 退出新式契约;③ 缓存正本纪律:本地生成一次、单向 scp 分发、sha256 对账,两侧独立生成曾花双份钱且内容漂移