概述
GPTQ 和 AWQ 是将已训练的语言模型缩小到 4 位精度的两种领先方法,以便它们在更便宜、更小的硬件上运行。这就是为什么您可以在单个消费级 GPU 而不是数据中心机架上运行功能强大的模型。
GPTQ 和 AWQ 训练后量化是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。
深入探讨
训练后量化 (PTQ) 无需重新训练即可压缩完成的模型,将高精度权重映射至 4 位,大约占用四分之一的内存。挑战在于在不破坏准确性的情况下做到这一点。 GPTQ(OBQ 的改进)逐层量化权重,使用来自小型校准数据集的二阶信息来调整剩余权重并补偿每个舍入误差。 AWQ(激活感知权重量化)采取不同的角度:它观察到一小部分权重通道异常重要,通过查看激活幅度来识别,并通过缩放而不是积极量化它们来保护这些显着通道。两者都允许像 Llama 这样的模型以 4 位运行,而 vLLM、llama.cpp 和 AutoGPTQ 等工具使它们成为本地且经济高效的推理的主流。
技术洞察
GPTQ 使用 Hessian 矩阵(损失曲率)的近似值来决定如何舍入一个权重来推动其他权重,从而最大限度地减少引入的误差。 AWQ 完全跳过 Hessians:它计算每个通道的缩放因子,以便重要的权重通道保持其有效精度,然后统一量化。两者都使激活保持更高的精度,并且只压缩权重,因为权重主导内存,而激活量化往往会更大程度地损害准确性。
掌握 GPTQ 和 AWQ 训练后量化
GPTQ 和 AWQ 是将已训练的语言模型缩小到 4 位精度的两种领先方法,以便它们在更便宜、更小的硬件上运行。这就是为什么您可以在单个消费级 GPU 而不是数据中心机架上运行功能强大的模型。 GPTQ 和 AWQ 训练后量化是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将 GPTQ 和 AWQ 训练后量化视为一种操作模型,而不是单个功能:定义所需的结果,澄清假设,并将系统可以可靠地完成的任务与仍需要专家判断的任务分开。
在实践中,使用 GPTQ 和 AWQ 训练后量化的强大团队可以根据可靠性和成本来优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。
多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。
战略影响
多年来,架构决策决定着性能和运营成本。
多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
更好的工程选择可以减少生产中的可靠性事故。
更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
现实世界的实施
使用 4 位 GPTQ 权重在单个 24 GB 消费级 GPU 上运行 700 亿参数的 Llama 模型。
AWQ 量化模型在 vLLM 中以高吞吐量提供服务,以实现经济高效的生产 API。
llama.cpp 使用量化的 GGUF 权重在笔记本电脑 CPU 上本地运行语言模型。
Hugging Face 的 AutoGPTQ 和 AutoAWQ 库让开发人员可以用几行代码量化下载的模型。
实施模式
GPTQ 和 AWQ 训练后量化实践
使用 4 位 GPTQ 权重在单个 24 GB 消费级 GPU 上运行 700 亿参数的 Llama 模型。
使用 4 位 GPTQ 权重在单个 24 GB 消费级 GPU 上运行 700 亿参数的 Llama 模型 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
GPTQ 和 AWQ 训练后量化实践
AWQ 量化模型在 vLLM 中以高吞吐量提供服务,以实现经济高效的生产 API。
AWQ 量化模型在 vLLM 中以高吞吐量提供服务,以实现经济高效的生产 API。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
GPTQ 和 AWQ 训练后量化实践
llama.cpp 使用量化的 GGUF 权重在笔记本电脑 CPU 上本地运行语言模型。
llama.cpp 使用量化的 GGUF 权重在笔记本电脑 CPU 上本地运行语言模型 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
GPTQ 和 AWQ 训练后量化实践
Hugging Face 的 AutoGPTQ 和 AutoAWQ 库让开发人员可以用几行代码量化下载的模型。
Hugging Face 的 AutoGPTQ 和 AutoAWQ 库让开发人员可以用几行代码量化下载的模型。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。
风险与防护栏
优化一项基准测试可以隐藏更广泛的系统弱点。
基础设施和维护成本常常被低估。
随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
实施路线图
在实施之前定义延迟、质量和成本目标。
在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在实际负载和数据条件下进行基准测试。
在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
仪器监控错误、漂移和用户影响。
仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在扩展之前准备回滚和事件响应路径。
在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。