推理与部署篇05】模型量化部署深度对比

📅 2026/6/27 22:20:01
推理与部署篇05】模型量化部署深度对比
【推理与部署篇05】模型量化部署深度对比GPTQ、AWQ、GGUF与FP8实战指南2026年最新版| 量化技术从入门到选型覆盖 7 种主流方案含完整代码与实测数据 目录1. 为什么需要量化2. 量化基础概念速览3. GPTQ基于梯度的精准量化4. AWQ激活感知权重量化5. GGUFllama.cpp 的万能格式6. BitsAndBytes加载即量化7. FP8/NVFP4NVIDIA 原生精度8. AQLM极限压缩新方案9. 全方案性能对比10. 选型决策指南面试加分点1. 为什么需要量化一个 70B 参数模型以 FP16 精度运行需要140GB 显存这意味着至少需要 2×H10080GB或 4×A10040GB才能推理。量化技术将权重从 FP16 降到 INT4显存需求直接降至35GB——一块 H100 即可运行。量化的本质是用精度换效率FP32 (32-bit) → FP16 (16-bit) → INT8 (8-bit) → INT4 (4-bit) 精度 ↓ 显存占用 ↓ 推理速度 ↑ 吞吐量 ↑ ↓ 关键在于下降多少精度换来多少效率2026年量化的精度损失已经控制到极小精度显存节省速度提升精度损失 (MMLU)FP16基准基准基准INT8~50%1.5-2×0.5%INT4~75%2-3×1-3%FP8~50%2×1%NVFP4~75%3×2-4%2. 量化基础概念速览2.1 量化类型类型描述压缩比精度损失适用场景PTQ训练后量化模型训练完成后直接量化2-4×低生产部署首选QAT量化感知训练训练过程中模拟量化误差2-4×极低对精度要求极致动态量化运行时动态量化激活值1.5×中边缘设备2.2 量化粒度Per-tensor: 整个层共享一个缩放因子 → 简单但精度低 Per-channel: 每个输出通道一个缩放因子 → 精度高 Per-group: 每 N 个权重一组 → 平衡精度和效率最常用group_size128/64 Per-token: 每个 token 动态量化 → 适合激活值量化2.3 对称量化 vs 非对称量化对称量化: scale max(|w|) / 127 → INT8 对称 范围 [-127, 127] 非对称量化: scale (max - min) / 255 → INT8 非对称 zero_point round(-min / scale) 范围 [0, 255] 多一个 zero_point 参数但能更好利用量化范围3. GPTQ基于梯度的精准量化3.1 核心原理GPTQGenerative Pre-trained Transformer Quantization由 Frantar 等人提出ICLR 2023核心思想来自最优脑外科OBS算法——逐个权重地量化每量化一个权重后调整剩余权重补偿误差 [1]。GPTQ 逐层量化流程 对于每一层权重 W 1. 计算 Hessian 矩阵 H 2XX^T 基于校准数据 2. 初始化量化后的权重 Q W 3. 对 Q 中每个列按重要性排序 a. 量化该列q round(w / scale) * scale b. 计算量化误差err w - q c. 根据 Hessian 将误差分摊到剩余未量化列 d. 更新剩余列remaining - err / H_diag * H_row 4. 输出量化后的权重 Q 关键创新利用 Hessian 矩阵的误差补偿 使单次量化误差被后续未量化权重吸收GPTQ 的独有优势不需要反向传播不同于 QAT只需要一次前向传播获取校准数据的激活值速度远快于 QAT。3.2 实战代码fromtransformersimportAutoTokenizerfromauto_gptqimportAutoGPTQForCausalLM,BaseQuantizeConfigimporttorch# 1. 配置量化参数quantize_configBaseQuantizeConfig(bits4,# 4-bit 量化group_size128,# 分组大小越小精度越高但速度越慢desc_actFalse,# 是否按激活值排序True精度更高但慢damp_percent0.01,# 阻尼系数防止 Hessian 奇异static_groupsFalse,# 静态分组)# 2. 加载并量化model_nameQwen/Qwen2.5-7B-InstructmodelAutoGPTQForCausalLM.from_pretrained(model_name,quantize_config,device_mapauto,trust_remote_codeTrue)tokenizerAutoTokenizer.from_pretrained(model_name)# 3. 准备校准数据关键直接影响量化质量calibration_texts[深度学习是机器学习的一个分支它使用多层神经网络。,自然语言处理是人工智能的重要方向涵盖文本分类、机器翻译等任务。,人工智能正在改变世界从自动驾驶到医疗诊断都有广泛应用。,# 建议使用 100-500 条与业务相关的短文本]# 4. 执行量化model.quantize(calibration_texts,batch_size1)# 5. 保存model.save_quantized(./qwen2.5-7b-gptq)tokenizer.save_pretrained(./qwen2.5-7b-gptq)3.3 GPTQ 在 vLLM 中部署fromvllmimportLLM,SamplingParams llmLLM(model./qwen2.5-7b-gptq,quantizationgptq,dtypefloat16,gpu_memory_utilization0.9)sampling_paramsSamplingParams(temperature0.7,max_tokens512)outputsllm.generate([人工智能是什么],sampling_params)print(outputs[0].outputs[0].text)3.4 优缺点优点缺点压缩率高4-bit 可达 4× 压缩需要校准数据推理速度快GPU 上仅次于 AWQ量化过程较慢大模型需数小时社区生态成熟HuggingFace 上已有大量预量化模型对异常值敏感vLLM、TGI 均原生支持desc_actTrue 时推理变慢4. AWQ激活感知权重量化4.1 核心原理AWQActivation-aware Weight Quantization由 MIT 提出MLSys 2024核心洞察是并非所有权重都同等重要——那些与大幅激活值相乘的权重对模型输出的影响更大 [2]。AWQ 关键洞察 权重 W 与激活 X 相乘Y WX 如果某个通道的激活值 X 特别大 那么这个通道的权重 W 的重要性就更高。 AWQ 的做法 1. 收集校准数据下的激活值分布 2. 对每个通道计算重要性分数 mean(|activation|) 3. 对重要通道的权重乘以保护因子 s略小于1 4. 对次要通道除以 s略大于1 5. 然后再量化 数学表达 W_quantized round(W * s / scale) * scale / s 其中 s 1 α * (重要度 - 1)α 是保护强度 重要通道s ≈ 0.95保护精度 次要通道s ≈ 1.05容忍损失GPTQ vs AWQ 的本质区别GPTQ 是事后补救量化后调整剩余权重补偿误差 AWQ 是事前预防量化前缩放权重减少重要通道的量化损失4.2 实战代码fromawqimportAutoAWQForCausalLMfromtransformersimportAutoTokenizer# 1. 加载模型model_nameQwen/Qwen2.5-7B-InstructmodelAutoAWQForCausalLM.from_pretrained(model_name,device_mapauto,safetensorsTrue)tokenizerAutoTokenizer.from_pretrained(model_name,trust_remote_codeTrue)# 2. 配置量化参数quant_config{zero_point:True,# 使用零点量化非对称q_group_size:128,# 分组大小w_bit:4,# 量化位数version:GEMM,# GEMM通用矩阵乘或 GEMV向量乘calib_dataset:wikitext,# 校准数据集calib_samples:128,# 校准样本数}# 3. 执行量化AWQ 量化速度比 GPTQ 快约 50%model.quantize(tokenizer,quant_configquant_config)# 4. 保存model.save_quantized(./qwen2.5-7b-awq)tokenizer.save_pretrained(./qwn2.5-7b-awq)4.3 AWQ 在 vLLM 中部署# AWQ 直接在 vLLM 中原生加载fromvllmimportLLM,SamplingParams llmLLM(model./qwen2.5-7b-awq,quantizationawq,# 仅需指定 quantizationawqdtypeauto,# vLLM 自动选择最佳 dtypegpu_memory_utilization0.9)4.4 GPTQ vs AWQ 详细对比维度GPTQAWQ技术路线梯度下降 Hessian 补偿激活感知缩放保护量化速度较慢大模型数小时较快快 50%推理精度良好更优通常高 0.5-1%推理速度快更快5-15%社区模型丰富TheBloke 大量预量化快速增长vLLM 支持原生支持原生支持TGI 支持原生支持原生支持5. GGUFllama.cpp 的万能格式5.1 GGUF 是什么GGUFGPT-Generated Unified Format是 llama.cpp 项目开发的专用模型格式统一了模型权重 分词器 超参数在单一文件中 [3]。GGUF 文件结构 ┌──────────────────────────────────────┐ │ GGUF Header │ │ - 魔数: 0x46554747 (GGUF) │ │ - 版本号: v3 │ │ - 张量数量、元数据大小 │ ├──────────────────────────────────────┤ │ 元数据 KV │ │ - 模型架构llama/gptneox/mistral │ │ - 分词器类型及词表 │ │ - 超参数n_layer, n_head 等 │ │ - RoPE 配置、激活函数 │ ├──────────────────────────────────────┤ │ 张量数据权重 │ │ - 按量化类型编码 │ │ - Q4_0 / Q4_K_M / Q5_0 / Q8_0 等 │ └──────────────────────────────────────┘5.2 GGUF 量化类型GGUF 提供了丰富的量化类型K-quant 是最具特色的创新类型位数描述推荐场景Q2_K2-bit2-bit K-quant极限压缩实验性Q3_K_M3-bit3-bit 中等低资源Q4_04-bit4-bit 基础版最快CPU 快速推理Q4_K_M4-bit4-bit K-quant 推荐版平衡首选Q5_K_M5-bit5-bit 高质量精度敏感Q6_K6-bit6-bit 接近无损高质量需求Q8_08-bit8-bit 几乎无损完美保真K-quant 的核心原理不同层使用不同位数注意力层用更多位数更敏感FFN 层用更少位数。5.3 实战转换与量化# 1. 克隆 llama.cppgitclone https://github.com/ggerganov/llama.cppcdllama.cpp# 2. 编译mkdirbuildcdbuild cmake..-DCMAKE_BUILD_TYPERelease cmake--build.--configRelease-j# 3. 将 HuggingFace 模型转为 GGUF FP16python../convert_hf_to_gguf.py\./qwen2.5-7b-instruct\--outfileqwen2.5-7b-f16.gguf\--outtypef16# 4. 量化到 Q4_K_M./bin/quantize\qwen2.5-7b-f16.gguf\qwen2.5-7b-q4_k_m.gguf\q4_k_m# 5. 推理./bin/main\-mqwen2.5-7b-q4_k_m.gguf\-p人工智能是\-n256\--temp0.7\--threads8# 6. 启动 API 服务./bin/server\-mqwen2.5-7b-q4_k_m.gguf\--host0.0.0.0\--port8080\-c81925.4 GGUF 最佳实践# 用 Ollama 加载 GGUF - 最简单的方式# 1. 创建 ModelfilecatModelfileEOF FROM./qwen2.5-7b-q4_k_m.gguf PARAMETER temperature0.7PARAMETER top_p0.9TEMPLATE{{ .Prompt }}EOF# 2. 创建模型ollama create qwen2.5-7b-f Modelfile# 3. 运行ollama run qwen2.5-7b# 4. API 调用curl http://localhost:11434/api/generate \-d{model: qwen2.5-7b, prompt: 人工智能是什么}5.5 GGUF 最佳场景CPU 推理GGUF 是 CPU 推理的唯一最优选择Mac 用户llama.cpp 对 Apple Silicon 深度优化Metal 加速消费级 GPU6GB - 12GB 显存的显卡RTX 3060/4060边缘设备树莓派、NAS 等低功耗设备6. BitsAndBytes加载即量化6.1 核心特性BitsAndBytes 由 Tim Dettmers 开发提供了一个独特的思路——不需要单独的量化工具一行代码即可在加载模型时完成量化[4]。它的 NF4Normal Float 4量化格式是 QLoRA 微调的基础。fromtransformersimportAutoModelForCausalLM,BitsAndBytesConfigimporttorch# 4-bit NF4 量化配置QLoRA 使用的格式bnb_config_4bitBitsAndBytesConfig(load_in_4bitTrue,bnb_4bit_use_double_quantTrue,# 嵌套量化对缩放因子再次量化bnb_4bit_quant_typenf4,# NF4 (Normal Float 4) 或 fp4bnb_4bit_compute_dtypetorch.float16,# 计算精度bnb_4bit_quant_storage_dtypetorch.uint8# 存储格式)# 8-bit 量化配置bnb_config_8bitBitsAndBytesConfig(load_in_8bitTrue,bnb_8bit_compute_dtypetorch.float16,llm_int8_threshold6.0,# 异常值阈值llm_int8_has_fp16_weightFalse,llm_int8_skip_modules[output_layer]# 跳过某些模块)# 一行代码加载 70B 模型到单卡modelAutoModelForCausalLM.from_pretrained(Qwen/Qwen2.5-72B-Instruct,quantization_configbnb_config_4bit,device_mapauto,trust_remote_codeTrue)6.2 NF4 格式原理NF4 是 BitsAndBytes 独创的 4-bit 数据格式比普通 INT4 更适合神经网络权重的分布NF4 (Normal Float 4) - 正态分布优化 4-bit 格式 神经网络的权重分布 ≈ N(0, σ²) 正态分布 普通 INT4: 均匀量化[-8, 7] 等间距 问题大量权重集中在 0 附近但 INT4 给 0 附近的精度不够 NF4非均匀量化根据正态分布 CDF 设计 在 0 附近更密集更多量化级别 在远离 0 处更稀疏 约 68% 的权重在 ±1σ 内NF4 对这些权重分配了 8/16 的级别NF4 的精度明显优于普通 INT4这是 QLoRA 能同时实现 4× 压缩且保持良好效果的关键原因。6.3 QLoRA 微调 BitsAndBytesfrompeftimportLoraConfig,get_peft_model,prepare_model_for_kbit_training# 准备模型用于训练modelprepare_model_for_kbit_training(model)# LoRA 配置lora_configLoraConfig(r16,# LoRA 秩lora_alpha32,# 缩放参数target_modules[q_proj,k_proj,v_proj,o_proj],# 目标模块lora_dropout0.05,biasnone,task_typeCAUSAL_LM)modelget_peft_model(model,lora_config)# 训练时只有 LoRA 参数更新原始权重保持 NF4 量化状态# 显存70B 模型仅需 ~40GB 显存即可微调6.4 BnB 的优缺点优点缺点一行代码即可量化无需复杂工具推理速度不如 GPTQ/AWQ支持微调QLoRA生产部署不如 vLLM 成熟NF4 格式精度优于普通 INT4需要 PyTorch Transformers 环境支持 70B 模型单卡加载不适合超低延迟场景7. FP8/NVFP4NVIDIA 原生精度7.1 FP8Hopper 架构的原生格式FP8 是 Hopper 架构H100/H200的原生计算格式无需反量化即可在 FP8 Tensor Core 上直接计算。FP8 有两种格式 E4M3: 4 bit 指数 3 bit 尾数 动态范围: ±448 精度: 较高 适用: 权重 激活值量化对称分布 E5M2: 5 bit 指数 2 bit 尾数 动态范围: ±57344 精度: 较低 适用: 梯度量化动态范围大 TensorRT-LLM 使用 FP8 量化的典型方案 权重: FP8 (E4M3) per-tensor 激活: FP16 KV Cache: FP8 (E4M3)TensorRT-LLM 中的 FP8 量化完整流程# Step 1: ModelOpt 提供 FP8 校准python convert_checkpoint.py\--model_dir./Meta-Llama-4-70B\--output_dir./trt_llama4_fp8\--dtypefloat16\--use_weight_only\--weight_only_precisionfp8\--calib_size512# Step 2: 构建 FP8 引擎trtllm-build\--checkpoint_dir./trt_llama4_fp8\--output_dir./engine_fp8\--gemm_pluginfp8\--gpt_attention_pluginfloat16\--context_fmhaenable# Step 3: 推理python-mtensorrt_llm.commands.serve\--engine_dir./engine_fp8\--host0.0.0.0--port8000FP8 性能数据LLaMA 3.1 70B指标A100 FP16H100 FP8提升峰值吞吐2,800 tok/s10,200 tok/s3.6×TTFT340ms100ms-71%显存140GB72GB-49%MMLU 精度82.1%82.0%-0.1%7.2 NVFP4Blackwell 的 4-bit 突破NVFP4 是 BlackwellB100/B200/B300引入的原生 4-bit 浮点格式。与 INT4 等宽量化不同NVFP4 是对称的 E2M1 格式直接用 FP4 Tensor Core 计算无需反量化 [5]。NVFP4: [S:1bit][E:2bit][M:1bit] vs INT4: [-8, -7, ..., 0, ..., 7] vs NF4: 正态分布优化的非线性 4-bit vs NVFP4: E2M1 浮点格式值分布更合理 实测效果DeepSeek-R1 671B on B200 FP8 8×B200: 1,200 tok/s, ~900GB 显存 NVFP4 8×B200: 4,800 tok/s, ~480GB 显存 → 4× 提升 7.3 FP8/NVFP4 适用场景格式需要硬件推荐模型大小推荐场景FP8H100/H200/B200任何模型企业级 GPU 集群NVFP4B100/B200/B30070B 大模型Blackwell 原生部署8. AQLM极限压缩新方案8.1 原理概述AQLMAdditive Quantization for Language Models是 2025-2026 年兴起的新量化方法借鉴了信息检索领域的加性量化Additive Quantization技术 [6]。AQLM 的核心思路 将权重矩阵 W 分解为多个码本codebooks的和 W ≈ Σᵢ Cᵢ[bᵢ] 其中 Cᵢ 是第 i 个码本大小为 K×d bᵢ 是第 i 个码本的索引向量 2-bit AQLM: 4 个码本 × 每个码本 256 个向量 总需存储: 4 × log₂(256) 32 bits / 组AQLM 在 2-bit 量化的精度上显著优于其他方案甚至在某些任务上接近 4-bit GPTQ 的水平。8.2 与主流方案对比方案2-bit3-bit4-bitGPTQ不可用精度较差良好AWQ不可用一般优秀GGUF Q2_K可用可用可用AQLM最佳最佳良好8.3 使用示例# AQLM 需要特定后端支持# 目前在 transformers 中可通过以下方式加载fromtransformersimportAutoModelForCausalLM modelAutoModelForCausalLM.from_pretrained(ISTA-DASLab/Llama-2-7b-AQLM-2Bit-1x64,trust_remote_codeTrue,device_mapauto)9. 全方案性能对比9.1 显存需求7B/13B/70B 模型方案7B13B70BFP1614 GB26 GB140 GBINT8 (BnB)7.5 GB13.5 GB72 GBGPTQ-4bit4.5 GB8.5 GB40 GBAWQ-4bit4.5 GB8.5 GB40 GBGGUF Q4_K_M4.8 GB8.9 GB42 GBBnB NF44.8 GB8.9 GB42 GBFP8 (TRT-LLM)7.5 GB13.5 GB72 GBNVFP4 (Blackwell)——38 GBAQLM 2-bit2.8 GB5.2 GB26 GB9.2 推理速度A100 80GLLaMA-2-7B方案吞吐 (tok/s)相对 FP16适用引擎FP16951.0×vLLM/SGLangGPTQ-4bit1101.16×vLLM/ExLlamaAWQ-4bit1251.32×vLLM/TGIGGUF Q4_K_M (GPU)550.58×llama.cppGGUF Q4_K_M (CPU)120.13×llama.cppBnB NF4700.74×TransformersTRT-LLM FP8 (H100)2102.21×TensorRT-LLM9.3 精度损失MMLU 分数LLaMA-2-7B方案MMLU相对 FP16 损失FP16 (baseline)45.3%—GPTQ-4bit (g128)44.7%-0.6%AWQ-4bit (g128)45.1%-0.2%GGUF Q4_K_M44.5%-0.8%BnB NF444.8%-0.5%TRT-LLM FP845.2%-0.1%AQLM 2-bit42.1%-3.2%10. 选型决策指南10.1 决策树你的部署场景是什么 │ ├── GPU 云端生产环境 │ ├── 有 NVIDIA H100/B200 → TensorRT-LLM FP8/NVFP4 ✅ │ │ └── 极致性能最低延迟精度几乎无损 │ │ │ └── 通用 GPU 服务器 │ ├── 追求精度与速度平衡 → AWQ vLLM ✅ │ │ └── AWQ 精度最佳vLLM 生态成熟 │ └── 需要大量预量化模型 → GPTQ vLLM ✅ │ └── HuggingFace 上 GPTQ 模型最丰富 │ ├── 本地/消费级 GPU (8-24GB) │ ├── 追求速度 → GGUF Q4_K_M llama.cpp ✅ │ ├── 需要微调 → BnB NF4 QLoRA ✅ │ └── 离线批处理 → GPTQ/AWQ vLLM ✅ │ ├── CPU / Mac / 边缘设备 │ └── GGUF Q4_K_M / Q5_K_M llama.cpp ✅ │ └── CPU 推理的唯一最优选择 │ └── 极限压缩 (3GB) └── AQLM 2-bit ✅ └── 精度有损失但显存需求减到最低10.2 场景速查表场景推荐方案显存推理引擎企业级线上服务FP8 (TRT-LLM) 或 AWQH100 80GBTensorRT-LLM / vLLM高吞吐 API 服务AWQ-4bit32-80GBvLLM / SGLangRAG/Agent 应用AWQ-4bit 或 FP832-80GBSGLang (RadixAttention)个人开发调试GGUF Q4_K_M6-12GBOllama / llama.cpp微调大模型BnB NF4 (QLoRA)24-48GBTransformers PEFT边缘设备部署GGUF Q4_02-6GBllama.cpp极致压缩部署AQLM 2-bit3-6GBTransformers多模态模型FP8 (TRT-LLM)80GBTensorRT-LLM10.3 生产环境代码模板# # 生产环境量化部署模板# 根据你的 GPU 和需求选择对应方案# # 方案 AAWQ vLLM最推荐的通用方案# 适合通用 GPU 服务器精度速度均衡fromvllmimportLLM,SamplingParams llmLLM(modelQwen/Qwen2.5-7B-Instruct-AWQ,# 直接加载预量化模型quantizationawq,dtypeauto,tensor_parallel_size1,# 多卡时增大gpu_memory_utilization0.9,max_num_seqs256,enable_prefix_cachingTrue,)# 方案 BGPTQ vLLM模型生态最丰富llmLLM(modelTheBloke/Llama-2-7B-GPTQ,quantizationgptq,dtypefloat16,)# 方案 CFP8 TensorRT-LLM极致性能# 需要离线编译 engine参考第 7 节 面试加分点1️⃣ 量化三剑客核心区别一句话总结方案核心思路一句话GPTQ量化后补偿“先犯错再弥补”——用 Hessian 矩阵将误差分摊到剩余权重AWQ量化前保护“先保护再量化”——根据激活值重要性缩放权重GGUF统一格式 K-quant“一次转换到处运行”——分层混合精度量化2️⃣ 为什么 AWQ 比 GPTQ 精度更高AWQ 的关键洞察是权重的重要性不由自身决定而由与之相乘的激活值决定。GPTQ 对所有权重一视同仁地做误差补偿AWQ 则优先保护重要通道。实测 AWQ 在 MMLU 上比 GPTQ 高 0.4-0.8%。3️⃣ FP8 vs INT8 的选择FP8 (E4M3): 动态范围 ±448精度高 → 适合权重 激活量化 INT8: 动态范围 ±127精度略低 → 需要 per-channel 补偿 FP8 优势H100/B200 Tensor Core 原生支持无需反量化 INT8 优势所有 GPU 都支持Turing 关键在 H100 上 FP8 比 INT8 快 30-50%4️⃣ 量化面试高频题Q: 为什么 4-bit 量化只损失 1-3% 的精度 A: 因为模型参数存在大量冗余over-parameterization 量化只是去除了这部分冗余信息。 实验结果去掉 50% 小权重对精度影响很小 → 4-bit ≈ 保留 75% 的精度信息。 Q: 量化后的模型还能微调吗 A: 可以。通过 QLoRA 技术将原始权重保持 NF4 量化状态 只在旁路的 LoRA 适配器上做 BF16 训练。 训练完成后可以将 LoRA 权重合并回量化模型。 Q: 什么情况下不适合量化 A: 1) 数学/逻辑推理任务量化会损失数值精度 2) 代码生成偶数位错误影响语法正确性 3) 对温度/随机性敏感的应用 这些场景建议使用 INT8 或 FP8避免 INT4。参考来源GPTQ: Frantar et al. “GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers” — ICLR 2023AWQ: Lin et al. “AWQ: Activation-aware Weight Quantization for On-Device LLM Compression and Acceleration” — MLSys 2024llama.cpp / GGUF: ggerganov/llama.cpp — GitHub (2023-2026)QLoRA / BitsAndBytes: Dettmers et al. “QLoRA: Efficient Finetuning of Quantized LLMs” — NeurIPS 2023NVFP4: NVIDIA TensorRT-LLM 官方文档 — Blackwell Quantization Guide (2026)AQLM: Egiazarian et al. “Extreme Compression of Large Language Models via Additive Quantization” — ICML 2024NVIDIA TensorRT-LLM 部署与低比特量化实战 — CSDN 2026大模型量化技术深度对比GPTQ vs AWQ vs GGUF — CSDN 2026