模型概述
模型结构
decoder-only的架构在Bloom模型中被采用,论文中提到其效果优于encoder-decoder的架构,另两个比较重要的模型细节是ALiBi位置嵌入编码与嵌入式LayerNorm。嵌入层归一化。在嵌入层后添加了额外的层归一化层,显著提高了训练的稳定性。
位置编码
相比于在embedding层添加位置信息,ALiBi直接基于keys和queries的距离来衰减注意力分数。具体来说,ALiBi根据keys和queries的相对距离来消减attention的分数。给定一个长度为 L的输入序列,那么每个注意力头的第i个query 针对前i个key K的注意力分数为。
在使用ALiBi时候不需要向网络中增加位置嵌入,仅需要在query-key点积中添加静态偏差即可。[-(i-1),...,-2,-1,0]其实就是与各个key的相对距离。Bloom多头注意力就是在标准多头注意力上添加ALiBi。
训练方式
bloom-7B在AscendSpeed仓上训练时使用的并行化技术比较丰富:
- Tensor Parallelism、Pipeline Paralielism、Sequence Parallelism
- ZeRO(零冗余优化)、重计算
AscendSpeed 实现了3D并行。
父主题: BLOOM模型