共享内存利用
在项目执行阶段,研究人员把KV计算过程中的中间数据存放在了公共内存里。每个SM单元从中提取了224K的数据(据知乎用户ling ye提供),其使用率达到了98.2%。这种做法极大地提高了内存的利用率,确保了计算资源的分配更加公正合理,为后续的计算打下了坚实的基础,同时也有助于减少资源的浪费。
Moe架构通信难题
在处理大规模参数时,Moe架构的实施不可避免地会引发全面通信。首先,输入数据必须分发给众多专家进行加工,加工完毕后还需将这些结果汇总;其次,采用大参数的Moe模型需在多台设备以及多块显卡上部署,专家们分散在各个GPU上,这就使得数据在各个GPU间的分发与汇总成为必要,进而提升了通信的代价和难度。
门控路由作用
V2的门控路由技术能够处理输入序列,并且只会将信息传递给排名前N的专家(在V3版本中这个数字为8)。过去,信息的分发与整合需要耗费大量计算时间,然而现在,这些通信环节被巧妙地融入到了计算过程中,从而显著提高了整体计算效率,同时增强了计算与通信之间的协同效果。
未定义用法优势
有一些技巧虽然并未在英伟达的官方文档中明确提及,但实际上已被广泛应用。尽管如此,我们在实际操作中发现,采取这些技巧确实有助于提高性能。这种意外的效果对于大型模型的训练与推理阶段极为关键,它为开发者提供了新的思维模式和问题解决策略,有助于突破传统框架的限制,从而更深入地挖掘性能的潜力。
GEMM操作优化
GEMM操作是消耗计算资源最多的,研究团队对其进行了深入到底层的开发,甚至探索到了机器码的层面。他们通过这种方法,追求性能的极限,该技术已经在门控路由、注意力分数计算等多个领域得到应用,显著提高了计算的速度和效率。
计算 - 通信全覆盖
全对全通信技术使得模型在训练完成后的传播阶段,还能进行一轮新的全对全通信,几乎实现了计算与通信的1:1完美匹配。不过,在处理大规模模型训练时,我们仍需研究动态冗余专家的策略,例如每个GPU能够承载16位专家,但实际激活的却只有9位。而且,这种策略对训练成本的影响会随着参与规模的变动而有所区别。
众人都在琢磨,这套动态冗余的专家策略在实际应用中能将效率提升至何种地步?热切期待大家在评论区各抒己见。若您觉得本文对您有所启发,别忘了点赞并转发!
发表评论