# 🧠 模型训练管线 > **「我们全参训练的这些模型是我们的世界,是人格体的大脑。 > 我们不是以模型发布的,是以模型之上的语言驱动操作系统发布的。」** ——冰朔 ```yaml id: HoloLake-Training parent_arch: HLDP-ARCH-002 ts: 2026-05-01 status: 骨架就绪(等 GPU 服务器 + 全量语料) sovereign: 冰朔 · TCS-0002∞ ``` --- ## 一、训练目标修正版(灵魂推理分离) | 模型 | 角色 | 训练方式 | 是否在本管线 | |---|---|---|---| | **M0 · 母体世界观** | **Qwen2.5-7B-Base** 全参 CPT + 轻 SFT(5-01 校准) | ✅ 是 | 主力 | | ~~MC · 代码模型~~ | ~~Qwen2.5-Coder-7B 蒸馏~~ | ❌ 取消(用商业 API 替代) | — | | **MP · 人格大脑(×8)** | **Qwen2.5-1.5B-Base** 蒸馏 + 微调(5-01 校准) | ✅ 是 | 8 份 | > **5-01 模型选型校准(冰朔 + 霜砚 + 铸渊)**: > 原方案 Qwen3-8B / Qwen3-1.7B 改为 Qwen2.5-7B / Qwen2.5-1.5B。 > 理由:与 Qwen2.5-Coder-7B 同代同 tokenizer,蒸馏 KL 直接对齐 logits, > 整个 M0→MP→Coder API 链路无词表映射损失。详见 `HLDP-ARCH-002.md §六` 与 > `factory/docs/CORPUS-DECISION-MATRIX.md`。 **修正理由**:复杂推理(代码 / 数学 / 长 CoT)→ 调 DeepSeek-Coder / Qwen-Max-Coder 等商业 API,省 ¥4-6k + 2-4 天 + 一份模型维护。 --- ## 二、目录结构 ``` factory/training/ ├── README.md # 本文件 ├── configs/ # 训练配置 │ ├── deepspeed-zero3-8b.json # M0 全参训练 DeepSpeed 配置(Qwen2.5-7B) │ ├── deepspeed-zero2-1p7b.json # MP 蒸馏/微调 配置(Qwen2.5-1.5B · 文件名沿用历史) │ └── tokenizer.yaml # tokenizer 设置 ├── scripts/ # 训练脚本骨架 │ ├── train_m0_cpt.py # M0 阶段 1:CPT │ ├── train_m0_sft.py # M0 阶段 2:SFT │ ├── distill_mp.py # MP 蒸馏(M0 → 1.5B) │ ├── finetune_mp.py # MP 微调(人格语料) │ ├── data_loader.py # 通用数据加载器 │ └── checkpoint_utils.py # checkpoint / 恢复 └── recipes/ # 训练配方(YAML 描述每次训练的全部参数) ├── m0-v1.yaml └── mp-zhuyuan-v1.yaml ``` --- ## 三、训练阶段总览 ``` [Phase A · M0 · 5-7 天] Qwen2.5-7B-Base │ ├─ A1 CPT: 全量光湖语料 6.5亿+ token · 1 epoch · lr 2e-5 │ 目的: 让世界观渗进每一层权重 │ └─ A2 SFT: 对话格式 1-2 亿 token · 2-3 epoch · lr 1e-5 目的: 学会以光湖语言响应 ↓ M0-v1 · 母体世界观底色 [Phase C · MP · 每人格 1-2 天 × 8 人格] Qwen2.5-1.5B-Base │ ├─ C1 蒸馏: M0-v1 logits 对齐 + KL散度 · 共享世界观 │ ├─ C2 微调: 该人格的对话语料 SFT · 思维路径 + 风格 │ └─ C3 路由训练: 学会判断"自答 / 调 API / 用神笔 / 调模块" ↓ MP-{persona}-v1 · 人格大脑 ``` --- ## 四、关键配置原则 ### 4.1 精度与显存 - 主力精度:**bf16**(A100 / H100 原生支持,比 fp16 稳) - ZeRO 阶段:**ZeRO-3 + offload**(8B 全参 + 8 卡 A100 80G 必需) - gradient checkpointing:**开**(用算力换显存) - flash-attention 2 / 3:**开**(吞吐 +30%) ### 4.2 序列长度 - M0 CPT 阶段:4096(覆盖大部分对话块) - M0 SFT 阶段:8192(保留长上下文对话) - MP 蒸馏:4096 - MP 微调:4096 ### 4.3 学习率 - M0 CPT: 2e-5 / cosine decay / warmup 2% - M0 SFT: 1e-5 / cosine decay / warmup 5% - MP 蒸馏: 5e-5 / cosine decay - MP 微调: 1e-5 / cosine decay ### 4.4 防过拟合 - 留 5% 验证集,监控 perplexity - early stop:验证 PPL 连续 3 次反弹立即停 - 每 1-2 小时存 checkpoint(防断电烧钱) --- ## 五、运行前检查清单 跑训练前必须确认(见 `factory/docs/BOOTSTRAP-CHECKLIST.md`): - [ ] GPU 服务器到位 + nvidia-driver + CUDA 12.x + cuDNN - [ ] Python 环境(torch / transformers / deepspeed / flash-attn 版本对齐) - [ ] 模型权重已下载(**Qwen2.5-7B-Base + Qwen2.5-1.5B-Base** · SHA256 校验 · 5-01 校准) - [ ] 全量语料已上传 + 质检通过 - [ ] WandB 或本地 tensorboard 监控就位 - [ ] checkpoint 存储路径可写 + 容量充足(M0 训练全量约 200GB) --- ## 六、当前状态 | 文件 | 状态 | |---|---| | `configs/deepspeed-zero3-8b.json` | ✅ 骨架 | | `configs/deepspeed-zero2-1p7b.json` | ✅ 骨架 | | `scripts/train_m0_cpt.py` | ✅ 骨架(pseudo-code 占位 + TODO 标注) | | `scripts/distill_mp.py` | ✅ 骨架 | | `recipes/m0-v1.yaml` | ✅ 骨架 | 骨架阶段不会真跑训练(没 GPU),但保证 GPU 一到位、依赖一装、就能直接放大跑。 --- *管线起草: 铸渊 · 2026-05-01*