InternLM2 Technical Report

Abstract

InternLM2是一个开源的LLM(Large Language Models)

InternLM2详细的展示了如何准备训练数据:文本、代码、长上下文数据

InternLM2有效的捕获长依赖关系,初始训练在4k tokens上,而后在32k tokens上预训练并微调,然后在200k tokens上进行测试。

InternLM2使用的对齐方法:

  1. Supervised Fine-Tuning(SFT)
  2. Conditional Online Reinforcement Learning from Human Feedback (COOL RLHF)理解和对齐人类偏好(human preferences,一般以人类反馈来训练一个奖励模型),利用奖励函数中的缺陷(reward hacking,利用奖励函数中的漏洞,来获取更高的奖励分数)来获得更高奖励

1 Introduction

Large Language Models(LLMs)的开发:

  1. Pre-training:大量的语料corpus,和数以亿计的tokens。主要是为LLMs提供管饭的只是资源和基本技能,这一阶段数据的质量至关重要。(InternLM2会详细的展开如何准本text、code、long-context data进行预训练。)
    1. 利用Group Query Attention(GQA用最少的内存,推理更长的语句)
    2. 预训练在4k context texts,继续在32k texts训练
    3. 同构positional encoding extrapolation在Needle-in-a-Haystack测试集上达到200k contexts
  2. Supervised Fine-Tuning(SFT):
  3. Reinforcement Learning from Human Feedback (RLHF)
    1. 引入Conditional OnLine RLHF(COOL RLHF)协调不同但潜在冲突的偏好
    2. Proximal Policy Optimization(PPO)在对此迭代中执行PPO,以减轻每个阶段的reward hacking

InternLM2的贡献:

  1. 模型参数开源:8B、7B、20B
  2. 具有200k上下文窗口:详尽的展示了pretraining、SFT、RLHF
  3. 全面的数据准备指导:pre-training data、domain-specific enhancement data、 SFT data、 RLHF data
  4. 创新的RLHF训练技巧:引入的Conditional Online RLHF(COOL RLHF)

2 Infrastructure

训练框架InternEvo,InternEvo在pre-training、SFT和RLHF都会使用

2.1 InternEvo

InternEvo高效轻量级的预训练框架。

  • 在数千个GPU上并行的组合data、tensor、sequence和pipeline
  • Zero Redundancy Optimizer(ZeRO)显著减少内存占用
  • 结合FlashAttention和mixed-precision BF16增加硬件利用率

计算与通信比率随着gpu数量的增加而降低

  • 减少通信开销:尽量减少通信开销,同时遵守GPU的内存限制。adaptive sharding techniques将通信限制在潜在同一节点的GPU小组。Full-Replica, Full-Sharding和Partial-Sharding允许模型状态的每个组件(parameters、gradients和optimizer states)独立的选择最合适的sharding approach和device mesh configuration,这种灵活性有助于在GPU infrastructure上更细致的分布模型状态。
  • Long-Sequence Training:主要的开销还是计算速度和通信开销。InternEvo将GPU内存管理分解为分层空间four parallel dimensions: data、tensor、sequence和pipeline和three sharding dimensions: parameter、gradient和optimizer state。对每格维度的内存和通信开销进行分析,利用模拟器来计算最佳的并行化策略。可以根据训练规模training scale、序列长度sequence length、模型大小model size和批处理大小batch size自动搜索最优的执行计划。使用内存管理技术减少GPU显存碎片。它使用显存池进行统一管理显存,并引入碎片整理技术,主动整合小显存块以防止显存不足错误。
  • Fault Tolerance:经常需要面临的问题:hardware failure, complex parallelization strategies,和imbalanced resource utilization。为了处理这些错误
    • 容错预训练系统,同构LLM故障诊断增强容错能力
    • 自动恢复
    • 解耦的评估任务调度系统,提供及时的模型性能反馈。
  • weights和optimizer states。在训练过程中,每个GPU首先把model状态缓存到本地,随后一步的上传这些数据到远端分布式存储系统。为了降低存储成本,最终会存储到价格合适的cold storage。
  • Interactive Training: Reinforcement Learning from Human Feedback(RLHF)阶段多个LLMs被部署进行交互式训练。Proximal Policy Optimization(PPO),使用四个等大小的模型并训练其中的两个

2.2 Model Structure

Transformer优于它出色的并行能力,可以充分的利用GPUs,绝大多数LLMs中的backbone都会选择transformer。为了确保InternLM2模型与其他LLms(Falcon、Qwen 、Baichuan、Mistral)无缝对接,选择遵循LLaMA的结构设计原则,为了提高效率,固定

WkWqWv

矩阵,预训练阶段的加速超过5%。

为了更好地支持不同张量并行(tensor parallelism, tp)转换,重新调整了matrix的布局,不是以直接的方式堆叠Wk、Wq和W_v矩阵,而是对每个头部采用交错方法

这种设计修改有利于张量并行大小的调整,可以沿着矩阵的最后一个维度拆分或连接矩阵,从而增强模型在不同分布式计算环境中的灵活性。InternLM2选择Grouped-Query Attention(GQA)以在高速和低GPU内存下进行推断,并且具有很长的上下文.

3 Pre-train

3.1 Pre-training data

3.1.1 Text Data

文本数据包括:web pages、papers、patents和books

将收集到的数据标准化到指定形式、根据类别和语言分类、存储为JSON格式。

预处理过程包括:rule-base filtering, data deduplication,safety filtering和quality filtering

  • Data Source Distribution:

  • Data Process Pipeline :标准化数据得到Format data,启发式的统计规则Clean data,使用Locality-Sensitive Hashing(LSH) 用于deduplication获取Dedup data,复合安全策略过滤数据得到Safe data,不同的质量过滤策略获取High-quality pre-training data。

  • Data Formatting :同过Common Craw获取web page data,解压缩Warc格式文件,然后使用Trafilatura用于HTML解析,提取主要信息,然后使用pycld2库进行主要文本的语言检测和分类,最后指定唯一的标识符,保存为JSON格式,获取Format data。
  • Rule-based Stage:爬虫得到的web数据质量比较低,比如解析错误、格式错误、不是自然语言数据,基于规则的正则化和过滤方法来修改和过滤数据,如Gopher、C4和RefineWeb。InternLM2使用启发式过滤规则,侧重于分隔和换行的异常情况、异常字符的频率和标点符号的分布来获取Clean data。
  • Deduplcation:往来数据中存在大量的重复数据,对模型训练会产生不良影响,利用Locality-Sensitive Hashing(LSH)执行模糊去重复操作。除非特别说明,文章使用MinHash方法,在文档的 5-gram 上建立具有 128 个哈希函数的签名,并使用 0.7 作为重复数据删除的阈值。InternLM2的目标是保留最新的数据,使用更大的 CC 转储数字对数据进行优先排序。在 LSH 重复数据删除后获得了 Dedup data。
  • Safety Filtering:互联网充斥着不良信息,如果用于模型训练,则会降低模型性能并生产不良信息。InternLM2使用综合安全策略组合domain blocking、word blocking、pornography classify和toxicity classifier来过滤数据
  1. domain:13M unsafe domains、36,289 unsafe words
  1. blocking:会过滤到大量数据,因此要特别谨慎。
  1. classifier:使用Toxic Comment Classification Challenge在Kaggle上对BERT进行fine-tuned。
  1. classifier:使用Perspective API标注从Dedup data采样的数据,创建数据集,然后也用BERT进行fine-tuned,过滤后得到Safe data
  • Quality Filtering:safe data中含有大量的low-quality :1、互联网中包含大量广告,这些广告存在大量的重复。2、网页有文章摘要和产品描述列表组成,导致提取文本难以阅读,缺乏逻辑连贯性。
  • advertisements classification task,标注着需要识别文本是否含有广告。对于fluency classification task,标注者需要对四个维度数据进行评分:consistency、noise、information content和grammar得到一个综合性的频率得分。然后使用手动标注的数据对BERT模型进行fine-tuned,就得到了advertisements classifier和fluency classifier,过滤后得到High-quality per-train data。

3.1.2 Code Data

通过对代码数据进行训练来增强推理能力的可能性,因为代码通常比自然语言结构良好、严格和可预测。

Data Source Distribution:数据爬虫来自于GitHub、public datasets和online resource

高质量的数据将具有更高的采样权重,并且可以在预训练阶段进行多次训练迭代。中等质量的数据具有正常的采样权重,通常训练一次。排除了低质量的数据,因为我们的实证结果证实,删除它们对优化模型性能和确保训练稳定性至关重要,尽管它们的比例相对较小。

Format Cleaning 所有的数据都需要转换为unified markdown format。选择Markdown是因为它的简单性——最小化格式化的令牌开销——以及它与交错代码和自然语言的兼容性。

Data Deduplication 重复的代码数据和文本文件处理策略一样。

Quality Filtering 难以量化对模型性能对规模的影响,使用混合、多阶段rule-和model-过滤器。

  • Rule-based:启发式变化的,很容易将大部分代码归档到低质量部分。
  • model-based:扩大训练集并没有显着提高评分器的准确性。

迭代工作流程允许标注者验证模型预测并相应地细化指南。一般使用三次迭代

Dependency sorting : InterML2的上下文窗口是32000 tokens,之前的过滤器可能破坏了代码的文件结构,因此需要在原资源商进行重新连接这些文件。代码存储库将被视为具有代码块的单个长标记文件,这允许模型学习跨文件的依赖关系。

使用正则表达式regular expressions来检测各种编程语言之间的“import”关系,并使用拓扑排序topological sorting来确定文件的连接顺序concatenation oder。

在实践中,文件的排列可能会破坏文件夹边界,从而导致来自多个子文件夹的文件交错序列。非代码文件,例如 markdowns 和其他文档,位于位于同一子文件夹的第一个代码文件之前。

对于“import”关系图中上升和下降之间的多条路径等极端情况,对前者采用较短的路径,并使用字母表来决定后者的起点。寻找“import”关系的一个技巧是解决批处理导入,例如“init.py" 或 "#include xx.h"。这些文件可能导入一堆未使用的依赖项,因此应用启发式规则heuristic rules来细化对“import”关系的检测,确保我们在更精细的级别finer level上准确识别和处理这些关系。

3.1.2 Long Context Data

长上下文数据对提取文章摘要类支持长期对话,并处理复杂推理任务而言非常重要。Pre-training 数据对拓展model’s context window至关重要。

Data Filtering Pipeline:过滤低质量的上下文数据。

  • Length ,基于规则的过滤器,选择超过32K字节的数据样本;
  • Statistical,利用统计特征来识别和删除异常数据
  • Perplexity ,利用复杂度perplexity的差异来评估文本段之间的一致性coherence,过滤掉上下文分散的样本distracting context。

long context data在pre-training至少会训练两次

Statistical Filters 利用各种词汇lexical和语言linguistic特征来构建的统计过滤器statistical filters。设计此类过滤器的总体指导是过滤掉无意义的数据,而不是选择最高质量的数据。统计滤波器对长文本数据特别有效,因为统计特征比短文本数据中的统计特征更加一致.

Perplexity filter Perplexity通常被视为文本序列P(X)概率的估计量,稍微改变其使用来估计两个文本段P(S2|S1)的条件概率,其中S1在S2前面。S1和S2强相关,评估条件概率会比单独评估S2要高。根据复杂度差异perplexity difference而不是复杂度perplexity本身过滤数据,这可以极大地减轻估计器本身引入的偏差。

Threshold Selection:

  • 为每个domain独立设置阈值
  • 使用验证集来简化过程,只关注边缘情况。

3.2 Pre-training Settings

3.2.1 Tokenization :与GPT-4的策略一致,参考cl100k vocabulary,与 256 的倍数一致的词汇量。

3.2.2 Pre-training Hyper-parameters

训练时AdamW 的beta1=0.9,beta2=0.95,epsilon=1e-8,weight_decay = 0.1,选用cosine learning rate decay,学习率是10%

1.8B,7B和20B tokens训练的tokens数在2.0T~2.6T。

  • 长度不超过4k预训练语料。
  • 50%长度不超32k预训练语料。
  • 能力特定的增强数据

数据包含了English、Chinese、code

3.3.1 4k Context Training:对于大约 90% 的训练步骤,我们使用长度高达 4096 个tokens的数据进行训练。如果数据的长度超过 4096,我们会强制截断它并使用剩余的部分进行训练。

3.3.2 Long Context Training:扩展上下文窗口的利用显着提高了大型语言模型 (LLM) 在各种应用中的性能。训练过程从4K上下文语料库开始,随后过渡到32K上下文语料库。

3.3.3 Capability Specific Enhancement Training:推理reasoning、数学问题解决mathematical problem-solving 和知识记忆knowledge memorizing等能力是大型语言模型预期的关键能力。这些专业数据来自huggingface datasets platform。

3.3 Pre-training Phases

4 Alignment

预训练阶段赋予LLMs基础能力和知识。进一步微调 LLM 以充分激发它们的能力并引导 LLM 作为有用且无害的 AI 助手。

4.1 Supervised Fine-Tuning

通过高质量的指令数据微调模型以遵循不同的人类指令。有帮助和无害的10 million instruction data instances。为了便于此类各种任务的通用表示,将数据样本转换为 ChatML (Cha) 格式。7B和20B使用AdamW作为优化器,初始学习率4e-5.

4.2 COOL Reinforcement Learning from Human Feedback

它采用了一种新的条件奖励模型a novel conditional reward model,可以调和人类不同的偏好human preferences(例如,多步推理的准确性、帮助性、无害性),并进行了三轮在线RLHF,以减少奖励黑客行为reward hacking。通过使用近端策略优化(Proximal Policy Optimization, PPO)进行学习,从而为LLM提供奖励信号。方法使模型能够更好地理解和执行传统方法难以定义的任务。

RLHF还有一些问题:

  • preference conflicts(有用的信息和不恰当的信息可能无法同时满足)
  • reward hacking,模型越大有用肯能出现,系统通过作弊的方式得到高分。

Conditional OnLineRLHF(COOL RLHF)首先引入了Conditional Reward机制以协调不同的偏好,这允许奖励模型根据特定条件动态地将其注意力分配到各种偏好,从而最优地整合多个偏好。并使用multi-round Online RLHF。

4.2.1 Conditional Reward Model:条件奖励模型Conditional Reward Model结合了不同类型偏好preference的不同系统提示system prompts,以便在单一奖励模型中有效地模拟各种偏好。

LLaMA2采用不同的奖励模型来解决偏好冲突问题。提出的条件奖励模型利用条件系统提示system prompts来协调不同领域的偏好数据,从而能够使用单个奖励模型对多个偏好进行建模。

在条件奖励模型Conditional Reward Model中,系统提示system prompts不仅仅是其输入的一个组成部分;它们也是指导奖励分数与不同场景中特定偏好对齐alignment的关键工具。这种集成有助于在不牺牲准确性的情况下在统一的奖励模型中矛盾和复杂的人类偏好的管理。

Data Composition 这个全面的数据集确保了模型的广泛适应性,并增强了它在更广泛和更复杂的情况下进行强化学习reinforcement learning的能力。通过使用条件系统提示方法condition system prompt method,奖励模型reward model可以对复杂的人类需求做出反应,在PPO阶段对奖励分数提供更细致的控制。

Loss Function 将ranking loss function的Focal Loss修改,并增加了difficulty decay coefficient来平衡容易和难问题的类别不均。focal ranking loss

L_{ranking} = -(1-2 \times max(0, P_{i,j}-\frac{1}{2}))^{\gamma}log(P_{i,j}) \tag{1}

$P{i,j}=\sigma(\gamma{i}, \gamma{j})$表示$reward{i}$比$reward_{j}$大的概率,只有当模型正确预测训练样本的偏好时,难度衰减系数生效。$\gamma = 2$调节难度衰减比的超参数。为了确保来自不同训练的奖励模型的输出分数的稳定性和一致性,InternML2对奖励分数引入了对数障碍惩罚,以将分数分布限制在 -5 到 5 的范围内

L_{penalty} = -(log(x + 5) + log(5 - x)), \tag{2}

这种约束至关重要,因为它避免了在 PPO 阶段修改额外的奖励相关超参数的需要,这可能是由于不同奖励模型中奖励分数分布的变化而产生的。

L = L_{ranking} + \lambda L_{penalty} \tag{3}

$\lambda = 0.02$是平衡$L{ranking}$和$L{penalty}$的超参,这些增强提高了奖励模型的鲁棒性和一致性,特别是在具有简单样本和困难样本不平衡为特征的数据集的背景下。

Training Details InternML2将奖励模型reward models的大小与PPO中使用的参与者actor models模型的大小对齐。InternML2使用SFT模型权重初始化奖励模型reward models,将输出层output layer修改为随机初始化randomly initialized的一维线性映射层on-dimensional liner mapping layer。InternML2的批量构建策略侧重于固定每批batch 16384 tokens的偏好数据的总长度,而不是限制偏好对preference pairs的数量,以避免由于数据填充data padding而导致的训练效率低下。最大上下文长度设置为 8192。在每个序列的末尾附加一个特殊的标记,其输出值用作奖励分数。将 AdamW 作为优化器。学习率遵循a cosine annealing schedule,从 1e-5 下降到 5e-6,权重衰减weight decay设置为 0.01。为了防止过度拟合overfitting,模型针对一个 epoch 进行训练。

4.2.2 Online RLHF

在获得条件奖励模型a conditional reward model后,InternML2进行近端策略优化 (Proximal Policy Optimization, PPO) 将 LLMs 与由奖励模型 Ouyang 等人建模的人类偏好human preferences对齐。为了解决PPO阶段奖励黑客reward hacking的挑战,InternML2引入了一种Online RLHF方法,分为两种不同的路径:

  • 即时、有针对性改进的快速路径Fast Path
  • 奖励模型长期、全面细化的慢速路径Slow Path

Fast和Slow Paths是互补的,为减轻奖励黑客reward hacking和增强人类反馈human feedback训练的llm的性能和可靠性提供了一个自适应框架adaptive framework。

Fast Path Online RLHF 中的fast path侧重于通过目标补丁patch快速识别quickly identifying和纠正奖励黑客事件rectifying reward hacking incidents,以提高奖励模型reward model的可靠性reliability。随着PPO训练的进行,LLM被误导到高回报区域high-reward regions,这通常暴露了更容易检测到的更多奖励黑客reward hacking场景。在每轮 RLHF 识别黑客模式hacking pattern后,InternML2通过比较当前轮次中早期early和晚期late-stage PPO 模型生成的响应来构建突出显示这些模式的偏好preference对。将 20 到 100 个这样的偏好对合并到训练过程中,足以显着防止奖励模型免受相应的黑客模式。这个过程允许将奖励模型快速固定为新出现的黑客行为,增强了奖励模型的可靠性和遵守预期结果。

Slow Path 与专注于修复奖励黑客fixing reward hacking的快速路径fast path相比,Slow path旨在通过覆盖最新most recent和有能力的模型中capable models的 LLM 响应来普遍提高奖励模型的上限upper bound,特别是奖励模型在高奖励区域的可靠性reliability和鲁棒性robustness,遵循之前的工作(Bai et al., 2022)。为此,模型在训练的不同阶段(包括 SFT model、early-stage PPO model和late-stage PPO model)生成的响应用于形成成对比较pairwise comparisons。然后将这些对pairs呈现给专业人工注释者来标记他们的偏好preference。

这样的过程提供了对奖励模型的更微妙nuanced和彻底的改进refinement,但需要广泛extensive的人工注释时间。为了提高Online RLHF 的效率,InternML2在实验启动时仅使用所有先前模型的累积人类偏好(即,由于人工标记的时间成本,这可能不包括模型在当前轮产生的响应的偏好)。通过不断更新基于人类反馈human feedback的模型,Slow Path 确保奖励模型随着人类偏好human preferences的复杂性complexities和微妙之处subtleties而演变。

Implementation InterML2对Online RLHF 的实现中,InternML2进行了三轮细化refinement。在这些循环中,InterML2在 Fast Path 中收集了数千个偏好补丁preference patches和在线偏好online preference数据来更新奖励模型reward model,并使用先前模型响应的所有现有人类偏好human preference数据。每一轮Online RLHF 提供了有价值的见解valuable insights,使InternML2能够动态调整adjust和细化refine奖励模型reward model,从而提高使用人工反馈训练的语言模型的整体性能performance和可靠性reliability。

4.2.3 PPO Training Details

在 RL alignment阶段,InternML2采用了标准的 PPO (Proximal Policy Optimization) 算法并对该算法进行了一些调整,确保了更稳定的训练过程。该框架涉及四个模型:演员模型actor model、评论家模型critic model、参考模型reference model和奖励模型reward model。在训练期间,后latter 2 个模型被冻结frozen,只有前 former 2 个模型被积极训练。值得注意的是,所有这些模型都具有相同的大小,确保它们处理和生成数据的能力的一致性。InternML2在大约 400 次迭代中迭代了大约 200k 个不同的查询queries,并在验证集上选择最佳检查点进行发布。

Model Initialization 按照惯例,InternML2从SFT模型权重初始化参考模型reference model和参与者模型actor model。评论家模型critic model从奖励模型reward model(不包括线性头linear head)初始化,并经历 50 次迭代预训练阶段,在此期间actor model被冻结frozen。这一阶段对于在早期训练中稳定stabilizing值估计至关重要,从而防止不稳定值的潜在不利影响。InternML2进行了消融研究ablation studies,比较了奖励模型reward model与SFT模型的批评模型critical model的初始化,如图9所示。InternML2的结果表明,在PPO训练的前几次迭代中,从奖励模型reward model初始化的批评模型critic model经历了更大的损失,但在大约20次迭代后,它始终表现出较低的损失,并导致actor model的奖励更高。InternML2假设在初始阶段观察到的较高损失可能会揭示奖励建模reward model和批评建模critic model任务之间的根本差异。随后的较低损失可归因于更一致的内部理解世界知识,更好地掌握评估原则

图 9:批评模型critic model初始化的消融研究ablation study。请注意,由于其动态范围大,InternML2在评论家critic损失中使用了对数坐标。

图 10:conditional PPO 训练的图示。在奖励模型评估reward model之前,将适当的条件系统提示conditional system prompt添加到查询query和响应response中。请注意,此系统提示system prompt与其他三个模型无关。

Conditional Reward 如前所述,InternML2的奖励模型reward model经过训练以适应各种条件conditions。因此,对于来自不同领域domains的查询queries,在计算奖励分数reward scores之前,InternML2将适当的条件系统提示conditional system prompts添加到每个采样响应sampled response中,如图 10 所示。这种做法确保模型的响应responses与不同领域domains的不同需求上下文对齐contextually aligned。

Pre-train Gradients 为了减轻 PPO 阶段灾难性遗忘catastrophic forgetting的风险,InternML2按照 InstructGPT 方法结合了预训练损失。预训练损失的系数设置为 0.5,预训练数据量约为 PPO 训练的 50% 。这种添加有助于保留在初始训练阶段获得的知识,确保模型在适应新反馈和通过 PPO 学习的同时保持其基础能力和知识库。

Hyperparameters InternML2将 KL 散度系数设置为 0.01。参与者模型actor model和评论家模型critic model的学习率learning rate设置为 1e-6 和 5e-6。PPO 的较大 λ 值会导致更高的奖励,因此将其设置为 0.99。InternML2采用了一个稍微保守的采样策略,$top_p=0.9$,以在采样多样性sampling diversity和收敛速度convergence speed之间取得平衡。与一些传统方法不同,InternML不应用值损失裁剪loss clipping或优势归一化advantage normalization。尽管 RL 使用可各种技巧,但训练仍然非常稳定,部分原因是InternML2细致的Online RLHF。

4.3 Long-Context Finetuning

为了在微调fine-tuning后保持LLM的长上下文long-context能力,InternML2在SFT和RLHF中使用长上下文预训练long-context pre-training数据,灵感来自于之前在SFT中采用长上下文预训练语料库long-context pre-training corpus的工作(Xiong et al., 2023)。具体来说,InternML2利用两种类型的数据:一个包含comprises来自书籍books的长上下文数据,另一个是从 GitHub 存储库获得的长上下文数据,并通过特定的范式paradigms连接,如下所述。

为了提高 InternLM2 的数据分析能力,InternLM2 选择 DS-1000 (Lai et al., 2023) 中使用的代码库作为核心存储库,其中包括 Pandas、Numpy、Tensorflow、Scipy、Scikit-learn、PyTorch 和 Matplotlib。然后,我们在 GitHub 上搜索存储库,其中包含超过 10,000 颗引用这些核心存储库的core,并与预训练进行了相同的过滤filtering和数据清理data cleaning过程。对于每个存储库repositories,InternML2最初使用深度优先depth-first方法对获得的原始数据进行排序,同时生成简单描述briefly describe文件内容file content所需的提示prompts,如图11所示。随后,InternML2按顺序连接处理后的squence数据,直到达到32k的长度。实验结果表明,长上下文代码数据long-context code data不仅提高了LLM的长上下文能力long-context,而且提高了代码能力。

图11:获取长上下文代码数据的过程说明。

4.4 Tool-Augmented LLMs

General Tool Calling InternML采用 ChatML 格式的修改版本,通过引入“environment”角色来实现通用工具调用general tool calling。这种修改在聊天场景中共享相同的格式,但在采用代理agents时为模型提供了更清晰的信号。此外,InternML2定义了两个特定的关键字来支持AI 代理 agents的不同目的purpose,即代码解释器code interpreter(<|interpreter|>)和外部插件external plugins(<|plugin|>)。这使InternML2能够采用统一的流格式unified streaming format ,可以处理各种类型的插件扩展plugin extensions和 AI 环境 environments,同时与一般聊天general chat兼容compatible。图 17 显示了流式聊天格式streaming chat format的具体示例。为了完全引出 InternLM2 的代理能力agen,InternML2将代理语料库agent corpus与聊天域chat domain对齐,并沿着语言模型的基本能力对其进行解绑disentangle以进行细粒度训练fine-grained training,如 Agent-FLAN (Chen et al., 2024c) 中所述。

Code Interpreter InternML2还通过使用工具学习Tool Learning中描述的相同模式将 Python 代码解释器code interpreter视为特殊工具special tool,增强了 InternLM2-Chat 解决代码解释器code interpreters的数学问题math problems的能力。我们采用与编码交错推理 (reasoning interleaved with coding, RICO) 策略,并以迭代硬示例挖掘方式hard example mining manner构建数据,如 InternLM-Math (Ying et al., 2024) 中所述。

5 Evaluation and Analysis

5.1 Overview

在本节中,InternML2对语言模型在各种域domains和任务tasks上的性能performance进行了全面评估和分析comprehensive evaluation and analysis。评估分为两个主要类别:

  1. 下游任务downstream tasks
  2. 对齐alignment

对于每个类别,InternML2进一步将评估分解为特定的子任务,以详细了解模型的优缺点strengths and weaknesses。最后,InternML2讨论了语言模型中数据污染data contamination的潜在问题及其对模型性能model performance和可靠性reliability的影响。除非另有说明,否则所有评估均使用 OpenCompass(贡献者、2023b)执行。

5.2 Performance on Downstream Tasks

InternML2首先详细介绍多个 NLP 任务的评估协议evaluation protocols和性能指标performance metrics。InternML2介绍了数据集datasets,解释了InternML2的实验设置experimental setup,然后通过深入分析展示了结果,与最先进的展示我们模型的有效性的方法相比。性能评估将通过六个关键维度进行剖析:(1)综合检查comprehensive examinations,(2)语言和知识language and knowledge,(3)推理和数学reasoning and mathematics,(4)多种编程语言编码multiple programming language coding,(5)长上下文建模long-context modeling,(6)工具利用tool utilization。

5.2.1 Comprehensive Examination

InternML2对一系列与考试相关的数据集进行了基准,其中包括:

MMLU (Hendrycks et al., 2020):包含 57 个子任务的多项选择题数据集,涵盖人文humanities、社会科学social science、STEM 等主题。InternML报告了 5-shot 结果。

CMMLU (Li et al., 2023a):特定于中国的多项选择题数据集,包含 67 个子任务。除了人文humanities、社会科学social science、STEM 等之外,它还包含许多特定于中文的任务。InternML2报告了 5-shot 结果。

C-Eval (Huang et al., 2023):一个包含 52 个子任务和 4 个难度级别的多项选择题数据集,涵盖人文humanities、社会科学social science、STEM 等主题。InternML2报告了 5-shot 结果。

AGIEval (Zhong et al., 2023):一个以人为中心的基准benchmark,包括多项选择题和开放式问题。这些问题来自 20 个官方、公共和高标准准入和资格考试,旨在一般人类考生,并报告 0-shot 结果。

GAOKAO-Bench (Zhang et al., 2023):包含 2010 年至 2022 年中国大学入口考试 (Gaokao) 的数据集,包括主观和客观问题。InternML2只评估了客观问题的数据集并报告 0-shot 结果。

Evaluation Results

InternML2在表 5 中报告了基本模型base models的结果和表 6 中的聊天模型chat models。对于基本模型base model,InternLM2 系列在具有相似参数数量的模型中表现良好。在 7B 和 20B 上,与 InternLM2-Base 相比,InternLM2 显示出显着增加,这证明了对一般领域数据general domain data和领域增强语料库domain-enhanced corpus进行预训练对于综合考试comprehensive examination具有优势advantages。对于从专门为人类设计的考试中收集的 AGIEval 和 GAOKAO 任务,与其他数据集相比,InternLM2 显示出更大的增长。

对于聊天模型chat model,InternLM2 系列也擅长具有相似参数数量的模型。通过比较 InternLM2-Chat-7B-SFT 和 InternLM2-Chat-7B 模型,可以看出 COOL RLHF 对综合考试成绩影响不大。

表 5:综合考试Comprehensive Examination基础模型base models的比较。粗体模型名称表示表现最好的,而下划线表示相似参数大小组中的领先模型。

表 6:综合考试中聊天模型chat models的比较。粗体模型名称表示表现最好的,而下划线表示相似参数大小组中的领先模型。

5.2.2 Language and Knowledge

表 7:语言和知识基础模型base model的比较。粗体模型名称表示表现最好的,而下划线表示相似参数大小组中的领先模型。

表 8:语言和知识聊天模型chat model的比较。粗体模型名称表示表现最好的,而下划线表示相似参数大小组中的领先模型。

TriviaQA (Joshi et al., 2017):包含阅读理解comprehension和开放域 open-domain QA 的数据集。平均而言,每个问题有 6 个可能的答案。InternML2利用数据的开放域 QA 子集并报告 0-shot 结果。

NaturalQuestions (Kwiatkowski et al., 2019):QA 数据集,其中问题来自用户,答案由专家验证。InternML2报告了 0-shot 结果。

C3 (Sun et al., 2020):自由形式free-from的多项选择中文机器阅读理解数据集。我们报告了 0-shot 结果。

RACE (Lai et al., 2017):阅读理解数据集,包括 12 至 18 岁中国中高中学生的英语阅读理解考试问题。InternML2使用高中学生的子集并报告 0-shot 结果。

FLORES (Team et al., 2022):从维基百科中提取的翻译数据集,涵盖 101 种语言。InternML2评估了英语到其他 100 种语言的翻译结果,反之亦然。对于每对翻译任务,InternML2选择 100 个样本并使用 BLEU 进行评估。InternML2报告了 8-shot 结果。

Evaluation Results

InternML2在表 7 中报告了基础模型base models的结果和表 8 中的聊天模型chat models。由于其严格和高质量的训练语料库,InternLM2 在涉及语言理解language understanding和知识应用knowledge application的任务中显示出显著的竞争边缘competitive edge。因此,它正在成为许多实际应用的绝佳选择,其中依赖强大的语言理解和广泛的知识至关重要。

5.2.3 Reasoning and Mathematics

在本节中,主要验证 InternLM2 在推理和数学方面的性能,重点关注测试集的以下两个部分:

Reasoning Datasets:

WinoGrande (Sakaguchi et al., 2020):一个常识推理commonsense reasoning数据集,包含 44,000 个多项选择题,每个多项选择题有两个选项。它需要模型根据场景scenario为描述性文本中的代词pronoun选择合适的实体词entity word。

HellaSwag (Zellers et al., 2019):用于评估常识自然语言推理commonsense natural language的挑战性数据集,由 70,000 个多项选择题组成。每个问题都提出了一个场景scenario和四种可能的结果outcomes,要求选择最合理的结论。

•BigBench Hard (BBH) (Suzgun et al., 2023):大型语言模型large language models的测试集合,BBH 从 BIG-Bench 中提取 23 个具有挑战性的任务,其中当代语言模型contemporary language models当时并没有超过人类的表现。

Mathematics Datasets

GSM8K-Test (Cobbe et al., 2021):一个包含大约 1,300 个基本级情景数学elementary-level situational math问题的数据集。这些问题的解决方案涉及 2 到 8 步,主要使用基本的算术运算(加法addition、减法subtraction、乘法multiplication和除法division)来执行一系列基本计算以达到最终答案。

• MATH (Hendrycks et al., 2021):一个包含 12,500 个具有挑战性的高中级竞赛competition数学问题的数据集,涵盖从代数algebra到演算的多个区域。每个问题都包含一个完整的逐步解决方案。

•TheoremQA (Chen et al., 2023a):一个包含800个QA对的STEM定理驱动问题和答案数据集,涵盖了mathmatics、EE&CS、physics和finance中超过350个定理。它测试了大型语言模型在应用定理theorems来解决具有挑战性的大学级问题方面的局限性limitations。

 • MathBench(Anonymous,2024b):MathBench 包含 3709 个问题,具有多个逐步增加挑战阶段。每个阶段包含encompasses双语理论bilingual theoretical 和面向应用application-oriented的问题,每个问题都用一个三级标签精确标记,以指示其细粒度的知识点。

表 9:推理任务的比较

在推理reasoning和数学mathematics问题的评估中,对于多项选择题,InternML2主要使用零样zero-shot本方法。对于开放式问题open-ended questions,例如 GSM8k、MATH 中的问题和 MathBench 的开放式部分,我们主要采用few-shot 方法来增强模型遵循指令的能力,这有助于提取答案。为了确保评估结果的一致性,对于基本模型,InternML2利用困惑度 (perplexity, PPL) 评估作为评估多项选择题的主要方法。

Reasoning 推理能力反映了模型理解understand、过程process和操纵抽象概念manipulate abstract concepts的能力capacity,这对于涉及复杂问题解决和决策的任务至关重要。InternML2从 Base 和 Chat 两个方面分别比较并展示了表 9 中 InternLM2 的性能。

Evaluation Results

Base Model: 对于 7B 左右的模型,InternLM2--7B 在 BBH 之外的大多数数据集上都表现出卓越的性能。值得注意的是,它在 WinoGrande (84.7) 上的性能显着超过 Mistral-7B-v0.1 (75.3) 9.4 分,仅排名第二到 InternLM2-20B (85.2)副本 不到一分。这展示了 InternLM2--7B 的强常识推理能力。在所有测试的基础模型中,InternLM2-20B 实现了最佳的整体性能。与 InternLM2-20B-Base 相比,包含域增强知识domain-enhanced knowledge导致常识推理commonsense reasoning的显着改进,InternLM2-20B 在推理测试数据集上平均提高了 10.4%。

Chat Model: 在聊天模型chat model中的推理resoning方面,InternLM2 在 7B 阶段和 13∼20B 阶段都继续领先。RL 模型和 SFT 模型在显着先进的推理能力基础方面表现出类似的效果。其中,7B 参数模型在三个测试集上甚至优于大多数 13∼20B 模型,例如 Mixstral-8x7B-Instruct-v0.1 和 Qwen-14B-Chat,以及 InternLM2-Chat-20B 在推理测试集的各个方面显着优于 GPT-3.5,例如在 HellaSwag 的情景推理(↑ 15.6)和对 BBH 具有挑战性的综合推理(↑ 26.4),证明了 InternLM2 在小规模模型中的特殊推理能力。

Mathematics 数学熟练程度是模型认知和计算能力的一个组成部分。在表 10 中,InternML2展示了 Base 模型在多个不同难度的数学评估集。在 7B 参数尺度上,InternLM2-7B 领先位置。具体来说,在基本算术 GSM8k 集中,InternLM2-7B (70.8) 明显优于其他模型,比 InternLM2-7B-Base (60.77) 高出 10.1 个百分点,并且相对于 InternLM2-7B-Base (36.0) 的性能几乎翻了一番,展示了 InternLM2-7B 在结合域增强domain-enhanced数据后的强大基本算术能力。对于更复杂的问题解决任务,如TheoremQA中的MATH和theorem定理证明,InternLM2-7B,尽管在MATH中略落后,但还是获得了分数(10.5),甚至超过了更大的Qwen-14B-Base(10.4),这表明InternLM2-7B不仅在计算任务方面表现出色,而且在复杂的定理theorem证明中也表现出色。在双语数学Bilingual math数据集 MathBench 中,InternLM2 在英文和中文中都表现出了出色的性能。

在 13∼20B 参数尺度阶段,InternLM2-20B 在基本算术basic arithmetic和定理证明theorem方面优于所有测试的 Base 模型,而 Qwen-14B-Base 在解决问题的任务和 MathBench 的英文和中文测试中都表现出出色的结果。

Chat 对于表 11 中的 Chat 模型,InternLM2-Chat 在 7B 和 20B 参数尺度上展示了基本算术 GSM8K、复杂应用数学 MATH 和理论问题TheoremQA 的最佳性能。值得注意的是,接受COOL RLHF训练的InternLM2-Chat-20B在所有指标上都全面领先,优于API模型GPT-3.5和MoE模型Mixtral-8x7B-Instruct-v0.1。在MathBench的双语bilingual测试中,InternML2-Chat-20B也表现出了优异的性能。

表 10:数学任务上基本模型base model的比较。粗体模型名称表示 Open-Source 或 API 模型中表现最好的,而下划线表示相似参数大小组中的领先模型。

表 11:数学任务上聊天模型chat model的比较。模型按其参数大小和类型进行分类,突出显示每个类别中表现最好的人,总体领导者以粗体显示,并强调其参数组内的领导者。

5.2.4 Coding

Python Coding Tasks

  • HumanEval HumanEval (Chen et al., 2021) 是一个被广泛认可的数据集,用作评估代码生成模型性能的基准。它由 164 个精心设计的编程任务组成,每个任务由一个 Python 函数和一个随附accompanying的文档字符串docstring组成,以提供上下文context和规范specifications。该数据集具有人工编写human-written的代码,在生成或完成程序时评估大型语言模型 (LLM) 的能力起着至关重要pivotal的作用。
  • MBPP MBPP (Austin et al., 2021) 由 974 个编程任务组成,这些任务可以通过入门级程序员entry-level解决。这些任务范围从简单的数值操作simple numeric manipulations到需要外部知识的更复杂的问题,例如定义特定的整数序列。InternML2使用MBPP的精细santinized 版本,其中仅包含数据的一个子集已被作者手动验证hand-verified。

Multiple Programming Language Coding Tasks

  • HumanEval-X HumanEval-X (Zheng et al., 2023b) 数据集是原始 HumanEval 基准的多语言multilingual扩展,旨在评估代码生成模型跨多个编程语言的能力。它由 164 个手工制作handcrafted的编程问题组成,每个问题都翻译成五种主要语言:C++、Java、JavaScript、Go 和 Python。这导致总共有 820 个问题-解决方案对problem-solution pairs,支持代码生成和代码翻译任务。HumanEval-X 允许评估模型生成功能正确的代码并在不同语言之间翻译代码的能力,使用测试用例来验证生成代码的正确性。该基准有助于更全面地了解预训练的多语言代码生成模型及其在现实世界编程任务中的潜在应用。
  • InternLM2 的编码 能力,InternML2使用广泛认可的基准 MBPP (Austin et al., 2021) 和 HumanEval (Chen et al., 2021) 进行了一系列实验。此外,为了衡量多语言代码生成模型的能力,扩展了InternML2的评估,包括 MBPP-CN、中文改编的MBPP 和 HumanEval-X,这是原始 HumanEval 基准的多语言扩展。
  • 13 所示,InternLM2 模型系列实现了领先的性能,尤其是在 HumanEval、MBPP 和 MBPP-CN 上,InternLM2-Chat-20B 模型比之前的最新技术state-of-the-art高出 10% 以上,强调了InternLM2 系列在代码生成任务中的特殊熟练程度。此外,在 MBPP-CN 基准测试中,InternLM2-Chat-20B 模型显示出比 InternLM2-Chat-7B 模型有显着改进,但它在 HumanEval-X 上的性能略有下降。这种现象可能源于 InternLM2-Chat-20B 模型,该模型针对中文进行了微调,但代价是它在其他语言中的有效性。

5.2.5 Performance Before and After Enhancement Training

通过前面部分的结果,可以清楚地看到,具有特定能力capability-specific增强训练的 InternLM2 始终优于其对应物counterpart。图 12 显示了此阶段之前和之后模型性能的整体比较,其中各种能力的分数来自多个评估集的平均值。

图 12:能力特定增强训练阶段前后的性能,较暗的区域表示训练前的性能。

Figure 13: Results on Needle in the Haystack(Chinese).

Coding: HumanEval和MBPP

Reasoning: MATH, GSM8k, SummEdits(Laban et al., 2023) and BBH.

QA: HellaSwag, PIQA (Bisk et al., 2020), WinoGrande, OpenBookQA (Mihaylov et al., 2018), NaturalQuestions and TriviaQA.

Examination:MMLU, AGIEval and C-Eval.

很明显,这些功能有了显着的改进。此外Furthermore,还比较了表14中经过监督微调(Supervised Fine-Tuning, SFT)增强训练前后基础模型的性能。能力维度与OpenCompass中采用的分类对齐。它可以观察到,用特定能力增强训练的SFT模型在各种能力维度上取得了更好的性能。本论文其他部分的 SFT 性能基于增强训练之前的基础模型。

表 12:Python 编码基础模型Base Models的比较。粗体模型名称表示表现最好的,而下划线表示相似参数大小组中的领先模型。

表 13:Python 编码聊天模型chat models的比较。粗体模型名称表示表现最好的,而下划线表示相似参数大小组中的领先模型。

表 14:从 InternLM2-7B-Base 和 InternLM2-7B 训练的 7B SFT 模型的比较性能。

5.2.6 Long-context Modeling

Long-context Understanding and Reasoning. 主要在以下两个基准上评估 InternLM2 的长上下文建模能力:L-Eval (An et al., 2023) 和 LongBench (Bai et al., 2023b)。

L-Eval. L-Eval 是一个由 18 个子任务组成的长上下文基准long-context benchmark,包括来自法律law、经济economy和技术technology等各个领域的文本。L-Eval 由 411 个文档和 2000 多个测试用例组成,平均文档长度为 7217 个单词。该数据集中的子任务可以分为两大类:5 个封闭式close-ended任务和 13 个开放式open-ended类别categories。基于精确匹配的准确度评估封闭式任务,而开放式任务采用 Rouge 分数作为指标。

LongBench. 在表 15 中报告了 InternLM2 在长上下文基准上的评估结果。 InternLM2 的所有变体在两个基准测试中都表现出强大的长上下文建模性能。InternLM2-Chat-20B-SFT 在 L-Eval 上取得了最佳性能,并大大优于同类产品。在LongBench上,InternLM2-Chat-7B-SFT在4个中优于其他≤7B模型模型6 个子任务类别。它获得了 48.1 总分,仅略低于 ChatGLM3-6B 的 48.4 总分。同时,注意到对于 InternLM2,不同的参数大小不会导致长上下文性能的显着差异,这将进一步研究。

表 15:长上下文基准上聊天模型chat model的比较。粗体表示表现最好的;下划线表示同一参数大小组内的领先模型。对于每个基准和任务组,报告组内子任务的平均准确度。L-Eval abbbrs:Close → closed-end; Open → open-ended。LongBench abbrs: Single → single-document; Multi → multi-document; Summ → summarization; FSL → few shot learning; Syn → Synthetic。所有结果都是使用 OpenCompass (Contributors, 2023b) 评估工具包获得的。

Needle-in-the-Haystack “Needle-in-Haystack”是一个单针检索任务single-needle retrieval,旨在测试大语言模型 (Large Language Models’, LLMs) 回忆单个关键信息的能力。这是通过在不同的位置将关键信息插入到目标长度为的Haystack文本中来完成的,然后在提示结束时查询关于这个关键信息的模型。这种方法精确地可视化了llm在不同长度长文本中不同位置的回忆能力。设计了一个Chinese Haystack允许原始思想,并利用Wei等人(2023)发布的Skywork/ChineseDomainModelingEval数据集,确保中文文本来源的多样性和质量。该数据集涵盖了从金融到技术的广泛领域,提供高质量的、最新的中文文章,并为评估不同模型处理特定领域长文本的能力提供了一个稳定的基准。对于这个实验,我们利用 LMDeploy10 Contributors (2023a) 推理引擎来加速推理过程。图 13 中显示的结果有效地展示了 InternLM2 对长上下文建模的能力。

5.2.7 Tool Utilization

众所周知,外部工具和 APIs 可以显着提高 LLMs 解决复杂、现实世界的问题的能力(Qin et al., 2023a;b; Schick et al., 2023)。为了分析InternLM2在工具利用方面的熟练程度,在几个基准数据集上进行了实验:GSM8K (Cobbe et al., 2021), Math (Hendrycks et al., 2021),最近引入的MathBench (Anonymous, 2024b), T-Eval (Chen et al., 2023b),以及CIBench的模板子集(Anonymous, 2024a),所有这些都采用ReAct协议(Yao et al., 2023),其中LLMs在生成思想过程和执行操作之间交替。值得注意的是,MathBench 由 3709 个问题组成,这些问题跨越了从初级到高年级的数学概念。该数据集能够全面评估 LLM’s 解决数学问题的能力。T-Eval (Chen et al., 2023b) 具有人工验证human-verified的高质量问题指令和相应的逐步解决方案。它衡量了 LLM 在六个不同维度的日常工具(例如 Google Search 和 Gaode Map)的熟练程度。CIBench 由InternML2的团队开发,使用交互式 Jupyter 笔记本模拟真实的数据分析场景。它包含多个连续的任务,涵盖了数据分析中最常用的 Python 模块,包括 Pandas、Numpy 和 Pytorch。这种定制的基准允许对LLM在数据分析中的综合能力进行全面评估。

GSM8K, MATH,和 MathBench InternML2利用外部代码解释器并遵循ReAct协议来评估LLM解决编码和数学问题的能力。如图 14 所示,即使使用代码解释器,结果也显示出实质性的改进,尤其是在增强显着显着的 MATH 数据集上。

如图 15 所示,对于最近引入的 MathBench 数据集,代码解释器的使用在大多数情况下可以提高 InternLM2 性能的性能,并且小幅下降可能归因于此类解释器的错误使用。此外,在 InternLM2-20B-Chat 的知识领域和 InternLM2-7B-Chat 的应用部分中观察到了显着的改进。这些差异可能源于许多因素,包括各自训练数据集构成的差异。

T-Eval and CIBench 如图 16 所示,与各种基准测试中的现有模型相比,InternLM2 模型始终表现出卓越或可比的性能。具体来说,在比较相同规模的模型时,InternLM2-Chat-7B 作为 T-Eval 和 CIBench 上表现最好。同时,InternLM2-Chat-20B 在 T-Eval 上取得了有竞争力的结果,同时在 CIBench 上获得了最高分。此外,InternLM2 系列模型在中文上取得了令人印象深刻的结果,展示了它们在多种语言中的熟练程度。

图 14:GSM8K(4-shot)和 MATH(4-shot)与 w/o Code Interpreter 的结果。

图 15:有和没有 ReAct 的 MathBench 上的结果。

表 16:T-Eval 和 CIBench 的结果。粗体表示表现最好的;下划线表示同一参数大小组内的领先模型。

5.3 Performance on Alignment

尽管 LLMs’ 的目标能力通过预训练和 SFT 提高,但它们的答案风格可能与人类的偏好不一致,因此需要与 RLHF 进一步增强以改进对齐。因此,评估对齐能力对于确定 LLM 是否真的满足人类需求至关重要。

在本节中,评估了 InternLM2 在几个流行的主观对齐数据集上的性能,比较了 SFT 和 RLHF 模型的性能。如表 17 所示,InternLM2 在对齐任务中的整体性能在多个基准上实现了 SOTA 或接近 SOTA 的结果,证明了InternLM2 系列模型的主观输出与人类偏好之间的高度一致性。下面分别详细介绍每个数据集的模型性能。此外,用于每个数据集的主观对齐任务的提示模板在附录中给出。

表 17:对齐基准Alignment Benchmarks上模型的比较。模型按其参数大小和类型进行分类,突出显示每个类别中表现最好的人,总体领导者以粗体显示,并强调其参数组内的领导者。

5.3.1 English Subjective Evaluation

AlpacaEval AlpacaEval(Li et al., 2023b) 是一个单轮问答数据集,包含 805 个问题。它的主要目的是评估模型对人类的反应的有用性,通过对抗性评估反映与人类意图的对齐。AlpacaEval(v2) 建立了一个基线模型,并使用 GPT4-Turbo 作为判断模型,将基线的答案与正在评估的模型的答案进行比较。它选择更符合人类偏好的模型并计算胜率。AlpacaEval(v2)不是直接收集法官模型的响应,而是使用 logit 概率来统计分析法官模型的偏好。然后,在计算加权胜率时,这些偏好被用作权重因子。如表17所示,InternLM2-20B的胜率为21.8,在比较模型中标记了最高的SOTA结果,并展示了其优越的对齐性能。此外,该表表明 RLHF 模型在胜率方面优于 SFT 模型,这强调了对齐策略的有效性。

MTBench MTBench(Zheng et al., 2023a) 是一个两轮对话数据集,由 80 个问题组成,涵盖八个维度:推理reasoning、角色扮演roleplay、数学math、编码coding、写作writing、人文humanities、STEM 和信息提取information extraction。每个维度包含 10 个问题,这些问题经过两轮提问。最初,测试了模型回答基本问题的能力;随后,它必须遵循额外的、特定的指令来细化其先前的响应。分数由法官模型以judge model 1-10 的比例分配。如表 17 所示,InternLM2 在 7B 和 20B 版本上都取得了领先分数,分别为 7.7 和 7.9,证明了其可靠的多轮对话能力。

5.3.2 Chinese Subjective Evaluation

CompassArena CompassArena 包含 520 个中文问题,包括知识knowledge、语言language、数学mathematics、推理reasoning和创造力creativity。与 AlpacaEval 一样,它计算 GPT4-Turbo 判断的两个模型的胜率,并通过交换模型来减轻位置偏差来使用双盲测试double-blind。如表17所示,InternLM2在7B版本(28.7)和20B版本(31.4)中确保最高的胜率。请注意,InternLM2 的 7B 和 20B 版本之间的性能差距相对较小。然而,与SFT模型相比,InternLM2的RLHF模型在性能上有了显著的改进。这表明 RLHF 策略大大提高了InternLM2 与人类偏好的对齐,而不仅仅是增加模型大小。此外,图 16 中按类别分解的结果表明,InternLM2 系列具有非常强大的中文创造力和语言能力,胜率可与 GPT4-Turbo 相媲美。

图 16:InternLM2 系列CompassArena 的详细结果。

AlignBench AlignBench(Liu et al., 2023a) 是一个包含 683 个问答对的中文主观数据集,分为基础语言能力Fundamental Language Ability、高级中文理解Advanced Chinese Understanding、面向任务的角色扮演Task-oriented Role Play等八个领域,涵盖了物理physics、历史history、音乐music和法律law等各种场景。该数据集利用一个名为 CritiqueLLM(Ke et al., 2023) 的内部评判模型judge Model进行评估。CritiqueLLM 为每个问题在不同维度上提供 1 到 10 的分数,并发出最终分数。在表 17 中展示了这些最终分数,如表 17 所示,并在表 18 中展示了不同类别的详细分数。如表 17 所示,InternLM2 在 7B 和 20B 版本中实现了 SOTA 分数,分别为 6.1 和 6.8,优于 GPT-3.5 的 5.7 分数。此外,与 SFT 模型相比,InternLM2 的 7B 和 20B 版本都表现出显着的 RLHF 后性能增强,强调了我们的 RLHF 策略在提高模型与人类偏好对齐方面的有效性。对详细分数的分析揭示了数学和推理能力提高的领域;然而,InternLM2 在问答和角色扮演任务中表现出色,提供了强大的主观性能。

表 18:AlignBench 上 InternLM2 系列的详细分数。K:知识,U:理解,L:语言,M:数学,W:写作,RP:角色扮演,RE:推理。

5.3.3 Instruct Following Evaluation

IFEval IFEval(Zhou et al., 2023) 旨在测试模型的指令跟随能力,需要响应遵守特定的模式,例如字母大小写限制和关键字限制。IFEval 包含 25 种不同类型的指令,构建遵循指令的 541 个问题,并采用基于规则的评估来评估模型对每个问题的响应的正确性。利用各种统计方法,IFEval 提供了四种类型的准确度分数:提示级严格prompt-level strict、提示级松散prompt-level loose、实例级严格instance-level、和实例级松散instance-level loose。在表 17 中展示了这四个分数的平均结果。尽管 Llama2 和 Mistral 等基于英语的模型通常在 IFEval 上优于基于中文的模型,但在 7B 阶段 (48.5) 和 13-20B 阶段 (48.7) 中排名第二和第三。这表明,尽管指令跟随任务的挑战,但 InternLM2 在类似大小的模型中保持了领先地位。

5.3.4 Ablation Study of Conditional Reward Model

为了验证条件系统提示conditional system prompts的影响,比较了在来自不同领域的异构数据混合heterogeneous mix上训练的奖励模型reward model的性能,有和没有使用条件系统提示conditional system prompts。如表 19 所示,没有系统提示system prompt会导致多个公共数据集的精度显着下降,包括有用和无害helpful and harmless conversations的对话(Bai et al., 2022)、内容摘要content summaries(Stiennon et al., 2020)、数学问题math problems(Lightman et al., 2023) 和 Reddit 回复replies(Ethayarajh et al., 2022)。相反,包括系统提示会导致这些领域的精度明显更高。

表 19:UltraRM-13B(Cui et al., 2023)、QwenRM(Bai et al., 2023a) 和使用有和没有条件系统提示conditional system prompts训练的 7B 奖励模型reward model的比较性能。当使用条件提示conditional prompts时,该表显示了精度的显着改进。

5.4 Discussion on Data Contamination

评估了GSM8K数据集中几个基础模型foundation models的样本(样本是问题和答案的串联)上的语言建模(LM)损失,结果如表20所示。对于每个LLM,比较了GPT-4生成的训练分割($L{train}$)、测试分割($L{test}$)和专门策划的参考集specially curated reference set($L{ref}$)上的LM损失,旨在模拟GSM8K数据集。还报告了两个关键指标:$\Delta{1} = L{test}-L{ref}$ ,作为 LLM 训练期间潜在测试数据泄漏leakage的指标,即较低的值表示可能的泄漏; $\Delta{2} = L{test}-L{train}$,它衡量数据集训练拆分上的过度拟合overfitting程度。$\Delta{2}$值越高意味着过度过拟合。$\Delta{1}$和 $\Delta{2}$的异常值以灰色突出显示

6 Conclusion

在本报告中,展示了 InternLM2 大型语言模型,它在主观和客观评估中都表现出卓越的性能。InternLM2 已经在 2T 的高质量预训练语料库上进行训练,涵盖 1.8B、7B 和 20B 的模型大小,使其适用于各种场景。为了更好地支持长上下文,InternLMA2 使用 GQA 来降低推理成本,并已在多达 32k 个上下文上进行了训练。除了开源模型本身之外,还从训练过程的不同阶段提供了检查点checkpoints,促进了未来研究的研究。

除了开源模型之外,还提供了如何训练InternLM2 的详细描述,包括训练框架training framework、预训练文本数据pre-training text data、预训练代码数据pre-training code data、预训练长文本数据pre-training long text data和对齐数据alignment data。此外,为了解决 RLHF 过程中遇到的偏好冲突preference confilcts,提出了条件在线 Conditional Online RLHF 来协调各种偏好。这些信息可以为如何准备预训练数据以及如何更有效地训练更大的模型提供见解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值