第17篇-模型量化技术-GPTQ-AWQ与GGUF
【AIaaS 全栈架构师】第 17 篇:模型量化技术——GPTQ、AWQ 与 GGUF 的精度与效率权衡
本系列定位:面向全栈架构师的 AIaaS 系统化教程。本篇为模块三"模型推理与部署优化"的第四篇,深入模型量化这一推理加速的核心技术。
本篇你将学到
- 理解量化的本质:用更低精度表示模型权重,以显存和计算换取效率
- 掌握训后量化(PTQ)与量化感知训练(QAT)的分类与适用场景
- 深入 GPTQ 的二阶信息量化原理与 AWQ 的激活感知量化思想
- 理解 GGUF 格式的 k-quants 系列及其在端侧部署中的角色
- 建立量化方法选型决策框架
学完本篇,你将能根据模型大小、硬件条件和精度要求,选择合适的量化方案,并理解每种方案的精度损失与收益权衡。
一、为什么需要量化
1.1 大模型的显存困境
在模块二的训练篇中,我们讨论过模型参数量与显存的关系。一个 70B 参数的模型,以 FP16 存储,需要:
70B × 2 字节 = 140 GB
这远超单张 GPU 的显存(H100 是 80GB)。推理时还要加上 KV Cache(第 15 篇讨论过,大模型长上下文下可达数十 GB),单卡根本放不下。
| 模型 | 参数量 | FP16 显存 | INT8 显存 | INT4 显存 |
|---|---|---|---|---|
| 7B | 70 亿 | 14 GB | 7 GB | 3.5 GB |
| 13B | 130 亿 | 26 GB | 13 GB | 6.5 GB |
| 70B | 700 亿 | 140 GB | 70 GB | 35 GB |
| 175B | 1750 亿 | 350 GB | 175 GB | 87.5 GB |
量化到 INT8,显存减半;量化到 INT4,显存降至 1/4。这意味着:
- 70B 模型 INT4 后只需 35GB,单张 A100(80GB)就能跑
- 7B 模型 INT4 后只需 3.5GB,消费级显卡甚至 CPU 都能跑
1.2 量化的双重收益
量化带来的不仅是显存节约,还有计算加速:
- 显存带宽:低精度数据占空间小,从显存读取权重更快,Decode 阶段(访存密集型)直接受益
- 计算吞吐:现代 GPU 有专用的低精度计算单元。H100 的 INT8 算力是 FP16 的 2 倍,INT4/FP8 算力更高
- 能耗降低:低精度计算的能耗更低,大规模部署时电费成本显著下降
1.3 代价:精度损失
量化不是免费的午餐。将连续的浮点数压缩到有限的整数级别,必然引入量化误差(Quantization Error)。关键问题是:误差多大?能否接受?
一个好的量化方法的目标是:用最小的精度损失,换取最大的效率提升。这正是本篇讨论的各种方法(GPTQ、AWQ、GGUF 等)要解决的核心问题。
二、量化的基本分类
2.1 量化分类树
2.2 PTQ vs QAT
训后量化(PTQ):
- 在模型训练完成后,离线地将 FP16/FP32 权重转换为低精度
- 不需要重新训练,只需要少量校准数据(calibration data)
- 速度快、成本低,是生产部署的主流方式
- 代表方法:GPTQ、AWQ、GGUF 的 k-quants、SmoothQuant
量化感知训练(QAT):
- 在训练过程中模拟量化的效果,让模型"适应"低精度
- 需要完整的训练流程(数据、GPU、时间),成本高
- 精度通常优于 PTQ,尤其是极低比特(2-4 bit)场景
- 代表方法:LSQ(Learned Step Size Quantization)、GPTQ 后的 QAT 微调
| 维度 | PTQ | QAT |
|---|---|---|
| 时机 | 训练后 | 训练中 |
| 成本 | 低(需校准数据) | 高(需完整训练) |
| 精度 | 较好(INT8 接近无损,INT4 有损) | 更好 |
| 适用场景 | 生产部署主流 | 极致精度需求 |
| 工程门槛 | 低 | 高 |
在 AIaaS 平台中,绝大多数场景使用 PTQ。QAT 主要用于对精度极度敏感的场景(如边缘设备的 2-4 bit 部署)。本文重点讨论 PTQ 方法。
2.3 对称量化与非对称量化
无论 PTQ 还是 QAT,量化的数学操作都是将浮点数映射到整数:
量化: x_quant = round(x / scale) + zero_point
反量化:x ≈ (x_quant - zero_point) × scale
scale(缩放因子):浮点范围到整数范围的比值zero_point(零点):浮点 0 对应的整数值
对称量化:zero_point = 0,浮点范围关于 0 对称(如 [-A, A] 映射到 [-127, 127])。计算简单,硬件友好,但若数据分布不对称会浪费精度。
非对称量化:zero_point ≠ 0,适用于分布不对称的数据(如 ReLU 后全为正的激活值)。精度更好但计算略复杂。
权重通常对称量化(分布近似关于 0 对称);激活值可能非对称量化。主流方法多采用对称量化以简化硬件实现。
三、RTN:最朴素的基线
3.1 Round-to-Nearest 原理
最简单的量化方法是 RTN(Round-to-Nearest)——直接将浮点权重四舍五入到最近的整数级别。
对于一个权重张量 W,INT8 对称量化的过程:
- 找到权重的最大绝对值:
max_val = max(|W|) - 计算缩放因子:
scale = max_val / 127 - 量化:
W_int8 = round(W / scale) - 反量化:
W_recovered ≈ W_int8 × scale
3.2 RTN 的问题
RTN 的问题在于它完全不考虑权重的分布特征和重要性差异。如果一个权重张量中,99% 的值在 [-0.1, 0.1] 范围内,但有 1% 的异常值达到 5.0,RTN 会用 5.0 作为 max_val,导致 99% 的正常值被压缩到极小的整数范围内,精度严重损失。
这就是为什么需要更智能的量化方法——它们试图在量化过程中保护重要的权重,最小化量化误差对模型输出的影响。GPTQ 和 AWQ 就是两种不同的"保护策略"。
四、GPTQ:基于二阶信息的量化
4.1 核心思想
GPTQ(Generalized Post-Training Quantization)的核心思想是:逐层量化,利用二阶信息(Hessian 矩阵)指导量化顺序和补偿。
它的灵感来自经典的 OBQ(Optimal Brain Quantization)方法,后者又追溯到 1990 年代的 Optimal Brain Damage(OBD)——一种基于二阶信息的网络剪枝方法。
4.2 量化误差与补偿
GPTQ 的关键洞察是:量化一个权重不只是把它"四舍五入",还要补偿这个量化引入的误差,让后续权重的量化"知道"前面有哪些误差,从而调整自己的量化策略。
具体做法是:
- 将一层的权重矩阵 W 按列(每个输出神经元的权重向量)逐个量化
- 量化第 i 列时,计算量化误差
e = W[:,i] - quantize(W[:,i]) - 根据二阶信息(Hessian),将这个误差分配到尚未量化的列上,更新它们的值
- 这样,尚未量化的列在量化时,已经"考虑"了前面列的量化误差
4.3 Hessian 矩阵的作用
二阶信息(Hessian 矩阵 H)告诉量化算法:每个权重对输出误差的敏感度有多高。Hessian 的对角线元素 H[i,i] 近似表示权重 i 的"重要性"——H[i,i] 越大,权重 i 的量化误差对输出的影响越大。
GPTQ 用 Hessian 来决定误差的分配权重:误差更多地被分配到"不那么重要"的后续列(Hessian 值小的方向),从而保护重要的权重。
Hessian 如何获得:GPTQ 不需要真实的训练梯度。它使用一批**校准数据(Calibration Data)**前向传播通过模型,收集每层输入激活的统计量,用激活的 Gram 矩阵
X^T × X近似 Hessian。这就是为什么 GPTQ 需要校准数据(通常 128-1024 条文本样本)。
4.4 GPTQ 的特性
| 特性 | 说明 |
|---|---|
| 精度 | INT8 几乎无损;INT4 精度损失小(优于 RTN) |
| 校准数据 | 需要 128-1024 条样本 |
| 量化速度 | 中等(逐列量化,单层秒级,整个模型分钟级) |
| 推理兼容性 | 量化后模型可与 vLLM/TGI 等引擎配合 |
| 适用比特 | 3/4/8-bit |
4.5 GPTQ 的局限
- 逐列量化的串行性:每列量化依赖前面列的结果,难以完全并行化
- 校准数据敏感性:量化质量受校准数据选择影响
- 极低比特退化:2-bit 以下精度损失急剧增大
五、AWQ:激活感知的权重量化
5.1 核心洞察
AWQ(Activation-aware Weight Quantization)来自 MIT 的研究团队,它的核心洞察是:并非所有权重都同样重要——激活值大的通道对应的权重更"敏感",需要特殊保护。
5.2 等效缩放技巧
AWQ 保护重要权重的方法非常巧妙——它不是降低这些权重的量化比特,而是通过一个缩放变换,等效地将"重要权重"放大、将"不重要权重"缩小,使得整体量化误差更小。
具体地,对于每个通道,AWQ 引入一个缩放因子 s(per-channel):
- 将重要通道的权重乘以
s(放大),激活值除以s(缩小) - 量化放大后的权重——因为值更大,量化误差的相对比例更小
- 反量化后,权重除以
s、激活值乘以s,恢复原始运算
数学上,这个变换是精确等价的(乘除抵消),但对量化有利:重要通道的权重被"放大"后再量化,量化误差相对减小。
s的选择是关键。AWQ 通过分析校准数据的激活分布,自动搜索每个通道的最优s值。
5.3 AWQ vs GPTQ
| 维度 | GPTQ | AWQ |
|---|---|---|
| 核心策略 | 逐列量化 + 误差补偿 | 通道缩放 + 保护重要权重 |
| 二阶信息 | 使用(Hessian 近似) | 不使用(基于激活统计) |
| 校准数据 | 需要(128-1024 条) | 需要(128-1024 条) |
| INT4 精度 | 好 | 略优(多数基准测试) |
| 量化速度 | 中等 | 快(无逐列迭代) |
| 内存占用 | 量化过程需较多内存 | 较少 |
| 推理速度 | 相当 | 相当 |
在实际使用中,AWQ 和 GPTQ 都是 4-bit 量化的主流选择。AWQ 在多数基准测试中精度略优,且量化过程更快、更省内存。但两者差距不大,更多取决于具体模型和实现。
5.4 AWQ 的特性
| 特性 | 说明 |
|---|---|
| 精度 | INT4 损失极小,多数任务接近 FP16 |
| 校准数据 | 需要(但比 GPTQ 更少也可) |
| 量化速度 | 快(无逐列迭代) |
| 适用比特 | 主要 4-bit(也有 8-bit 变体) |
| 引擎支持 | vLLM、TGI、TensorRT-LLM 均支持 |
六、GGUF 与 k-quants:端侧量化的王者
6.1 GGUF 格式简介
GGUF(GPT-Generated Unified Format)是 llama.cpp 项目推出的模型文件格式。它的特点是单文件即模型——文件内嵌了模型权重、tokenizer 配置、模型超参数等全部信息,拷贝一个文件即可部署。
GGUF 格式的详细讨论见第 19 篇。这里聚焦于它的量化方案——k-quants 系列。
6.2 k-quants 量化系列
llama.cpp 的量化方案称为 k-quants,它不是单一的量化比特,而是一系列混合精度量化方案,针对模型不同部分采用不同精度。核心思想是"好钢用在刀刃上"——对精度敏感的部分用高比特,不敏感的用低比特。
常见的 k-quants 量化类型:
| 量化类型 | 平均比特 | 说明 | 适用场景 |
|---|---|---|---|
| Q8_0 | 8-bit | 块量化,每 32 个权重共享一个 scale | 高精度需求 |
| Q6_K | 6-bit | 混合精度,attention 层精度更高 | 高质量 |
| Q5_K_M | 5-bit | 混合精度中等版 | 平衡型 |
| Q4_K_M | 4-bit | 混合精度中等版 | 最常用 |
| Q4_0 | 4-bit | 简单 4-bit | 速度优先 |
| Q3_K_M | 3-bit | 混合精度 | 极限压缩 |
| Q2_K | 2-bit | 块量化 | 最小体积 |
6.3 块量化(Block Quantization)
k-quants 的核心是块量化:将权重分成固定大小的块(如 32 个权重一组),每个块独立计算 scale 和 min/max。
这样做的好处是局部精度更高:不同区域的权重分布可能差异很大,全局 scale 会"平均化"这种差异,而块级 scale 让每个块都能充分利用其比特范围。
6.4 GGUF 量化的定位
GGUF 量化的最大优势是与 llama.cpp 生态的深度集成——llama.cpp 针对 k-quants 各类型都有高度优化的 CPU/GPU Kernel(包括 AVX2/AVX-512/CUDA/Metal 等),在各种硬件上都能高效运行。
| 维度 | GPTQ/AWQ | GGUF k-quants |
|---|---|---|
| 主要使用场景 | GPU 服务器推理 | CPU/端侧/边缘推理 |
| 量化策略 | 全局或通道级 | 块级混合精度 |
| 推理引擎 | vLLM/TGI/TRT-LLM | llama.cpp/Ollama |
| 硬件优化 | GPU(CUDA)为主 | CPU + GPU 全覆盖 |
| 灵活性 | 固定几种比特 | 十余种量化类型可选 |
在 AIaaS 平台中,GGUF/k-quants 常用于端侧模型分发——将量化后的 GGUF 文件推送到用户设备或边缘节点运行。
七、SmoothQuant:平滑激活异常值
7.1 激活异常值问题
前面讨论的 GPTQ 和 AWQ 都是权重-only 量化——只量化权重,激活值保持 FP16。但完整推理需要同时做权重和激活的量化(称为 W8A8——权重和激活都 INT8),才能获得计算加速(利用 GPU 的 INT8 Tensor Core)。
权重-only 量化的瓶颈:推理时,权重从显存加载是 INT4/INT8,但计算时仍要反量化为 FP16 再与 FP16 激活做矩阵乘法,无法利用 INT8 计算单元。
W8A8 量化能利用 INT8 Tensor Core 加速计算,但面临一个难题:激活值存在异常值(Outliers)。
大模型的激活值中,少数通道的值远大于其他通道(可能大 10-100 倍)。如果对这些异常值和正常值用同一个 scale 量化,正常值会被严重压缩。
7.2 SmoothQuant 的解决方案
SmoothQuant 的思路极其巧妙:将激活值的异常值"搬运"到权重上。
数学上,Attention 和 FFN 的核心运算是 Y = X × W(激活 X 乘权重 W)。SmoothQuant 引入一个平滑因子 s(per-channel):
Y = X × W
= (X / s) × (s × W) // s 是 per-channel 向量
= X' × W' // X' = X/s, W' = s×W
这个变换是数学等价的,但:
X' = X / s:大激活通道除以大的s,异常值被"压平"W' = s × W:对应权重通道乘以s,权重"吸收"了异常值
因为权重在推理时是固定的,且其分布相对均匀(没有极端异常值),将异常值从激活"搬"到权重后,两者都更容易量化。
7.3 SmoothQuant 的定位
SmoothQuant 是一种 W8A8(权重和激活都 INT8) 方案,适合需要 INT8 计算加速的场景。它常与其他方法配合:
- SmoothQuant 平滑激活 → 然后用 RTN 或其他方法量化为 INT8
- 或作为 W8A8 的预处理步骤,提升整体量化质量
| 维度 | 权重-only(AWQ/GPTQ) | W8A8(SmoothQuant) |
|---|---|---|
| 量化对象 | 仅权重 | 权重 + 激活 |
| 比特 | 权重 INT4/INT8,激活 FP16 | 权重+激活 INT8 |
| 计算加速 | 仅减少显存带宽 | 利用 INT8 Tensor Core 加速计算 |
| 精度 | INT4 有损,INT8 近无损 | INT8 近无损 |
| 适用场景 | 显存受限 | 计算受限(大 batch) |
八、其他重要量化方案
8.1 BitsAndBytes NF4
NF4(NormalFloat 4-bit)是 BitsAndBytes 库提出的 4-bit 量化方案,专为 QLoRA(量化感知的 LoRA 微调) 设计。
- 特点:基于正态分布的分位数量化,假设权重服从正态分布,用 4-bit 表示 16 个最优分位点
- 用途:不是用于推理部署,而是用于在量化模型上做 LoRA 微调——将 70B 模型量化为 4-bit 后,在单张 GPU 上做 LoRA 微调(第 10 篇 QLoRA 已详细介绍)
- 精度:NF4 + 双重量化,精度损失极小
8.2 FP8:硬件原生低精度
FP8 是 NVIDIA H100(Hopper 架构)引入的硬件原生 8-bit 浮点格式。与 INT8 不同,FP8 是浮点表示(有指数位和尾数位),动态范围更大。
FP8 有两种模式:
| 模式 | 指数位 | 尾数位 | 动态范围 | 适用场景 |
|---|---|---|---|---|
| E4M3 | 4 | 3 | 较大 | 前向传播(权重、激活) |
| E5M2 | 5 | 2 | 更大 | 反向传播(梯度) |
FP8 与 INT8 量化的关键区别:
- INT8 是整数:需要 scale 和 zero_point,分布受限
- FP8 是浮点:天然支持不同量级的值,动态范围大,量化误差小
- 硬件支持:H100/H200 有原生 FP8 计算单元,吞吐量是 FP16 的 2 倍
重要区分:FP8 不是传统意义上的 PTQ。FP8 通常在训练/推理框架(如 Transformer Engine)中原生支持,通过动态或静态方式确定 scale,不需要独立的"量化转换"步骤。它是硬件级的低精度,而非"把高精度模型压缩为低精度文件"的 PTQ。
| 维度 | INT8 量化(GPTQ/AWQ) | FP8 |
|---|---|---|
| 数据类型 | 整数 | 浮点 |
| 硬件要求 | 所有 GPU | 仅 Hopper+(H100/H200/B200) |
| 动态范围 | 有限(需 scale) | 大(浮点指数) |
| 精度 | INT8 近无损,INT4 有损 | 近无损(优于 INT8) |
| 量化方式 | 离线 PTQ 转换 | 运行时动态/静态 |
| 计算加速 | INT8 Tensor Core | FP8 Tensor Core |
九、量化方法选型决策矩阵
9.1 综合对比表
| 方法 | 类型 | 比特 | 校准数据 | 精度 | 适用场景 | 引擎支持 |
|---|---|---|---|---|---|---|
| RTN | PTQ 权重-only | 8/4-bit | 不需要 | 基准 | 快速验证 | 全部 |
| GPTQ | PTQ 权重-only | 3/4/8-bit | 需要 | 好 | GPU 推理 | vLLM/TGI/TRT |
| AWQ | PTQ 权重-only | 4/8-bit | 需要 | 略优于 GPTQ | GPU 推理 | vLLM/TGI/TRT |
| GGUF k-quants | PTQ 权重-only | 2-8-bit | 不需要 | 中等 | CPU/端侧 | llama.cpp |
| SmoothQuant | PTQ W8A8 | 8-bit | 需要 | 近无损 | 计算加速 | TRT-LLM |
| NF4 | QAT 辅助 | 4-bit | - | 微调场景 | QLoRA 微调 | Transformers |
| FP8 | 硬件原生 | 8-bit | 动态 | 近无损 | H100 推理 | TRT-LLM/vLLM |
9.2 选型决策流程
9.3 场景速查
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| GPU 服务器,显存充裕 | FP8(H100)或 FP16 不量化 | 精度最优 |
| GPU 服务器,70B 模型单卡放不下 | AWQ INT4 | 35GB 可单卡运行,精度损失小 |
| GPU 服务器,需要计算加速 | SmoothQuant W8A8 | 利用 INT8 Tensor Core |
| CPU 推理 / 端侧部署 | GGUF Q4_K_M | llama.cpp 生态,多硬件优化 |
| QLoRA 微调 | BitsAndBytes NF4 | 专为量化微调设计 |
| 快速原型验证 | RTN INT8 | 最简单,无需校准数据 |
十、量化对推理性能的实际影响
10.1 精度影响
以 Llama-2-70B 在 MMLU 基准测试上的表现为例(数据为行业典型值,具体因实现而异):
| 量化方案 | 模型大小 | MMLU 分数 | 相对 FP16 损失 |
|---|---|---|---|
| FP16(基准) | 140 GB | ~69 | 0% |
| GPTQ INT8 | 70 GB | ~68.5 | -0.7% |
| AWQ INT4 | 35 GB | ~67 | -2.9% |
| GPTQ INT4 | 35 GB | ~66.5 | -3.6% |
| GGUF Q4_K_M | ~40 GB | ~67 | -2.9% |
| GGUF Q2_K | ~25 GB | ~62 | -10% |
关键规律:
- INT8 量化几乎无损(精度损失 <1%),绝大多数场景可直接替代 FP16
- INT4 量化精度损失 2-5%,在多数任务中可接受,但对复杂推理/数学任务影响较大
- 2-bit 以下精度急剧下降,仅适合对精度不敏感的简单任务
10.2 性能影响
| 量化方案 | 显存减少 | 推理加速(vs FP16) | 说明 |
|---|---|---|---|
| INT8 权重量化 | 50% | 1.5-2x(主要来自带宽节约) | Decode 阶段受益明显 |
| INT4 权重量化 | 75% | 2-3x | 显存受限场景提升最大 |
| W8A8(SmoothQuant) | 50% | 2-3x(INT8 计算加速) | 大 batch 场景提升最大 |
| FP8 | 50% | 1.5-2x(FP8 计算加速) | H100 原生支持 |
注意:量化加速效果与场景高度相关。在显存受限的场景(单卡放不下模型),量化能带来数量级的提升(从"跑不了"到"能跑")。在显存充裕的场景,量化主要带来 1.5-3x 的加速。
十一、量化在 AIaaS 平台中的工程实践
11.1 量化作为模型流水线的一环
在 AIaaS 平台中,量化通常是模型上架流水线的一部分:
关键工程要点:
- 精度回归测试:量化后必须在标准基准(MMLU、HumanEval 等)上评估,确认精度达标
- 多量化版本管理:同一模型可提供 FP16、INT8、INT4 多个版本,按场景选择
- 量化与引擎匹配:不同引擎支持的量化格式不同(vLLM 支持 AWQ/GPTQ,llama.cpp 用 GGUF)
11.2 动态量化选择
高级 AIaaS 平台可以根据用户请求动态选择量化版本:
- 免费/低优先级用户 → INT4 量化版本(低成本)
- 付费/高优先级用户 → FP16 或 INT8 版本(高精度)
- 端侧部署用户 → GGUF 量化版本
这种策略需要平台层的模型路由能力,将在模块六(第 37 篇推理调度进阶)详细讨论。
十二、量化技术发展趋势
最后,简要展望量化技术的发展方向:
- 更低比特探索:1-bit/2-bit 量化(如 BitNet、GPTQ 2-bit)正在研究,配合 QAT 可能可行
- 混合精度量化:模型不同层使用不同比特(敏感层高比特,不敏感层低比特),已有工具支持
- FP8 普及化:随着 H100/B200 部署量增加,FP8 将成为高端推理的默认选择
- 量化自动化:AutoML 技术自动搜索每个模型的最优量化配置,减少人工调参
- KV Cache 量化:不仅量化权重,还量化 KV Cache(第 15 篇提到),进一步降低显存
本篇小结
| 知识点 | 核心内容 |
|---|---|
| 量化本质 | 用低精度表示权重,换取显存节约和计算加速,代价是精度损失 |
| PTQ vs QAT | PTQ 训后离线转换(主流),QAT 训练时模拟量化(精度更优但成本高) |
| RTN | 最简单的四舍五入量化,不考虑权重分布,是基线方法 |
| GPTQ | 逐列量化 + Hessian 二阶信息指导误差补偿,需校准数据,精度好 |
| AWQ | 激活感知,保护大激活通道的权重,通过缩放变换减小量化误差,INT4 精度略优 |
| GGUF k-quants | 块量化混合精度系列(Q4_K_M 等十余种),llama.cpp 生态,适合 CPU/端侧 |
| SmoothQuant | 将激活异常值"搬"到权重上,使 W8A8(权重+激活 INT8)量化可行,利用 INT8 Tensor Core |
| NF4 | BitsAndBytes 正态分数量化,专为 QLoRA 微调设计 |
| FP8 | H100 硬件原生浮点格式(E4M3/E5M2),近无损,非传统 PTQ |
| 选型原则 | CPU/端侧→GGUF;H100→FP8;GPU INT4→AWQ;计算加速→SmoothQuant |
下篇预告
第 18 篇:Speculative Decoding——投机解码如何加速推理 2-3 倍
量化从"精度维度"优化推理,下一篇我们从"算法维度"优化。自回归解码每步只生成一个 Token,是串行瓶颈。投机解码用小模型快速生成候选 Token、大模型并行验证,能将推理加速 2-3 倍。我们将深入 Draft Model 投机解码的原理、接受率与加速比分析,以及 Medusa、EAGLE、N-gram 等变体方案。
如果本篇内容对你有帮助,欢迎点赞收藏!有任何疑问,欢迎在评论区交流。
更多推荐
所有评论(0)