低内存优化器

基本原理

低内存优化器Cadam是基于谷歌提出的Lion优化器,并采用与其beta参数相同的极简形式。这样在去掉二阶动量的同时,可以得到类似于Adam的参数更新效果。然后对一阶动量进行量化和逐行压缩,采用昇腾亲和的FP16进行计算,同时结合Scale和clip操作防止溢出。

图1 Cadam与Adam对比示意

使用场景

当前在Atlas A2 训练系列产品上验证:LLaMA-7B/LLaMA2-7B/BLOOM-7B等模型上E2E内存平均缩减16.4%,性能基本无损,BoolQ/PIQA/HellaSwag下游任务上精度无损。

操作步骤

使用AscendSpeed,配置--optimizer cadam标志,默认学习率lr和最小学习率min-lr缩小3-10倍,weight_decay同步放大3-10倍,--adam-beta1 0.965。