一直以来我都很疑惑,为什么大模型可以从4K学到8K又到128K呢,今天看来视频才有一些想法。
1.大模型拟合结果依赖随机梯度算法,如果一次性输出128K的文本进行拟合,那就会对128K倍的权重进行拟合,考虑到自注意力计算矩阵是输入增长的平方。直接进行拟合导致的计算消耗是难以估计的。
2.因此,我们就先让模型学习少量文本。这时候模型的参数已经得到一定的调整了,当我们再扩大这个文本长度时,他会有一个基准线在,就可以以那个基准为基础进行二次拟合。如果我们把8K的参数全部冻结,训练128K的文本矩阵加到8K的参数矩阵上去,那这个实际上就类似LORA了。这也是LORA微调的核心,基础大模型不动,少量修改附加参数矩阵。
3.再一个增大模型上下文长度的方法就是数据分片了,学习完前面的内容再把学到的东西传递下去
4.如果从架构入手也是可以的,比如经典的局部注意力+全局注意力的形式,这一技术我们可以在Gemma2到Gemma3的架构改进中看到。