跳转到内容

优化器、调度与布局

Muon 更新普通的块内矩阵;原有的 AdamW 参数组更新嵌入、输出头、value embedding 和原生标量。辅助门控、indexer、halter、残差映射和 pseudo-query 都要显式登记;每个可训练参数恰好属于一个参数组。

参数组 基础学习率
Muon 0.02
Embedding 0.3
Unembedding 0.008
标量 0.5
辅助 AdamW 0.0006

在此之上还会应用原有的全局批量平方根缩放和原生宽度缩放;以上是基础值,不一定是最终各组的学习率。warmup 为 40 次更新;训练的最后 65% 线性衰减到峰值学习率的 5%。权重衰减为 0.28,采用通用的 d24 缩放和原生 Muon 调度。默认不做全局梯度裁剪;任何方法特有的辅助学习率或裁剪例外,都要在 pilot 之前预先登记。

数据始终遵循八条固定的逻辑数据流。已登记三种布局:

World size 逻辑数据流 每条流的 rank 数 每 rank 的 microbatch × 累积步数
8 8 1 64
16 8 2 32
32 8 4 16

共享同一条数据流的相邻 rank 会打包这条流的所有行,并各自保留每次更新中连续的一段,因此每个更新边界处的全局行集合、顺序、行号和数据流状态都与 8 rank 运行相同。验证使用同样的共享方式;CORE 分配题目 ID,但不改变题目集合。其他 world size 只用于冒烟测试。四个独立的 8 卡作业不等于一个 32 卡作业。

不同型号的 GPU 可以在预检之后改变每 rank 的 microbatch 和累积步数,但不改变每次更新的全局 token 数。kernel、BF16 和归约顺序的差异会随运行一起记录。 与 microbatch 非线性相关的辅助损失需要测试并说明:对 microbatch 均值的平方取平均,并不等于全局均值的平方。

快速开始介绍了如何在单机或多机上启动。