awesome-ml-model-compression
awesome-ml-model-compression 是一个专为机器学习模型压缩与加速领域打造的精选资源库。随着深度学习模型日益庞大,如何在保持高精度的同时降低计算成本和存储占用,成为落地应用的关键难题。这份清单系统地整理了该领域的核心解决方案,涵盖量化、剪枝、知识蒸馏、二值化及低秩近似等主流技术路径。
它汇集了从经典综述到前沿架构(如 MobileNet、SqueezeNet)的研究论文,提供了实用的工具库、框架链接,以及教程文章和视频演讲。无论是希望深入探索算法原理的研究人员,还是需要将大模型部署到移动端或嵌入式设备的开发者,都能在这里快速找到理论依据和工程实现参考。其独特亮点在于分类清晰、内容全面,不仅包含通用的压缩策略,还特别收录了关于 FP8 格式等最新硬件友好型技术的探讨,帮助用户紧跟行业趋势。通过整合学术研究与工程实践,awesome-ml-model-compression 致力于让模型变得更小、更快、更高效,是进入模型优化领域的理想入门指南。
使用场景
某边缘计算团队正试图将高精度目标检测模型部署到算力受限的工业巡检无人机上,以满足实时识别缺陷的需求。
没有 awesome-ml-model-compression 时
- 选型迷茫:面对海量的压缩论文(如量化、剪枝、蒸馏),团队难以快速筛选出适合移动端的具体架构(如 MobileNet 或 SqueezeNet),浪费数周时间调研。
- 精度与速度失衡:自行尝试简单的模型裁剪后,发现推理速度虽提升,但检测准确率大幅下降,缺乏像 FP8 量化这样兼顾性能与精度的成熟方案参考。
- 工具链断裂:找不到统一的库来实施低秩近似或二值化操作,只能从零复现算法,导致开发周期严重滞后,无法按时交付原型。
- 知识碎片化:团队成员需分散在各类博客和视频中寻找教程,缺乏系统性的“如何做”指南,沟通成本极高。
使用 awesome-ml-model-compression 后
- 精准技术定位:直接通过分类目录锁定"Architecture"和"Quantization"板块,快速采纳 MobileNetV2 架构结合 FP8 量化策略,当天即确定技术路线。
- 性能最优解:参考列表中 NVIDIA 等大厂关于 FP8 格式的论文,成功在保持 FP16 级别精度的同时,实现了 INT8 级别的推理加速,完美平衡指标。
- 开箱即用生态:利用"Tools"章节推荐的成熟框架和库,迅速落地剪枝与蒸馏流程,将原本需要一个月的算法验证工作缩短至三天。
- 系统化学习:依托 curated 的教程和视频资源,团队成员快速统一认知,高效完成了从理论到工程落地的闭环。
awesome-ml-model-compression 通过一站式聚合前沿研究与实用工具,将模型压缩的探索成本从“月级”降低至“天级”,让边缘 AI 部署不再受限于算力瓶颈。
运行环境要求
未说明
未说明

快速开始
令人惊叹的机器学习模型压缩 
一个以“Awesome”风格整理的列表,汇集了最佳的机器学习模型压缩与加速相关研究论文、文章、教程、库、工具等。欢迎提交 PR!
目录
论文
通用
- 深度神经网络的模型压缩与加速综述
- 作为约束优化的模型压缩及其在神经网络中的应用:第一部分——通用框架
- 作为约束优化的模型压缩及其在神经网络中的应用:第二部分——量化
- 高效深度学习:使深度学习模型更小、更快、更好的综述
- 用于深度学习的 FP8 格式,由 NVIDIA、Arm 和 Intel 联合发布,2022 年——FP8 在保持 FP16 精度的同时实现了 INT8 的性能。E4M3 是 FP8 的一种变体,兼具 INT8 的优势,且不会损失精度和吞吐量。
架构
- MobileNets:适用于移动视觉应用的高效卷积神经网络
- MobileNetV2:倒残差与线性瓶颈——用于分类、检测和分割的移动网络
- Xception:使用深度可分离卷积的深度学习
- ShuffleNet:一种极其高效的移动端卷积神经网络
- SqueezeNet:参数量减少 50 倍、模型大小小于 0.5MB 即达到 AlexNet 级别的准确率
- Fast YOLO:用于视频中实时嵌入式目标检测的快速 You Only Look Once 系统
- AddressNet:基于移位的原语,用于高效卷积神经网络
- ResNeXt:面向深度神经网络的聚合残差变换
- ResBinNet:残差二值神经网络
- 用于图像分类的残差注意力网络
- Squeezedet:统一的小型低功耗全卷积神经网络
- SEP-Nets:小型而有效的模式网络
- 动态容量网络
- 无需核技巧即可学习无限层网络
- 高效的稀疏 Winograd 卷积神经网络
- DSD:面向深度神经网络的密集-稀疏-密集训练
- 用于加速深度神经网络的协调滤波器
- 具有随机深度的深度网络
量化
- 面向移动设备的量化卷积神经网络
- 迈向网络量化极限
- 量化神经网络:使用低精度权重和激活进行神经网络训练
- 利用向量量化压缩深度卷积神经网络
- 训练后的三值量化
- ZipML 框架:端到端低精度模型训练——可行与不可行,以及一点深度学习
- ShiftCNN:面向卷积神经网络推理的广义低精度架构
- 通过半波高斯量化实现低精度深度学习
- 深度网络的损失感知二值化
- 循环神经网络中的权重与激活量化
- 循环神经网络的定点性能分析
- 比特数下降:重新审视神经网络的量化
- 通过分块量化实现 8 位优化器
- LLM.int8():大规模 Transformer 的 8 位矩阵乘法 [博客文章]
- SmoothQuant:面向大型语言模型的精确高效后训练量化,由 MIT 和 NVIDIA 共同开发(2022 年)[代码]
- ZeroQuant:面向大型基于 Transformer 模型的高效经济型后训练量化,由 Microsoft 开发(2022 年)[代码]
- nuQmm:用于高效推理大规模生成式语言模型的量化 MatMul,由韩国 NAVER CLOVA 和浦项科技大学联合开发(2022 年)
- MKQ-BERT:采用 4 位权重和激活的量化 BERT,由腾讯 AIPD 开发(2022 年)
- 理解并克服高效 Transformer 量化面临的挑战,由 Qualcomm AI Research 开发(2021 年)[代码]
- Mesa:一种节省内存的 Transformer 训练框架,由莫纳什大学开发(2021 年)
- 关于 4 位精度的理由:k 位推理缩放法则,由 Tim Dettmers 等人提出(2022 年)——总体而言,他们的研究结果表明,对于模型总比特数和零样本准确率而言,4 位精度几乎普遍最优。
- GPTQ:面向生成式预训练 Transformer 的精确后训练量化,由 Elias Frantar 等人开发,2022 年。
- 其他列表:
二值化
- 用于高效硬件加速的可分离滤波器二值化卷积神经网络
- 二值化神经网络:训练权重和激活值被约束为+1或-1的深度神经网络
- 局部二值卷积神经网络
- XNOR-Net:使用二值卷积神经网络进行ImageNet分类
- DoReFa-Net:训练低比特宽度梯度的低比特宽度卷积神经网络
剪枝
- 通过直接稀疏卷积和引导式剪枝加速CNN
- 深度压缩:利用剪枝、量化训练和霍夫曼编码压缩深度神经网络
- 为资源高效的推理而剪枝卷积神经网络
- 为高效ConvNet而剪枝滤波器
- 基于能耗感知剪枝设计节能型卷积神经网络
- 学习剪枝:探索快速且准确解析的前沿
- 精细剪枝:结合贝叶斯优化对卷积网络进行联合微调与压缩
- 同时学习权重和连接以构建高效神经网络
- ThiNet:一种用于深度神经网络压缩的滤波器级剪枝方法
- 面向深度神经网络的数据驱动稀疏结构选择
- 面向神经网络压缩的软权值共享
- 用于高效DNN的动态网络手术
- 通道剪枝加速超深层神经网络
- AMC:移动端模型压缩与加速的AutoML
- ESE:基于FPGA的稀疏LSTM高效语音识别引擎
- 大规模语言模型可在一次操作中精确剪枝(2023)——剪枝方法:训练后剪枝、逐层剪枝。量化方法:联合稀疏化与训练后量化。
他们提出了
SparseGPT,这是首个能在100亿至1000亿参数规模下高效运行的精确一次性剪枝方法。SparseGPT将剪枝问题转化为一个超大规模的稀疏回归实例。它基于一种新的近似稀疏回归求解器,用于解决逐层压缩问题,效率足以在单个GPU上用时数小时处理最大的公开GPT模型(1750亿参数)。同时,SparseGPT足够精确,能够在不进行任何微调的情况下,在剪枝后几乎不损失精度。 - UPop:用于压缩视觉-语言Transformer的统一渐进式剪枝,由清华大学等机构提出(ICML 2023)[代码]
- 大型语言模型的简单有效剪枝方法,由CMU、Meta AI Research等机构于2024年5月提出——流行的幅度剪枝方法基于这样的假设:越接近0的权重可以被置为0而不影响性能。然而,在LLM中,某一层中间输出的一部分数值可能比同层其他输出大20倍。如果移除与这些大数值相乘的权重——即使它们接近零——也可能显著降低性能。因此,同时考虑权重和中间层输出的剪枝技术可以在较少影响性能的情况下加速网络。其重要性在于:随着移动设备和个人电脑性能的提升,能够在不影响模型性能的前提下压缩模型变得愈发重要。[代码:Wanda]
知识蒸馏
- 蒸馏神经网络中的知识
- 深度模型压缩:从噪声教师中蒸馏知识
- 通过知识蒸馏学习高效的目标检测模型
- 面向深度神经网络的无数据知识蒸馏
- 知识投影用于高效设计更薄更快的深度神经网络
- Moonshine:通过廉价卷积进行知识蒸馏
- 从人脸分类到对齐与验证的知识迁移式模型蒸馏
- 如你所好:通过神经元选择性转移进行知识蒸馏
- 序列级知识蒸馏
- 基于条件对抗网络的知识蒸馏损失函数
- 暗知识
- DarkRank:通过跨样本相似性转移加速深度度量学习
- FitNets:为轻量级深度网络提供提示
- MobileID:通过从神经元中蒸馏知识来压缩人脸模型
- 更加关注注意力:通过注意力转移提升卷积神经网络性能
低秩近似
- 通过低秩展开加速卷积神经网络
- 用于快速、低功耗移动应用的深度卷积神经网络压缩
- 带有低秩正则化的卷积神经网络
- 利用卷积神经网络中的线性结构进行高效推理
- 加速用于分类和检测的超深卷积神经网络
- 非线性卷积神经网络的有效且精确的近似
- LoRA:大型语言模型的低秩适配 - Hu 等人提出了适用于 GPT 类模型的低秩适配器。
- QLoRA:量化大语言模型的高效微调 由 Tim Dettmers 等人(2023 年)提出。
模型卸载
近年来,出现了许多专门用于大语言模型推理的系统,例如 FasterTransformer(NVIDIA,2022 年)、PaLM 推理(Pope 等人,2022 年)、Deepspeed-Inference(Aminabadi 等人,2022 年)、Accelerate(HuggingFace,2022 年)、LightSeq(Wang 等人,2021 年)、TurboTransformers(Fang 等人,2021 年)。
为了在普通硬件上实现大语言模型推理,模型卸载是一项关键技术——据我们所知,在现有系统中,只有 Deepspeed-Inference 和 Huggingface Accelerate 提供了这一功能。
- FlexGen:单 GPU 高吞吐量生成式大语言模型推理 由 HazyResearch@Stanford 等人于 2023 年提出。[推文]
并行化
用于模型加速的压缩方法(即模型并行化)相关论文:
- 压缩激活值是否有助于模型并行训练?(2023 年) - 该研究首次对压缩算法(基于剪枝、基于学习以及基于量化的方法,使用 Transformer 架构)在提升模型并行通信速度方面的有效性进行了实证研究。总结: 1)激活值压缩并不等同于梯度压缩;2)训练设置非常重要;3)不要压缩早期层的激活值。
文章
在网络上发布的内容。
操作指南
- 如何使用 TensorFlow 对神经网络进行量化
- 🤗 PEFT:在低资源硬件上对十亿参数级模型进行参数高效的微调(2023 年) - HuggingFace 的 PEFT 库使得用户能够结合 Transformers 中最流行、性能最佳的模型与 Accelerate 的简洁性和可扩展性。目前支持的 PEFT 方法有:LoRA、前缀调优、提示调优以及 P-Tuning(采用可训练的连续提示嵌入)。他们还将探索更多 PEFT 方法,如 (IA)3 和瓶颈适配器。结果:现在微调 Flan-T5-XXL 所需的参数数量为 940 万,约为 AlexNet 参数量的七分之一(来源:推文)。
杂项
- 为什么机器学习的未来是微型的
- 用于图像分析的深度学习模型压缩:方法与架构
- 一种万无一失的缩小深度学习模型的方法 由 MIT(Alex Renda 等人)提出 - 一种剪枝算法:训练至完成,全局剪掉权重绝对值最小的 20%(最弱的连接),然后以原始(早期训练)的学习率进行学习率回溯再训练,迭代重复直至达到所需的稀疏度(模型可以小到你想要的程度)。
参考
博客
- 量化可视化指南 - Maarten Grootendorst(2024 年 7 月)揭秘大型语言模型的压缩技术 - 一篇通俗易懂且优秀的量化入门文章,介绍了包括 GPTQ、GGUF 和 BitNet(1 位)在内的工具和库中广泛支持的量化方法。
- 🤗 Transformers 中原生支持的量化方案概述(2023 年 9 月)
- TensorFlow 模型优化工具包 — 剪枝 API
- 用于图像分类和目标检测的神经网络压缩 - Facebook AI 的研究人员开发了一种新方法,通过量化神经网络的权重来减少其内存占用,同时保持较短的推理时间。他们成功将一个 76.1% top-1 准确率的 ResNet-50 模型压缩至 5 MB,并将 Mask R-CNN 压缩至 6 MB。
- 压缩 BERT 的所有方法 - 根据不同特性对大型 NLP 模型(BERT)的不同压缩方法进行了概述,并比较了它们的效果。
- 深度学习模型压缩方法
- 未来我们真的需要模型压缩吗?
- 量化:用于 Transformer 推理的 Nvidia H100 分析 由 Cohere 的 ML 运维工程师 Carol Chen 撰写。
Transformer Engine 同时利用 FP8 和 FP16 来降低内存使用并提高性能,同时仍能保持大型语言模型的准确性。
- LLM 的量化技术和格式对比(2023 年 10 月)- 对 GGUF(llama.cpp)、GPTQ、AWQ、EXL2、q4_K_M、q4_K_S 以及 load_in_4bit 进行了详细比较:困惑度、显存、速度、模型大小和加载时间。
- 哪种量化方法最适合你?GGUF、GPTQ 还是 AWQ(2024 年 1 月)- 一篇关于三种主流量化方法——GPTQ、AWQ 和 GGUF——的温和介绍。
- Llama 模型中量化性能的比较(2024 年 7 月)- 8 位量化似乎还不错,而 4 位则视情况而定。文中涵盖了多种量化方案,包括 GGUF、HQQ(半二次量化)、AWQ、GPTQ 和 BnB。
工具
图书馆
- TensorFlow 模型优化工具包。配套博文:TensorFlow 模型优化工具包——剪枝 API
- XNNPACK 是一个高度优化的浮点神经网络推理算子库,适用于 ARM、WebAssembly 和 x86(SSE2 级别)平台。它基于 QNNPACK 库构建。然而,与 QNNPACK 不同,XNNPACK 完全专注于浮点运算。
- Bitsandbytes 是一个轻量级的 CUDA 自定义函数封装库,特别是针对 8 位优化器和量化函数。
- NNCP - 一项利用神经网络构建实用无损数据压缩器的实验。最新版本使用 Transformer 模型(速度较慢但压缩比最佳),同时也提供 LSTM 模型(速度较快)。
框架
论文实现
- facebookresearch/kill-the-bits - Facebook AI Research 论文《而比特继续下降:重新审视神经网络的量化》的代码及压缩模型。
视频
报告
培训与教程
许可协议
我在此仓库中以开源许可向您提供代码和资源。由于这是我的个人仓库,您所获得的代码和资源许可来自我个人,而非我的雇主。
- 代码:MIT 许可。版权所有 2022 年 - Cedric Chee
- 文本内容:知识共享署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器