AFD
技术的演进围绕着模型结构的需求和硬件性能的提升而展开。
太阳底下没有新鲜事,尤其是只考虑system自身时。在冯诺依曼架构,搞来搞去就三件事,计算存储通信。在一个新应用场景(比如AI),初期先单个方向地搞;分别搞差不多了,开始考虑合起来的事,怎么调度,怎么让各种资源并行利用起来;再到后来,就更加精细化的操作,把计算性质有本质不同的模块拆开来,分治,中间通信开销用pipeline掩盖。这也是现在的阶段。
为什么要分离AF?
Attention和FFN的计算特性不一样,对硬件的需求不一样。
- 在Decode阶段,Attention通常是访存瓶颈(memory access bound),而FFN则更多表现为计算瓶颈(compute bound)。
- 应当使用带宽较大的硬件处理Attention,而用计算能力更强的硬件处理MoE,或者说当算力用不满时,需要增大MoE的batch size。这也解释了在decode阶段采用大EP(Expert Parallelism)的目的——即为了增大batch size。
优势:
- 有代差的硬件能够混合使用(例如H20与A800),也让不同品牌的硬件可以混合构建解决方案(如GPU与NPU卡),同时还能结合训推混池、弹性伸缩、跨集群部署等场景应用。
rtp-llm
https://www.infoq.cn/article/tgqjszhlttkbqjsfegrd