返回大模型技术资讯

StreamingLLM:一种简单高效的大语言模型处理无限文本的框架

2023-10-31大模型技术无限文本处理StreamingLLM大语言模型

大语言模型(LLMs)在处理流式应用,如多轮对话等长交互期望的场景中,面临着两大挑战。首先,在解码阶段,缓存先前令牌的键值状态(KV)会消耗大量内存。其次,流行的LLM无法泛化到超过训练序列长度的更长文本。为了解决这些问题,Meta和MIT的研究人员提出了一种新的框架——StreamingLLM。

StreamingLLM是什么?

StreamingLLM是一种高效的框架,使得训练有限长度注意力窗口的LLM能够泛化到无限序列长度,而无需任何微调。它通过保留最近的令牌和注意力汇聚点,丢弃中间令牌,使模型能够从最近的令牌生成连贯的文本,而无需缓存重置。这是以前的方法所没有的能力。

StreamingLLM如何工作?

StreamingLLM的工作原理是保留最近的令牌和注意力汇聚点,丢弃中间的令牌。这意味着模型只能处理最新的令牌,上下文窗口仍受其初始预训练的限制。例如,如果Llama-2是用4096个令牌的上下文窗口预训练的,那么StreamingLLM在Llama-2上的最大缓存大小仍然是4096。

StreamingLLM的优势是什么?

StreamingLLM的优势在于,它可以使模型在不需要大量内存或依赖过去数据的情况下连续运行。这使得模型可以基于最近的对话生成流畅的文本,而无需刷新其缓存。早期的方法要么需要在对话长度超过训练长度时重置缓存(丢失最近的上下文),要么需要从最近的文本历史重新计算KV状态,这可能会耗费大量时间。在流式设置中,StreamingLLM的速度提升高达22.2倍。

StreamingLLM的理想使用场景是什么?

StreamingLLM最适合于流式应用,如多轮对话。例如,基于LLM的日常助手,StreamingLLM可以让模型连续运行,基于最近的对话生成响应,而无需刷新其缓存。

总结

StreamingLLM是一种新的大模型技术,它通过简单高效的方式,使大语言模型能够处理无限文本。虽然它并不能扩展LLM的上下文窗口或增强其长期记忆,但它的优势在于可以生成流畅的文本,无需缓存刷新,极大地提高了处理效率。对于需要长时间交互的应用场景,如多轮对话,StreamingLLM无疑提供了一种非常有价值的解决方案。