“中国最大商业募集基金”前海母基金成立:总规模215亿元
06-18
在 Transformer 的自注意力(self-attention)机制中,每个 token 都与所有其他 token 相关。
因此,如果我们有 n 个 token,那么 self-attention 的计算复杂度就是 O(n^2)。
随着序列长度n的增加,所需的计算和存储空间将呈二次方增长,这将导致非常大的计算和存储开销。
这意味着,当你不再满足于给大模型喂200字的段落,想扔给它一篇20000字的论文时,它的计算量会增加10000倍。
来源:Harm de Vries 博客 负责输入和输出的对话框就像人工智能通往现实世界的网关。
从ChatGPT首次跨越代币,到GPT-4将上下文输入长度扩展到32k,再到MetaAI的百万代币MegaByte方法,以及国内大型模型厂商月之暗面与百川智能之间,20万到20万之间的长度竞争35万个汉字,用大模型解决实际问题的过程,以及对输入窗口的胃口正在成为重要的前提。
换句话说,当它能像读脑筋急转弯一样仔细地阅读《红楼梦》时,事情就会变得容易处理得多。
突破点在于代币数量。
对它的研究从未停止过。
越长越好?复旦大学和香港大学的研究团队在一篇论文中证明,提高上下文长度是必要的。
他们制定了 L-Eval 评估基准。
在这个基准测试下,Claude-k 在封闭任务上的推理能力仍然弱于 GPT-4-32k,但在开放任务中,长度更长——这也意味着一般输入标签较多的 Claude-k 的表现优于 GPT -4-32k。
图片来源:《L-Eval:Instituting Standardized Evaluation for Long Context Language Models》结论非常积极,这意味着努力可以弥补弱点的故事仍然是正确的。
如果你不聪明,可以多指点几句,即使是再笨的学生也能成功。
此前,谷歌大脑已经进行过类似的实验。
曾参与巴德研发和培训的工程师李伟告诉硅谷星,去年谷歌团队通过控制训练输入上下文的长度来观察模型的输出性能,结果确实是上下文长度与模型性能呈正相关。
这种认识也对巴德后来的发展有帮助。
至少这是行业内非常坚定的方向。
理论上来说,不断延长上下文长度不是很好吗?问题是不允许扩展,这个障碍还是落在Transformer身上。
梯度基于 Transformer 架构的大模型,这意味着接受自注意力机制给出的能力和限制。
self-attention机制热爱理解能力,但天然与长文本输入不一致。
文本越长,训练就越困难,最坏的结果可能是梯度爆炸或消失。
梯度是参数更新的方向和幅度。
在理想的训练下,每轮深度学习之后,大模型生成的内容与人类想要的答案之间的差距应该比之前更接近。
如果您将模型视为尝试学习线性关系 y=wx+b,则 w 表示模型正在寻找的权重。
梯度的概念表达了w如何变化。
稳定的学习过程是渐进的,渐进意味着微调是有迹可循的。
也就是说,权重不可能不改变,也不可能变异。
没有变化或者变化非常微弱——即梯度消失——意味着深度学习网络的学习时间被无限延长;变异称为梯度爆炸,权重更新过大,导致网络不稳定。
这可能会导致权重变得非常大或模型发散,从而使训练变得不可能。
最重要的是,短文本往往无法完整描述复杂问题,而在注意力机制的限制下,处理长文本需要大量的计算能力,这意味着成本的增加。
上下文长度本身决定了描述问题的能力,自注意力机制决定了理解和拆解大型模型的能力,而计算能力支持这一切。
来源:ArXiv 问题仍然出在 Transformer 上。
由于自注意力机制的计算复杂性,上下文长度的扩展陷入了三角形。
不可能三角形在这里,解决方案也在这里。

为了增加上下文长度,如果计算能力(金钱和卡牌)能够推到无穷大,显然是理想的。
显然现在这不太现实,所以我们只能利用注意力机制从n^2开始降低计算复杂度。
扩展上下文输入的努力在很大程度上推动了 Transformer 革命。
Transformer Metamorphosis 谷歌 DeepMind 研究团队在今年 7 月提出了一个新的 Focused Transformer (FoT) 框架,该框架采用受对比学习启发的训练过程来改善(键,值)空间的结构,并允许一些注意力层访问(通过 k 最近邻 (kNN) 算法将键、值)对存储在外部存储器中。
这种机制有效地扩展了上下文的总长度。
这有点像 2016 年 Google 的另一个 Memorizing Transformer 的衍生品。
后者基于 Transformer 的调整逻辑是,在对长文本进行编码时,模型将之前见过的所有 token 读下来并保存在数据库中;当读取当前的片段时,会使用kNN在数据库中查找相似的内容。
Focused Transformer与LLaMA-3B开源模型结合成为LongLLaMA-3B,然后在上下文输入的长度方面与LLaMA-3B进行横向比较。
结果是,上下文输入长度达到k后,LongLLaMA-3B的答案准确率开始从94.5%迅速下降。
而LLaMA-3B在超过2k的时候瞬间就跌到了0。
图片来源:《Focused Transformer: Contrastive Training for Context Scaling》从2016年Transformer-XL的出现开始,引入了Segment Recurrent Mechanism,为模型提供额外的上下文。
一年后,Longformer和BigBird引入了稀疏注意力机制来减少Expanding to tokens的每次长度,循环注意力和稀疏注意力机制开始成为Transformer的转型方向。
Focused Transformer还通过kNN算法实现了某种形式的稀疏注意力,更新的架构调整方案是Ring Attention。
今年10月,伯克利团队提出了Ring Attention,从内存角度改变了Transformer框架。
通过分块自注意力机制和前馈网络计算,上下文序列可以分布在多个设备上并更有效地进行分析。
从理论上讲,这也消除了单个设备施加的内存限制,允许序列训练和推理处理比以前内存效率更高的 Transformer 更长的序列。
换句话说,Ring Attention 实现了“近乎无限的上下文”。
一巴掌打脸,但这也不是绝对的。
斯坦福大学九月份发表的一项研究表明,如果上下文太长,模型将跳过中间部分。
他们对各种不同的开源(MPT-30B-Instruct、LongChat-13B (16K))和闭源(OpenAI 的 GPT-3.5-Turbo 和 Anthropic 的 Claude)语言模型进行了对照实验。
研究人员通过向输入上下文添加更多文档来增加输入上下文的长度(类似于在检索增强生成任务中检索更多文档);并通过修改输入上下文中文档的顺序以将相关信息放置在上下文中。
开始、中间或结束,从而修改相关信息在上下文中的位置。
图来源:《Lost in the Middle: How Language Models Use Long Contexts》结果是,随着相关信息位置的变化,模型表现呈现出明显的U型趋势。
也就是说,当相关信息出现在输入上下文的开头或结尾时,语言模型的性能最高;当模型必须获取和使用的信息位于输入上下文的中间时,模型性能会显着下降。
例如,当相关信息放置在其输入上下文的中间时,GPT3.5-Turbo 在多文档问题任务上的表现比没有文档时(即闭卷设置;56.1%)要差。
此外,研究人员还发现,当上下文较长时,模型性能会稳步下降;并且配备上下文扩展的模型不一定更擅长使用自己的上下文。
一巴掌打在脸上。
但这可能是一件好事,因为如果文章太长,人们很可能只会记住开头和结尾,以及大模型与人脑有多么相似。
目前国际上主流的大型模型中,GPT-4和LLaMA 2 Long的上下文长度都达到了32k,Claude 2.1也达到了k。
国产大型模型中,ChatGLM-6B的上下文长度已达到32k。
最新登场的明星公司Dark Side of the Moon直接制作了1k Kimi Chat。
月之暗面的想法也是改造变形金刚,但杨志霖也引来了对抗。
蝌蚪模型和蜜蜂模型。
说白了,有很多方法可以凹一个形状,让模型看起来可以支持更长的上下文输入。
最简单的方法是牺牲模型本身的参数。
模型参数的减少意味着内存消耗的减少和计算的简化。
内存和计算资源的重新分配可以转化为相同计算资源下上下文输入长度的增加。
回顾过去,Focused Transformer 的验证放在了 3B 小参数模型上,而 Ring Attention 的实验更侧重于所提出方法的有效性验证,没有经历超过 100 亿个参数的大型模型。
图片来源:《Focused Transformer: Contrastive Training for Context Scaling》但是10亿级的模型参数并不具备非常好的智能涌现能力。
杨之琳将其描述为蝌蚪模型,因为它不能做更多的事情。
除此之外,另一种增加长度的方法是从外部引入搜索机制。
搜索的原理也是很多大型模型用来快速扩展上下文长度的方法——如果不使用self-attention机制,另一种方式就是将长文本变成短文本的集合。
例如常见的检索增强生成(RAG)。
它是一个结合了两种机制的深度学习框架:检索和生成。
目的是将信息检索的能力引入到序列生成任务中,以便模型在生成响应或内容时可以利用外部知识。
图书馆。
来源:Towhee 模型在处理长文本时,引入的搜索机制会在数据库中检索短文本,以获得由多个短文本答案组成的长文本。
每次只加载所需的短文本片段,从而避免了模型无法一次读取整个长文本的问题。
杨志林将这种模型称为蜜蜂模型。
传统的 Transformer 机制,例如 GPT,输入长度有限,通常仅限于数百到数千个令牌。
这意味着模型在需要处理大量信息或长文档时可能会遇到困难。
RAG 通过其检索机制,检索大型外部知识库中的信息,然后仅将最相关的片段与原始输入一起输入到生成模型中。
这使得模型能够处理大于其原始长度的输入。
这个想法背后的理由很有趣。
如果循环注意力和稀疏注意力都改善了模型内部的注意力机制,属于模型结构层面的优化,那么通过检索外部数据库中的相关信息片段,然后将最相关的片段与原始输入一起发送生成模型,以避免直接处理完整的长文本只是输入级的优化。
该方法的主要目的是从大量文档中快速捕获与当前问题最相关的信息,而这些信息可能仅代表原始输入的部分上下文或某些特定方面。
换句话说,这种方法更关注局部信息,可能无法掌握长文本输入的整体含义。
就像蜂巢中彼此分离的模块一样。
关于蜜蜂模型的说法有些开玩笑,指的是市场上大型模型厂商使用插件搜索来扩大窗口容量。
人们很难不想起近几个月发展迅速、一直在强调自己的“搜索基因”的百川智能。
10月30日,百川智能发布全新百川2-K大机型。
上下文窗口的长度扩展到K,相当于大约35万个汉字。
《月之暗面》的 Kimi Chat 仅将 Claude-k 的上下文长度扩大了 2.5 倍,而 Baichuan2-K 几乎将 Kimi Chat 的上限扩大了一倍。
在长窗口文本理解评测榜单LongEval上,Baichuan2-K表现远好于Claude-k,并且在窗口长度超过K后仍能保持较强的性能。
后者在70k后性能迅速下降。
也没有那么多长文本。
但还有另一种方式来看待“我们为什么不尝试更长的上下文?”这个问题。
公开的互联网爬虫数据集CommonCrawl是LLaMA训练数据集的主要数据源,其中另一个主要数据集C4也是从CommonCrawl获得的。
两者占LLaMA训练数据集的82%。
CommonCrawl中的语料数据非常短。
ServiceNow 研究员 Harm de Vries 在分析文章中表示,在这个庞大的数据集中,超过 95% 的语料数据文件的 token 数量少于 2k,而实际上绝大多数都在 1k 以下的范围。
。
图片来源:Harm de Vries 博客 “如果你想找到上下文逻辑明显的长文本,那就更少了。
”李伟说。
预计更长的培训将来自书籍、论文甚至维基百科等来源。
Harm de Vries 的研究表明,超过 50% 的维基百科文章拥有超过 4k 个令牌,超过 75% 的书籍拥有超过 16k 个令牌。
然而,从 LLaMA 训练的主要数据源的预期分布来看,维基百科和书籍仅占 4.5%,论文(ArXiv)仅占 2.5%。
三者加起来只有 GB 的数据,不到 CommonCrawl 的 10%。
也许根本就没有那么多长文本语料库可以用来训练。
变形金刚不会读取《红楼梦》,也没有那么多《红楼梦》可供读取。
这是所有追求上下文长度的人面临的现实问题。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-06
06-18
06-17
最新文章
首先告诉我什么是智能汽车!
盲盒明星卡的暴利与泡沫:2元卡卖700万,直播卖卡月入百万
黑色星期五轰轰烈烈地回来了,结果这些中国企业扛起了全场
锂电池隔膜疯狂扩产:兴源材料欲夺回C位?
当我考上缅语专业时:凌晨三点我还在走廊里背单词,毕业后,我不仅仅是一名翻译者
被遗弃,被收获?老年人上网到底有多难?
海外日报 -今年,我国自主研发游戏海外实际销售收入实现两位数增长;三星电子正式成立机器人业务团队36氪海外·15分钟前
腾讯音乐:爱、相信、坚持