为什么需要模型压缩?
近年来,大语言模型和多模态大模型的能力发展迅速,在复杂推理、零样本泛化和跨模态理解等方面表现卓越。但这些能力背后存在一道难以逾越的”推理墙”:
自注意力机制的计算复杂度为 O(n²),序列越长,计算消耗呈指数级增长;
数十亿参数模型需要巨大的显存带宽,对 GPU 硬件要求极高;
长上下文处理和实时多模态交互对硬件的要求与消费级设备能力之间存在巨大鸿沟。
尽管已有量化、稀疏化、投机解码等解决方案,但它们大多以”孤岛”形式存在,难以形成完整的端到端压缩部署流水线。
AngelSlim 正是为解决这一问题而生——由腾讯混元 AI Infra 团队打造的统一化大模型压缩与加速工具包,已在 GitHub 完全开源。
项目地址:https://github.com/Tencent/AngelSlim ModelScope 模型库:https://modelscope.cn/organization/AngelSlim 技术报告:https://arxiv.org/abs/2602.21233
AngelSlim 的核心能力
AngelSlim 将四大核心压缩技术整合进一套统一框架:
2.1 极低比特量化
- 代表算法:2-bit QAT、三值量化 Tequila/Sherry
- 核心收益:6 倍压缩率,边缘设备 4 倍提速
2.2 训练后量化
- 代表算法:FP8/INT8/INT4 PTQ + LeptoQuant
- 核心收益:近无损压缩,单卡可量化 DeepSeek-R1 等超大模型
2.3 投机解码
- 代表算法:Eagle3 + SpecExit
- 核心收益:吞吐提升 1.8-2.0 倍,无需修改目标模型
2.4 稀疏注意力/Token 剪枝
- 代表算法:Stem、IDPruner、Samp
- 核心收益:长文 TTFT 大幅下降,多模态冗余 Token 有效消除
极低比特量化:把大模型塞进手机
3.1 HY-1.8B-2Bit:业界首个可工业落地的 2-bit 大模型
HY-1.8B-2Bit 将 1.8B 参数的混元模型压缩到等效 0.3B 大小(6 倍压缩),同时平均精度损失仅 3.97%,在苹果 M4 芯片上推理速度最高提升 8 倍。
技术突破在于采用 Stretched Elastic Quantization (SEQ) 方案,将量化映射改为对称方案{-1.5, -0.5, 0.5, 1.5},消除零点,扩展动态范围,同时配合 QAT(量化感知训练)优化。关键训练策略包括:
- 用指令微调权重而非预训练权重初始化,加速收敛
- 用 89B 精选 token(侧重数学、科学、长文本)弥补低比特推理损失
- 仅用 BitNet-2B 10% 的 token 量完成训练,效率极高
实测数据显示,2-bit 模型与 INT4 模型精度几乎相同,但只用了一半的权重精度,在 BBH 和 LiveCodeBench 等推理任务上甚至超过了 INT4 基线。该模型还继承了混元 A13B 的 Dual-CoT(双链式思维)架构,是业界最小的支持复杂推理路径的模型。
模型链接:https://modelscope.cn/models/AngelSlim/HY-1.8B-2Bit
3.2 三值量化:Tequila 和 Sherry
三值量化将权重限定在{-1, 0, +1},用查表代替浮点乘法,硬件友好。AngelSlim 推出两种创新方案:
Tequila(1.58-bit):解决”死区陷阱”问题。当权重落入[-Δ, Δ]区间时,传统 STE 梯度失效。Tequila 将这些”死权重”重新激活为可微分的动态偏置,训练结束后离线合并,零推理开销。
Sherry(1.25-bit):通过 3:4 细粒度结构稀疏解决硬件对齐问题——每 4 个权重中恰好 3 个非零,打包为 5-bit,完美匹配 SIMD 向量指令。相比 2-bit 方案体积缩小约 20%,在 Intel i7 上推理速度达到 148 tokens/s。
训练后量化:生产级一键压缩
4.1 统一 PTQ 框架
AngelSlim 的 PTQ 框架覆盖 FP8、INT8、INT4 全精度谱,提供两种使用方式:
YAML 配置方式:
model: Qwen3-1.7Bcompress: method: fp8_staticdataset: ...执行命令:python3 tools/run.py -c configs/qwen3/fp8_static/qwen3-1_7b_fp8_static.yaml
Python API 方式:
from angelslim.engine import Engineslim_engine = Engine()slim_engine.prepare_model(model_name="Qwen", model_path="Qwen/Qwen3-1.7B")slim_engine.prepare_compressor("PTQ", default_method="fp8_dynamic")slim_engine.run()slim_engine.save("./output")核心亮点是 Low-Memory 校准模式,通过 CPU-GPU 智能按需换页,让 DeepSeek-R1 这样的超大模型用一张 GPU 完成全量化流程。
4.2 LeptoQuant:解决 FP8 精度陷阱
标准 FP8 量化面临权重分布问题:权重通常是尖峰拉普拉斯型(大量数据密集在 0 附近,少量异常值远离中心)。传统按最大绝对值缩放,会把密集区域平移到 FP8 精度最差范围。
LeptoQuant 的解法是隔离异常值,将主体分布压缩到高精度区间,通过网格搜索找到最优缩放因子α,最小化量化误差。在 Hunyuan-4B-Instruct 模型上的实测显示,LeptoQuant 将 FP8 量化在 AIME 2025 测试中的得分从 46.70 提升至 60.70,接近 BF16 基准的 66.50。
投机解码:让模型”提前预判”,吞吐翻倍
5.1 基本原理
投机解码利用轻量草稿模型”猜测”接下来的多个 token,目标模型”验证”这批猜测,一次前向通过就能接受多个 token,等效于 token 并行生成,显著提升吞吐量。
5.2 Eagle3 训练框架
AngelSlim 设计了专门的 Eagle3 框架解决现有方案的局限性:
- 全模态统一训练:LLM、视觉语言模型、语音模型共用同一套训练抽象
- 直接部署:训练完成的草稿模型可直接接入 vLLM、SGLang,无需二次转换
- 支持在线/离线两种训练模式,适应不同显存环境
Qwen3 系列实测数据显示(vLLM,单卡):
- Qwen3-1.7B:吞吐从 381 提升至 643 TPS,平均接受长度 2.17
- Qwen3-8B:吞吐从 152 提升至 258 TPS,平均接受长度 1.99
- Qwen3-32B:吞吐从 43 提升至 74 TPS,平均接受长度 1.91
5.3 SpecExit:让推理模型”适时停止”
大推理模型常对简单问题也执行冗长思维链,造成无效计算。SpecExit 将早退决策内嵌进草稿模型的隐状态,让模型同时输出 token 和”已足够/仍不足”的置信信号,可将生成长度缩减 54-66%,端到端延迟相比 EAGLE3 基线再降 2 倍以上,且精度几乎无损。
稀疏注意力+Token 剪枝:给长文和多模态提速
6.1 Stem:重新理解因果信息流
Stem 模块提出两个创新解决长文推理的 TTFT(首 token 时延)问题:
Token Position Decay(位置衰减预算):序列开头的 token 被更多后续 token 依赖,分配更高保留优先级,后续 token 逐渐降低预算。
Output-Aware Metric(输出感知度量):选 token 时不仅考虑注意力得分,还评估对应 Value 向量的贡献大小,避免”高注意力但低贡献”的 token 浪费计算资源。
6.2 IDPruner:视觉 Token 的极致精简
多模态模型中,图像生成的大量 token 存在空间冗余。IDPruner 用 MMR(最大边际相关性)同时优化两个目标:重要性(每个 token 对任务的贡献度)和多样性(已选 token 集合的语义覆盖范围)。在 Qwen2.5-VL-7B 上,保留 10% Token(90% 压缩比)时,IDPruner 综合性能仍达 86.47%,显著领先其他方法。
6.3 Samp:音频 Token 的合并 + 剪枝
Samp 分两阶段处理语音 token 的时序冗余:
- 相似度阈值合并:相邻 token 相似度超过阈值λ则合并为一个聚类,加权平均保留关键信息
- 注意力引导剪枝:基于重要性分数,从合并后的 token 池中再剔除冗余项
在 Qwen2-Audio 上,40% 压缩率下 Samp 的平均 WER 保持 5.39%,远优于同类方法。
快速上手指南
7.1 安装
pip install angelslim7.2 LLM 量化(Qwen3-1.7B FP8 示例)
一键式(推荐):
python3 tools/run.py -c configs/qwen3/fp8_static/qwen3-1_7b_fp8_static.yamlPython API:
from angelslim.engine import Engineslim_engine = Engine()slim_engine.prepare_model(model_name="Qwen", model_path="Qwen/Qwen3-1.7B")slim_engine.prepare_compressor("PTQ", default_method="fp8_dynamic")slim_engine.run()slim_engine.save("./output")7.3 投机解码训练(Eagle3)
bash scripts/speculative/run_vllm_server.sh
bash scripts/speculative/generate_data_for_target_model.sh
bash scripts/speculative/train_eagle3_online.sh7.4 量化后部署(vLLM)
bash scripts/deploy/run_vllm.sh \ --model-path ./output \ --port 8080 \ -d 0,1,2,3 -t 4 -g 0.8 \ --max-model-len 4096最佳实践建议
8.1 量化策略选择
- 追求极致压缩(端侧/边缘设备):选用 2-bit QAT 或三值量化(Sherry 1.25-bit)
- 追求近无损精度(服务器部署):首选 FP8-Static;精度要求极高时配合 LeptoQuant
- 大模型单卡压缩(DeepSeek-R1 级别):开启 Low-Memory Calibration 模式+W4A8-FP8
8.2 投机解码配置
- 文本模型设置 num_speculative_tokens=2
- 多模态和语音模型设置 num_speculative_tokens=4
- 推理模型(如 DeepSeek-R1-Distill)额外搭配 SpecExit,可再降 50%+延迟
8.3 多模态 Token 剪枝
- 视觉任务(保留 25% Token):直接使用 IDPruner,精度基本维持在 95%+ baseline
- 语音 ASR 任务:优先选择 Samp,40% 压缩下 WER 几乎不变
8.4 评测验证
- 量化后务必用 lm-evaluation-harness 测试核心 benchmark(ceval、mmlu、gsm8k)
- 启用 Scale Analysis 工具检测异常值分布,决定是否需要 LeptoQuant
支持的模型与资源
AngelSlim 已开源以下权重:
- Qwen3 全系列(1.7B/4B/8B/14B/32B/30B-A3B)的 Eagle3 权重
- Qwen3-VL 多模态系列 Eagle3 权重
- Qwen3-235B-A22B-NVFP4/Qwen3-32B-NVFP4量化权重
- HY-1.8B-2Bit 端侧 2-bit 模型权重
- DeepSeek-R1-0528 的 W4A8-FP8 量化权重
所有权重可在 Hugging Face(AngelSlim 主页)和 ModelScope 下载。
总结
AngelSlim 的核心价值在于体系化整合:将量化、投机解码、稀疏注意力、Token 剪枝四条技术路线统一进一个框架,满足不同角色需求:
- 端侧 AI 开发者:获取 2-bit/1.25-bit 模型,在苹果 M4 实现 8 倍加速
- 服务端推理工程师:利用 Eagle3 实现吞吐翻倍,FP8 实现近无损部署
- 多模态应用开发者:通过视觉/语音 Token 剪枝,节省算力不损失精度
- 算法研究者:在统一框架内,算法策略与模型架构完全解耦
这一工具包的开源,标志着大模型压缩技术从零散技巧迈向系统化工程,为大模型在各种设备上的高效部署铺平道路。