500万token巨兽,一次读完全套「哈利波特」!比ChatGPT长1000多倍
新智元报道
新智元报道
【新智元导读】没错,5,000,000个token的上下文,语言模型输入长度史诗级增强!
记性差是目前主流大型语言模型的主要痛点,比如ChatGPT只能输入4096个token(约3000个词),经常聊着聊着就忘了之前说什么了,甚至都不够读一篇短篇小说的。
过短的输入窗口也限制了语言模型的应用场景,比如给一篇科技论文(约1万词)做摘要的时候,需要把文章手动切分后再输入到模型中,不同章节之间关联信息就丢失了。
虽然GPT-4最长支持32000个token、升级后的Claude最高支持10万token,但也只能缓解脑容量不足的问题。
最近一家创业团队Magic宣布即将发布LTM-1模型,最长支持500万token,大约是50万行代码或5000个文件,直接比Claude高50倍,基本可以覆盖大多数的存储需求,这可真就量变产生质变了!
LTM-1的主要应用场景在于代码补全,比如可以生成更长、更复杂的代码建议:
还可以跨越多个文件重用、合成信息:
坏消息是,LTM-1的开发商Magic并没有发布具体技术原理,只是说设计了一种全新的方法the Long-term Memory Network (LTM Net)。
但也有个好消息,2021年9月,DeepMind等机构的研究人员曾经提出一种名为 ∞-former 的模型,其中就包含了长期记忆(long-term memory,LTM)机制,理论上可以让Transformer模型具有无限长的记忆力,但目前并不清楚二者是否为同一技术,或是改良版。
论文链接:https://arxiv.org/pdf/2109.00301.pdf
开发团队表示,虽然LTM Nets可以比GPT看到更多的上下文,但LTM-1模型的参数量比当下的sota模型小的多,所以智能程度也更低,不过继续提升模型规模应该可以提升LTM Nets的性能。
目前LTM-1已经开放alpha测试申请。
申请链接:https://magic.dev/waitlist
LTM-1的开发商Magic创立于2022年,主要开发类似GitHub Copilot的产品,可以帮助软件工程师编写、审查、调试和修改代码,目标是为程序员打造一个AI同事,其主要竞争优势就是模型可以读取更长的代码。
Magic致力于公众利益(public benefit),使命是构建和安全部署超过人类只能的AGI系统,目前还是一家只有10人的创业公司。
今年2月,Magic获得由Alphabet旗下CapitalG领投的2300万美元A轮融资,投资人还包括GitHub前首席执行官和Copilot的联合出品人Nat Friedman,目前公司总资金量已达2800万美元。
Magic的首席执行官兼联合创始人Eric Steinberger本科毕业于剑桥大学计算机科学专业,曾在FAIR做过机器学习研究。
在创立Magic前,Steinberger还曾创立过ClimateScience,以帮助全世界的儿童学习气候变化的影响。
无限记忆的Transformer
无限记忆的Transformer
语言模型核心组件Transformer中注意力机制的设计,会导致每次增加输入序列的长度时,时间复杂度都会呈二次方增长。
虽然已经有一些注意力机制的变体,比如稀疏注意力等降低算法复杂度,不过其复杂度仍然与输入长度有关,不能无限扩展。
∞-former中长期记忆(LTM)的Transformer模型可以将输入序列扩展到无限的关键在是一个连续空间注意力框架,该框架用降低表征粒度的方式提升记忆信息单元的数量(基函数)。
在框架中,输入序列被表示为一个「连续信号」,代表N个径向基函数(RBF)的线性组合,这样一来,∞-former的注意复杂度就降为了O(L^2 + L × N),而原始Transformer的注意力复杂度为O(L×(L+L_LTM)),其中L和L_LTM分别对应于Transformer输入大小和长期记忆长度。
这种表示方法有两个主要优势:
1. 上下文可以用小于token数量的基函数N来表示,减少了注意力的计算成本;
2. N可以是固定的,从而能够在记忆中表示无限的上下文,并且不会增加注意力机制的复杂度。
当然,天下没有免费的午餐,代价就是分辨率的降低:使用较少数量基函数时,会导致在将输入序列表示为连续信号时降低精度。
为了缓解分辨率降低问题,研究人员引入了「粘性记忆」(sticky memories)的概念,将LTM信号中的较大空间归结为更频繁访问的记忆区域,在LTM中创造了一个「永久性」的概念,使模型能够更好地捕捉长时间的背景而不丢失相关信息,也是从大脑的长期电位和可塑性中得到了启发。
实验部分
为了验证∞-former能否对长语境进行建模,研究人员首先对一个合成任务进行实验,即在一个长序列中按频率对token进行排序;然后通过微调预训练语言模型,对语言建模和基于文档的对话生成进行实验。
排序
输入包括一个根据概率分布(系统未知)采样的token序列,目标是按照序列中频率递减顺序生成token
为了研究长期记忆是否被有效利用,以及Transformer是否只是通过对最近的标记进行建模来排序,研究人员将标记概率分布设计为随时间变化。
词表中有20个token,分别用长度为4,000、8,000和16,000的序列进行实验,Transformer-XL和compressive transformer作为对比基线模型。
实验结果可以看出,在短序列长度(4,000)的情况下,Transformer-XL实现了比其他模型略高的精度;但当序列长度增加时,其精度也迅速下降,不过对于∞-former来说,这种下降并不明显,表明其在对长序列进行建模时更有优势。
语言建模
为了了解长期记忆是否可以用来扩展预训练的语言模型,研究人员在Wikitext103和PG-19的一个子集上对GPT-2 small进行了微调,包括大约2亿个token。
实验结果可以看到,∞-former可以降低Wikitext-103和PG19的困惑度,并且∞-former在PG19数据集上获得的改进更大,因为书籍比维基百科文章更依赖于长期记忆。
基于文档对话
在以文档为基础的对话生成中,除了对话历史之外,模型还可以获得关于对话主题的文档。
在CMU Document Grounded Conversation dataset(CMU-DoG)中,对话是关于电影的,并给出了电影的摘要作为辅助文档;考虑到对话包含多个不同的连续语篇,辅助文档被分为多个部分。
为了评估长期记忆的有用性,研究人员只让模型在对话开始前才能访问文件,使这项任务更具挑战性。
在对GPT-2 small进行微调后,为了让模型在记忆中保持整个文档,使用一个N=512个基函数的连续LTM(∞-former)扩展GPT-2。
为了评估模型效果,使用perplexity、F1 score、Rouge-1和Rouge-L,以及Meteor指标。
从结果来看,∞-former和compressive Transformer能够生成更好的语料,虽然二者的困惑度基本相同,但∞-former在其他指标上取得了更好的分数。
微信扫码关注该文公众号作者