10 月 30 日,百川智能发布 Baichuan2-192K 大模型。其上下文窗口长度高达 192K,是目前全球最长的上下文窗口。文本长度相当于约 35 万个汉字,Claude 一直以来保持的上下文窗口记录,被刷新。
Baichuan2-192K 能够处理的汉字是 GPT-4(32K 上下文,实测约 2.5 万字)的 14 倍,Claude 2(100K 上下文,实测约 8 万字)的 4.4 倍,可以一次性读完一本《三体》。 把三体第一部《地球往事》丢给它,Baichuan2-192K 稍加咀嚼,便立刻对整个故事了如指掌。
汪淼看到的倒计时里第 36 张照片上的数字是多少? 答:1194:16:37。 他使用的相机是什么型号? 答:徕卡 M2。 他和大史一共喝过几次酒? 答:两次。
01 全球最长上下文长度,全面领先 Claude 2
大模型,会被什么卡脖子?
以 ChatGPT 为例,虽然能力让人惊叹,然而这个「万能」模型却有一个无法回避的掣肘——最多只支持 32K tokens(2.5 万汉字)的上下文。而律师、分析师等职业,在大部分的时间里需要处理比这长得多的文本。
更大的上下文窗口,可以让模型从输入中获得更丰富的语义信息,甚至直接基于全文理解进行问答和信息处理。
由此,模型不仅能更好地捕捉上下文的相关性、消除歧义,进而更加精准地生成内容,缓解「幻觉」问题,提升性能。而且,也可以在长上下文的加持下,与更多的垂直场景深度结合,真正在人们的工作、生活、学习中发挥作用。
最近,硅谷独角兽 Anthropic 先后获得亚马逊投资 40 亿、谷歌投资 20 亿。能获得两家巨头的青睐,当然跟 Claude 在长上下文能力技术上的领先不无关系。
而这次,百川智能发布的 Baichuan-192K 长窗口大模型,在上下文窗口长度上远远超过了 Claude 2-100K,而且在文本生成质量、上下文理解、问答能力等多个维度的评测中,也取得了全面领先。
10 项权威评测,拿下 7 个 SOTA
LongEval 是由加州大学伯克利分校联合其他高校发布的针对长窗口模型评测的榜单,主要衡量模型对长窗口内容的记忆和理解能力。
上下文理解方面,Baichuan2-192K 在权威长窗口文本理解评测榜单 LongEval 上大幅领先其他模型,窗口长度超过 100K 后依然能够保持非常强劲的性能。相比之下,Claude 2 窗口长度超过 80K 后整体效果下降非常严重。
此外,Baichuan2-192K 在 Dureader、NarrativeQA、LSHT、TriviaQA 等 10 项中英文长文本问答、摘要的评测集上表现同样优异。其中,有 7 项取得了 SOTA,性能显著超过其他长窗口模型。
在文本生成质量方面,困惑度是一个非常重要的标准。
可以简单理解为,将符合人类自然语言习惯的高质量文档作为测试集时,模型生成测试集中文本的概率越高,模型的困惑度就越小,模型也就越好。
根据 DeepMind 发布的「语言建模基准数据集 PG-19」的测试结果,Baichuan2-192K 的困惑度在初始阶段便很优秀,并且随着窗口长度扩大,Baichuan2-192K 的序列建模能力也持续增强。
工程算法联合优化,长度性能同步提升
虽然长上下文可以有效提升模型性能,但超长的窗口也意味着需要更强的算力,以及更多的显存。
目前,业界普遍的做法是滑动窗口、降低采样、缩小模型等等。然而,这些方式都会在不同程度上,牺牲模型其他方面的性能。
为了解决这一问题,Baichuan2-192K 通过算法和工程的极致优化,实现了窗口长度和模型性能之间的平衡,做到了窗口长度和模型性能的同步提升。
首先,在算法方面,百川智能提出了一种针对 RoPE 和 ALiBi 动态位置编码的外推方案——能够对不同长度的 ALiBi 位置编码进行不同程度的 Attention-mask 动态内插,在保证分辨率的同时增强了模型对长序列依赖的建模能力。
其次,在工程方面,百川智能在自主开发的分布式训练框架基础上,整合了包括张量并行、流水并行、序列并行、重计算以及 Offload 等市面上几乎所有的先进优化技术,独创出了一套全面的 4D 并行分布式方案——能够根据模型具体的负载情况,自动寻找最适合的分布式策略,极大降低了长窗口训练和推理过程中的显存占用。
02 内测正式开启,已落地法律、媒体等诸多真实场景
Baichuan2-192K 目前已经正式开启内测。 百川智能的核心合作伙伴已经通过 API 调用的方式将 Baichuan2-192K 接入到了自己的应用和业务当中,现在已有财经类媒体、律师事务所等机构和百川智能达成了合作。
可以想象,随着 Baichuan2-192K 全球领先的长上下文能力应用到传媒、金融、法律等具体场景中,无疑会给大模型落地拓展出更广阔的空间。
通过 API,Baichuan2-192K 能有效融入更多垂直场景,与之深度结合。以往,巨量内容的文档,往往成为我们在工作、学习中难以跨越的大山。
而有了 Baichuan2-192K,就能一次性处理和分析数百页的材料,进行关键信息的提取和分析。无论是长文档摘要/审核,长篇文章或报告的编写,还是复杂的编程辅助,Baichuan2-192K 都将提供巨大的助力。 对于基金经理,它可以帮忙总结和解释财务报表,分析公司的风险和机遇。对于律师,它可以帮助识别多个法律文件中的风险,审核合同和法律文件。
对于开发者,它可以帮忙阅读数百页的开发文档,还能回答技术问题。而广大科研人员,从此也有了科研利器,可以快速浏览大量论文,总结最新的前沿进展。
除此之外,更长的上下文还蕴涵着更加巨大的潜力。Agent、多模态应用,都是当前业内研究的前沿热点。而大模型有了更长的上下文能力,就能更好地处理和理解复杂的多模态输入,实现更好的迁移学习。 03 上下文长度,大模型必争之地 可以说,上下文窗口长度,是大模型的核心技术之一。
现在,许多团队都开始以「长文本输入」为起点,打造底座大模型的差异化竞争力。如果说参数量决定了大模型能做多复杂的计算,上下文窗口长度,则决定了大模型有多大「内存」。
Sam Altman 就曾表示,我们本以为自己想要的是会飞的汽车,而不是 140/280 个字符,但实际上我们想要的是 32000 个 token。 国内外,对扩大上下文窗口的研究和产品可谓是层出不穷。
今年 5 月,拥有 32K 上下文的 GPT-4,就曾引发过激烈的讨论。当时,已经解锁这一版本的网友大赞称,GPT-4 32K 是世界上最好的产品经理。
很快,初创公司 Anthropic 宣布,Claude 已经能够支持 100K 的上下文 token 长度,也就是大约 75,000 个单词。换句话说就是,一般人用时大约 5 个小时读完等量内容后,还得用更多的时间去消化、记忆、分析。对于 Claude,不到 1 分钟就搞定。
在开源社区,Meta 也提出了一种可以有效扩展上下文能力的方法,能够让基础模型的上下文窗口达到 32768 个 token,并在各种合成上下文探测、语言建模任务上都取得了显著的性能提升。
结果表明,70B 参数量的模型就已经在各种长上下文任务中实现了超越 gpt-3.5-turbo-16k 的性能。
港中文和 MIT 团队研究人员提出的 LongLoRA 方法,只需两行代码、一台 8 卡 A100 机器,便可将 7B 模型的文本长度拓展到 100k tokens,70B 模型的文本长度拓展到 32k tokens。
论文地址:https://arxiv.org/abs/2309.12307 而来自 DeepPavlov、AIRI、伦敦数学科学研究所的研究人员则利用循环记忆 Transformer(RMT)方法,将 BERT 的有效上下文长度提升到「前所未有的 200 万 tokens」,并且保持了很高的记忆检索准确性。
不过,虽然 RMT 可以不增加内存消耗,能够扩展到近乎无限的序列长度,但仍然存在 RNN 中的记忆衰减问题,并且需要更长的推理时间。
论文地址:https://arxiv.org/abs/2304.11062
目前,LLM 的上下文窗口长度主要集中在 4,000-100,000 个 token 这个范围之间,并且还在持续增长。
通过 AI 产业界和学术界对上下文窗口的多方面研究,足见其对于 LLM 的重要性。而这一次,刷新行业纪录的 192K 上下文窗口,不仅代表着百川智能这家明星公司在大模型技术上又一次突破,也是大模型发展过程中的又一里程碑式进展。而这,必然会给产品端形态改革带来新一轮的震动。