无论是什么大模型,想要落地,量化技术一定是关键,而华为由于拥有昇腾等硬件优势,在这方面早是第一梯队!

今天给大家带来 华为&港中文 最新的大模型论文,技术干货满满!

【论文标题】

KVTuner: Sensitivity-Aware Layer-wise Mixed Precision KV Cache Quantization for Efficient and Nearly Lossless LLM Inference

在这里插入图片描述

【论文链接】https://arxiv.org/pdf/2502.04420v1

一、摘要

KV 缓存量化可以在保持LLMs有效性的同时,提高其在长上下文和大批量场景下的推理吞吐量并降低延迟。

然而,当前的方法存在三个未解决的问题

  1. 忽略了大语言模型各层对 KV 缓存量化的敏感性。
  2. 在线细粒度决策的开销大。
  3. 以及对不同大语言模型和约束条件的灵活性低。

因此,本文深入分析了分层 Transformer 注意力模式与 KV 缓存量化误差之间的内在联系,并研究了为什么在减少量化误差方面,key缓存value缓存更重要。

进一步提出了一个简单而有效的框架 KVTuner,通过多目标优化为粗粒度 KV 缓存自适应地搜索最优的、硬件友好的分层 KV 量化精度对,并在在线推理时直接使用离线搜索得到的配置。

为了降低离线校准的计算成本,利用层内 KV 精度对剪枝和层间聚类来缩小搜索空间。

实验结果表明,对于像 Llama-3.1-8B-Instruct 这样的大语言模型,本文可以实现近乎无损的 3.25-bit 混合精度 KV 缓存量化。

对于像 Qwen2.5-7B-Instruct 这样对量化敏感的模型,在数学推理任务上可以实现 4.0-bit 的混合精度 KV 缓存量化。

与 KV8 量化相比,在不同的上下文长度下,最大推理吞吐量可提高 38.3%。

二、背景

LLMs和MLLMs展现出强大的辅助和交互能力,其推理效率对提升用户体验和降低成本至关重要。

为提高推理效率,先前处理的 KV tokens被缓存以避免冗余重新计算,但 KV 缓存的内存使用量会随批量大小和序列长度线性增长,成为大语言模型服务系统的新瓶颈。

在这里插入图片描述

上图展示了在使用per-token-asym关键缓存量化时(基于 Qwen2.5-7B-Instruct 模型和 GSM8k 数据集),第 79 个查询token对先前key tokens的token-level注意力分数情况。

从图中可以看出,低精度的 KV 量化(4-bit 和 2-bit)导致了显著的分布偏移。

这意味着在这些低精度量化情况下,模型对key tokens的关注程度发生了较大变化,进而可能导致错过或错误识别关键信息,最终影响模型的准确性。

KV 缓存量化是一种稳定且易于部署的压缩方法,能减少内存占用并提高吞吐量,但存在一些问题。

例如,当前方法忽略了大语言模型各层对 KV 缓存量化的敏感性,静态和均匀的 KV 精度方法无法有效处理非稀疏检索头,而细粒度方法难以与现有加速技术集成且在线计算开销大。

此外,在硬件资源受限的情况下,如何以即插即用的方式,通过硬件友好的混合精度量化进一步近乎无损地压缩 KV 缓存;

是否有其他模型属性有助于平衡内存减少和模型精度;

以及如何根据请求的精度要求和大语言模型对 KV 缓存量化的敏感性自适应调整量化精度,这些问题都有待解决。

三、技术方案

本文提出的 KVTuner 技术方案是为了解决大语言模型在推理时,KV 缓存占用内存大的问题,让模型能又快又准地运行。下面用通俗的话来解释它:

整体思路:大语言模型推理时,之前处理过的 KV 信息会被缓存起来,方便下次用。

但随着处理内容变多,缓存占用的内存越来越大,所以有人想用降低精度的方法来压缩缓存,可又担心模型变 “笨”。

KVTuner 的想法就是找到一个最合适的精度设置,让模型既节省内存,又能保持高准确率。

具体做法如下:

把问题变成数学题:把找最优精度设置的问题,变成一个数学上的优化问题。

要在满足一定内存限制和精度损失限制的条件下,找到能让内存使用和模型精度都达到最优的方案。

就好比在规定的预算(内存限制)内,买质量(模型精度)最好的东西。

这里用两个公式来衡量,一个计算平均量化比特数代表内存使用情况

另一个计算和 16-bit 精度相比的精度损失

离线找答案:以前的方法要么静态设置精度,不灵活;要么在线动态调整,太耗资源。

KVTuner 选择离线找答案,用多目标优化算法,提前把每层最合适的精度对找好。

就像提前做好攻略,到时候直接照着做就行,这样在线推理时就不用再浪费时间和资源去调整了。

缩小寻找范围:找最优精度对时,可能的组合太多了,计算起来太麻烦。

所以 KVTuner 想了两个办法缩小范围。

在这里插入图片描述

一是层内剪枝,根据精度和注意力输出误差,把那些明显不好的精度对去掉。

二是层间聚类,把对精度设置反应相似的层归成一组,这样就不用每层都单独找,大大减少了计算量。

设计特殊测试题:为了知道找到的精度设置好不好,KVTuner 设计了特殊的测试数据。

在测试过程中,让误差能积累起来,而且用像数学推理这种容易暴露问题的任务来测试,这样就能更准确地评估不同精度设置的效果。

四、实验结果

帕累托最优 KV 缓存精度对搜索

在这里插入图片描述

在使用 KIVI 量化模式时,KVTuner 能有效保持 Llama-3.1-8B-Instruct 模型的性能,同时将等效量化精度降低到 3.06-bit,且找到的部分设置在内存使用和精度上优于 KV8。

在使用per-token-asym量化模式时,对于敏感的 Qwen2.5-7B-Instruct 模型,KVTuner 找到的帕累托前沿始终优于均匀精度量化,能以 3.92-bit 的 KV 精度实现与 KV8 相当的精度。

大语言模型最终数学生成精度

在这里插入图片描述

在多个数学推理数据集上,KVTuner 使用 KIVI 量化模式时,能将 KV 缓存近乎无损地量化到 3.25-bit(Llama-3.1-8B-Instruct)、3.17-bit(Qwen2.5-3B-Instruct)和 5.96-bit(Qwen2.5-7B-Instruct),相比 KIVI-4 和 KIVI-8 进一步减少了内存占用。

并且,KVTuner 使更长的上下文和更低的 KV 精度在CoT和多轮数学推理中具有更高的精度。

在 GPQA 数据集上,KVTuner 也能实现低于 4-bit 的 KV 缓存量化,且性能损失极小。

吞吐量

在这里插入图片描述

使用 Llama2-7B 模型进行测试,在不同上下文长度下,高精度模式 KVTuner-C6 相比 KV8,吞吐量可提高 26.7%-38.3%。

高效率模式 KVTuner-C3 相比 KV8,吞吐量可提高 58.3%-76.4%。

五、结论

KVTuner 通过敏感性感知优化技术,实现了高效且自适应的分层混合精度 KV 缓存量化。

它通过优先考虑关键缓存精度,在平衡内存效率和推理精度的同时,系统地减少了 KV 缓存量化误差。

实验结果表明,KVTuner 在 Llama-3.1-8B-Instruct 模型上实现了近乎无损的 3.25-bit 压缩,在敏感的 Qwen2.5-7B-Instruct 模型上实现了 4-bit 压缩。

KVTuner 还表明,使用更长的思维链以及更低和混合精度的 KV 缓存量化,在内存效率和精度方面,特别是在数学推理任务中,比使用更高精度 KV 缓存的短CoT具有更好的性能。

KVTuner 还极大地缩小了简单的per-token-asym量化模式和准确的 KIVI 量化模式之间的性能差距,即使在总体使用相似的低精度设置时也是如此。


六、如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐