趋近智
对模型进行量化 (quantization)会改变其核心表示形式。它涉及将权重 (weight)和激活值存储为低精度类型,例如8位整数(INT8)或4位整数(INT4),而不是标准的32位浮点数(FP32)。仅仅将这些低精度权重保存到标准文件中是不够的。与量化过程本身相关的重要元数据也需要被存储。
思考量化过程中发生的情况:我们将原始浮点范围映射到更小的整数范围。这种映射需要以下参数 (parameter):
标准模型序列化格式,通常为FP32或FP16模型设计,没有专门的结构来高效地存储和检索与量化权重一起的这些元数据。试图对它们进行改造可能会很麻烦且效率低下。
这导致需要专门的量化模型格式。这些格式专门设计用于将低精度权重与所有必要的量化参数,有时甚至是模型架构细节或配置设置一起打包。推动这些格式开发的主要目标包括:
在本章中,我们将审视在处理量化LLM时会遇到的一些最常见的格式:
llama.cpp生态系统相关的灵活格式。它设计为可扩展,可存储丰富的元数据,支持各种量化类型和模型架构。我们将在后面详细介绍其结构和使用方法。safetensors等标准格式中,并依赖关联的配置文件。AutoGPTQ或ExLlama等库知道如何解释这些约定。重要的是要区分量化算法(如PTQ、GPTQ、AWQ、QAT),它定义了模型权重和/或激活值如何转换为更低精度,以及文件格式,它定义了结果量化模型及其元数据如何存储在磁盘上。虽然某些格式与特定算法紧密相关(如GPTQ使用的约定),但像GGUF这样的格式则旨在实现更宽的适用范围。
下图概述了这些组件之间的关系:
此流程图展示了量化算法如何生成权重和参数,这些权重和参数随后以专门的文件格式存储,供推理引擎使用。
理解这些格式对于实际部署很重要。它们连接了量化的理论过程与所得紧凑模型的高效运行。以下部分将提供关于GGUF、与GPTQ相关的约定以及AWQ格式的更多具体信息,同时介绍用于创建和操作它们的工具。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•