← 最新论文
🤖 machine learning

NIRVANA: Structured Pruning Reimagined for Large Language Model Compression

NIRVANA 是一种新颖的、硬件感知的结构化剪枝框架,它利用受神经切线核启发的显著性、具有最优分配的全局单元排序策略以及由 KL 散度驱动的数据选择,在无需高昂计算成本的重训练的情况下,实现了大语言模型的最先进压缩,同时保留了其零样本性能和微调能力。

原作者: Mengting Ai, Tianxin Wei, Sirui Chen, Jingrui He

发布于 2026-07-21
📖 1 分钟阅读☕ 轻松阅读

原作者: Mengting Ai, Tianxin Wei, Sirui Chen, Jingrui He

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你拥有一个庞大且极其聪明的图书库,它能回答任何问题、讲笑话或编写代码。这个图书馆如此巨大,以至于需要一整座装满计算机的仓库才能维持其运转。在人工智能领域,这些被称为大语言模型(LLM)。它们就像超级大脑,但由于过于沉重且极度渴求电力,只有规模最大的科技巨头才负担得起运行成本。科学家们一直试图缩小这些大脑的体积——就像把一整部百科全书装进一本口袋笔记本里——同时又不损失阅读或理解的能力。

为了实现这一目标,研究人员使用了一种叫做“剪枝”(pruning)的技术。想象一下冬天的树木:为了帮助它在春天更好地生存和生长,园丁会剪掉枯死或不必要的树枝。在人工智能中,剪枝意味着切除那些没做什么工作的模型部分。有两种主要方式:你可以到处剪掉细小的单个线头(权重),这会让树木看起来很凌乱,而且实际上并不能让它在计算机上运行得更快;或者你可以直接砍掉整个树枝(神经元或注意力头),这样能保持树木形状的整洁,并显著提高运行速度。问题在于,当你砍掉太多树枝时,树木往往会停止生长,或者忘记如何正常说话。它需要大量昂贵的“恢复训练”来重新学习,即便如此,它往往仍会显得有些笨拙。

这就是名为 NIRVANA 的新方法发挥作用的地方。该研究背后的研究人员想要创造一种剪枝策略,它不仅仅是猜测该剪掉哪些树枝,而是真正理解这棵树是如何思考的。他们意识到,仅仅观察一个分支有多“强”(其权重)是不够的。相反,他们使用了一个数学概念——神经切线核(Neural Tangent Kernel, NTK)。你可以将 NTK 视为一张树木的“生长潜力图”。它不仅显示了一个分支有多大,还显示了模型的未来学习在多大程度上依赖于它。通过使用这张地图,NIRVANA 能精准判断应该剪掉哪些树枝,从而确保树木保持健康、保留记忆,并在剪枝后能立即准备好学习新知识,而不需要漫长且昂贵的恢复期。

核心理念:AI 树木的智能园丁

该论文介绍了一种名为 NIRVANA(代表 NTK 信息驱动的自适应神经元与注意力头剪枝)的方法,这是一种既聪明又符合硬件特性的缩小大型 AI 模型的新方式。作者认为,以往的方法就像是一个只顾着砍掉大树枝而不看树木整体健康状况的园丁。这种做法往往会导致树木坍塌,或丧age 处理数学或编程等复杂任务的能力。

NIRVANA 通过扮演一名使用特殊“生长图”(NTK)来决定修剪内容的资深植物学家的角色,改变了游戏规则。以下是它的工作原理,分为简单的步骤:

1. “生长图”(NTK 引导的显著性)
与其仅仅询问“这个权重是否很大?”,NIRVANA 会询问:“如果我剪掉这个,会对树木的学习能力产生多大的影响?”他们使用了一种受神经切线核启发的阶一阶函数空间显著性得分。用通俗的话说,这衡量了一个特定部分对模型输出的贡献程度,以及它对未来进行微调(在处理新任务时进行训练)能力的贡献。

  • 类比: 想象一支乐队正在演奏一首乐曲。有些乐器声音很大,但即使你静音它们,音乐听起来依然不错。而有些乐器可能声音很小,但如果你静音它们,整首乐曲就会崩溃。NIRVANA 既倾听“乐曲”(模型的输出),也倾听“乐谱”(训练动态),以此找到那些真正必不可少的乐器,而不仅仅是声音最大的那些。

2. 砍掉整根树枝,而非仅仅是叶子(结构化剪枝)
许多旧方法试图剪掉散落在模型各处的细小线头(权重)。这就像是在树木的每一片叶子上剪掉一点点。这虽然让树木变轻了,但因为剪切痕迹杂乱无章,计算机硬件(其设计初衷是处理整齐的行数据)无法让这棵树运行得更快。
NIRVANA 会一次性砍掉整个“树枝”。在 AI 模型中,这些树枝要么是注意力头(Attention Heads)(帮助模型关注重要词汇),要么是 MLP 神经元(MLP Neurons)(帮助模型存储事实和逻辑)。通过移除整个单元,模型变得更小,并在标准计算机上运行得显著更快。

3. 完美的平衡(自适应稀疏性)
这是一个棘手的环节:并非所有树枝都是一样的。模型的部分组件(如 MLP 神经元)擅长存储事实,而其他部分(如注意力头)则擅长理解上下文。如果你剪掉了过多的某一类型,模型就会失去特定的技能。
NIRVANA 使用一个特殊的公式来计算完美的比例。它计算一个称为 γ\gamma (gamma) 的值,以决定是从“存储事实”的部分还是从“专注力”的部分进行更多剪裁。

  • 研究发现: 论文指出,对于他们测试的模型(如 Llama3.1-8B),你应该从 MLP 神经元中剪掉的比注意力头多出约 3.36 倍,以保持模型的平衡。这并非随机猜测;他们通过数学推导得出了这一结论,并证明了其效果更好。

4. 选择正确的“测试题”(KL 散度数据选择)
为了知道该剪掉哪些树枝,园丁需要测试这棵树。这需要一小组数据(校准数据)。以往的方法通常只是随机抓取文本进行测试。作者发现,测试数据的质量数量更重要。
他们引入了一种通过测量 KL 散度(一种衡量两个事物差异程度的方法)来挑选最佳测试数据的方法。他们测试不同的短文本批次,观察在剪枝后,哪一组数据引起的模型输出变化最小。

  • 结果: 他们发现,仅使用 32 个样本(每个样本长度为 128 个 token)就足够了。令人惊讶的是,他们发现“最佳”数据并不总是那些连贯或具有事实正确性的文本。有时,奇怪或不连贯的文本在剪枝方面效果更好,这表明数据的统计模式比人类感知的质量更为重要。

他们的发现(以及未实现的发现)

研究人员在包括 Llama3.1-8BLlama3.2-3BQwen2.5T5 在内的多个著名 AI 模型上测试了 NIRVANA。他们将其与 LLM-Pruner、SliceGPT 和 FLAP 等其他顶尖剪枝方法进行了对比。

好消息:

  • 性能更佳: 在相同的缩减程度(稀疏度)下,NIRVANA 在数学、编程和通用知识测试中的得分始终更高。例如,在代码生成测试(MBPP)中,当其他方法在 20% 稀疏度时性能几乎降至零时,NIRVANA 仍保持了 23.80 的得分,远超表现第二的方法(后者仅为 4.40)。
  • 恢复更快: 当他们尝试使用一种名为 LoRA 的轻量化方法对剪枝后的模型进行“再训练”时,NIRVANA 恢复技能的速度更快、效果更好。这表明剪枝并未破坏模型学习的能力。
  • 真实的加速: 由于他们砍掉的是整根树枝,并确保剩余的大小是 8 的倍数(这是计算机芯片快速运行的要求),NIRVANA 实际上让模型运行得更快了。在标准计算机芯片(NVIDIA A100)上,与那些仅减少数学运算但不提升硬件效率的方法相比,NIRVANA 显著降低了生成文本的延迟(latency)。

局限性:

  • 高稀疏度很难: 与所有剪枝方法一样,如果你剪掉太多(比如 50% 或更多),模型的性能确实会下降。论文承认,在极高的压缩率下,模型可能需要更广泛的再训练才能完全恢复。
  • 单次执行 vs 迭代执行: NIRVANA 是一种“单次执行”(one-shot)方法,意味着它一次性完成剪枝。其他一些方法则需要经过数小时的试错(迭代搜索)来寻找最佳剪枝点。虽然 NIRVANA 速度极快(剪枝耗时不到 2 秒),但论文指出,如果你愿意等待数天,迭代方法可能能找到略好一点的剪枝方案,但 NIRVANA 在速度与质量之间提供了最佳的平衡。

为什么这很重要

论文指出,NIRVANA 提供了一种“具有理论依据且实用的方法”来缩小 AI 规模。它解决了模型体积过大导致普通计算机难以运行的问题,因为它通过尊重模型学习方式的方式来进行修剪。通过使用“生长图”(NTK)并仔细平衡剪枝比例,它使 AI 在保持聪明和快速的同时,无需依赖庞大的计算机仓库即可运行。

简而言之,NIRVANA 是一种更聪明的缩小 AI 的方式。它不仅仅是在粗暴地削减模型,而是通过精心的修剪,让 AI 保持健康、学习迅速且运行高效,从而能在我们现有的设备上流畅运行。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →