Nanochat模型尺寸指南 | AI生成和翻译
整体情况如下:
NANOCHAT 模型规模
====================
名称 | 深度 | 维度 | 头数 | 参数量 | 每token计算量 | 参考
-------|-------|------|-------|-----------|-------------|----------
d4 | 4 | 256 | 4 | 37M | 72M | 当前CPU运行
d8 | 8 | 512 | 4 | 80M | 250M | RTX 4070目标
d12 | 12 | 768 | 6 | 286M | 1.7B | Karpathy参考
d20 | 20 | 1280 | 10 | 1.0B | 6B | 缩放定律目标
d24 | 24 | 1536 | 12 | 1.7B | 10B | MI300X目标
训练规模(基于缩放定律)
=====================================
d12参考:
20万步 × 65,536 token/步 = 131亿 token
token与参数量比值 = 131亿 / 286M = 45.8(Chinchilla最优约为20)
最终验证集bpb:0.853
d8(RTX 4070脚本):
5,000步 × 32,768 token/步 = 1.64亿 token
token与参数量比值 = 1.64亿 / 80M = 2.05(严重欠训练)
CPU DDP速度估算(2节点,Gloo)
========================================
实测:d4约115 tok/秒
模型 | 参数量 | 每token计算量 | 估算tok/秒 | 每步时间 | 1000步
------|--------|-------------|-------------|-----------|----------
d4 | 37M | 72M | 115 | 18秒 | 5小时
d8 | 80M | 250M | ~35 | 58秒 | 16小时
d12 | 286M | 1.7B | ~5 | 7.5分钟 | 5.2天
d20 | 1.0B | 6.0B | ~1.4 | 26分钟 | 18天
公式:tok/秒 ∝ 1 / 每token计算量(CPU上受计算限制)
d4→d12:72M / 1.7B = 慢24倍 → 115/24 ≈ 5 tok/秒
CPU DDP上的可行性分析
============================
d4(当前):
20步 @ 2048批量 = 40,960 token → 约6分钟 ✅ 已完成
1000步 → 5小时 → 可学习基本模式
验证集bpb:约10.39 → 约3.2(大幅改善)
d8:
1000步 × 32768批量 = 3300万 token → 约16小时
需要约5000步才能获得较好结果 → 3.3天
验证集bpb:应能达到约1.5-2.0
d12(实际目标):
最小有效:1万步 × 65536批量 = 6.55亿 token → 36小时
Karpathy的运行:20万步 → CPU DDP需30天
最佳结果:验证集bpb 0.853(在RTX 4070上,耗时约65小时)
结论:CPU DDP非常适合学习以及d4/d8实验。
对于d12及以上,请使用RTX 4070(GPU每步约快100倍)。
当前的d4运行训练良好——5步内损失从10.40降至10.39。要获得能生成连贯文本的真正的模型,至少需要d8配置并进行5000步训练。在CPU DDP上这大约需要3天,而在RTX 4070上只需几小时。