KV Cache的基本原理?
最本质的原理是避免重复计算,将需要重复计算的结果进行缓存,需要缓存的值为历史token对应的KV值,所以叫KV Cache。预测新的token只与输入的最后一个token相关,输入的最后一个token因为只需要计算注意力值,而注意力的值需要将输入token的V值进行加权即得到结果,进行加权就需要将当前的Q与与所有的K进行计算得到权重,所以只需要缓存历史token的KV值。
LLM训练时为什么会遇到loss spike?
大模型训练中使用Adam优化器,造成梯度变化与更新参数变化不满足独立性,浅层参数长时间不更新,并且大模型训练中batch太大,后期梯度更新又趋于平稳导致的Loss spike。
流水线并行中的Bubble是什么?如何减少?
当设备完成前向传播后,必须等到全部反向传播开始,在此期间设备会处于空闲状态。这其中的等待时间即被称为Bubble。为了减少设备的等待时间,一种常见的做法是尽可能的增加微批量的数量,从而让反向传播尽可能早的开始。
Tokenizer的压缩率是什么?如何提高?