Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

「Meta版ChatGPT」背后的技术:想让基础LLM更好地处理长上下文,只需持续预训练

在处理长上下文方面,LLaMA 一直力有不足,而通过持续预训练和其它一些方法改进,Meta 的这项研究成功让 LLM 具备了有效理解上下文的能力。

大型语言模型(LLM)所使用的数据量和计算量都是前所未见的,这也使其有望从根本上改变我们与数字世界的交互方式。随着 LLM 被不断快速部署到生产环境中并不断扩展进化,可以预见这些模型将能在更多复杂精细的用例中提供服务,比如分析具备丰富知识的密集型文档、提供更加真实和有参与感的聊天机器人体验、在编程和设计等交互式创造过程中辅助人类用户等。

为了支持这种演进发展,模型需要的一大关键能力就是:高效处理长上下文输入。

到目前为止,具有稳健长上下文功能的 LLM 主要来自专有 LLM API,如 Anthropic 和 OpenAI 提供的 LLM 服务。现有的开源长上下文模型往往评估研究不足,而是主要通过语言建模损失和合成任务来衡量其长上下文能力,这样的评估无法全面展示模型在各种真实世界场景中的有效性。

不仅如此,这些模型往往还会忽视在标准短上下文任务中保持强大性能的必要性,要么就直接不评估,要么报告出现了性能下降情况。

近日,Meta 团队提出了一种新方法,宣称可以有效地扩展基础模型的上下文能力,并且用该方法构建的长上下文 LLM 的性能表现优于所有现有的开源 LLM。

图片

论文:https://arxiv.org/abs/2309.16039

他们是通过对 LLaMA 2 检查点进行持续预训练来构建模型,这其中用到了另外 4000 亿个 token 构成的长训练序列。在训练的系列模型中,较小的 7B/13B 变体模型的训练使用了 32,768 token 长的序列,而 34B/70B 变体则使用了 16,384 token 长的序列。

评估方面,不同于之前已有模型的有限评估,Meta 的这个团队进行了更为全面的评估研究,涵盖语言建模、合成任务以及许多涉及长或短上下文任务真实世界基准任务。

在语言建模任务上,新方法训练的模型在上下文长度方面表现出了明显的幂律缩放行为。如图 1 所示,这种缩放行为不仅表明新模型能够持续受益于更多上下文,也表明上下文长度是 LLM 扩展方面的一大重要轴线。

图片

通过对比新模型与基准 LLaMA 2 在研究基准上的表现,研究者观察到新模型在长上下文任务上有明显优势,在短上下文任务上也有适度提升,尤其是在编程、数学和知识类任务基准上。

他们还探索了一种简单且有成本效益的指令微调方法,可在没有任何人工标注数据的情况下对经过持续预训练的长模型进行微调。他们基于此方法得到的聊天模型在一系列长上下文基准任务(包括问答、摘要和多文档聚合)上的整体表现胜过 gpt-3.5-turbo-16k。

方法

持续预训练

由于注意力计算会随序列长度增大呈二次增长,因此当使用更长的序列进行训练时,计算开销也会显著增大。解决这一难题正是本研究的主要目标。

研究者假设:对短上下文模型进行持续预训练可让该模型具备上下文能力。然后他们通过实验验证了这一猜测。

在实验中,他们保持原始 LLaMA 2 的架构基本不变,仅对位置编码进行了必要的修改,以便其能将注意力覆盖更长的序列。此外,他们还选择不使用稀疏注意力,因为 LLaMA 2 70B 模型的维度为 h=8192,而只有当序列长度超过 49,152 (6h) 个 token 时,注意力矩阵计算和值聚合的成本才会成为计算瓶颈。

位置编码。通过 7B 模型的早期实验,研究者发现了 LLaMA 2 的位置编码(PE)的一大关键局限 —— 其有碍注意力模块聚合相聚较远的 token 的信息。为了解决这个问题,使模型能处理长上下文建模,研究者对 RoPE 位置编码方法进行了少量但必要的修改,即减小旋转角度(由基频 b 这个超参数控制),其作用是降低 RoPE 对远距离 token 的衰减效应。研究者通过实验展现了这种简单方法在扩展 LLaMA 上下文长度方面的有效性,并还给出了理论解释。

数据混合。基于使用修改版位置编码的模型,研究者还进一步探索了不同数据混合方法对提升长上下文能力的作用,其中涉及的方法包括调整 LLaMA 2 的预训练数据的比例和添加新的长文本数据。研究者发现:对于长文本的持续预训练而言,数据的质量往往比文本的长度更重要。

优化细节。那么他们究竟是如何实现持续预训练的呢?据介绍,他们在对 LLaMA 2 检查点模型进行持续预训练时,会在保证 LLaMA 2 中每批数据同等 token 量时不断增大序列长度。所有模型都使用总计 4000 亿个 token 训练了 10 万步。使用 Dao et al. (2022) 提出的 FlashAttention,当增大序列长度时,GPU 内存开销几乎可以忽略不计;研究者观察到,对于 70B 模型,当序列长度从 4096 增至 16384 时,速度下降了大约 17%。对于 7B/13B 模型,他们使用的学习率为 2e^−5,并使用了余弦学习率计划,预热步骤为 2000 步。对于更大的 34B/70B 模型,该团队发现设置更小的学习率(1e^-5 )很重要,这样才能让验证损失单调递减。

指令微调

为 LLM 对齐任务收集人类演示和偏好标签是一个繁琐而昂贵的过程。对于长上下文任务,这一挑战和成本更为突出,因为这些任务通常涉及复杂的信息流和专业知识,例如处理信息密集的法律 / 科学文档 —— 即使对于熟练的标注者来说,这些标注任务也不简单。事实上,大多数现有的开源指令数据集都主要由短样本组成。

针对这一问题,Meta 的这个研究团队发现了一种简单且低成本的方法,其能利用已经构建好的大规模和多样化的短 prompt 数据集,并使其很好地适用于长上下文基准任务。

具体来说,他们取用了 LLaMA 2 Chat 使用的 RLHF 数据集,并使用 LLaMA 2 Chat 自身合成的自指示(self-instruct)长数据对其进行了增强。研究者表示,他们希望模型可以借此通过大量 RLHF 数据学习多样化的技能组合并通过自指示数据将所学知识迁移至长上下文场景。

这个数据生成过程重点关注的是问答格式的任务:先从预训练预料库的一个长文档开始,从中随机选出一块文本,然后通过 prompt 让 LLaMA 2 Chat 基于该文本块中的信息写出成对的问答。研究者收集了不同 prompt 的长形式和短形式答案。

之后还有一个自批判(self-critique)步骤,即通过 prompt 让 LLaMA 2 Chat 验证模型生成的答案。给定生成的问答对,研究者使用原始长文档(已截断以适应模型的最大上下文长度)作为上下文来构建一个训练实例。

对于短指令数据,研究者会将它们连接成 16,384 token 长的序列。对于长指令数据,他们会在右侧添加填充 token,以便模型可以单独处理每个长实例,而无需截断。

虽然标准的指令微调只在输出 token 上计算损失,但该团队发现,如果也在长输入 prompt 上计算语言建模损失,也能获得特别的好处,因为这能为下游任务带来稳定持续的提升。

主要结果

评估预训练后的模型

表 1 聚合给出了在标准的短上下文基准任务上的性能表现。

在短上下文任务上,如表 2 所示,使用新方法得到的模型在 MMLU 和 GSM8k 上优于 GPT-3.5。

图片

在长上下文任务上,如表 3 所示,新模型整体上表现更优。在 7B 规模的模型上,只有 Together-7B-32k 取得了与新模型相当的表现。

图片

有效利用上下文。为了验证新模型确实能有效使用增大的上下文窗口,从图 2 可以看到,在每个长任务上的结果都会随上下文长度的增长而单调提升。研究者还发现,新模型的语言建模损失与上下文长度之间存在一种幂律加常数的缩放关系(见图 1),这说明:

  • 在语言建模任务上,随着上下文长度增长,一直到 32,768 token 长的文本,新模型的性能都会持续提升,尽管后面的提升幅度会不断变小。

  • 更大的模型能更有效地利用上下文,这从那些曲线的 β 值可以看出。

图片

指令微调结果

如表 4 所示,在不使用任何人类标注的长上下文数据的情况下,新训练的 70B 规模的聊天模型在 10 项任务中的 7 项上都优于 gpt-3.5-turbo-16k。

图片

人类评估

通过计算每个相比较的示例结果的平均值,可以看出实验中新模型的标准胜率优于其它每个模型;图 3 给出了最终得分以及 95% 的置信区间

图片

在指令数据很少的情况下,新方法所得模型的表现可与 MPT-30B-chat、GPT-3.5-turbo-16k 和 Claude-2 媲美。

分析

图 4 展示了基频(base frequency)变化的影响。

图片

基于这些评估,整体上看,新提出的 RoPE ABF(基频调整版 RoPE)优于相比较的所有其它方法。

表 7 则通过 7B 模型实验展示了所使用的数据混合方法对长上下文任务带来的提升。

图片

研究者还发现新的数据混合方法在很多情况下还能带来很大的提升,尤其是对于 MMLU 等知识密集型任务,如表 8 所示。

图片

这些结果表明,即使使用非常有限的长数据,也可以有效地训练长上下文 LLM。而且研究者表示,相比于 LLaMA 2 所使用的预训练数据,该团队所使用的数据的优势在于数据本身的质量,而不是长度分布上的差异。

而表 9 表明,通过指令微调这种简单技巧,可让模型更加稳定地应对输入和输出长度不平衡的情况,从而在大多数测试任务中取得显著改进。

图片

表 10 和 11 则表明对短上下文模型持续预训练可在几乎无损于性能表现的同时轻松节省约 40% 的 FLOPs。

图片

图片

AI 安全

在 AI 安全方面,研究者观察到,与 LLaMA 2 Chat 相比,经过指令微调的模型整体上能维持相近的安全性能;而且与 Falcon-instruct 和 MPT-instruct 等其它开源 LLM 相比,经过指令微调的模型会更安全且偏见也更少。

图片

华人作者介绍

Wenhan Xiong

Wenhan Xiong 现为 Meta Generative AI 研究科学家,他本科毕业于中国科技大学,博士毕业于加州大学圣巴巴拉分校。他的研究致力于打造能完成复杂、专业的长文本大语言模型,参与了包括 Code Llama 在内的多个研究项目,博士期间他专注构建开放问答系统和检索增强的自然语言处理

图片

个人主页:https://xwhan.github.io/
 
Jingyu Liu

Jingyu Liu 现为苏黎世联邦理工学院硕士研究生,本科毕业于纽约大学计算机系,此前在 Meta Generative AI 做大语言模型的研究,他参与了包括 Code Llama 在内的多个研究项目。

图片

谷歌学术:https://scholar.google.com/citations?user=jidrykQAAAAJ&hl=en

Hejia Zhang

Hejia Zhang 现为 Meta Generative AI 组高级研究科学家,主要研究 Meta 基础大模型、AI Agent,及其在 Meta 产品线中的应用,此前曾在 Meta 推荐系统人工智能组进行自然语言处理相关研究。她本科毕业于莱斯大学(电子工程和应用数学双学位),博士毕业于普林斯顿大学(电子工程和神经科学联合学位)。

图片

谷歌学术:https://scholar.google.com/citations?user=bI0cfykAAAAJ&hl=en

Rui Hou

Rui Hou 现为 Meta GenAI 研究科学家,主要研究生成式 AI 技术以及相关的生产应用。他于 2020 年 4 月入职 Meta,此前曾在丰田研究院等机构实习。

他本科毕业于同济大学,硕士(智能系统和计算机科学双学位)和博士(智能系统)均毕业于密歇根大学。

图片

谷歌学术:https://scholar.google.com/citations?user=PKHKqX0AAAAJ&hl=en

Angela Fan
 
Angela Fan 是 Meta AI Research Paris 的研究科学家,主要研究机器翻译。此前她曾在南锡 INRIA 和巴黎 FAIR 攻读博士学位,主要研究文本生成。在此之前,她是一名研究工程师,并在哈佛大学获得了统计学学士学位。

图片

个人主页:https://ai.meta.com/people/angela-fan/

Han Fang

Han Fang 现为 Meta Generative AI 组高级经理,负责 AI agent 以及 LLAMA 在 meta 的应用开发,此前曾在 meta 推荐系统人工智能组任职。他本科毕业于中山大学,博士毕业于纽约州立大学石溪分校应用数学与统计专业。

图片

个人主页:https://ai.meta.com/people/han-fang/

Sinong Wang

Sinong Wang 现为 Meta 高级主任科学家,Meta Generative AI 组技术负责人。目前领导 Meta 基础大模型和 AI agent 开发,以及在 meta 产品线中的应用。此前他在 Meta AI 致力于自然语言处理、transformer 架构、(语言 / 图像)多模态研究。他博士毕业于俄亥俄州立大学电气与计算机工程专业,并多次获得 ACM/IEEE 最佳论文奖。

图片

个人主页:https://sites.google.com/site/snongwang/

Hao Ma
 
Hao Ma 现为 Meta Generative AI 组总监,负责大模型和语音基础模型研究和在产品当中的应用,曾在 Meta discovery 组负责开发下一代 AI 推荐系统和 AI 安全系统。此前曾在微软研究院担任研究经理,负责知识图谱在 bing 当中的开发。他博士毕业于香港中文大学计算机专业,并多次获得 ACM test-of-time award.

图片个人主页:https://www.haoma.io/

工程MeTA
相关数据
人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

神经科学技术

神经科学,又称神经生物学,是专门研究神经系统的结构、功能、发育、演化、遗传学、生物化学、生理学、药理学及病理学的一门科学。对行为及学习的研究都是神经科学的分支。 对人脑研究是个跨领域的范畴,当中涉及分子层面、细胞层面、神经小组、大型神经系统,如视觉神经系统、脑干、脑皮层。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

置信区间技术

在统计学中,一个概率样本的置信区间(Confidence interval),是对这个样本的某个总体参数的区间估计(Interval Estimation)。置信区间展现的是,这个总体参数的真实值有一定概率落在与该测量结果有关的某对应区间。置信区间给出的是,声称总体参数的真实值在测量值的区间所具有的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平。举例来说,如果在一次大选中某人的支持率为55%,而置信水平0.95上的置信区间是(50%, 60%),那么他的真实支持率落在50%和60%之区间的机率为95%,因此他的真实支持率不足50%的可能性小于2.5%(假设分布是对称的)。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

语言模型技术

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

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

同济大学机构
推荐文章
暂无评论
暂无评论~