近日,中科院深圳先进技术研究院黄明强研究员团队在大模型AI芯片领域取得重要进展,其研究成果在电路与系统领域顶级期刊IEEE Transactions on Circuits and Systems I: Regular Papers上在线发表,论文题目为“EdgeLLM: A Highly Efficient CPU-FPGA Heterogeneous Edge Accelerator for Large Language Models”。该研究成功攻克人工智能大语言模型(LLM)在资源受限边缘设备部署的核心难题,为智能机器人、便携设备等场景的实时AI应用提供了创新解决方案。
自2017年以来,Transformer算法在自然语言处理和计算机视觉(CV)研究领域迅速成为人工智能领域的主导力量。通过引入自注意力机制,Transformer改变了传统的序列建模方法,不再依赖卷积神经网络或循环神经网络进行特征提取和序列处理。这一创新不仅增强了模型的并行化能力,使得大规模模型的训练成为可能,还显著提升了模型性能。在Transformer取得成功之后,研究人员开始探索更大的模型,这些模型通常拥有数百亿甚至更多的参数,被称为“大语言模型”。大语言模型不仅增强了人工智能的语言处理能力,还推动了AI更广泛的技术进步,为教育、娱乐、医疗和商业等行业带来了革命性的变革。但是大语言模型在资源受限的端侧系统部署仍存在较大的困难。
首先,大语言模型计算量庞大以及内存访问需求高。现有解决方案通常将这些权重参数量化为INT4格式。然而,为了确保计算精度,模型中的激活函数仍然保持FP16格式。因此,在前馈神经网络(FFN)层中,系统需要支持FP16INT4格式的矩阵乘法。另一方面,在多头注意力(MHA)模块中,KV缓存作为激活数据动态生成,因此涉及KV缓存的矩阵乘法需要FP16FP16格式。因此,设计混合精度计算单元以加速LLM变得尤为重要。我们分析了前馈网络(FFN)和多头注意力(MHA)的计算需求,提出了高效率的混合精度计算单元以及组脉动阵列架构。此外,我们还提出了对数尺度结构化稀疏性和块级量化方法,以在硬件效率和算法精度之间取得平衡。
此外,在大语言模型中,定义计算流程的算子图极其复杂,包含数百甚至数千个以复杂方式相互连接的算子,确保从一个算子到另一个算子的过渡无缝且高效成为了一项重大挑战。该团队分析了大语言模型中的编译需求,设计了一种统一且通用的数据格式,适用于所有算子和AI算法中的高维张量结构,使系统能够快速执行算子操作而无需任何数据重排。随后,开发了端到端的编译方案,其中动态编译用于处理不同输入token长度,指令流水线策略用于减少延迟。该方案能够动态编译所有算子,并将整个模型映射到CPU-FPGA异构系统上。
最终,整个设计成功部署在AMDXilinx VCU128 FPGA上。与GPU相比,该系统的吞吐量提高了1.91倍,能效提高了7.55倍;与先进的FPGA加速器FlightLLM相比,整体性能提升了10%到24%。该成果有望应用于新一代具身智能机器人、手机AI大模型等应用场景中。