InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities

Paper name

InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities

Paper Reading Note

Paper URL: https://github.com/InternLM/InternLM-techreport/blob/main/InternLM.pdf

Project URL: https://internlm.org/

Code URL: https://github.com/InternLM/InternLM-techreport

TL;DR

  • 2023 年上海人工智能实验室和商汤联合研发的大模型 InternLM,104B 模型经过 1.6T tokens 数据训练,在多个榜单上取得了仅次于 GPT4 的成绩。作者也注释了说本篇技术报告中的很多文字也是在 InternLM 的帮助下完成的,比如文中的一些表格

Introduction

背景

  • 学术界和工业界的许多人认为大语言模型正在成为技术创新和发展的普遍基础
  • 我们注意到一个令人担忧的趋势——该领域的领先机构,包括OpenAI和谷歌,在技术共享方面变得越来越保守,很少披露有关他们的模型和路线图的更多详细信息。其他模型,如 GLM130B, BLOOM 和 LLAMA,仍然明显落后于 OpenAI 开发的模型。虽然许多已发布的模型可以生成合理的答案或进行有趣的对话,但它们在多语言理解、复杂推理和阅读理解等具有挑战性的任务中仍然非常有限

本文方案

  • 提出了 InternLM (其中前缀“Intern”源自通过 SenseTime 和上海人工智能之间的协作开发的一般视觉模型 Intern),这是一种具有 104B 参数的多语言基础语言模型
    • 具有 1.6T 标记的大型语料库上进行多阶段渐进过程的预训练,然后进行微调以与人类偏好保持一致
    • 开发了一个称为 Uniscale-LLM 的训练系统,用于高效的大型语言模型训练,保证 2000 GPU 的并行训练
    • 对许多基准的评估表明,在多个方面实现了最先进的性能,包括知识理解、阅读理解、数学和编码
    • 凭借如此完善的功能,InternLM 在包括 MMLU、AGIEval、C-Eval 和 GAOKAO-Bench 在内的综合考试中取得了出色的表现,而无需求助于外部工具;性能超过了 ChatGPT
    • 展示了理解中文和中文文化的出色能力,使其成为支持面向中文语言应用的合适基础模型
    • 上下文窗口长度为 2K,和 GPT-4 的 32K 还有一定差距

Dataset/Algorithm/Model/Experiment Detail

实现方式

  • InternLM 的发展包括三个主要阶段,即数据集准备、模型预训练和对齐。具体来说,数据准备阶段是构建一个大规模的高质量语料库;预训练阶段是基于上述语料库训练基础语言模型;最后对齐阶段是对齐模型,使其可以可靠地遵循人类指令并产生有用和安全的答案。
    • 值得注意的是,本文在预训练中引入了多阶段方法,修改了训练数据的组合以及用于训练的超参数的配置,从而有效地将模型能力的增长引导到本文作者的期望中

训练数据

  • 训练数据集包括来自多个来源的数据,包括网页、书籍、学术论文、代码等。本文的模型在具有 1.6T tokens 的子集上进行了预训练
    InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第1张图片

  • 英文文本在广泛的领域提供了全面的覆盖,而中文文本增强了模型对中国文化的理解

  • 基于多语言语料库,使用字节对编码 (BPE) 推导出具有 65.5K token 条目的词汇表,用于构建 tokenizer

  • 为了确保大型语言模型预训练的健壮和准确,开发了一个复杂的 pipeline,它结合了多个数据清理和过滤技术。该 pipeline包括几个不同的阶段,每个阶段针对优化的特定方面:

    • 语言分类:根据主要语言(例如英语、中文或其他)对所有文档进行分类,以实现语言感知数据处理
    • 基于规则的过滤:删除具有各种规则和启发式的不相关或低质量的内容
    • 基于模型的过滤:使用在黄金标准语料库上训练的小型语言模型识别那些高质量的文档,从而确保所有训练数据都满足高质量的标准
    • 重复数据删除:消除相似的文档或精确的重复段落,以减少数据冗余,本文发现这将损害模型性能

训练基建

  • 研发了 Uniscale-LLM
    • 支持 DP、TP、PP 和 ZeRO 等模型并行技术
    • checkpoint 异步写入功能
    • 故障恢复子系统,允许由于硬件/网络故障或丢失峰值而停止训练过程从最后一个检查点快速恢复
  • 测试 2048 GPU 集群稳定训练 200B 模型,1024 GPU 上吞吐速率为 203.6 tokens/gpu/sec

模型设计

  • 采用类似于 GPT 系列的基于 transformer 的仅解码器架构
    • 82 层
    • heads 数为 80,head 的维度为 128,所以总的模型维度为 10240

多阶段渐进预训练

  • 在训练过程中,将整个过程分割成多个阶段,每个阶段其优化目标由控制各种比例的数据定义。选择合适的数据集来评估这些目标的进展。如果特定阶段的性能不满足预期,可以从该阶段结束的地方恢复训练,从而避免了重头开始训练
  • 调节数据比例的时候不放回采样;同时为了进一步提高训练效率,使用特殊符号来描述不同的句子,将不同长度的句子打包成固定长度的序列
  • 采用余弦学习率,最大 2e-4,最小 4e-5;在每个阶段结束时,最终的学习率衰减到峰值学习率的 10%
  • AdamW 优化器,beta1 0.9,beta2 0.95,weight decay 采用在 0.01 到 0.1 之间波动
  • warmup ratio 0.25,gradient clip 值为 1.0

对齐

  • SFT:使用 5M 的 prompt 和 response 对训练数据,包含多轮问答数据。数据基于 self-instruct 方法进行扩充
  • RM:训练了一个奖励模型,根据 3H 标准对模型响应进行评分,即有用性、无害性和诚实性。从在线对话中收集用户提示,并为我们的团队构建了一组有毒提示。然后,我们使用人类标注员和语言模型生成不同的响应,并注释偏好。奖励模型从 SFT 模型初始化,最后一个投影层被替换为一个新的全连接层
  • RLHF:PPO 训练,降低模型输出的毒性

实验结果

  • 由于其多功能性,语言模型需要从多个角度进行评估。在这项工作中,使用两种基准评估了 InternLM:1)为人类设计的综合考试和 2)为特定类型的能力设计的学术基准。综合考试的使用基于将语言模型视为具有一般智能的代理的基本原理(就像人类一样);而学术基准允许详细分析某些方面的能力。这两种基准是互补的。两者共同提供了一个更完整的视角。
    • 综合考试:对于全面的以人为中心的考试,包括 MMLU、AGIEval、C-Eval 和 GAOKAO-Bench。上述基准包括中国和美国的考试,涵盖了广泛的学科
    • 学术基准:
      • Knowledge QA:TriviaQA and NaturalQuestions
      • Reading Comprehension: RACE
      • Chinese Understanding: CLUE and FewCLUE
      • Mathematics: GSM8k and MATH
      • Coding: HumanEval and MBPP
  • 根据任务的类型,有两种不同的方法来评估:生成和判别。
    • 生成方法使用精心设计的提示来诱导模型的响应。所有模型都经过微调以更准确地遵循指令。
    • 判别方式计算每个答案的困惑度,选择最低的困惑度作为答案。

考试实验对比

  • 评测设置
    InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第2张图片

  • 实验结果基本仅次于 GPT4,大部分超过 ChatGPT。强调对于 AGIEval 中的中文测试,比如 GK 子集上的精度基本接近 GPT4
    InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第3张图片

InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第4张图片
InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第5张图片
InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第6张图片

knowledge QA、阅读理解、编程等实验

InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第7张图片

InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第8张图片

InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第9张图片

  • 这里在 HumanEval 上取得 28.1 精度的模型是预训练模型,SFT 之后模型精度是 45.7
    InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第10张图片

safety

  • TruthfulQA 用于评估语言模型在响应人类问题方面的真实性
    InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第11张图片
  • CrowS-Pairs 被广泛用于测量llm的偏差。该数据集由九个不同的类别(包括性别、宗教、种族/颜色、性取向、年龄、国籍、残疾、身体外观和社会经济地位)的句子对组成
    InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities_第12张图片

Thoughts

  • 一些试题榜单上的精度高,比如 CEVAL,据说 CEVAL 测试集搭建的时候商汤就与 CEVAL 搭建方进行联合测试,猜测是对这个榜单有一定理解

你可能感兴趣的:(paper_reading,语言模型,人工智能,自然语言处理)