1. 项目概述
在人工智能领域,大型语言模型(LLMs)如GPT和Llama系列已经展现出惊人的能力,但其庞大的参数量(动辄数十亿至数百亿)带来了极高的计算和内存需求。一个7B参数的模型,仅权重部分就需要占用约28GB内存(假设使用32位浮点数),这使得在边缘设备等资源受限场景下的部署变得异常困难。
后训练量化(PTQ)技术通过将权重存储为低位宽格式来缓解这一问题,但传统均匀量化方法在极端低比特(2-3比特)场景下会导致严重的性能退化。本文提出的分组格向量量化(GLQ)框架,通过三大创新模块实现了在极致压缩条件下的性能保持,为LLM的轻量化部署提供了新的技术路径。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术原理深度解析
2.1 格向量量化基础
格向量量化(LVQ)是一种特殊的向量量化方法,其码本由数学上的格点结构定义。具体来说,给定一个生成矩阵G ∈ R^{d×k},对应的格Λ定义为:
Λ =
其中d是原始向量的维度,k决定了格的密度。量化过程就是找到输入向量x在格Λ上的最近邻点。与传统向量量化相比,格量化的优势在于:
- 码本结构具有数学规律性,不需要显式存储所有码字
- 解码过程可以表示为简单的矩阵乘法
- 具有良好的几何性质,量化误差可理论分析
2.2 分组量化架构设计
GLVQ的核心创新在于将权重矩阵划分为多个组(group),每个组独立应用格量化。这种设计基于两个关键观察:
-
权重分布异质性:LLM中不同层的权重往往呈现显著不同的统计特性。例如,注意力层的权重分布通常比FFN层更"尖锐"。
-
局部敏感性差异:模型不同部分对量化的敏感度不同,需要自适应的比特分配策略。
分组量化的具体实现包含以下步骤:
- 将权重矩阵W ∈ R^{m×n}划分为g个组{W_i},每个组包含连续的行或列
- 为每个组独立学习生成矩阵G_i
- 执行组特定的量化参数(如缩放因子)学习
2.3 显著性驱动比特分配
比特分配模块采用可微的松弛方法,通过优化以下目标函数实现:
min_{b} Σ_i (b_i - s_i)^2
s.t. Σ_i b_i ≤ B_total
其中b_i是第i组的比特宽度,s_i是该组的显著性分数,B_total是总比特预算。显著性分数s_i通过二阶泰勒展开近似
