概述
模型量化通过将数字存储在更少的位中来缩小神经网络,因此相同的模型可以在更小的硬件上运行得更快。这是大型模型可以安装在单个 GPU、笔记本电脑甚至手机上的主要原因。
模型量化是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。
深入探讨
经过训练的模型通常将每个权重存储为 32 位或 16 位浮点数。量化取代了 8 位整数 (INT8) 或 4 位值 (INT4) 等低精度格式,从而将内存节省了大约 4 到 8 倍。一个 700 亿参数的模型在 16 位下需要大约 140GB,在 4 位下则需要大约 35GB,适合一个消费级 GPU。问题在于准确性:将大范围的值压缩到 256 或 16 个桶中会丢失细节。 GPTQ、AWQ 和 QLoRA 中使用的 NF4 格式等现代方法选择智能缩放因子并保护最敏感的权重,因此质量损失通常很小。量化是为什么像 llama.cpp 和 Ollama 这样的工具可以在没有数据中心的情况下在本地运行有能力的模型。
技术洞察
量化使用标度和零点将实数值映射到小整数网格:stored_int = round(value / scale) + Zero_point。选择好尺度就是整个游戏的关键。每通道或每组缩放为权重矩阵的切片保留单独的缩放,从而在重要的地方保持精度。训练后量化只是转换完成的模型,而量化感知训练会在训练期间模拟舍入,以便网络学会容忍它,通常会提供更好的低位精度。
掌握模型量化
模型量化通过将数字存储在更少的位中来缩小神经网络,因此相同的模型可以在更小的硬件上运行得更快。这是大型模型可以安装在单个 GPU、笔记本电脑甚至手机上的主要原因。模型量化是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将模型量化视为一种操作模型,而不是单个功能:定义期望的结果,澄清假设,并将系统可以可靠地完成的任务与仍需要专家判断的任务分开。
在实践中,使用模型量化的强大团队可以根据可靠性和成本来优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。
多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。
战略影响
多年来,架构决策决定着性能和运营成本。
多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
更好的工程选择可以减少生产中的可靠性事故。
更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
现实世界的实施
使用 llama.cpp 或使用 4 位 GGUF 文件的 Ollama 在笔记本电脑上运行 7B 或 13B Llama 模型。
QLoRA 通过将基本权重冻结在 4 位 NF4 中来微调单个 GPU 上的大型模型。
在具有设备运行时的手机上部署 INT8 模型,以便助手可以离线且私密地工作。
为更便宜的 API 端点提供服务,其中 INT8/FP8 量化使吞吐量大致翻倍并降低内存成本。
实施模式
模型量化实践
使用 llama.cpp 或使用 4 位 GGUF 文件的 Ollama 在笔记本电脑上运行 7B 或 13B Llama 模型。
使用 llama.cpp 或使用 4 位 GGUF 文件的 Ollama 在笔记本电脑上运行 7B 或 13B Llama 模型 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
模型量化实践
QLoRA 通过将基本权重冻结在 4 位 NF4 中来微调单个 GPU 上的大型模型。
QLoRA 通过将基本权重冻结在 4 位 NF4 中来微调单个 GPU 上的大型模型。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
模型量化实践
在具有设备运行时的手机上部署 INT8 模型,以便助手可以离线且私密地工作。
在具有设备上运行时的手机上部署 INT8 模型,以便助手可以离线且私密地工作。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。
模型量化实践
为更便宜的 API 端点提供服务,其中 INT8/FP8 量化使吞吐量大致翻倍并降低内存成本。
为更便宜的 API 端点提供服务,其中 INT8/FP8 量化大致使吞吐量翻倍并降低内存成本。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力增益和错误成本时,通常会获得更好的结果。
风险与防护栏
优化一项基准测试可以隐藏更广泛的系统弱点。
基础设施和维护成本常常被低估。
随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
实施路线图
在实施之前定义延迟、质量和成本目标。
在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在实际负载和数据条件下进行基准测试。
在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
仪器监控错误、漂移和用户影响。
仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在扩展之前准备回滚和事件响应路径。
在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。