报告研读:125页2024年大模型轻量化技术研究报告——技术详细讲解【附全文阅读】
大语言模型发展迅速,但面临高存储和计算成本等问题,轻量化技术成为关键。它涵盖量化、稀疏化、知识蒸馏、低秩分解、参数共享等多种方法,各有特点和适用场景,如量化可减少内存占用,稀疏化能降低计算成本 。通过这些技术,可在减少模型计算复杂度和内存占用的同时,尽可能保持性能和泛化能力,应用于手机端侧、智能驾驶舱、医疗、工业等多个领域。此外,量子计算等新研究路径也在探索中,未来大模型轻量化技术将朝着与硬件更好结合、平衡稀疏率与效果、实现端云高效推理体系的方向发展。
详细总结
- 大语言模型轻量化技术需求:大语言模型参数规模不断扩大,如 GPT-3 参数量达 1750 亿,带来高存储成本和计算成本,推理速度受限。为解决这些问题,需要轻量化技术来减少模型计算复杂度和内存占用,同时保持性能和泛化能力,满足实际应用需求。
- 轻量化技术概览
- 量化技术:将深度学习模型参数从高精度转换为低精度,如从 16 位浮点数(FP16)转换为 8 位整数(INT8),减少内存需求。但存在异常值影响模型性能的难点,业界提出了 LLM.int8 ()、SmoothQuant 等解决方案,还有通用和端侧的多种量化工具12。
- 稀疏化技术:通过减少参数密集度加快计算速度和减少存储成本,分为非结构化稀疏和结构化稀疏。非结构化稀疏保留准确率但会降低推理速度,Flash-LLM 通过将稀疏矩阵转化为密集矩阵及双缓冲计算重叠流水线解决该问题;结构化稀疏虽能利用参数稀疏性加速计算,但可能导致模型准确率下降34。
- 知识蒸馏:将知识从大型复杂模型(教师模型)转移到更小更简单的模型(学生模型),实现模型压缩。大语言模型的知识蒸馏分为黑盒和白盒知识蒸馏,且采用反向 KL 散度和多种优化算法改进学习,如 MiniLLM 方法在实验中表现优异56。
- 低秩分解:基于经典的 PCA、SVD 分解理论,将模型参数转为低秩形式压缩参数。适应大模型的张量分解技术包括 Tucker 分解、Tensor Train 分解等,还有混合张量分解技术和语素增强的低秩近似技术,如 Hypoformer 和 MorphTE 方法在实验中取得良好效果78。
- 参数共享:在 MHA 中,通过多个查询头共享相同的键和值矩阵减少资源消耗,如多查询注意力(MQA)和分组查询注意力(GQA),并结合 KV-cache 技术提高效率,实验显示推理时间大幅缩短910。
- 结合硬件特点的技术:如 Flash Attention 通过减少存取操作次数和分块优化计算加速运算,并行解码策略可减少推理时间、提升吞吐量。
- 轻量化技术详细讲解
- 量化技术:以 INT8 对称量化为例,介绍量化和解量化过程,以及低比特量化的难点,如大模型参数量大于 6.7B 时激活层生成矩阵存在异常值影响量化性能。针对这些难点,LLM.int8 () 采用混合精度量化,SmoothQuant 通过让 W 矩阵 “代偿” 异常值影响实现高精度 INT8 量化 。
- 稀疏化技术:介绍参数稀疏化的背景和基本思想,包括非结构化稀疏和结构化稀疏。在 Transformer 时代,多种结构化稀疏方法被提出,如基于 Fisher 信息矩阵对角化的掩码搜索、稀疏因式分解结合空洞自注意力等,这些方法在不同任务上取得了较好效果,但大多需要再次训练。在大模型稀疏化中,面临参数量多、参数剪枝元素间依赖性强的挑战,出现了如 LLM - Pruner 等方法,通过重要性估计、剪枝和 LoRA 微调,在多个轻量化性能指标上展现出有益效果。还介绍了表示稀疏化、KV 表示稀疏化和端侧稀疏化技术等非结构化稀疏方法及其优势456。
- 知识蒸馏:知识蒸馏旨在将知识从大型复杂模型转移到小型模型,核心公式为蒸馏损失函数。大语言模型的知识蒸馏分为黑盒和白盒知识蒸馏,前者只能访问教师模型输出,后者可访问内部结构等。标准知识蒸馏的前向 KL 散度存在问题,反向 KL 散度更适用于大模型知识蒸馏,并可采用单步分解、教师指导的采样和长度正则化等优化算法进一步改进学习,MiniLLM 方法在实验中性能表现更优。
- 低秩分解:经典的 PCA、SVD 分解理论可实现数据压缩,适应大模型的张量分解技术如 Tucker 分解、Tensor Train 分解等可分解复杂模型参数。混合张量分解技术结合矩阵分解和张量火车分解,平衡模型推理速度、预测效果和参数规模,如 Hypoformer 方法在实验中展现出优势。语素增强的低秩近似技术通过形态素分割和张量积压缩单词嵌入矩阵,减少模型参数且保持性能,如 MorphTE 方法。此外,LORA 通过冻结模型原参数,仅使用可训练的低秩分解矩阵进行模型高效微调123。
- 参数共享:在 MHA 中,多查询注意力(MQA)让所有头共享同一份 Key 和 Value 矩阵,分组查询注意力(GQA)将查询头分组共享 Key 和 Value 矩阵,减少参数量。结合 KV - cache 技术,可减少重复计算,提高处理速度和实时性。实验结果表明,GQA 和 MQA 在不同数据集上能大幅缩短推理时间,虽有轻微性能衰减,但整体效果良好。
- 结合硬件特点的技术:Flash Attention 技术通过减少语言模型自回归计算过程对 HBM 内存的访问次数,充分利用 SRAM 内存并融合计算,以及对 Attention 计算过程中的 K 和 V 矩阵进行分块优化计算,来加速运算。并行解码策略可减少推理时间、提升吞吐量且不影响模型效果,在递归解码阶段,可将 Detokenize 和下一个 token 的 Computing 计算在 CPU 和 GPU 上并行计算,掩盖掉前面生成单词的 Detokenize 的时间。
- 技术应用与效果:大模型轻量化技术在多个领域有广泛应用,如手机端侧、智能驾驶舱、医疗、工业等。在不同任务和场景下,各轻量化技术对模型性能有显著提升,如减少计算量、降低内存占用、提高推理速度等,同时在一定程度上保持了模型的准确性和泛化能力。
- 未来展望
- 与硬件存储特性结合:探索如何将稀疏化技术与硬件存储特性更好地协同计算,寻找低效高存储与高效低存储组件的动态平衡,以进一步提升模型的性能和效率。
- 平衡稀疏率与效果:研究在高稀疏率情况下,结合其他轻量化算法(如量化与低秩近似等)保证模型效果的方法,实现稀疏率与模型性能之间的更好平衡。
- 端云高效推理体系:端侧通过稀疏化避免显存与带宽资源受限的问题,云侧利用稀疏化提升吞吐量,构建端云协同的高效推理体系,助力大模型更广泛的布局和应用 。