当前位置:   article > 正文

InternLM2 技术报告——社区翻译版_agieval 5 shot

agieval 5 shot

InternLM2技术报告于近日正式对外发布,不少社区大佬自发地参与到报告的翻译与解读中来。本文为社区用户翻译的InternLM2技术报告原文,分享给大家~

论文地址:

https://arxiv.org/pdf/2403.17297.pdf

摘要

大型语言模型(LLMs)如ChatGPT和GPT-4的发展引发了关于通用人工智能(AGI)来临的讨论。然而,将这样的进步应用到开源模型中一直颇具挑战。本文介绍InternLM2,一个开源的大语言模型,它在6个维度和30个基准的全面评估中超越了其前身,特别是在长序列建模和开放性主观评估方面,通过创新的预训练和优化技术实现了这一突破。InternLM2详细阐述了预训练过程中各类数据的准备,包括文本、代码和长文本数据。InternLM2有效地捕捉长期依赖性,预训练阶段从4k个token开始,然后扩展到32k个token,其在200k个“大海捞针”测试中的表现优异。InternLM2还通过监督微调(SFT)和一种基于人类反馈的新型条件在线强化学习方法(COOL RLHF)策略进行进一步校准,以解决人类偏好冲突和奖励策略滥用问题。我们通过发布不同训练阶段和模型大小的InternLM2,为社区提供了模型演进的洞察。

1.介绍

自从ChatGPT和GPT-4的出现以来 (OpenAI, 2023),大语言模型(LLMs)在学术界和工业界迅速走红。训练在数十亿令牌上的模型展现了深刻的情感理解和问题解决能力,引发了人们猜测通用人工智能(AGI)时代即将到来。尽管如此,开发出与ChatGPT或GPT-4相当能力的模型的道路仍然模糊不清。开源社区正在努力缩小专有LLM与开源模型之间的差距。在过去的一年里,如LLaMA (Touvron et al., 2023a;b)、Qwen (Bai et al., 2023a)、Mistral (Jiang et al., 2023)和Deepseek (Bi et al., 2024)等一些显著的开源大语言模型取得了显著进步。在这篇论文中,我们介绍了InternLM2,这是一个超越上述模型的新大型语言模型。

大语言模型的发展包括预训练、监督微调(SFT)和基于人类反馈的强化学习(RLHF)等主要阶段 (Ouyang et al., 2022)。预训练主要基于利用大量的自然文本语料库,积累数万亿的token。这个阶段的目标是为大语言模型配备广泛的知识库和基本技能。预训练阶段的数据质量被认为是最重要的因素。然而,过去关于大语言模型的技术报告 (Touvron et al., 2023a;b; Bai etal., 2023a; Bi et al., 2024)很少关注预训练数据的处理。InternLM2详细描述了如何为预训练准备文本、代码和长文本数据。

如何有效地延长大语言模型的上下文长度目前是研究的热点,因为许多下游应用,如检索增强生成(RAG) (Gao et al., 2023)和代理模型 (Xi et al., 2023),依赖于长上下文。InternLM2首先采用分组查询注意力(GQA)来在推断长序列时减少内存占用。在预训练阶段,我们首先使用4k个上下文文本训练InternLM2,然后将训练语料库过渡到高质量的32k文本进行进一步训练。最终,通过位置编码外推 (LocalLLaMA, 2023),InternLM2在200k个上下文中通过了“大海捞针”测试,表现出色。

预训练后,我们使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来确保模型能很好地遵循人类指令并符合人类价值观。我们还在此过程中构建了相应的32k数据,以进一步提升InternLM2的长上下文处理能力。此外,我们引入了条件在线的RLHF(COOL RLHF),它采用条件奖励模型来协调多样但可能冲突的偏好,并通过多轮近端策略优化(Proximal Policy Optimization, PPO)来减少每个阶段出现的奖励滥用问题。为了向社区阐明RLHF的影响,我们还发布了前后RLHF两个阶段的模型,分别命名为InternLM2-Chat-{size}-SFT和InternLM2-Chat-{size}。(这里的size为模型大小)

我们的贡献有两个方面,不仅体现在模型在各种基准测试中的卓越性能,还体现在我们在不同发展阶段全面开发模型的方法。关键点包括

  1. 开源InternLM2模型展现卓越性能: 我们已经开源了不同规模的模型包括1.8B、7B和20B,它们在主观和客观评估中都表现出色。此外,我们还发布了不同阶段的模型,以促进社区分析SFT和RLHF训练后的变化。

  2. 设计带有200k上下文窗口: InternLM2在长序列任务中表现出色,在带有200k上下文的“大海捞针”实验中,几乎完美地识别出所有的“针”。此外,我们提供了所有阶段包括预训练、SFT和RLHF的长文本语言模型的经验。

  3. 综合数据准备指导: 我们详细阐述了为大语言模型(LLM)准备数据的方法,包括预训练数据、特定领域增强数据、监督微调(SFT)和基于人类监督的强化学习(RLHF)数据。这些细节将有助于社区更好地训练LLM。

  4. 创新的RLHF训练技术: 我们引入了条件在线RLHF(COOL RLHF)来调整各种偏好,显著提高了InternLM2在各种主观对话评估中的表现。我们还对RLHF的主观和客观结果进行了初步分析和比较,为社区提供对RLHF的深入理解。

2.基础设施

在这一部分中,我们介绍了在预训练、SFT 和 RLHF 中使用的训练框架 InternEvo。

2.1 InternEvo

我们使用高效的轻量级预训练框架InternEvo进行模型训练。这个框架使得我们能够在数 千个GPU上扩展模型训练。它通过数据、张量、序列和管道并行技术来实现这一点。为了进一步提高GPU内存效率,InternEvo集成了各种Zero Redundancy Optimizer (Rajbhandari et al., 2020) 策略,显著减少了训练所需的内存占用。此外,为了提高硬件利用 率,我们还引入了FlashAttention技术(Dao, 2023)和混合精度训练,使用BF16。

当在数千个GPU上训练InternLM时,InternEvo展现出强大的扩展性能。如图1所示,当使用8个GPU,全局批次大小为400万个令牌训练InternLM-7B时,InternEvo实现了64%的 模型计算量利用率(MFU)。当扩展到1024个GPU时,尽管保持相同的全局批次大小, InternEvo仍能维持惊人的53% MFU。这种级别的扩展性能尤其具有挑战性,因为批次大小保持不变,而随着GPU数量的增加,计算与通信的比例会降低。相比之下,DeepSpeed在使用ZeRO-1和MiCS在1024个GPU上训练InternLM-7B时,只能达到大约36%的MFU。

InternEvo在序列长度方面也表现出强大的扩展性, 支持训练不同规模的LLM, 例如在256,000个令牌的序列长度下训练InternLM-7B, 可以达到接近88%的MFU。 相比之下,DeepSpeed-Ulysses和Megatron-LM只能达到大约65%的MFU。对于更大规模的LLM, 如300亿或700亿参数的模型,训练性能的提升也同样明显。

图1:在使用InternEvo训练InternLM-7B模型时的模型浮点运算利用率 (Model FLOPs Utilization, MFU)。我们通过基准测试,使用4096个令牌的序列长度来评估不同GPU数量下的 训练性能,同时也在128个GPU上测试不同序列长度下的训练性能。

减少通信开销

在分布式大模型训练中,内存使用和通信成本之间存在权衡。最初,通过缩小通信规模(例如,限制在单个节点内的GPU之间通信),可以有效地降低通信成本。基于这一原则,InternEvo通过实现一系列自适应分片技术(如Full-Replica、FullSharding和Partial-Sharding)来应对通信挑战,以实现强大的扩展性能 (Chen et al., 2024b)。 这些技术允许模型状态(参数、梯度和优化器状态)的各个部分独立选择最合适的分片方法和设备网格配置,从而灵活地在GPU基础设施中分布模型状态。InternEvo还引入了一个优化框架,旨在识别最有效的分片因子,以在满足GPU内存限制的同时最小化通信费用。

通信-计算重叠

InternEvo进一步通过精心协调通信和计算,以优化整体系统性能。 在使用参数分片时,模型的所有参数分布在多个GPU上以节省GPU内存。在每个训练步 的每个微批次的前向和反向传播过程中,InternEvo会高效地预加载即将到来的层的完整参数集,同时计算当前层。生成的梯度在参数分片组内通过ReduceScatter进行同步,然后通过AllReduce跨参数分片组同步。这些通信过程巧妙地与反向计算重叠,最大化训练管道的效率。对于优化器状态分片,当GPU在分片组内通过Broadcast广播更新的参数时, InternEvo会与下一个训练步骤的前向计算进行战略重叠。这些创新的重叠方法有效地平衡了通信开销和计算执行时间,显著提高了整体系统性能。

长序列训练

长序列训练的主要挑战之一是计算速度和通信开销之间的权衡。InternEvo将GPU内存管理分解为四个并行维度(数据、 张量、 序列和管道)和三个分片维度(参数、梯度和优化器状态)(Chen et al., 2024a)。我们对每个维度的内存和通信成本进行了详尽分析,并使用执行模拟器来识别和实施最优的并行化策略。根据训练规 模、序列长度、模型大小和批量大小,可以自动搜索最优执行计划。通过这种执行计划, InternEvo能够处理长达100万个令牌的长序列训练。此外,InternEvo还实施了内存管理技术来减少GPU内存碎片,这是长序列训练场景中的常见问题。它使用内存池进行统一内存管理,并引入了一种碎片整理技术,以主动合并小内存块,防止内存不足错误。

容错性

我们还解决了在GPU数据中心高效训练大模型的挑战,这些数据中心经常面临频繁的硬件故障、复杂的并行化策略和资源利用率不平衡等问题。我们对GPU数据中心六个 月的大模型开发工作负载进行了深入的特性研究 (Hu et al., 2024)。研究发现大模型与先前的深度学习工作负载存在差异,并探索了资源利用率模式和任务失败的影响。根据我们的分析,我们引入了两个系统努力:一个容错的预训练系统,通过诊断大模型相关的故障并自动恢复来提高容错性;以及一个为评估任务设计的解耦调度系统,提供及时的模型性能反馈。

在我们的实现中,我们整合了异步保存机制,定期在预定义的时间间隔内将模型权重和优化器状态存档到分布式文件和对象存储。在整个训练过程中,每个GPU首先在本地存储 中保存模型状态,然后异步上传到远程分布式存储系统。这个双步骤过程确保了在系统自 动检测到偶尔的硬件或网络故障时,仅丢失少量的训练进度。为了优化存储空间,我们系统地将这些临时模型检查点从热点存储转移到成本效益高的冷存储。此外,我们的系统设计能够无缝地在并行化配置更改时恢复模型训练,为训练管道提供了灵活性和连续性。

InternEvo的效率在人类反馈强化学习(RLHF)阶段也得到了成功验证,该阶段涉及多款大型语言模型进行互动训练。例如,在Proximal Policy Optimization (PPO) 过程中,我们使用了四个同样规模的模型,其中两个进行训练。InternEvo使得每个模型能够在最优配置下运行。为了增强多模型间的协同,我们开发了一种基于InternEvo和Ray的创新RLHF框架。这个框架以灵活性和可扩展性为特点,能够在大规模环境中高效运作。它能够与各种大型语言模型执行引擎集成,并支持多种算法设计。关于”Alignment”概念的详细描述,请参阅Section 4。

2.2 模型结构

Transformer(Vaswani et al. (2017))由于其出色的并行化能力,已经成为过去大语言模型(LLMs)的主流选择,这充分利用了GPU的威力(Brown et al. (2020); Chowdhery et al. (2023); Zeng et al. (2023))。LLaMA(Touvron et al. (2023a))在Transformer架构基础上进行了改进,将LayerNorm(Ba et al. (2016))替换为RMSNorm(Zhang & Sennrich (2019)),并采用SwiGLU(Shazeer (2020))作为激活函数,从而提高了训练效率和性能。 自从LLaMA(Touvron et al. (2023a))发布以来,社区积极地扩展了基于LLaMA架构的生态系统,包括高效推理的提升(lla (2023))和运算符优化(Dao (2023))等。为了确保我们的模型InternLM2能无缝融入这个成熟的生态系统,与Falcon(Almazrouei et al. (2023))、Qwen(Bai et al. (2023a))、Baichuan(Yang et al. (2023))、Mistral(Jiang et al. (2023))等知名LLMs保持一致,我们选择遵循LLaMA的结构设计原则。为了提高效率,我们将\emph{W}_{k}\emph{W}_{q}\emph{W}_{v}矩阵合并,这在预训练阶段带来了超过5%的训练加速。此外,为了更好地支持多样化的张量并行(tp)变换,我们重新配置了矩阵布局。对于每个head的\emph{W}_{k}\emph{W}_{q}\emph{W}_{v},我们采用了交错的方式,如图2所示。

图 2: 不同的权重矩阵布局导致在调整张量并行性(TP)大小时产生不同的复杂性。(Tensor Parallelism)

这种设计修改使得可以通过分割或沿最后一个维度连接矩阵来调整张量并行大小,从而增强了模型在不同分布式计算环境中的灵活性。InternLM2的目标是处理超过32K的上下文,因此InternLM2系列模型都采用了分组查询注意力(GQA)(Ainslie et al. (2023)),以实现高速度和低GPU内存下的长序列推理。

3.预训练

这一部分我们介绍预训练数据、预训练设置以及三个预训练阶段。

3.1 预训练数据

大规模语言模型(LLM)的预训练深受数据的影响,数据加工主要面对的挑战包含敏感数据的处理、全面知识的覆盖以及效率与质量的平衡。在本节中将介绍我们在通用领域的文本数据、编程语言相关数据和长文本数据的处理流程。

3.1.1 文本数据

我们的预训练数据集的来源为网页、论文、专利和书籍。为了将这些原始数据转化为预训练数据集,我们首先将所有数据标准化为指定格式,然后根据内容类型和语言进行分类,并将结果存储为JSON Lines(jsonl)格式;然后,对所有数据,我们应用了包括基于规则的过滤、数据去重、安全过滤和质量过滤等多个处理步骤。这使得我们得到了一个丰富、安全且高质量的文本数据集。

数据来源分布

我们根据数据来源对预训练数据集中的文档数量、存储容量和容量占比进行了统计分析,结果如表1所示。其中,主要来源是中文和英文网页,占总量的86.46%。尽管其他来源(如书籍和技术文献)的数据量占比相对较少,但它们的平均文档长度更长、内容质量相对较高,因此同样重要。

Source

Docs (M rows)

Bytes (GB)

Bytes-percent

en-books

0.50

220.14

1.63%

en-techlit

59.27

576.48

4.27%

en-webpages

3614.07

9129.39

67.51%

zh-books

0.71

366.82

2.71%

zh-techlit

89.59

668.19

4.94%

zh-webpages

928.94

2562.86

18.95%

表1:来自不同来源的预训练数据汇总

数据处理流程

本工作中使用的数据处理流程如图3所示。整个数据处理流程首先将来自不同来源的数据标准化以获得格式化数据。然后,使用启发式统计规则对数据进行过滤以获得干净数据。接下来,使用局部敏感哈希(LSH)方法对数据去重以获得去重数据。然后,我们应用一个复合安全策略对数据进行过滤,得到安全数据。我们对不同来源的数据采用了不同的质量过滤策略,最终获得高质量预训练数据

图3:数据处理流程

数据格式化

我们将以网页数据为例详细介绍数据处理流程。我们的网页数据主要来自Common Crawl。首先,我们需要解压缩原始的Warc格式文件,并使用Trafilatura (Barbaresi, 2021)进行HTML解析和主文本提取。然后,我们使用pycld2库进行语言检测和主文本分类。最后,我们为数据分配一个唯一标识符,并以jsonl(JSON行)格式存储,从而获得格式化数据

基于规则的处理

从互联网随机提取的网页数据通常包含大量低质量数据,如解析错误、格式错误和非自然语言文本。常见的做法是设计基于规则的正则化和过滤方法来修改和过滤数据,如Gopher (Rae et al., 2021)、C4 (Dodge et al., 2021)和RefinedWeb (Penedo et al., 2023)。基于对数据的观察,我们设计了一系列启发式过滤规则,重点关注分隔和换行中的异常、异常字符的频率以及标点符号的分布。通过应用这些过滤器,我们得到了干净数据

去重

互联网上存在的大量重复文本会对模型训练产生负面影响。因此,我们采用基于Locality-Sensitive Hashing (LSH)的方法对数据进行模糊去重。更具体地说,我们使用MinHash方法(Broder, 1997),在文档的5-gram上使用128个哈希函数建立签名,并使用0.7作为去重阈值。我们的目标是保留最新数据,即优先考虑具有较大Common Crawl数据集版本号的数据。在LSH去重后,我们得到了去重数据

安全过滤

互联网上充斥着有毒和色情的内容,使用这些内容进行模型训练会对模型的表现产生负面影响,增加生成不安全内容的可能性。因此,我们采用了一种综合性的安全策略,结合了“域名屏蔽”、“关键词屏蔽”、“色情内容分类器”和“有害性分类器”来过滤数据。具体来说,我们构建了一个包含大约1300万个不安全域名的屏蔽域名列表,以及一个包含36,289个不安全词汇的屏蔽词列表,用于初步的数据过滤。考虑到关键词屏蔽可能会无意中排除大量数据,我们在编制屏蔽词列表时采取了谨慎的方法。

为了进一步提高不安全内容的检测率,我们使用了来自Kaggle的“有害评论分类挑战赛(Toxic Comment Classification Challenge)”数据集对BERT模型进行了微调,从而得到了一个有害性分类器。我们从去重后的数据中抽取了一些样本,并使用Perspective API对其进行了标注来创建色情分类数据集然后,我们用这个数据集微调BERT模型,产生一个色情分类器。最后,通过使用这两个分类器对数据进行二次过滤,过滤掉分数低于阈值的数据,我们得到了安全数据

质量过滤

与书籍、论文和专利等来源相比,从互联网获取的数据包含大量低质量内容。根据我们的观察,这种低质量内容的主要原因是两个方面:1. 互联网上充斥着营销广告,这些广告往往重复性较强,信息含量较低。2. 许多网页由文章摘要或产品描述的列表组成,导致提取的文本难以阅读且缺乏逻辑连贯性。

为了过滤出这些低质量内容,我们首先组织了人工数据标注。在广告分类任务中,标注人员被要求识别数据中是否包含广告内容(无论是整体还是部分广告都被标记为低质量)。在流畅性分类任务中,标注人员被要求在一致性、噪声、信息含量和语法四个维度上对数据进行评分,从而得到一个全面的流畅性得分。然后我们使用这些标注的数据微调BERT模型,得到一个广告分类器和一个流畅性分类器。最后,通过使用这两个分类器对数据进行二次过滤,过滤掉得分低于阈值的数据,我们得到了高质量预训练数据

3.1.2 代码数据

编程是LLM的一项关键技能,它为多种下游应用提供支持,例如编码辅助、软件开发以及构建可使用工具的代理。此外,(Groeneveld et al. (2024)) 指出,通过在代码数据上进行训练可以增强LLM的推理能力,因为代码通常比自然语言结构更清晰、更严谨、更可预测。

图4:预训练语料库中的代码数据统计

代码数据的来源有GitHub、公共数据集以及一些与编程相关的在线资源:如问答论坛、教程网站和API文档等。统计数据如图4所示。

2反映了基于我们训练的评分模型的数据质量评估。高质量数据将具有更高的采样权重,并可以在预训练阶段进行多次训练。中等质量数据具有正常的采样权重,通常训练一次。低质量数据被排除在外,因为我们的实证发现,尽管它们的比例相对较小,但去除它们对于优化模型性能和确保训练稳定性至关重要。

High

Moderate

Low

Bytes (GB)

Percentage

Bytes (GB)

Percentage

Bytes (GB)

Percentage

105.6

16.8%

440.1

69.9%

83.85

13.3%

表2:基于可学习分类器的代码数据质量统计,其中高质量数据将被多次训练,中等质量数据将被训练一次,低质量数据将被丢弃。那些数据量比较少的编程语言的数据将被保留,不会在统计中考虑

格式清理

所有数据都转换为统一的Markdown格式。尽管我们并没有在格式清理上投入太多的精力,但是仍然有一小部分数据中出现了损坏的HTML或XML格式,我们还是应用了一套启发式规则来确保数据的格式正确。我们选择Markdown格式是因为它能最大化的减少的格式化后的 tokens 开销,并且它对代码和自然语言交织的数据具有更好的兼容性。因涉及根据代码之间的依赖关系连接多个代码文件,预训练实际使用的数据格式更为复杂。主要思想是利用交织了代码和自然语言的数据,这对于教会模型编程至关重要。这一点在最近的研究中也有提及(Guo et al., 2024)。

数据去重

代码数据的去重操作与自然语言的去重操作类似,但除了分词,因为这会影响超参数的选择。例如,Python示例使用两个空格、四个空格或制表符来表示缩进。传统的空格分词器,或者为自然语言定制的分词器,可能会错误地将这些示例评估为不同的数据。我们认为,一个有效的分词器对于提高去重策略的整体效果至关重要。尽管最近的研究已经探讨了在段落或行级别进行细粒度去重,但我们仍然在文件级别进行去重,以保持上下文的完整性。

质量过滤

数据质量是LLM研究中一个关键而模糊的方面,主要是难以量化其对模型性能影响。我们设计的质量过滤流程是混合的和多阶段的,包含了基于规则的和基于模型的质量评分器。其中基于规则的评分器是启发式的且因不同的编程语言而各不相同,因为我们发现代码风格不是一个可靠的优质指标,并且会错误地将许多代码分类为低质量。对于基于模型的评分器,我们评估了几种骨干模型,用大约50,000个标记样本训练它们。然而,我们观察到评分器的评估与人类的评估之间的相关性在不同语言之间存在差异,而且扩大训练集并没有显著提高评分器的准确性。因此,我们只在那些模型评估与人类标注的验证集上的评估相一致的编程语言中,使用基于模型的评分器。

图5:代码质量评分器的迭代提炼标注流程

为了获得代码质量评分器的可靠标注,我们引入了一个迭代标注流程(如图5所示),以解决代码质量定义模糊的挑战。对于人类专家来说,确定对教授大语言模型(LLM)有帮助的代码同样不是一件小事,例如,一个广为人知的代码库可能对初学者来说过于复杂。我们提出的迭代标注工作流程允许标注人员验证模型预测结果,并相应地完善标注指南。为了提高标注效率,我们只要求标注人员检查评分器以高置信度标记为高质量和低质量的样本。此外,在每次迭代中都有一个自动验证过程,以确保之前标注的样本被评分器正确分类,这在图中以虚线表示。在实际操作中,我们进行了三次迭代才最终确定了我们的评分模型。

依赖排序 InternLM2的训练上下文窗口已扩展到32,000个tokens,这个长度可以允许利用代码仓库的整个上下文。但是因为在之前的数据处理步骤中,比如对代码文件的扩展名过滤和去重等操作,可能已经破坏了代码仓库的结构。所以我们首先重新组合来自同一个仓库的代码文件,然后通过依赖排序以建立一个拼接这些文件的序列。这样一个代码仓库将被视为一个由多个代码块组成的大Markdown文件,这使得模型能够学习跨文件之间的依赖关系。

我们采用正则表达式来检测各种编程语言之间的“import”关系,并使用拓扑排序来确定文件的拼接顺序。在实践中,文件的排列可能会打破文件夹边界,导致来自多个子文件夹的文件以交错的方式排列。对于非代码文件,如Markdown和其他文档,我们把它们放在同一子文件夹中的第一个代码文件之前。

对于一些特殊情况,如代码文件之间存在的多重依赖路径,我们选择最短的路径来处理,对于“import”关系图中的循环引用,我们使用字母顺序来决定引用的起始点。寻找“import”关系的一个技巧是解决好批量导入问题,例如“__init__.py”或“#include xx.h”。这些文件可能导入了一大批未使用的依赖项,因此我们应用启发式规则来细化我们对“import”关系的检测,确保我们能够准确识别并在更精细的层面上处理这些关系。

3.1.3 长上下文

处理非常长的上下文(超过32K个 tokens )是在LLM研究中一个日益受到关注的话题,它拓宽并促进了LLM在应用领域的发展,例如书籍摘要、支持长期对话以及处理涉及复杂推理步骤的任务等。预训练数据是扩大模型上下文窗口的一个关键因素。我们遵循 Lv et al. (2024) 中提到的准备长文本预训练数据的工作,其中包括附加的实验和讨论。我们在下文中仅概述InternLM2中使用的数据准备工作。

数据过滤流水线 我们的数据过滤流水线旨在过滤掉低质量的长文本数据。它包括三个阶段:a)长度选择,这是一个基于规则的过滤器,选取超过32K字节的样本;b)统计过滤器,利用统计特征来识别和移除异常数据;c)困惑度过滤器,利用困惑度的差异来评估文本片段之间的连贯性,过滤掉上下文不连贯的样本。需要注意的是,选定用于长上下文训练的所有数据都是标准预训练语料库的一个子集,这意味着长上下文数据至少在预训练期间会被学习两次。

统计过滤器 我们使用各种词汇和语言特征来构建我们的统计过滤器。不符合既定规则的数据样本被排除在预训练语料库之外。这些过滤器的完整列表可以在 Lv et al. (2024) 中找到。一个典型的过滤器是存在连词和其他暗示话语结构的词,比如“Especially”(特别是)、“Formally”(理论上)等。设计这些过滤器的总体指导思想是过滤掉无意义的数据,而不是选择最高质量的数据。统计过滤器对长文本数据特别有效,因为统计特征比短文本数据中的统计特征更加一致。例如,20个 token 的文本可能不会产生可靠的统计数据,但32K个 token 的文本将具有更清晰的统计特征分布。

困惑度过滤器 困惑度通常被视为文本序列概率\boldsymbol{\emph{P(X)}}的估计器,我们稍微改变了它的使用,以估计两个文本片段之间的条件概率\emph{P}(\boldsymbol{\emph{S}}_{2} | \emph{S}_{1}),其中\emph{S}_{1}\boldsymbol{\emph{S}}_{2}的前置内容。当\emph{S}_{1}\boldsymbol{\emph{S}}_{2}高度相关时,条件概率应该高于单独估计\boldsymbol{\emph{S}}_{2}的概率,这也意味着负的困惑度差异。相反,如果概率变化方向相反,意味着\emph{S}_{1}是一个分散性的上下文,它应该从预训练语料库中移除。理想情况下,添加更多上下文不应该影响后续文本的可预测性。然而,我们观察到在不正确拼接的文本的情况下会出现例外,比如失败的HTML解析、随机社交媒体片段以及源自复杂布局的源中的识别错误等其他情况。请注意,我们仅基于困惑度差异而不是困惑度本身来过滤数据,这可以在很大程度上减少估计器本身引入的偏差(使用哪个模型来计算困惑度)。困惑度估计器的偏差已在 Wettig et al. (2024)Sachdeva et al. (2024)中讨论。

阈值选择 选择适当的阈值是数据过滤过程的关键且具有挑战性的部分,这一挑战因我们构建了许多过滤器而变得更加严峻。我们在设定阈值方面有两个经验教训:

为每个领域定制阈值,而不是寻求一个普遍的解决方案。例如,针对连词的统计过滤器不适用于通常没有任何连词的代码数据。同样,教科书、研究论文、小说和专利各自具有独特的特征。一个普遍的阈值可能会错误地分类大量数据。同样的逻辑也适用于在不同语言之间设定阈值;因此,我们针对每个领域单独调整阈值。

使用验证集来简化过程,只关注边缘案例。与基于学习的特征提取器或评分器不同,我们的统计和困惑度过滤器在同一领域内产生平滑的结果。这使我们能够专注于靠近阈值的样本,简化阈值的调整过程,因为我们只需要决定是降低还是提高它们。Lv et al. (2024) 展示了特定过滤器在数据集上的得分,证明了我们提出的过滤器的可解释性。

6 展示了经过所有提出的过滤器处理,数据的前后分布的情况。整个过滤过程移除了大量网页(Common Crawl)和专利数据,而大多数书籍和论文数据都被保留了下来。


图6:(a)过滤前长文本数据的统计。(b)过滤后长文本数据的统计。

3.2 预训练设置

在这一部分,我们介绍了分词(Tokenization)和预训练的超参数。

3.2.1 分词(Tokenization)

我们选择使用GPT-4的tokenization方法,因为它在压缩各种文本内容方面非常高效。我们的主要参考是cl100K词汇表,它主要包含英语和编程语言的 token,共计100,256条,其中包括不到3,000个中文 token。为了在处理中文文本时优化InternLM的压缩率,同时将总体词汇量保持在100,000以下,我们从cl100k词汇中仔细挑选了前60,004个token,并将其与32,397个中文token集成。此外,我们还加入了147个备用token,最终得到的词汇量符合256的倍数,从而便于高效训练。

3.2.2 预训练超参数

Params

\emph{n}_{layers}

\boldsymbol{\emph{n}}_{dim}

\boldsymbol{\emph{n}}_{kv-heads}

\emph{n}_{q-per-head}

Learning Rate

Batch size

1.8B

24

2048

8

2

3e-4

4M

7B

32

4096

8

4

3e-4

4M

20B

48

6144

8

6

3e-4

5M

表3:InternLM2模型的超参数。

基本超参数如上表3所示。在训练过程中,我们使用AdamW (Loshchilov & Hutter, 2019)优化模型,其参数设置为

β1=0.9,β2=0.95,ϵ=1e8
weight_decay=0.1
。我们采用余弦学习率衰减,学习率衰减至其最大值的10%。

3.3 预训练阶段

用于预训练1.8B、7B和20B模型的总的token数范围从2.0T到2.6T,预训练过程包括三个不同的阶段。在第一阶段,我们使用了长度不超过4k的预训练语料库。在第二阶段,我们包括了长度不超过32k的50%的预训练语料库。在第三阶段,我们使用了特定能力的增强数据。在每一阶段,我们都混合了英文、中文和代码数据。

3.3.1 4k 上下文训练

大约90%的训练步骤中,我们使用了长度多达4096个tokens的数据进行训练。如果数据长度超过4096,我们会强制截断它,剩余部分也会进行训练。

3.3.2 长上下文训练

扩展上下文窗口可以显著提高 LLM 在各种应用中的表现,例如检索增强生成 (Gao et al., 2023) 和智能代理(Xi et al., 2023)。受到在长上下文训练方面的最新进展的启发(Rozière et al., 2023; Xiong et al., 2023; Liu et al., 2023b),我们的InternLM2训练过程从4K上下文的语料库开始,然后过渡到32K上下文的语料库。尽管使用了32K长度的语料库,仍有50%的数据长度短于4096个tokens。这个长上下文训练阶段占整个预训练过程的大约9%。 为了适应这些更长的序列,确保为长上下文提供更有效的位置编码(Liu et al., 2023b),我们将旋转位置嵌入(RoPE)的基础从50,000调整到1,000,000。得益于 InternEvo (Chen et al., 2024a) 和 flash attention (Dao, 2023) 的良好可扩展性,当上下文窗口从4K更改为32K时,训练速度仅降低了40%。

3.3.3 特定能力增强训练

逻辑推理、数学问题解决和知识记忆等能力是大型语言模型所期望的关键能力。然而,在预训练过程中,与这些能力相关的高质量数据在整个语料库中分布稀疏,这使得模型难以精通这些能力。之前的工作,如Qwen (Bai et al., 2023a),GLM-130B (Zeng et al., 2023),Nemotron-4 (Parmar et al., 2024),已尝试在预训练阶段结合基于指令的或高质量的数据来增强这些能力。在InternLM 2中,我们收集了一个丰富的数据集,其中包含精心策划的高质量检索数据和来自Huggingface数据集平台的各种类型的开源数据。我们在这个数据集中总共收集了240亿个tokens,这个语料库的详细信息如表4所示。我们过滤出测试集相关数据,并按照第5.4节所示进行了污染测试。为了使模型更好地拟合这些数据,我们采用了较小的学习率和批量大小。

经过特定能力增强训练阶段之后,InternLM2模型在编程、推理、问题回答和考试等方面表现出显著的性能提升,详细的评估结果将在接下来的评估部分中展示。为了助力社区的研究工作,我们发布了增强训练前后的 checkpoints,分别命名为InternLM2-{size}-Base和InternLM2-{size}。

Category

Tokens(B)

Ratio(%)

Retrieved Stem Data

15.97

65

Retrieved Special Domain Data

2.17

8

Selected High Quality Data

6.26

26

Total

24.40

100

表4:特定能力增强训练的详细数据

4.对齐

预训练阶段为大型语言模型(LLMs)赋予了解决各种任务所需的基础能力和知识。我们进一步微调LLMs,以充分激发其能力,并指导LLMs作为有益和无害的AI助手。这一阶段,也常被称为“对齐”(Alignment),通常包含两个阶段:监督微调(SFT)和基于人类反馈的强化学习(RLHF)。在SFT阶段,我们通过高质量指令数据(见4.1 监督微调)微调模型,使其遵循多种人类指令。然后我们提出了带人类反馈的条件在线强化学习(COnditionalOnLine Reinforcement Learning with Human Feedback,COOL RLHF),它应用了一种新颖的条件奖励模型,可以调和不同的人类偏好(例如,多步推理准确性、有益性、无害性),并进行三轮在线RLHF以减少奖励黑客攻击(见4.2 基于人类反馈的条件在线强化学习COOL RLHF)。在对齐阶段,我们通过在SFT和RLHF阶段利用长上下文预训练数据来保持LLMs的长上下文能力(见4.3 长文本微调)。我们还介绍了我们提升LLMs工具利用能力的实践(参见4.4 工具增强的LLMs)。

4.1 监督微调

在监督微调(SFT)阶段,我们使用了一个包含1000万个指令数据实例的数据集,这个数据集中的的指令数据实例已经被筛选以确保它们的有用性和无害性。该数据集涵盖了各种主题,包括一般对话、NLP任务、数学问题、代码生成和函数调用等。图7展示了SFT数据主题的详细分布。为了便于表示这些各种任务,我们将数据样本转换为ChatML(Cha)格式。7B和20B模型都使用AdamW优化器进行了一轮训练,初始学习率设为4e-5。

图7: 监督微调数据实例的主题分布

4.2 基于人类反馈的条件在线强化学习COOL RLHF

基于人类反馈的强化学习(RLHF)(Christiano et al., 2017; Ouyang et al., 2022) 是大型语言模型领域内的一种创新方法。通过融入人类反馈,RLHF创建了了代理人类偏好的奖励模型,从而通过使用近端策略优化(Proximal Policy Optimization, PPO)(Schulman et al., 2017) 为大型语言模型(LLM)提供用于学习的奖励信号。这种方法使得模型能更好地理解和执行难以通过传统方法定义的任务。

尽管RLHF取得了成就,但其实际应用中仍存在一些问题。首先是偏好冲突。例如,在开发对话系统时,我们期望它提供有用的信息(有益)的同时不产生有害或不适当的内容(无害)。然而,在实际中,这两者往往无法同时满足,因为提供有用的信息在某些情况下可能涉及敏感或高风险内容。现有的RLHF方法 (Touvron et al., 2023b; Dai et al., 2023; Wu et al., 2023) 通常依赖于多个偏好模型进行评分,这也使得训练管道中引入了更多的模型,从而增加了计算成本并减慢了训练速度。其次,RLHF面临奖励滥用(reward hacking)的问题,特别是当模型规模增大,策略变得更强大时 (Manheim & Garrabrant, 2018; Gao et al., 2022),模型可能会通过捷径“欺骗”奖励系统以获得高分,而不是真正学习期望的行为。这导致模型以非预期的方式最大化奖励,严重影响LLMs的有效性和可靠性。

为了解决这些问题,我们提出了条件在线RLHF(Conditional OnLine RLHF, COOL RLHF)。COOL RLHF首先引入了一个条件奖励机制来调和不同的偏好,允许奖励模型根据特定条件动态地分配其注意力到各种偏好上,从而最优地整合多个偏好。此外,COOL RLHF采用多轮在线RLHF策略,以使LLM能够快速适应新的人类反馈,减少奖励滥用的发生。

4.2.1 条件奖励模型

条件奖励模型为解决RLHF方法中先前偏好建模的固有挑战提供了一种创新性解决方案。传统方法通常依赖于多个偏好模型来解决不同领域中的偏好冲突与传统方法不同(见图8(a)),与传统方法不同,条件奖励模型为不同类型的偏好引入不同的系统提示,从而有效地在一个奖励模型中模拟各种偏好。

图8:条件奖励模型的结构。(a)LLaMA2 采用了不同的奖励模型来解决偏好冲突的问题。 (b)我们提出的条件奖励模型,利用条件系统提示来协调不同领域中的偏好数据,从而在一个单一的奖励模型中有效地处理各种偏好。

具体来说,如图8(b)所示,条件奖励模型使用不同的系统提示来无缝融合来自不同领域的数据。由于奖励模型是基于预训练的SFT模型,该模型已经学会了遵循各种人类指令,因此我们也让奖励模型遵循不同的系统提示,以适应不同场景的多样化偏好。在条件奖励模型中,系统提示不仅仅是其输入的一个组成部分;它们也是指导奖励分数与不同场景中特定偏好对齐的关键工具。这种整合使得奖励模型在没有牺牲准确性的情况下,能够统一管理矛盾和复杂的人类偏好。

数据组成 条件奖励模型的训练过程涉及一个庞大的数据集,包括对话、文章写作、诗歌、总结、编程、数学和格式化输出等各种领域,共有高达240万二进制偏好对。这个全面的数据集确保了模型的广泛适应性,并增强了其在更广泛、更复杂场景下进行强化学习的能力。因此,通过使用条件系统提示方法,奖励模型可以响应复杂的人类需求,在PPO阶段提供对奖励分数的更精细控制。

损失函数 此外,为了减少数据集中简单样本和困难样本之间不平衡的影响,受到Focal Loss(Lin et al., 2017)的启发,我们修改了原始排名损失函数(Burges et al., 2005)。我们在排名损失中添加了一个难度衰减系数,使得困难样本的损失值更大,简单样本的损失值更小,以防止过拟合量简单样本。聚焦排名损失(Focal Ranking Loss)的公式为

其中 P_{i,j}=\sigma (r_{i}-r_{j}) 表示 reward_{i} 大于 reward_{j}  的概率。难度衰减系数仅在模型正确预测训练样本的偏好时生效,即P_{i,j}> 0.5 时,否则它等于1。参数 \gamma 表示一个用于调节难度衰减比的超参数。在这里,我们默认将其设置为2。同时,为确保奖励模型在不同训练过程中输出的分数稳定且一致,我们引入了对数障碍惩罚到奖励分数中,以将奖励分数的分布限制在-5到5的范围内,定义为

这一约束至关重要,因为它消除了在PPO阶段需要调整与奖励相关的超参数的需要,这些超参数可能会由于不同奖励模型中奖励分数分布的差异而潜在产生。 总的来说,奖励模型的损失函数是

参数 \lambda 是一个权重系数,用于平衡 \boldsymbol{\emph{Lranking}} 和 \emph{Lpenalty} 的贡献。基于我们在初步实验结果中的观察, 我们将其默认值设置为0.02。这些改进提高了奖励模型的鲁棒性和一致性表现,特别是在困难样本与简单样本不平衡的数据集中。

训练细节 在我们的实验中,我们将奖励模型的大小与PPO中使用的演员模型大小对齐。我们遵循InstructGPT(Ouyang et al., 2022)中描述的方法,使用SFT模型权重初始化奖励模型,将输出层修改为一个随机初始化的一维线性映射层。我们的批构建策略主要关注将偏好数据的总体长度固定为每个批次的16384个token,而不是限制偏好对的数量,以避免由于数据填充导致的训练低效。最大上下文长度设置为8192。在每个序列的末尾添加一个特殊token,并使用其输出值作为奖励分数。我们采用AdamW作为优化器。学习率遵循余弦退火策略,从1e-5逐渐降低到5e-6,权重衰减设置为0.01。为了防止过拟合,模型仅训练一个epoch。

4.2.2 Online RLHF

在获得条件奖励模型之后,我们使用近端策略优化(Proximal Policy Optimization, PPO)方法将大型语言模型(LLMs)与由奖励模型表示的人类偏好对齐 (Ouyang et al., 2022)。为了应对PPO阶段中的奖励滥用的挑战,我们引入了一种在线(Online Reinforcement Learning with Human, Online RLHF)方法,分为两个不同的路径:快速路径(Fast Path)用于立即、有针对性的改进,而慢速路径(Fast Path)用于长期、全面地改进奖励模型。快速路径和慢速路径相互补充,为减轻奖励滥用并提升经人类反馈训练的LLMs的性能和可靠性提供了一个适应性框架。

快速路径(Fast Path) Online RLHF中的快速路径专注于通过有针对性的补丁快速识别和纠正奖励滥用事件,以提高奖励模型的可靠性。随着PPO训练的进行,LLMs被引导向高奖励区域,这通常会暴露出更多容易检测到的奖励滥用情况。在每个RLHF轮次之后我们识别出奖励滥用模式,然后通过比较当前轮次早期和晚期PPO模型生成的响应,来构建强调这些模式的偏好对。将20到100个这样的偏好对纳入训练过程足以显著防止相应的奖励滥用模式。这个过程使得奖励模型能够迅速修复新出现的奖励滥用行为,提高奖励模型的可靠性和对期望结果的遵守。

慢速路径(Fast Path) 与专注于修复奖励滥用的快速路径相比,慢速路径遵循先前工作 (Bai et al., 2022),旨在通过包含来自最新且能力最强的模型的LLMs生成的响应,对奖励模型的上界进行全面改进,特别是奖励模型在高奖励区域的可靠性和鲁棒性。为了实现这一点,我们使用训练过程中各个阶段的模型(包括SFT模型、早期PPO模型和晚期PPO模型)生成的响应来进行配对比较。这些配对随后呈现给专业的人类标注者以标注他们的偏好。

这样一个过程为奖励模型的细化提供了更为细致且全面的方式,但需要大量的人工标注时间。为了提高在线RLHF的效率,我们仅在实验启动时使用所有先前模型的累积人类偏好(即可能由于人类标注的时间成本而不包括当前轮次模型产生的响应偏好)。通过持续根据人类反馈更新模型,慢速路径确保奖励模型随着人类偏好的复杂性和细微差别而同步发展。

实现 在我们Online RLHF实现中,我们进行了三轮的细化训练。在这些循环中,我们在快速路径中收集了数千个偏好补丁和在线偏好数据,并使用所有先前模型的响应的人类偏好数据来更新奖励模型。每一轮的Online RLHF都提供了宝贵的洞察力,使我们能够动态调整和优化奖励模型,从而提高经人类反馈训练的语言模型的整体性能和可靠性。

4.2.3 PPO 训练细节

在强化学习对齐阶段,我们采用了标准的近端策略优化(Proximal Policy Optimization,PPO)算法,并对它做了一些适应性修改,以确保训练过程更加稳定。该框架包括四个模型:演员模型、评论家模型、参考模型和奖励模型。在训练过程中,后两个模型被冻结,只有前两个模型是主动训练的。值得注意的是,所有这些模型的尺寸都相同,确保了它们处理和生成数据的能力一致。我们在大约400个迭代中遍历了约20万个多样化的查询,并选择在验证集上的最佳检查点进行发布。

图9:评论家模型初始化的消融研究。注意,由于批评家损失的动态范围大,我们使用了对数坐标。

模型初始化 按照常见的做法,我们用SFT模型的权重初始化参考模型和演员模型。评论家模型从奖励模型(不包括线性头)初始化,并经历一个50次的预训练阶段,在此期间演员模型被冻结。在早期训练中这一阶段对于稳定价值估计至关重要,从而避免不稳定值可能带来的负面影响。我们进行了消融研究,比较了评论家模型从奖励模型与SFT模型初始化的效果,如图9所示。我们的结果显示,从奖励模型初始化的评论家模型在PPO训练的前几步损失更大,但在大约20步之后,它始终显示出更低的损失,并为演员模型带来更高的回报。我们推测,在初始阶段观察到的较高损失可能揭示了奖励建模和评论家建模任务之间的根本差异。随后的较低损失可能归因于对世界知识更一致的理解以及对评估原则的更好掌握。

条件奖励 正如之前讨论的那样,我们的奖励模型经过训练,能够适应各种条件。因此,对于来自不同领域的查询,我们在计算奖励分数之前,为每个采样响应添加适当的条件系统提示,如图10所示。这种做法确保了模型的响应与不同领域的要求保持上下文一致。

图10:条件PPO训练的说明。在奖励模型评估之前,向查询与响应中添加了一个适当的条件系统提示。请注意,这个系统提示与另外三个模型无关。

预训练梯度 为了减轻在PPO阶段发生灾难性遗忘的风险,我们采用了InstructGPT方法,加入了预训练损失。预训练损失的系数设为0.5,预训练数据量大约是PPO训练数据量的一半。这一改进有助于保留在初始训练阶段获得的知识,确保模型在适应新反馈和通过PPO学习时保留其基础能力和知识库。

超参数 我们将KL散度系数设为0.01。演员模型评论家模型的学习率分别设为1e-6和5e-6。我们发现,在PPO中较大的 \lambda 值会导致我们的案例中获得更高的奖励,因此我们将其设为0.99。我们采用了一种稍微保守的采样策略,\emph{top-p=0.9}以平衡采样多样性和收敛速度。与一些传统方法不同,我们不应用价值损失剪切或优势归一化。尽管采用了大量的强化学习技巧,但训练过程仍然非常稳定,部分原因是我们细致的在线RLHF工作。

4.3 长文本微调

为了在微调和RLHF之后保留LLM的长上下文能力,我们受到了之前采用长上下文预训练语料库的SFT工作(Xiong et al., 2023)的启发,在SFT和RLHF中继续使用长上下文预训练数据。具体来说,我们使用了两种数据:一种是从书籍中获取的长上下文数据,另一种是从GitHub仓库中获得并通过特定范式连接的长上下文数据,具体如下所述。

为了增强InternLM2的数据分析能力,我们选择了在DS-1000(Lai et al., 2023)中使用的代码仓库作为核心仓库,包括Pandas、Numpy、Tensorflow、Scipy、Scikit-learn、PyTorch和Matplotlib。然后我们在GitHub上搜索了引用这些核心仓库并拥有超过10,000个星标的开源仓库,并对这些仓库进行了与预训练相同的过滤和数据清洗过程。 对于每个仓库,我们首先使用深度优先方法对获得的原始数据进行排序,同时生成所需的提示,简要描述文件内容,如图11所示。随后,我们将处理后的数据按顺序连接,直到达到32k的长度。实验结果表明,长上下文代码数据不仅提高了LLM的长上下文能力,也提高了代码能力。

图11:获取长上下文代码数据的流程示例。

4.4 工具增强的LLMs

一般工具调用 我们采用经过修改的ChatML格式,通过引入“环境”角色来实现通用工具的调用。这种修改在聊天场景中保持了相同的格式,但在采用代理时为模型提供了更清晰的信号。此外,我们定义了两个特定关键词来支持AI代理的多样化目的,即代码解释器(<|interpreter|>)和外部插件(<|plugin|>)。这使得我们可以采用统一的流式格式,处理各种类型的插件扩展和AI环境,同时保持与普通聊天的兼容性。图17显示了一个具体的流式聊天格式示例。为了充分激发InternLM2的代理能力,如Agent-FLAN(Chen et al., 2024c)所述,我们将代理语料库对齐到聊天领域,并按照语言模型的基本能力将其解耦,进行细粒度的训练。

代码解释器 我们还通过将Python代码解释器视为使用工具学习中描述的相同模式的特殊工具,增强了InternLM2-Chat解决数学问题的能力。我们采用了编码与推理交织(RICO)策略,并以迭代的困难案例(hard example)挖掘的方式构建数据,如InternLM-Math (Ying et al., 2024)所述。

5.评测分析

5.1 概述

在本节中,我们全面评测和分析了语言模型在多个领域和任务中的表现。评测主要分为两种类别:(a)下游任务(b)对齐性。对于每个类别,我们进一步将评测任务细分为具体的子任务,以详细了解模型的优点和缺点。最后,我们讨论了语言模型中潜在的数据污染问题及其对模型性能和可靠性的影响。除非另有明确说明,所有评测都使用OpenCompassContributors, 2023b)进行。

5.2 在下游任务上的表现

我们首先详细介绍了多个自然语言处理任务的评估标准和性能指标。我们引入了数据集,解释了实验设置,然后展示了实验结果并进行深入分析,并将我们的模型与最先进(SOTA)的方法进行了比较,以展示我们模型的有效性。语言模型在下游任务上的表现评测将通过六个关键维度进行深入剖析:(1) 综合考试,(2) 语言和知识,(3) 推理和数学,(4) 多编程语言编程,(5) 长文本建模,(6) 工具使用。

5.2.1 综合考试

我们对一系列与考试相关的大型数据集进行了基准测试,包括:

MMLUHendrycks et al., 2020):一个包含57个子任务的多项选项题数据集,涵盖了人文、社会科学、STEM等领域的话题。我们报告了不同模型在该数据集中five-shot的表现。

CMMLULi et al., 2023a):一个针对中国的多选题数据集,包含67个子任务。除了人文、社会科学、STEM等领域的话题外,还包括许多与中国特定相关的任务。我们报告了不同模型在该数据集中five-shot的表现。

C-EvalHuang et al., 2023):一个包含52个子任务和4个难度级别的多选题数据集,涵盖了人文、社会科学、STEM等领域的话题。我们报告了不同模型在该数据集中five-shot的表现。

AGIEvalZhong et al., 2023):一个以人为中心的基准测试,包括多选题和开放式问题。这些问题来自20个官方、公开和高标准的一般人类测试者的入学和资格考试,我们报告了不同模型在该数据集中zero-shot的表现。

GAOKAO-BenchZhang et al., 2023):一个包含2010年至2022年期间的中国高考(高考)的数据集,包括主观和客观问题。我们只评估了客观问题的数据集,我们报告了不同模型在该数据集中zero-shot的表现。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/669585
推荐阅读
相关标签