ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
谷歌:假如AI大模型支持无限长上下文,会如何?
7815点击    2024-04-14 11:32

引言


为解决大模型(LLMs)在处理超长输入序列时遇到的内存限制问题,本文作者提出了一种新型架构:Infini-Transformer,它可以在有限内存条件下,让基于Transformer的大语言模型(LLMs)高效处理无限长的输入序列。实验结果表明:Infini-Transformer在长上下文语言建模任务上超越了基线模型,内存最高可节约114倍。



背景介绍


对于人工智能来说,内存资源是神经网络模型进行高效计算的必要条件。然而,由于Transformer中的注意力机制在内存占用和计算时间上都表现出二次复杂度,所以基于Transformer的大模型就更加依赖内存资源。


例如,对于批量大小为 512、上下文长度为 2048 的 500B 模型,注意力键值(KV)状态的内存占用为 3TB。这意味着对于标准的Transformer架构大模型,要想支持越长的上下文,那么需要的内存成本也将越高。既要降低内存成本,且要让LLMs能够支持更长的上下文,这无疑是一项非常具有挑战的任务。


面对超长序列,相比注意力机制,内存压缩技术更具扩展性。内存压缩不使用随输入序列长度而增长的数组,而是在有限的内存资源上,维护固定数量的参数来进行信息的存储和回调。然而,目前的LLMs尚未有一种有效、实用的内存压缩技术,可以在简单性与质量之间取得平衡。


基于以上背景,本文作者提出了一种新架构:Infini-Transformer,能够让基于Transformer的大模型在有限内存、计算资源的条件下,处理无限长的上下文输入。


Infini-Transformer模型


下图是本文Infini-Transformer模型、Transformer-XL模型的对比图。与Transformer-XL类似,Infini-Transformer处理的是一系列片段。即在每个片段内计算standard causal点积attention context(注意力上下文)。因此,点积注意力计算在某种意义上是局部的,它覆盖了索引为 S 的当前片段的总共 N 个标记。



然而,局部注意力在处理下一个片段时会丢弃前一个片段的注意力状态。在Infini-Transformer中,并没有忽略旧的键值(KV)注意力状态,而是通过内存压缩技术重新使用它们来保持整个上下文历史。


因此,Infini-Transformer的每个注意力层都具有全局压缩和局部细粒度状态,这就是前面提到的无限注意力(Infini-attention)


Infini-attention


Infini-Transformer模型的关键组成部分为:Infini-attention,这是一种新型attention技术,如下图所示。它将计算局部和全局上下文状态,并将它们组合到一块作为输出。与多头注意力(MHA)类似,除了点积注意力之外,它还为每个注意力层维护H个并行压缩内存(H 是注意力头的数量)



其中:


“缩放点积Attention”在Infini-attention机制中发挥了重要作用。Scaled Dot-product Attention是多头注意力(Multi-head Attention, MHA)的一个变种,它在处理序列数据时能够有效地捕捉序列中的依赖关系。对于MHA,本文并行地为序列中的每个元素计算H个注意力上下文向量,将它们沿着第二维拼接起来,最后将拼接后的向量投影到模型空间以获得注意力输出。


“Compressive Memory”它通过固定数量的参数关联矩阵来存储和检索信息,当处理新的输入序列时,模型会更新关联矩阵中的参数,以存储当前序列的信息。更新过程通常涉及到将新的键值对(KV)与记忆矩阵中的现有参数进行某种形式的结合。在处理后续序列时,模型会利用查询向量(Query)来检索关联矩阵中的信息,从而获取之前序列的上下文信息。


实验结果


如下图所示,在PG19和Arxiv-math数据集上,Infini-attention在长上下文语言建模任务上取得了优于基线模型的性能,同时在内存大小上实现了114倍的压缩比。



如下图所示,在1M序列长度的密钥检索任务中,Infini-attention在仅使用5K长度输入进行微调后,成功解决了任务,展示了其在处理极长输入序列时的能力。



如下图,在500K长度的书籍摘要任务中,Infini-attention通过持续的预训练和任务微调,达到了SOTA,证明了其在长文本摘要任务上的性能。



本文来自微信公众号:AINLPer(ID:gh_895a8687a10f),作者:ShuYini




AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

2
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner