|
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);height: auto !important;" src="https://api.ibos.cn/v4/weapparticle/accesswximg?aid=87700&url=aHR0cHM6Ly9tbWJpei5xcGljLmNuL3N6X21tYml6X3BuZy9JQ2duQXB0bG4wVk85a0FTN1dCVmljaWJYTGlhSkh2SGRLVU05UWlibXdSSjJlSzZpYTEzSTdpY1JDTlNGWDA1R0hxOWZvOExiZDAwOXU2VzRhcjRFTlF1M0tKdy82NDA/d3hfZm10PXBuZyZhbXA=;from=appmsg"/>
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">加州伯克利大学的 AI 大佬们又搞事情了!这次他们祭出了一个名为 KVQuant 的大杀器,专治LLM内存焦虑症!?paper:https://arxiv.org/pdf/2401.18079ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;letter-spacing: 0.1em;color: rgb(80, 80, 80);text-align: justify;">分析表明,对于较小的批处理规模,LLM推理过程的主要瓶颈在于内存带宽。随着计算速度和内存速度之间的差距不断扩大,这个问题只会越来越严重。而对于长序列长度,内存瓶颈主要来自于缓存键(Key)和值(Value)激活的内存需求。为了实现高效的长序列长度推理,压缩键值缓存至关重要 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);text-align: justify;">为了让LLM能处理更长、更复杂的任务,比如长篇小说总结、代码分析什么的,上下文窗口长度必须得加大!可是,内存不够怎么办??ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">别慌!加州伯克利出品,必属精品!KVQuant 就是一种专门针对LLM键值缓存(Key-Value Cache)的量化方法。它采用了几个超级厉害的技术,把内存占用量直接砍到骨折,同时还能保证模型精度几乎没有损失!?ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);">KVQuant的秘密武器:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Per-Channel Key Quantization:这个技术专门对付那些喜欢搞事情的异常值通道,让它们乖乖听话,别再影响其他通道的量化效果ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Pre-RoPE Key Quantization:RoPE(旋转位置编码)这玩意儿虽然厉害,但会把不同通道的值混在一起,给量化增加难度。这个技术巧妙地绕过了RoPE,让量化变得更轻松ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">nuqX:灵敏度加权的非均匀量化:这个技术更灵活,更精准,利用校准数据离线推导出每层的非均匀数据类型,并根据每个通道或每个token进行缩放,以准确表示Key和Value分布,让量化标度点放置恰到好处,就像一位经验丰富的调酒师,精准调配出最完美的鸡尾酒!?ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Per-Vector Dense-and-Sparse Quantization:这个技术针对每个向量单独使用不同的异常值阈值,而不是对每一层使用单一的异常值阈值,从而更有效地识别和压缩异常值,并用稀疏表示存储它们,就像把房间里的杂物整理到收纳盒里,让空间变得更整洁,也更有效率!?KVQuant的优势:精度高到离谱:在Wikitext-2和C4数据集上,用3比特量化,所有LLM(LLaMA, Llama-2, Llama-3, and Mistral)模型的困惑度(Perplexity:预测能力,准确率)下降都小于0.1,优于现有的方法!?
速度快到飞起:KVQuant的自定义CUDA内核让LLaMA-7B模型的矩阵向量乘法速度提升了1.7倍,简直是飞一般的感觉!⚡️ 省内存省到极致:KVQuant直接把键值缓存压缩了4.8倍,让LLaMA-7B模型在单张A100-80GB GPU上就能跑100万长度的上下文,8张GPU甚至能跑1000万!?
此外,研究人员还进行了一些额外的分析和实验:长上下文长度评估:使用LLaMA-2-7B-32K模型和Llama-2-70B-32K LongLoRA模型,评估了KVQuant在更长上下文长度下的性能。结果表明,即使在更长的上下文长度下,KVQuant也能保持较高的精度和检索性能 联合权重和KV缓存量化:将KVQuant与现有的权重量化方法结合使用,发现即使权重也被量化到较低精度,KVQuant仍然能够保持较低的困惑度下降,证明了KVQuant与现有的权重量化方法的兼容性 性能分析和内存节省:通过对KVQuant的内核进行基准测试,发现它能够在不同的序列长度下实现比基线fp16矩阵向量乘法更快的速度??
|