类Megatron-LM框架已成为大模型训练的主流方案之一,张量并行 (Tensor Parallelism,TP) 是大模型训练的基本并行范式,但该范式在部分场景仍存在不足,例如要求大模型的注意力头数、序列长度能够整除TP,如不满足条件将在参数校验中抛出异常。
例如seq_len=1026,tp_size=4, tp0和tp1分配的序列长度为257,tp2和tp3分配的序列长度为256。
需要注意的是,对模型的注意力相关权重进行TP切分与注意力头数有关。假设hidden_size=3200,qkv_weight大小为(9600,3200)[MHA],dense_weight大小为(3200,3200),tp0的qkv权重大小为(2688,3200),dense权重大小为(3200,896),tp1、tp2及tp3的qkv权重大小为(2304, 3200),dense权重大小为(3200,768);GQA(分组查询注意力)结构的模型权重切分和注意力头按num_query_groups比例分配。
序列长度或注意力头数不能整除TP的场景可以使用该特性。
--unaligned-linear
该特性是为了完善TP(张量并行)场景下的限制约束,特性本身会带来负载不均衡的性能影响,所以在模型设计和超参优化时注意这一影响。