1. 大语言模型端侧部署的挑战与机遇
在咖啡厅里用手机与AI助手自然对话,在自驾途中让车载系统实时处理复杂指令,这些场景正逐渐成为现实。但鲜为人知的是,支撑这些体验的大语言模型(LLMs)通常需要数百GB内存,而我们的移动设备内存往往不足10GB。这个看似不可能的任务,正是通过AWQ这样的量化技术实现的魔法。
传统LLM部署依赖云端计算,存在三个致命伤:首先是隐私风险,所有对话数据需要上传至服务器;其次是网络延迟,每个请求都要经历"设备-云端-设备"的往返;最后是运营成本,企业需要支付昂贵的云计算费用。端侧部署能完美解决这些问题,但面临内存墙的阻碍——以Llama-2 70B模型为例,FP16格式需要140GB内存,远超任何移动设备的承载能力。
2. AWQ量化技术的核心突破
2.1 权重重要性的关键发现
2018年Han Song团队提出的Deep Compression首次揭示了神经网络权重的非均衡重要性。AWQ团队在此基础上有了更精细的发现:仅保护1%的"显著权重"就能维持模型97%的原始性能。这就像在2000人的公司里,其实只有20个关键决策者真正影响公司走向。
传统量化方法存在两大误区:
- 权重幅值越大越重要(L2范数假设)
- 所有通道应同等对待(均匀量化)
通过大量实验,我们获得反常识的结论:权重的重要性与其对应激活值的幅度正相关。这意味着处理重要特征的通道更需要保持精度,即使这些权重本身的数值可能很小。
2.2 激活感知的缩放机制
AWQ的核心创新在于提出"保护重要权重"的量化策略,具体通过三个关键技术实现:
-
通道显著性评估:
- 收集典型输入数据的激活分布
- 计算各通道激活值的平均幅度
- 建立权重通道与激活通道的对应关系
-
最优缩放系数搜索:
python复制def search_scale(weight, activation): base_error = quantization_error(weight) best_scale = 1.0 for scale in np.linspace(1.0, 2.0, 100): scaled_weight = weigh
