Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
4.3 KiB
4.3 KiB
📊 代码模型v2.0训练完整报告 · Qwen2.5-Coder-7B · 2026-05-18
训练概览
| 项目 | 值 |
|---|---|
| 任务 | 代码模型v2.0 · 全参数SFT |
| 基座模型 | Qwen2.5-Coder-7B |
| 训练方式 | 全参数SFT · 只对assistant回复算loss |
| 执行体 | 铸渊(ICE-GL-ZY001) |
| 语料 | 与母模型v2.0相同 · 11,470条 · 21M tokens |
| 总耗时 | 约4小时(铸渊修复下载问题后启动) |
| 最终Loss | 0.071(epoch 2.999) |
训练超参数
| 参数 | 值 |
|---|---|
| Epochs | 3 |
| Batch size | 1 |
| Gradient accumulation | 8 |
| Learning rate | 2e-5(峰值)· 余弦衰减 |
| 精度 | BF16 |
| 总步数 | ~4,300步 |
Loss曲线关键节点
| Epoch | Loss | LR | 阶段 |
|---|---|---|---|
| 0.007 | 2.544 | 8.3e-7 | 起步 · 代码模型首次接触自然语言语料 |
| 0.049 | 2.234 | 6.4e-6 | Warmup中 · 开始适应 |
| 0.091 | 1.681 | 1.2e-5 | 快速下降期 |
| 0.153 | 1.359 | 2e-5 | Warmup完成 · LR到达峰值 |
| 0.265 | 0.954 | 2e-5 | 跌破1.0 |
| 0.342 | 0.675 | 1.98e-5 | 持续下降 |
| 0.467 | 0.519 | 1.94e-5 | 跌破0.5 |
| 0.551 | 0.409 | 1.91e-5 | 第一轮过半 |
| 0.670 | 0.284 | 1.84e-5 | 进入低loss区 |
| 0.802 | 0.214 | 1.75e-5 | 第一轮80% |
| 0.928 | 0.147 | 1.66e-5 | 第一轮接近完成 |
| 1.004 | 0.140 | 1.59e-5 | 第一轮完成 · checkpoint保存 |
| 1.053 | 0.112 | 1.55e-5 | 第二轮开始 · 继续下降 |
| 1.193 | 0.053 | 1.41e-5 | 进入极低loss区 |
| 1.339 | 0.042 | 1.26e-5 | 第二轮33% |
| 1.499 | 0.053 | 1.08e-5 | 第二轮50% |
| 1.653 | 0.037 | 9.2e-6 | 最低点之一 |
| 1.688 | 0.027 | 8.8e-6 | 最低点(0.027) |
| 2.001 | 0.099 | 5.5e-6 | 第二轮完成 · checkpoint保存 |
| 2.050 | 0.042 | 5.0e-6 | 第三轮开始 |
| 2.308 | 0.032 | 2.8e-6 | 第三轮30% |
| 2.483 | 0.018 | 1.6e-6 | 最低点(0.018) |
| 2.713 | 0.036 | 5.0e-7 | LR接近0 · loss稳定 |
| 2.894 | 0.022 | 6.9e-8 | 接近完成 |
| 2.999 | 0.071 | 2.7e-11 | 训练完成 · 模型保存 |
Loss总降幅:2.544 → 0.02~0.07 · 降幅97%
母模型 vs 代码模型对比
| 指标 | 母模型v2.0 | 代码模型v2.0 |
|---|---|---|
| 基座 | Qwen2.5-7B | Qwen2.5-Coder-7B |
| 起始Loss | 2.504 | 2.544 |
| 第一轮结束Loss | 0.094 | 0.140 |
| 最低Loss | 0.011 | 0.018 |
| 最终Loss | 0.052 | 0.071 |
| 降幅 | 98% | 97% |
| 收敛特征 | 学自然语言更快 · 第一轮降至0.09 | 学自然语言稍慢 · 第一轮降至0.14 · 但最终接近 |
结论:代码模型起步略慢(代码基座首次接触纯自然语言),但三轮后基本追平母模型,最终loss仅差0.019。
训练特征分析
三轮变化
- 第一轮(epoch 0~1):loss从2.544降到0.14 · 主要学习阶段 · 代码基座适应自然语言模式
- 第二轮(epoch 1
2):loss在0.020.15波动 · 精细化阶段 · 最低点0.027 - 第三轮(epoch 2
3):loss在0.020.10波动 · 收尾阶段 · LR衰减至接近0 · 最低点0.018
grad_norm变化
- 第一轮:2~15(起步时梯度较大 · 学习剧烈)
- 第二轮:0.2~4(梯度稳定 · 精细调整)
- 第三轮:0.1~2(梯度极小 · 微调收尾)
代码模型的特殊表现
- 起始loss 2.544 vs 母模型2.504 · 起步几乎相同 · 说明两个基座对冰朔语料的初始"陌生度"接近
- 第一轮结束时loss 0.14 vs 母模型0.094 · 代码模型学自然语言稍慢(代码基座的预训练分布偏代码)
- 第二轮后差距缩小 · 最终loss 0.071 vs 0.052 · 差距仅0.019
- 代码模型保留了代码能力 + 学会了冰朔的思维方式 = 既能写代码又能说光湖的话
双模型v2.0训练总结
| 母模型v2.0 | 代码模型v2.0 | |
|---|---|---|
| 基座 | Qwen2.5-7B | Qwen2.5-Coder-7B |
| 训练时间 | 4小时8分钟 | 约4小时 |
| 最终Loss | 0.052 | 0.071 |
| 模型大小 | ~15GB | ~15GB |
| COS备份 | ✅ models/qwen25-7b-sft/final/ | 待确认 |
| 用途 | 霜砚大脑 · 语言思维 · 蒸馏1.5B模板 | 铸渊大脑 · 代码+自然语言 · 编程执行 |
双模型v2.0训练全部完成。 GPU服务器到期时间:2026-05-19 20:00。需在到期前确认代码模型已上传COS备份。
数据整理:霜砚(ICE-SY-01)· 2026-05-18