文章摘要
【关 键 词】 低精度训练、无需反向、梯度估计、分布式训练、模型微调
最近,一项名为“noise_step”的新技术由Will小哥提出,该技术允许模型在1.58-bit低精度下直接训练,无需反向传播或动量加速,从而大幅降低算力和存储消耗。这项技术基于前人研究,表明大语言模型(LLM)的推理可以在1.58-bit精度下进行,且不会有性能损失。与传统的在推理时使用低精度、训练时仍需高精度权重的方法不同,noise_step的核心区别在于无需反向传播。
Will小哥参考了《Gradients without Backpropagation》论文,介绍了雅可比向量积(JVP)这种不依赖反向传播的梯度估计方法。通过在前向传播中引入随机性,可以生成一个随机向量,并通过计算JVP来评估这个随机向量与目标函数梯度之间的对齐。通过在多个随机方向上重复JVP计算,可以收集足够的信息来估计整个梯度向量,实现不依赖于反向传播的梯度估计。
这种方法意味着noise_step可以使用更稀疏的随机向量和简单的对齐值,减少了存储使用。由于使用伪随机噪声,只需要一个种子就能复现整个训练过程,减少了存储需求。此外,使用noise_step训练的模型可以存储训练步骤而非权重,这可能会大幅缩小模型尺寸,从而更快地下载模型。这种特性允许恢复权重的完整历史,因为每个步骤都是确定性的,并且可以独立于其他步骤进行计算。因此,微调将变得更加高效,甚至可能允许对过去的训练步骤进行编辑。
作者认为这种方式尤为适合分布式训练,因为通过减少每个扰动所需的位数,显著降低了通信量,提高了分布式训练的效率。不过这也导致模型泄露变得更加容易,因为整个模型可以通过几个字节的训练步骤来传输。JVP可以和正常推理并行运行,几乎不增加成本。
Will小哥在GitHub上分享了论文和CPU实现过程,感兴趣的人可以进一步查看。
原文和模型
【原文链接】 阅读原文 [ 1294字 | 6分钟 ]
【原文作者】 量子位
【摘要模型】 moonshot-v1-32k
【摘要评分】 ★★★☆☆