StreamingLLM框架问世,可处理无限长度文本
10月7日消息,麻省理工学院联合 Meta AI 的研究人员日前开发了一款名为 StreamingLLM 的框架,为大语言模型可能遇到的 RAM 与泛化问题提出了一系列解决方案,号称能够“让语言模型处理无限长度的文本内容”。
据IT之家报道,StreamingLLM 的研究重点,是想解决实现流式语言模型(Efficient Streaming Language Models,ESLM)的障碍,特别是“长时间互动的多轮对话场景”中可能出现的问题。
研究人员指出,这种流式语言模型主要存在两大挑战:第一个挑战:在解码阶段,获取 token 的键(Key)值(Value)状态会消耗大量的 RAM。
第二个挑战:目前流行的大语言模型,难以泛化适用“超过训练序列长度”的长文本。
过去有许多研究试图解决上述挑战,像是“扩展注意力窗口”,让语言模型能够处理超出预训练序列长度的长文本;或是建立一个固定大小的活动窗口,只关注最近 token 的键值状态,确保 RAM 使用率和解码速度保持稳定,但若遇到“序列长度超过缓存大小”时,这个策略就会失效。
而当前流式语言模型最大的挑战是“如何不消耗过多 RAM 且不损害模型性能的前提下,处理长文本输入”。
StreamingLLM 对此采取的策略是“运用注意力下沉现象”,研究人员观察到,在自回归语言模型中,无论特定 token 和语言模型本身的相关性如何,如果对代 token 分配了大量的注意力。
这些获得高度注意力的 token,就会表现出注意力下沉的现象,即便这些 token 在语义上不重要,但他们仍然获得模型强烈关注(即给予特定 token 内容大量注意力,从而获得模型大部分的关注,而这些特定 token 内容包含“下沉 token 的键值”,从而确保无论输入序列有多长,模型的注意力计算都能维持稳定)。
StreamingLLM 的重要贡献,在于其提出一个简单且高效的解决方案,使语言模型不需微调就可以处理无限长度的文本。从而解决当前语言模型在流式应用的困境。虽然未来流式语言模型势在必行,但由于 RAM 效率的限制,以及模型在处理长序列的性能问题,相关模型发展仍受到挑战。
经研究团队证实,StreamingLLM 能够让 Llama 2、MPT、Falcon 和 Pythia 可靠地处理高达 400 万 token 的文本,能够为流式语言模型提供更多部署方面的可能性。