当人类与人工智能的对话涉及多轮连续对话时,驱动聊天机器人(如ChatGPT)的强大的大型语言机器学习模型有时会开始崩溃,导致机器人的性能迅速恶化。
来自麻省理工学院和其他地方的一组研究人员已经找到了这个问题的一个令人惊讶的原因,并开发了一个简单的解决方案,使聊天机器人能够保持不间断的对话,而不会崩溃或减速。
他们的方法涉及对位于许多大型语言模型核心的键值缓存(类似于会话内存)进行调整。在某些方法中,当缓存需要保存的信息超过其容量时,第一部分数据将被删除。这可能导致模型失败。
通过确保这些最初的几个数据点保留在内存中,研究人员的方法允许聊天机器人保持聊天,无论对话持续多久。
这种被称为StreamingLLM的方法使一个模型即使在对话超过400万字的情况下也能保持高效。与另一种通过不断重新计算过去对话的部分内容来避免崩溃的方法相比,StreamingLLM的执行速度要快22倍以上。
这可以让聊天机器人在整个工作日进行长时间的对话,而无需不断重启,从而使高效的人工智能助手能够完成文案、编辑或生成代码等任务。
“现在,通过这种方法,我们可以持久地部署这些大型语言模型。电子工程与计算机科学(EECS)研究生、一篇关于StreamingLLM论文的主要作者肖光轩说:“通过制造一个我们可以随时聊天的聊天机器人,它可以根据我们最近的对话对我们做出回应,我们可以在一些新的应用中使用这些聊天机器人。”
肖教授的合著者包括他的导师、麻省理工学院副教授、麻省理工学院- ibm沃森人工智能实验室成员、英伟达(NVIDIA)杰出科学家韩松;以及Meta AI的研究科学家田远东;陈蓓迪,卡内基梅隆大学助理教授;以及Meta AI研究科学家、资深作者迈克·刘易斯。这项工作将在国际学习表征会议上发表。
令人困惑的现象
大型语言模型将数据(如用户查询中的单词)编码为称为令牌的表示形式。许多模型采用所谓的注意力机制,使用这些标记来生成新的文本。
通常,人工智能聊天机器人会根据刚刚看到的文本编写新的文本,因此它会将最近的令牌存储在内存中,称为KV缓存,以备以后使用。注意机制建立了一个包含缓存中所有标记的网格,这是一个“注意地图”,它绘制出每个标记或单词与其他标记的关联程度。
理解这些关系是使大型语言模型能够生成类似人类的文本的一个特性。
但是当缓存变得非常大时,注意力地图可能会变得更加庞大,这会减慢计算速度。
此外,如果编码内容需要的令牌数量超过缓存所能容纳的数量,则模型的性能会下降。例如,一个流行的模型可以存储4096个代币,而一篇学术论文中大约有10000个代币。
为了解决这些问题,研究人员采用了一种“滑动缓存”,即删除最旧的令牌来添加新的令牌。然而,一旦第一个标记被移除,模型的性能就会急剧下降,从而迅速降低新生成单词的质量。
在这篇新论文中,研究人员意识到,如果他们将第一个令牌保留在滑动缓存中,即使超过缓存大小,模型也会保持其性能。
但这没有任何意义。小说中的第一个单词可能与最后一个单词无关,那么为什么第一个单词对模型生成最新单词如此重要呢?
在他们的新论文中,研究人员还揭示了这种现象的原因。
注意接收
一些模型在其注意力机制中使用Softmax操作,该操作为每个令牌分配一个分数,表示它与其他令牌的关联程度。Softmax操作要求所有注意力得分之和为1。由于大多数代币并不是紧密相关的,所以它们的注意力得分非常低。该模型将所有剩余的注意力得分转储到第一个令牌中。
研究人员称第一个代币为“注意力下沉”。
“我们需要一个注意力接收器,模型决定使用第一个令牌作为注意力接收器,因为它是全局可见的——其他令牌都可以看到它。我们发现,我们必须始终将注意力汇保存在缓存中,以保持模型的动态。”
在构建StreamingLLM时,研究人员发现,在滑动缓存开始时使用四个注意力吸收令牌可以获得最佳性能。
他们还发现,每个标记的位置编码必须保持不变,即使添加了新的标记并删除了其他标记。如果令牌5被删除,令牌6必须保持编码为6,即使它现在是缓存中的第五个令牌。
通过结合这两个想法,他们使StreamingLLM能够保持连续的对话,同时优于使用重新计算的流行方法。
例如,当缓存有256个令牌时,重新计算方法需要63毫秒来解码一个新令牌,而StreamingLLM需要31毫秒。但是,如果缓存大小增加到4,096个令牌,则重新计算一个新令牌需要1,411毫秒,而StreamingLLM只需要65毫秒。
“StreamingLLM的创新方法以注意力吸收机制为中心,确保了稳定的内存使用和性能,即使在处理长达400万个令符的文本时也是如此,”新加坡国立大学(National University of Singapore)计算机科学的年轻校长教授杨佑(Yang You)说,他没有参与这项工作。“这种能力不仅令人印象深刻;它具有变革性,使StreamingLLM能够应用于广泛的人工智能应用程序。StreamingLLM的性能和多功能性标志着它是一项非常有前途的技术,有望彻底改变我们处理人工智能驱动的生成应用程序的方式。”
卡内基梅隆大学机器学习和计算机科学系助理教授陈天琪(Tianqi Chen)也没有参与这项研究,他表示同意,他说:“流式法学硕士可以使大型语言模型的对话长度顺利扩展。我们一直在使用它来使Mistral机型在iphone上的部署取得巨大成功。”
研究人员还通过在所有训练样本中添加几个占位符令牌,探索了在模型训练过程中注意力下沉的使用。
他们发现,使用注意力池进行训练可以让模型在缓存中只有一个注意力池的情况下保持性能,而不是通常需要稳定预训练模型性能的四个注意力池。
但是,虽然StreamingLLM使模型能够进行连续对话,但模型无法记住没有存储在缓存中的单词。在未来,研究人员计划通过研究检索已被驱逐的令牌或使模型能够记住以前的对话的方法来解决这一限制。
StreamingLLM已被纳入NVIDIA的大型语言模型优化库TensorRT-LLM。
这项工作部分由麻省理工学院- ibm沃森人工智能实验室、麻省理工学院科学中心和美国国家科学基金会资助。
作者:Adam Zewe | MIT新闻
链接:https://news.mit.edu/2024/new-way-let-ai-chatbots-converse-all-day-without-crashing-0213
著作权归作者所有。
声明:海森大数据刊发或者转载此文只是出于传递、分享更多信息之目的,并不意味认同其观点或证实其描述。若有来源标注错误或侵犯了您的合法权益,请作者与本网联系,我们将及时更正、删除,谢谢。电话:152 6451 3609,邮箱:1027830374@qq.com