大型Transformer模型推理优化
全面概述优化大型Transformer模型推理的技术,包括蒸馏、量化、剪枝、稀疏化、混合专家和架构改进。文章讨论了内存占用和低并行性等挑战,并提出了减少内存使用、计算和延迟的方法。
大型Transformer模型已成为自然语言处理和其他领域的核心,但其推理成本极高,主要源于巨大的内存占用(如KV缓存可达3TB)和低并行性。本文综述了多种优化技术,包括网络压缩和架构改进,旨在减少内存、计算和延迟。
知识蒸馏通过将教师模型的知识转移到更小的学生模型来加速推理。DistilBERT成功将BERT参数减少40%,同时保持97%的性能,速度提升71%。蒸馏可轻松与量化或剪枝结合。
量化分为训练后量化(PTQ)和量化感知训练(QAT)。Transformer量化的挑战在于激活值的动态范围大,尤其是存在异常特征。混合精度方法如LLM.int8()将异常值保留在高精度,其余量化到INT8。细粒度量化如组量化和令牌级量化提高了精度。基于二阶信息的HAWQ方法识别敏感参数。SmoothQuant通过将激活异常平滑到权重,实现W8A8量化,硬件效率更高。QAT将量化集成到训练中,通常使用蒸馏损失。
剪枝移除不重要权重。幅度剪枝简单有效,渐进式幅度剪枝(GMP)在训练中逐步增加稀疏性。N:M结构化稀疏(如2:4)得到硬件支持,如Nvidia A100。Top-KAST在训练中维持恒定稀疏性。稀疏化Transformer对FFN和注意力层应用动态稀疏,实现37倍加速。
混合专家(MoE)每个令牌仅激活部分专家,减少计算。路由策略如批次优先级路由(BPR)优先处理重要令牌。任务级MoE将任务分组实现静态路由。内核改进如分层全交换减少通信开销。
架构优化方面,稀疏注意力模式(固定、组合、可学习)降低二次复杂度。循环机制如Transformer-XL扩展上下文。内存节省设计包括Linformer的低秩投影和多查询注意力。自适应注意力学习最优注意力范围。这些技术共同使大型Transformer推理更加实用。未来工作可能结合这些方法以获得更大收益。