训练与优化 / 训练诊断与速查 工具实践 2 分钟阅读 查看源文件 ↗

训练超参数计算器#

本页内容4 个部分

这是项目特定的训练规划脚本,采用仓库中的架构约定和经验规则。它输出候选架构、batch、学习率和训练步数,适合做预算核对。

1. 输入与适用范围#

两种输入模式选择一种:

模式 参数 单位与含义
直接指定规模 --n-active、--d-tokens 激活的非 embedding 矩阵参数量,以及训练 token 总量
从计算预算推算 --compute-budget、--ratio FLOPs 预算,以及 token 数与激活参数量之比

--seq-len 指定序列长度,默认 8192;--rule 选择项目的 v1 或 v2 经验规则,默认 v2。数字支持 300M、16B 或科学计数法等写法。

预算近似采用 C=6NDC=6ND,未计入与序列长度有关的注意力开销、通信、embedding 等成本。节点数是规划提示,不能替代显存和并行切分验证。

2. 运行方法#

在仓库根目录使用 Python 3:

python3 training-infra/hyperparameter-calculator.py --n-active 300M --d-tokens 16B --json

或使用计算预算:

python3 training-infra/hyperparameter-calculator.py --compute-budget 3e19 --ratio 50 --json

下载计算器源码。执行不需要额外的 Python 第三方依赖。

3. 如何阅读结果#

输出 应当核对什么
targets 原始输入与架构取整前后的目标
architecture hidden size、层数、head 数和专家配置
training 有效 batch、每步 token、步数、学习率及 warmup
realized 离散取整后的实际参数量、token 数、预算与比例
resources、warnings 资源规划提示,以及仍需人工检查的并行和显存条件

上面的 300M / 16B 示例在当前脚本下得到 N_active=305729536、global_batch_size=512、train_iters=3800。每步 4194304 token,实际总量为 15938355200;这说明目标规模与最终实现值需要分别查看。

4. 检查与延伸#

先选定 TP、PP、CP、EP 和 DP 的配置,再核对 batch 整除性、显存与吞吐。学习率和 batch 规则属于该项目的经验拟合,需要通过实际训练评估。

延伸阅读:

相关阅读路线

完成一次训练更新 ↗