Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

大模型开启「长」时代,杨植麟的新公司把对话框容量做到了世界第一

虽然我们不知道谁是下一个 OpenAI,但是似乎找到了另一个 Anthropic。

最近,大模型创投领域又发生了一件大事:大模型初创公司 Anthropic 获得了亚马逊 40 亿美元的融资。该笔融资几天后,又有消息传出,谷歌等也要向这家公司再投 20 亿美元。听到这些消息,不少人可能会问,这家公司有何过人之处?别急,我们来问一下新必应。图片

新必应的答案显示,在大模型方向上,除了一支优秀的团队,Anthropic 在技术上也非常领先,尤其在大模型支持的上下文窗口方面。

上下文窗口有多重要?回想一下使用 ChatGPT 处理长文的经历,你是不是也经常收到「文本过长」的提示?这是因为 ChatGPT 至多只支持 32k tokens(约 2.5 万汉字)的上下文。这一限制让很多行业的从业人员都很头疼,尤其是律师、分析师、咨询师、prompt 工程师等需要分析、处理较长文本的工作。

图片

此外, token 数量的限制还会导致模型「忘记」之前对话的重要信息,或者加重模型「幻觉」,就像 Character.AI 等聊天 AI 产品的用户所抱怨的那样。

图片

为了解决这些问题,Anthropic 在其产品 Claude 2.0 中提供了 100k tokens(实测约 8 万汉字)的上下文窗口,大大扩展了其产品的应用空间。

那么,如果这个窗口再大一点呢?

图片

这是国内大模型初创公司 Moonshot AI 推出的大模型智能助手 Kimi Chat,拥有超长的上下文窗口。在动图展示的例子中,Kimi Chat 接收到的上下文达到了 15 万字,而实测中我们发现,它甚至能一次处理 20 万字,大约是 Claude 2.0 中文上下文窗口的 2.5 倍,是全球市场上能够产品化使用的大模型服务中所能支持的最长上下文输入长度。GPT-4 等英文为基础的模型产品需要做到接近 250k tokens 才能获得与 Kimi Chat 同等的汉字上下文窗口。

那么,这么大的上下文窗口用起来是一种怎样的体验?Moonshot AI 是怎么做到这一点的?在该功能开放内测之际,机器之心在第一时间拿到了内测资格并进行了测评,同时也和 Moonshot AI 的技术团队聊了一些技术细节以及他们对该技术的思考,希望能给国内关注大模型技术与应用的读者一些启发。

原来,不用担心文本过长是这种感觉

打开「KIMI」的测试页面,我们可以看到,它有一个简单的对话框,对话框的右侧有几个按钮,分别是网络开关和文件上传按钮。这意味着,KIMI 不仅能分析我们提供的资料,还能在必要时自己上网查找,看起来非常靠谱。

图片既然 KIMI 的强项是处理长文本,那我们就选一些长文本的场景来测试一下。第一份材料是《中华人民共和国刑事诉讼法》和《最高法关于适用〈中华人民共和国刑事诉讼法〉的解释》组合起来的一份 word 材料,篇幅超过 12 万字,一般的大语言模型都无法处理。在询问了几个比较具体的问题后,我们发现,KIMI 能够根据材料回答大部分问题,并给出答案依据:

图片

图片

如果问题超出了材料所给的范围,它会自己上网检索相关内容,并归纳出答案,这是一种跨文档的文本处理能力。

图片

值得注意的是,KIMI 在回答一些比较综合的问题时会结合多个法条,并在消化了这些条款内容的前提下,用自己的语言重新组织逻辑清晰的答案。

图片这种贯穿全文的强大理解能力在小说的测试中表现得更为明显。这里我们选取的是科幻小说《三体 1》,虽然小说有 20 万字,但 KIMI 能把它全部读下来,并梳理人物故事线等信息:

图片

图片

当我们问及小说后半部分的内容以及需要结合上下文理解的某些概念的引申含义时,KIMI 回答起来也毫无压力:

图片

图片

既然 KIMI 展现出了如此强大的上下文记忆能力,那多轮对话想必也能轻松应对。于是,在另一项测试中,我们选取了《原神》人物胡桃的百科信息,让 KIMI 在掌握胡桃全部信息的基础上模仿后者与我们对话,就像科幻作品里的「数字生命」一样。当前大多数角色扮演类 AI 是消化不了这么多角色背景信息的,因此聊天过程中很容易让人丧失沉浸感。

图片

图片

                                基于大模型设计的文字游戏玩家抱怨角色设定信息少,输出缺乏逻辑性。

同样的,我们也用《三体》试了一下,让 KIMI 模仿大史说话,效果也非常不错:

图片

重要的是,这种基于长文本的多轮对话能力在科研、教育等场景中也非常实用,比如它可以解读最近很火的微软 GPT-4V 使用体验论文:

图片

几轮体验下来,可以明显感觉到,当上下文窗口扩展到 20 万字,我们能用大模型做的事情突然就多了很多。由于大部分文本材料都不会超过这个数字,我们终于不用再去一个一个检查字数,也不用担心和模型聊多了话题戛然而止。这是一种非常流畅的体验,也让人有信心去探索更多使用场景。

超长上下文窗口,实现起来有多难?

既然扩大上下文窗口如此有效,那为什么市面上现有的各路大模型大多还局限在 32k 或以下的 token 长度呢?这是因为,实现模型对超长上下文的处理在训练算法和工程实现上都面临着艰巨的挑战。

首先,从训练层面来看,想得到一个支持足够长上下文长度的模型,不可避免地要面对如下困难:

  • 如何让模型能在数十万 tokens 的上下文窗口中,准确地关注到所需要的内容?

  • 如何让模型在适应长文本工作方式时,不降低其原有的基础能力?

  • 由超长上下文窗口带来的更高的算力需求和极严重的显存压力,如何在传统的 3D 并行方案之外寻找到更多的并行空间?

  • 缺乏充足的高质量长序列数据,如何提供更多的有效数据给模型训练?

从推理层面来看,在获得了支持超长上下文的模型后,如何让模型能服务众多用户,同样要面临一番挑战:

  • 一是 Transformer 模型中自注意力机制的计算量会随着上下文长度的增加呈平方级增长,比如上下文增加 32 倍时,计算量实际会增长 1000 倍,这会导致用户需要等待极长的时间才能获得反馈;

  • 二是长下上文推理需要的显存容量巨大:以 1750 亿参数的 GPT-3 为例(GPT-4、Claude 等模型参数量未知,故无法估算),目前最高单机配置 (80 GiB * 8) 最多只能支持 64k 上下文长度的推理,超长文本对显存的要求可见一斑;

  • 三是目前的显存带宽无法满足需求:英伟达 A800 或 H800 的显存带宽高达 2-3 TiB/s,但面对如此长的上下文,若只通过一些朴素的基本处理方法,生成速度只能达到 2~5 token/s,使用的体验极其卡顿。

图片

当然,上述问题的解决存在一些「捷径」,但这些捷径往往都是以牺牲模型性能为代价的,导致模型的应用价值大打折扣, 典型的做法包括:

首先,最容易想到的就是把模型做小,通过把参数减少到百亿来提升上下文长度。但模型小了之后,能力也会显著下降,大量任务都无法胜任,就像未发育完全的蝌蚪。

其次,你可以让模型「问哪儿看哪儿」,就像只能在特定花蕊上采蜜的蜜蜂,无法关注到整体信息。这通常是通过对上下文的降采样或者 RAG(检索增强生成)方法来实现的,让模型只关注和问题直接相关的部分,减少计算量。但如此一来,模型就无法回答那些需要基于全文理解来回答的问题(例如从 50 个简历中对候选人的画像进行归纳和总结),能力大打折扣。

最后,你还可以让模型「边看边忘」,只让它记住最新的输入,就像只有 7 秒钟记忆的金鱼一样。但很明显,这种方法也做不到理解全文,尤其是跨文档的长文本的综合理解(比如从一篇 10 万字的用户访谈录音转写中提取最有价值的 10 个观点)。

总之,这些所谓的捷径都无法达到理想的产品化效果。为了让模型真正解决问题,从好技术变成好产品,Moonshot AI 选择直面挑战,从多个角度去解决长上下文窗口的技术难题。

在模型训练方面,业界已经有不少通过相对位置编码外推来低成本地实现超长上下文的模型,在各项 benchmark 中分数也非常高,但 Moonshot AI 发现,这类模型在实际的工作场景中并不能达到预期的效果。因此 Moonshot AI 选择直面困难,逐一解决上述问题。

总体来看,他们从如下几个大方向入手来改善训练中遇到的问题:

  • 在传统的 Tensor 并行、Data 并行、Pipeline 并行基础上,增加了多项基于 Seqence 维度的并行策略,提升了并行效率;

  • 利用定制版的 Flash Attention、Fuse Cross Entropy、CPU offload 等技术大幅度降低了显存压力;

  • 使用了创新的训练方法,针对性地调配了多阶段式训练方法,让模型保留基础能力的前提下,逐步激活长上下文的能力。

当然,模型训练是一项外科手术般精密的工作,每一个细节都不能出差错。因此,除了上述几个大方向外,Moonshot AI 还在算法稳定性、显存占用、数据分布等方面进行了上百项优化。在强大的工程和算法能力加持下,他们最终让直接训练超长上下文模型成为可能。

模型有了,接下来还要优化推理成本,以保证大量用户都能高效、低成本地使用模型。为此,Moonshot AI 探索了诸多方案,比如:

  • 用 GQA 替换 MHA:让 KVCache 所占用的显存大小大幅度缩小

  • Paged attention:保证显存的充分利用;

  • 低比特量化:通过 W8A8,至多可以把推理速度在上述基础上再提升一倍;

  • MoE & KVCache 裁减:让显存占用在上述基础上再下降一倍;

此外,Moonshot AI 通过极高的工程代码质量,将所有的 overhead 降到最低,使得代码性能不断逼近理论上限,从而构筑了高效推理的基础。

通过组合这些关键技术,Moonshot AI 在超长文本下依然可以让大量用户同时获得良好的使用体验,并且拥有了在文本长度和推理速度间灵活权衡的空间,其极限可处理的上下文长度上限更是可以达到 150 万字以上,相当于可以一次让模型处理《三国演义》加《西游记》两本名著。

大模型能力的二元性:为什么要死磕「长上下文窗口」?

今年年初,在 GPT-4 问世之前,一个号称「GPT-4 有 100 万亿个参数」的谣言引发了不少关注。在无数次被转发后,很多人信以为真,导致 OpenAI 首席执行官 Sam Altman 不得不亲自出来辟谣。这也在一定程度上反映了大模型领域对于参数量的一种「崇拜」。

诚然,参数量对于大模型的能力高低十分重要,是大模型出现「涌现」现象的一道门槛。但除此之外呢?还有哪些方向没有得到足够的重视?在 Moonshot AI 看来,长上下文窗口就是其中之一。

我们知道,在传统计算中有两个核心原则:计算是按照顺序逐步进行的;每一步都有有限的复杂度容量。大型语言模型可以被看作是进化了的计算实体,所以 Moonshot AI 认为大模型能够达到的最高水平由两个因素决定:单步骤的容量(即模型在每一步中可以处理的信息量,对应参数量)和执行的步骤数(即模型能够处理的上下文长度)。

目前,大部分大模型研究都集中在增加模型参数量的大小,即增强「单步骤容量」。但 Moonshot AI 认为,在保持一定参数量的同时放大另一个维度,即「步骤数」或上下文长度也同样重要。就像我们在实测中所看到的,上下文窗口就像大模型应用的新「内存」,窗口越大,用户能用它做的事情就越广泛;同时,窗口所能容纳的信息越多,模型在生成下一个 token 时可以参考的信息就越多,「幻觉」发生的可能性就越小,生成的信息就越准确。这是大模型技术落地的必要条件。

不过,更为重要的是,Moonshot AI 已经看到,超长上下文窗口其实是大模型技术未来发展的必由之路。

如今,以 OpenAI 为代表,几乎所有的头部大模型企业都会走多模态技术道路,因为人类文明的总和不止以文字的形式存在硬盘上,还隐藏于海量的语音、图像、视频等数据形态中。Moonshot AI 创始人杨植麟曾提到,他们相信对海量数据的无损压缩可以实现高程度的智能。而无损压缩等同于对数据联合概率分布的预测,这就找到了与多模态数据生成的契合点,多模态数据的生成本质上也是在做数据的联合概率分布预测,所以超长上下文窗口技术对实现多模态至关重要,是一个必须解决的技术问题。

大模型「登月计划」第一步:欢迎来到 Long LLM 时代

能选出一个有前景的方向是一回事,能不能做成又是另外一回事,毕竟超长上下文窗口打造起来并非易事,需要非常强的算法和工程能力。对此,杨植麟采取了和 Anthropic 类似的策略:提高人才密度。

目前,Moonshot AI 的整个团队人数超过了 60 人,这些人绝大部分都是拥有世界级影响力工作的大模型专家,比如杨植麟本人提出的 Transformer-XL 是历史上第一个在词级别和字级别都全面超越 RNN 的注意力语言模型,解决了语言建模上下文长度的关键问题,定义了语言建模的新标准;两位联合创始人 —— 周昕宇和吴育昕 —— 有着五位数的 Google Scholar 引用,在大模型方面有非常丰富的工程和算法经验。还有一些核心成员参与了 Google Gemini、Bard、盘古、悟道等多个大模型的开发。在这些人的共同努力下,Moonshot AI 仅用半年时间就打造出了一款世界领先的产品。

这款产品的诞生是有标志性意义的,20 万字以及更长的上下文窗口足以把使用大模型工作的你我从 LLM 时代带入 L(Long)LLM 时代。在这个时代,我们可以拥有一个能记住与你所有交互细节的虚拟伴侣;可以将日常工作中的冗长文件(如合同、研报、财务报告等)都丢给大模型来处理;还可以针对某个科学问题, 将跨领域的相关学术论文作为上下文,利用大模型寻求解决问题的新思路…… 可以说,上下文窗口越大,大模型留给用户的创新空间就越大。

图片

                                  至少日常处理发票这种工作就不会浪费时间了

此外,Moonshot AI 表示,本次推出的超长上下文产品对于他们来说仅仅是一个起点。随着对应用场景挖掘的逐渐深入以及相应技术的优化,他们很快就会开放支持更长上下文以及拥有其他能力的模型。

如果你也想体验 Kimi Chat 的长文本能力,可以点击以下链接,申请加入内测计划:https://www.moonshot.cn/

产业Kimi ChatMoonshot AIAnthropic
相关数据
吴育昕人物

吴育昕是Facebook人工智能研究机构FAIR的一名工程师,主要研究计算机视觉方向。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

降采样技术

降采样是数位信号处理领域中的一种多速频数字信号处理(multi-rate digital signal processing)系统中采样率转换(sample rate conversion)技术的一种,或指代用来降低信号采样率的过程,与插值相反——插值用来增加取样频率——降采样通常用于降低数据传输速率或者数据大小。因为降采样会有混叠的情形发生,系统中具有降采样功能的部分称为降频器(decimator)。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

Transformer-XL技术

Transformer-XL 预训练模型是对 Transformer 及语言建模的修正,这项前沿研究是2019年1月份公布。一般而言,Transformer-XL 学习到的长期依赖性比标准 Transformer 学到的长 450%,无论在长序列还是短序列中都得到了更好的结果,而且在评估时比标准 Transformer 快 1800 多倍。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
强生机构

强生公司成立于1886年,是全球最具综合性、业务分布范围广的医疗健康企业之一,业务涉及制药、医疗器材及消费品三大领域。强生坚信健康是活力人生、繁荣社区和不断进步的基础。正因如此,130多年来,公司始终致力于推进健康事业,让人们在每个年龄段和每个人生阶段都保持健康。

http://www.jnj.com/
量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~