🧠✂️ 神经网络脑叶切除:从 LLM 中移除 7 层——速度提升 30%

发布: (2026年1月10日 GMT+8 01:46)
6 min read
原文: Dev.to

Source: Dev.to

很抱歉,我需要您提供要翻译的具体文本内容才能进行翻译。请粘贴您想要翻译的文章正文,我会按照要求将其翻译成简体中文并保留原有的格式。

TL;DR

移除策略速度 ↑困惑度 Δ质量 Δ是否可行?
基线(未移除)1.82
移除中间层 #11+10 % (59 → 64 tok/s)1.89 (+4 %)–4 %
移除 3 个中间层 #10‑12+12 % (59 → 66 tok/s)2.24 (+23 %)–23 %
移除第一层 #0+10 % (59 → 64 tok/s)5.74 (+215 %)–215 %
移除 7 个“安全”层 (3, 4, 5, 9, 10, 11, 12)+30 % (59 → 77 tok/s)~1.87 (≈ ‑2.5 %)–2.5 %

所有测量均为在 MPS 后端上进行 10 次运行(5 次热身)的平均值。

Motivation

初创公司在 GPU 上用于 LLM 推理的支出高达数百万美元。据报道,OpenAI 仅在计算上每天就花费 $700 k。任何能够在 不明显降低质量 的前提下加速模型的优化,都能直接转化为成本节约。

层剪枝是一种简单、硬件无关的实现方式:

  • 现代模型拥有数十(甚至上百)层(GPT‑4 约 120+ 层)。
  • 并非所有层对最终性能的贡献相同。
  • 有些层可以被移除,而模型“几乎感觉不到”。

研究 ShortGPT (2024) 表明,最多可以从 LLaMA‑2 中删除 25 % 的层,且仍保持可接受的性能

Note: 为了完整性展示了 “Aggressive” 设置;在超出平衡配置后,质量会迅速恶化。

Closing Thoughts

  • 早期层编码位置信息和基本的标记关系——删除它们会导致灾难性后果。
  • 第二层 似乎是语言模式的“结晶点”,使其出乎意料地关键。
  • 对于这个小模型来说,中后期层的大量部分是冗余的,提供了一条低成本实现更快推理的途径。

Future work could explore dynamic pruning (activating/deactivating layers per‑prompt) or knowledge‑distillation to bake the redundant layers’ contributions into a slimmer architecture.

所有代码和原始测量日志均已在我的公开 GitHub 仓库中提供(为简洁起见,链接已省略)。

edup

剪枝结果

策略移除的层加速质量损失
最小{3}~0.4 %~5 %
中等{3, 5, 10, 11}~1 %~18 %
激进{3, 4, 5, 9, 10, 11, 12}~2.5 %~32 %

最佳策略:移除最不重要的层

# 增加 PPL 的层
# **重要提示:** 切勿移除层 0、2、15——它们是关键点。

正在进行的研究与相关工作

项目重点
2024ShortGPT移除整个层
2024FinerCut移除层内组件
2024SliceGPT从权重矩阵中移除行/列
2025LinearPatch通过 Hadamard 变换在剪枝后恢复 94 % 质量(arXiv)
2025MRP (Maximum Redundancy Pruning)自适应移除最冗余的层(arXiv)
2025CLP (Automatic segment search)寻找最佳移除段落(arXiv)

将剪枝与量化(INT4/INT8)相结合可以实现更大的加速。

商业影响

  • 成本节约: 对于每月 1 万美元的推理 GPU 预算,剪枝可节省 2–3 千美元且质量损失不明显。
  • 规模: 在 OpenAI 的规模下,这相当于 数百万美元

注意事项与考虑因素

  • 模型规模: 结果基于 TinyLlama 1.1B;在 7 B / 70 B 模型上可能不同。
  • 指标局限性: 困惑度并 能覆盖所有质量方面。
  • 微调: 剪枝后微调可以恢复部分损失的质量。
  • 数据集多样性: 实验仅在单一数据集上进行;需要更广泛的测试。
  • 测量误差: MPS 后端的速度波动 ±10 %;需多次运行以获得可靠数据。
  • 链式思考退化: 最近的工作(arXiv 2510.22228)表明,即使移除 1–2 层也会破坏多步推理,而简单任务则不受影响。

可复现性

所有实验代码均托管在 GitLab:

git clone https://gitlab.com/molchanov.artem.1994/lobotomyllm
cd lobotomyLlm
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python experiments/run_ablation.py --experiment quick

关键洞见

  • 第 2 层 出乎意料地最重要(甚至比第 0 层更关键)。
  • 第 3‑5 层第 9‑12 层 大多冗余,可在影响最小的情况下移除。
  • 第 15 层 是网络后期的隐藏关键层。
  • 实际结果: 移除 7 层(22 → 15)可实现约 32 % 加速,质量损失约 2.5 %。

下一步

  1. Llama‑3 8B 上运行相同的流水线以获得更强的验证。
  2. 探索 剪枝 + 量化 的组合。
  3. 调查 关键层(2 与 15) 实际编码了什么。

如果你喜欢这篇内容,请 订阅为 GitLab 仓库加星,并 分享给同事

有问题或建议?请留言或私信。

标签: #MachineLearning #LLM #Optimization #PyTorch #NLP #DeepLearning

Back to Blog

相关文章

阅读更多 »

GLM-4.7-Flash

请提供您希望翻译的具体摘录或摘要文本,我才能为您进行简体中文翻译。