近来,大型语言模型(LLM)在各种任务中表现出色。然而,即便有卓越的任务处理能力,LLM 却面临着巨大的挑战,这些挑战源于其巨大的规模和计算需求。举个例子,GPT-175B 版本具有惊人的 1750 亿参数,至少需要 320GB(使用 1024 的倍数)的半精度(FP16)格式存储。此外,部署此模型进行推理还需要至少五个 A100 GPU,每个 GPU 具有 80GB 的内存,这样才能有效地保证运行。
为了解决这些问题,当下一种被称为模型压缩的方法可以成为解决方案。模型压缩可以将大型、资源密集型模型转换为适合存储在受限移动设备上的紧凑版本。此外它可以优化模型,以最小的延迟更快地执行,或实现这些目标之间的平衡。
除了技术方面之外,LLM 还引发了关于环境和伦理问题的讨论。这些模型给发展中国家的工程师和研究人员带来了重大挑战,在这些国家,有限资源可能会成为获得模型所需基本硬件的阻力。LLM 的大量能源消耗会加剧碳排放,人工智能研究与可持续发展也是非常重要的一个问题。解决这些挑战的一个可能的解决方案是利用模型压缩技术,在不显著影响性能的情况下具有减少碳排放的潜力。通过它,人类可以解决环境问题,增强人工智能的可访问性,并促进 LLM 部署中的包容性。
本文中,来自中国科学院信息工程研究所、人大高瓴人工智能学院的研究者阐述了最近在专门为 LLM 量身定制的模型压缩技术领域取得的进展。本文对方法、指标和基准进行详尽的调查,并进行了分类。
论文地址:https://arxiv.org/pdf/2308.07633.pdf
如下图 1 所示,本文提出的分类法为理解 LLM 的模型压缩方法提供了一个完整的结构化框架。这一探索包括对已有成熟技术的透彻剖析,包括但不限于剪枝、知识蒸馏、量化和低秩因子分解。此外,本文揭示了当前的挑战,并展望了这一发展领域未来潜在的研究轨迹。
研究者还倡导社区合作,为 LLM 建立一个具有生态意识、包罗万象、可持续的未来铺平道路。值得注意的是,本文是专门针对 LLM 的模型压缩领域的首篇综述。
方法论
剪枝
剪枝是一种强大的技术,通过删除不必要的或冗余组件来减少模型的大小或复杂性。众所周知,有许多冗余参数对模型性能几乎没有影响,因此在直接剪掉这些冗余参数后,模型性能不会收到太多影响。同时,剪枝可以在模型存储、内存效率和计算效率等方面更加友好。
剪枝可以分为非结构化剪枝和结构化剪枝,二者的主要区别在于剪枝目标和由此产生的网络结构。结构化剪枝剪掉基于特定规则的连接或分层结构,同时保留整体网络结构。非结构化剪枝针对单个参数,会导致不规则的稀疏结构。最近的研究工作致力于将 LLM 与剪枝技术相结合,旨在解决与 LLM 相关的大规模和计算成本。
知识蒸馏
知识蒸馏(KD)是一种实用的机器学习技术,旨在提高模型性能和泛化能力。该技术将知识从被称为教师模型的复杂模型转移到被称为学生模型的更简单模型。KD 背后的核心思想是从教师模型的全面知识中转化出更精简、更有效的代表。本文概述了使用 LLM 作为教师模型的蒸馏方法。
研究者根据这些方法是否侧重于将 LLM 的涌现能力(EA)蒸馏到小模型(SLM)进行分类。因此,这些方法被分为两类:标准 KD 和基于 EA 的 KD。对于视觉表示任务,吓图 2 提供了 LLM 知识蒸馏的简要分类。
下图 3 为基于 EA 的蒸馏概览。
量化
在模型压缩领域,量化已成为一种被广泛接受的技术,以缓解深度学习模型的存储和计算开销。虽然传统上使用浮点数表示权重,但量化将它们转换为整数或其他离散形式。这种转换大大降低了存储需求和计算复杂性。虽然会出现一些固有的精度损失,但精巧的量化技术可以在精度下降最小的情况下实现实质性模型压缩。
量化可以分为三种主要方法:量化感知训练(QAT)、量化感知微调(QAF)以及训练后量化(PTQ)。这些方法的主要区别在于何时应用量化来压缩模型。QAT 在模型的训练过程中采用量化,QAF 在预训练模型的微调阶段应用量化,PTQ 在模型完成训练后对其进行量化。
最近的研究致力于利用量化来压缩 LLM,产生了惊人的结果。这些工作主要可以分为上述三种方法:量化感知训练、量化感知微调和训练后量化。此外,下表 1 是应用于 LLM 的量化方法的汇总。该表根据 LLM 权重中的位数(精度)将这些工作分为 8 位量化和低位量化。
低秩分解
低秩分解是一种模型压缩技术,旨在通过将给定的权重矩阵分解为两个或更多具有明显较低维度的较小矩阵来近似给定的矩阵。低秩分解背后的核心思想是将大权重矩阵 W 分解为两个矩阵 U 和 V,使得 W ≈ UV,其中 U 是 m×k 矩阵,V 是 k×n 矩阵,k 比 m 和 n 小得多。U 和 V 的乘积近似于原始权重矩阵,参数数量和计算开销大幅减少。
在 LLM 研究领域,低秩分解被广泛采用,以有效地微调 LLM,例如 LORA 及其变体。本文专注于这些使用低秩分解来压缩 LLM 的工作。在 LLM 的模型压缩领域,研究者经常将多种技术与低秩分解相结合,包括剪枝、量化等,例如 LoRAPrune 和 ZeroQuantFP,在保持性能的同时实现更有效的压缩。
随着该领域研究的继续,在应用低秩分解来压缩 LLM 方面可能会有进一步发展,但仍然需要进行探索和实验,以充分利用 LLM 的潜力。
度量和基准
度量
LLM 的推理效率可以使用各种指标来衡量。这些指标考虑了性能的不同方面,通常与全面评估 LLM 的准确性和零样本学习能力一起呈现。
这些指标包括如下:
- 参数规模
- 模型规模
- 压缩比
- 推理时间
- 浮点运算(FLOP)
基准
基准旨在与未压缩的 LLM 相比,衡量压缩 LLM 的有效性、效率和准确性。这些基准通常由不同的任务和数据集组成,涵盖了一系列自然语言处理挑战。常用基准包括但不限于 HULK 和 ELUE。
最后研究者认为未来应在以下几个方面进一步探索,包括
- 专业的基准测试
- 性能规模的权衡
- 动态 LLM 压缩
- 可解释性
更多细节请参阅原论文。