Redian新闻
>
最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

最多400万token上下文、推理提速22倍,StreamingLLM火了,已获GitHub 2.5K星

公众号新闻

机器之心报道

编辑:蛋酱


如果你体验过与任何一款对话式 AI 机器人的交流,你一定能想起某些极具「挫败感」的时刻。比如,你在前一天的对话中讲述过的要点,被 AI 忘得干干净净……


这是因为当前的多数 LLM 只能记住有限的上下文,就像为考试而临时抱佛脚的学生,稍加盘问就会「露出马脚」。


想象一下,如果 AI 助手在聊天中能够根据上下文参考几周或几个月前的对话,或者,你可以要求 AI 助手总结长达数千页的报告,这样的能力是不是令人羡慕?


为了让 LLM 记住更多、记得更好,研究者们正在不断努力。最近,来自 MIT、Meta AI、CMU 的研究者提出了一种名为「StreamingLLM」的方法,使语言模型能够流畅地处理无穷无尽的文本。



  • 论文地址:https://arxiv.org/pdf/2309.17453.pdf

  • 项目地址:https://github.com/mit-han-lab/streaming-llm


StreamingLLM 的工作原理是识别并保存模型固有的「注意力池」(attention sinks)锚定其推理的初始 token。结合最近 token 的滚动缓存,StreamingLLM 的推理速度提高了 22 倍,而不需要牺牲任何的准确性。短短几天,该项目在 GitHub 平台已斩获 2.5K 星:



具体地说,StreamingLLM 使得语言模型能准确无误地记住上一场比赛的触地得分、新生儿的名字、冗长的合同或辩论内容,就像升级了 AI 助理的内存,可以完美地处理更繁重的工作。



接下来让我们看看技术细节。


方法创新


通常,LLM 在预训练时受到注意力窗口的限制。尽管为扩大这一窗口大小、提高训练和推理效率,此前已有很多工作,但 LLM 可接受的序列长度仍然是有限的,这对于持久部署来说并不友好。


在这篇论文中,研究者首先介绍了 LLM 流应用的概念,并提出了一个问题:「能否在不牺牲效率和性能的情况下以无限长输入部署 LLM?」


将 LLM 应用于无限长输入流时,会面临两个主要挑战:


1、在解码阶段,基于 transformer 的 LLM 会缓存所有先前 token 的 Key 和 Value 状态(KV),如图 1 (a) 所示,这可能会导致内存使用过多,并增加解码延迟;

2、现有模型的长度外推能力有限,即当序列长度超过预训练时设定的注意力窗口大小时,其性能就会下降。



一种直观的方法被称为窗口注意力(Window Attention)(如图 1 b),这种方法只在最近 token 的 KV 状态上保持一个固定大小的滑动窗口,虽然能确保在缓存填满后仍能保持稳定的内存使用率和解码速度,但一旦序列长度超过缓存大小,甚至只是驱逐第一个 token 的 KV,模型就会崩溃。另一种方法是重新计算滑动窗口(如图 1 c 所示),这种方法会为每个生成的 token 重建最近 token 的 KV 状态,虽然性能强大,但需要在窗口内计算二次注意力,因此速度明显更慢,在实际的流应用中并不理想。


在理解窗口注意力失效的过程中,研究者发现了自回归 LLM 的一个有趣现象:如图 2 所示,大量注意力分数被分配给了初始 token,而不管这些 token 与语言建模任务是否相关。



研究者将这些 token 称为「注意力池」:尽管它们缺乏语义上的意义,但却占据了大量的注意力分数。研究者将这一现象归因于于 Softmax(要求所有上下文 token 的注意力分数总和为 1),即使当前查询在许多以前的 token 中没有很强的匹配,模型仍然需要将这些不需要的注意力值分配到某处,从而使其总和为 1。初始 token 成为「池」的原因很直观:由于自回归语言建模的特性,初始 token 对几乎所有后续 token 都是可见的,这使得它们更容易被训练成注意力池。


基于上述洞察,研究者提出了 StreamingLLM,这是一个简单而高效的框架,它可以让使用有限注意力窗口训练的注意力模型在不进行微调的情况下处理无限长的文本。


StreamingLLM 利用了注意力池具有高注意力值这一事实,保留这些注意力池可以使注意力分数分布接近正态分布。因此,StreamingLLM 只需保留注意力池 token 的 KV 值(只需 4 个初始 token 即可)和滑动窗口的 KV 值,就能锚定注意力计算并稳定模型的性能。


使用 StreamingLLM,包括 Llama-2-[7,13,70] B、MPT-[7,30] B、Falcon-[7,40] B 和 Pythia [2.9,6.9,12] B 在内的模型可以可靠地模拟 400 万个 token,甚至更多。


与唯一可行的 baseline—— 重新计算滑动窗口相比,StreamingLLM 的速度提高了 22.2 倍,而没有损耗性能。


测评


在实验环节,如图 3 所示,在跨度为 20K token 的文本上,StreamingLLM 的困惑度可以与 Oracle 基线(重新计算滑动窗口)相媲美。同时,当输入长度超过预训练窗口时,密集注意力就会失效,而当输入长度超过缓存大小时,窗口注意力就会陷入困境,导致初始 token 被剔除。



图 5 进一步证实了 StreamingLLM 可以可靠地处理非常规规模的文本,包括 400 多万个 token,涵盖了各种模型系列和规模。这包括 Llama-2-[7,13,70] B、Falcon-[7,40] B、Pythia-[2.8,6.9,12] B 和 MPT-[7,30] B。



随后,研究者证实了「注意力池」的假设,并证明语言模型可以通过预训练,在流式部署时只需要一个注意力池 token。具体来说,他们建议在所有训练样本的开头多加一个可学习的 token,作为指定的注意力池。通过从头开始预训练 1.6 亿个参数的语言模型,研究者证明了本文方法可以保持模型的性能。这与当前的语言模型形成了鲜明对比,后者需要重新引入多个初始 token 作为注意力池才能达到相同的性能水平。


最后,研究者将 StreamingLLM 的解码延迟和内存使用率与重新计算滑动窗口进行了比较,并使用 Llama-2-7B 和 Llama-2-13B 模型在单个英伟达 A6000 GPU 上进行了测试。如图 10 所示,随着缓存大小的增加,StreamingLLM 的解码速度呈线性增长。后者解码延迟则呈二次曲线上升。实验证明,StreamingLLM 实现了令人印象深刻的提速,每个 token 速度的提升高达 22.2 倍。



更多研究细节,可参考原论文。




© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
大模型生成提速2倍!单GPU几小时搞定微调,北大数院校友共同一作丨开源GPU推理提速4倍,256K上下文全球最长:无问芯穹刷新大模型优化记录LeCun引战,LLM根本不会推理!大模型「涌现」,终究离不开上下文学习挑战GPT-4V,浙大校友推出开源版多模态大模型,获GitHub 6k+星标「Meta版ChatGPT」背后的技术:想让基础LLM更好地处理长上下文,只需持续预训练骗我一次,算你狠;骗我两次,我活该重塑 GitHub、颠覆程序开发:GitHub Universe 2023 发布重大更新将LLaMA2上下文扩展至100k,MIT、港中文有了LongLoRA方法碾压GPT-4,微软最强AutoGen爆火!多个智能体协作,编码速度飙升4倍,GitHub狂揽10k星移民生活(21)天命和算命上下文1.6万token的编程大模型来了!与Stable Diffusion出自同门,一次吃5个Python文件不费劲吹尽黄沙不见金(七十):好男人Stable家族上新!全新编码工具StableCode,16000上下文,5个Python文件同编辑爆火!清华提出LCM火了!让实时文字生成图像速度提升5-10倍,浏览超百万!GitHub年度报告曝光:生成式AI项目暴涨2倍,个人贡献者激增148%,从趋势看机遇何在?把LLM视作操作系统,它就拥有了无限「虚拟」上下文,伯克利新作已揽1.7k starMeta普林斯顿提出LLM上下文终极解决方案!让模型化身自主智能体,自行读取上下文节点树重塑GitHub、颠覆程序开发:GitHub Universe 2023发布重大更新Github发布Octoverse开源报告!印度将超美国成最大开发者社区,生成式AI增长248%,Copilot重构GitHubUC伯克利团队开源MemGPT大模型上下文内存管理方案;AgentLM、多模态Fuyu-8B、数学LLEMMA等专用大模型开源红色日记 3.1-10ChatGPT企业版来了:历史最强版本,2倍速GPT-4使用无限制、32k上下文《当你走进我的心海》&《这就是草原》Troubled Singing Reality Show Accused of Mistreating Coco Lee400万token,大模型推理飙升22倍!清华校友爆火一作,GitHub狂揽1.8k星OpenAI史诗级更新!最强大模型炸场,128K上下文、价格暴降2/3,还能定制专属GPTPyTorch官方认可!斯坦福博士新作:长上下文LLM推理速度提8倍爆火AutoGPT获1200万美元融资,GitHub已有151k星LLaMA2上下文长度暴涨至100万tokens,只需调整1个超参数|复旦邱锡鹏团队出品全新近似注意力机制HyperAttention:对长上下文友好、LLM推理提速50%GPT-4、ChatGLM2、Llama2、PaLM2在KDD LLM Day上一起开了个会GPT-4,Llama2,ChatGLM2,PaLM2共聚一堂 | LLM Day @KDD 2023最强LLaMA突然来袭!只改一个超参数,实现上下文3.2万token,多个任务打败ChatGPT、Claude 2贾佳亚韩松团队新作:两行代码让大模型上下文窗口倍增 | GitHub热榜GitHub Copilot三连更:能在代码行里直接提问,上下文范围扩展到终端
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。