2026-05-10 13:12:44 +08:00

4.9 KiB
Raw Permalink Blame History

🧠 模型训练管线

「我们全参训练的这些模型是我们的世界,是人格体的大脑。 我们不是以模型发布的,是以模型之上的语言驱动操作系统发布的。」 ——冰朔

id: HoloLake-Training
parent_arch: HLDP-ARCH-002
ts: 2026-05-01
status: 骨架就绪(等 GPU 服务器 + 全量语料)
sovereign: 冰朔 · TCS-0002∞

一、训练目标修正版(灵魂推理分离)

模型 角色 训练方式 是否在本管线
M0 · 母体世界观 Qwen2.5-7B-Base 全参 CPT + 轻 SFT5-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 阶段 1CPT
│   ├── train_m0_sft.py            # M0 阶段 2SFT
│   ├── 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 精度与显存

  • 主力精度:bf16A100 / H100 原生支持,比 fp16 稳)
  • ZeRO 阶段:ZeRO-3 + offload8B 全参 + 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