人工智能

MPT-30B:MosaicML 超越 GPT-3 推出新型大型语言模型,拓展 NLP 边界

mm
Featured Blog Image-MPT-30B: MosaicML Outshines GPT-3 With A New LLM To Push The Boundaries of Language Models

MosaicML 是一家提供 AI 部署和扩展解决方案的 生成式 AI 公司。他们最新的大型语言模型(LLM) MPT-30B 正在 AI 社区内引起轰动。

MosaicML 的 LLM 之旅始于 2023 年 5 月发布的 MPT-7B(Mosaic 预训练变换器),它有三个变体:

  1. MPT-7B-StoryWriter-65k+(用于长篇故事生成)
  2. MPT-7B-Instruct(用于短篇指令跟随)
  3. MPT-7B-Chat(用于对话生成)

这些模型在 ML 社区中获得了巨大的成功,这得益于它们的开源性、商业可用性和处理扩展上下文窗口的卓越能力。

最重要的是,该模型在某些情况下与其他可比模型(如 LLaMA-7BStableLM 7B 等)不相上下,甚至超越了它们。到 6 月,MPT-7B 系列已经被下载超过 300 万次。6 月 22 日,MosaicML 发布了 MPT-30B,这进一步提高了开源基础模型的标准。

MPT-30B:一个比 GPT-3 更强大的 LLM

MPT-30B 是一个开源和商业授权的基于解码器的 LLM,它比 GPT-3-175B 更强大,仅使用了 GPT-3 参数的 17%,即 30B。它在多个任务中超越了 GPT-3。以下是 MPT-30B 和 GPT-3 的比较。

MPT-30B 建立在之前的 MPT-7B 模型之上。与同等规模的模型相比,它的训练计算效率更高。例如,LLaMA-30B 使用的 FLOPs 预算约为 MPT-30B 的 1.44 倍,而 Falcon-40B 的 FLOPs 预算比 MPT-30B 高出 1.27 倍。以下是 MPT-30B 在各项任务中相对于其前身的改进情况。

MPT-30B 的一些特殊功能如下:

8k Token 上下文窗口

LLM 中的上下文窗口是指模型在生成输出之前可以考虑的令牌范围。MPT-30B 在训练时有 8000 个令牌的上下文窗口。它首先使用 1T 令牌和 2k 令牌序列进行训练,然后使用额外的 50B 令牌和 8k 令牌序列(大约 6000 个字)。

ALiBi 支持

为了解释这个功能,让我们考虑一个问题:

MPT-30B 如何理解和预测比其训练数据更长的序列?

MPT-30B 使用 带线性偏差的注意力(ALiBi) 技术来理解更长的序列,并在微调或推理期间将上下文窗口扩展到 8k 令牌之外。

与其计算位置嵌入(即为序列中的每个单词分配一个向量),ALiBi 计算键和查询令牌之间的注意力分数。当键和查询令牌相邻时,惩罚较低,否则惩罚较高。因此,底层 变换器架构 可以外推到长输入序列。

通过 FlashAttention 实现高效推理和训练性能

注意力,即关注输入序列的相关部分,是变换器的关键组件,但它可能很慢且占用大量内存,尤其是在处理长文本序列时。

FlashAttention 是康奈尔大学研究人员提出的解决 MPT-30B 中这个问题的方法。使用称为 tiling 的技术,FlashAttention 减少了模型需要从内存中读取或写入的次数,从而加快了处理速度。因此,该模型采用了最先进的 FlashAttention 技术和 NVIDIA 的 FasterTransformer 优化库,以实现高效的训练和推理。

易于训练和部署

开发人员可以从头开始训练 MPT-30B,也可以使用 MosaicML 的检查点以实现更快速的部署。此外,它可以针对特定数据集进行微调以适应特定领域的用例。

模型的大小是为了能够在单个 GPU 上轻松部署而选择的,特别是 1xA100-80GB(16 位精度)或 1xA100-40GB(8 位精度)。这意味着该模型的设计是为了适应这些 GPU 的内存限制。

编码能力

MPT-30B 还具有出色的编码能力。 HumanEval 是 OpenAI 发布的一个包含 164 个手工制作的编程问题的数据集。在 HumanEval 数据集上,该模型超越了专用 LLM 模型,例如 StarCoder 系列。

微调变体:MPT-30B-Instruct 和 MPT-30B-Chat

MPT-30B-Instruct

LLM 主要用于指令,如问答、文本摘要、语言翻译等。MPT-30B-Instruct 是 MPT-30B 的一个商业可用(保持商业 CC-By-SA-3.0 许可)的变体,专门针对指令跟随任务进行微调。用于微调的数据集如下:

  1. FLAN
  2. P3
  3. Alpaca
  4. Dolly-15k

Dolly 数据集进一步使用 Anthropic 的 Helpful 和 Harmless 数据集 进行指令微调。此外,用于数据增强的数据集包括:

  1. CompetitionMath
  2. GradeSchoolMath
  3. DialogSum
  4. DuoRC
  5. QASPER
  6. QuALITY
  7. SummScreen
  8. Spider

MPT-30B-Chat

MPT-30B-Chat 是 MPT-30B 的一个针对对话生成进行微调的版本。它是一个在 CC-By-NC-SA-4.0 许可下发布的研究成果,仅允许非商业用途。该模型使用了多个语言数据集进行微调,包括:

  1. Airoboros/GPT4-1.2
  2. Baize
  3. Camel
  4. GPTeacher
  5. Guanaco
  6. LongCoversations
  7. ShareGPT
  8. WizardLM

LLM 占据了多亿美元的 生成式 AI 市场 的大部分份额,该市场在去年 ChatGPT 革新了该领域后迅速增长。MPT 系列是这一革命的基础部分。在不久的将来,我们可以期待看到更强大、更高效的商业可用开源模型。

有关最新的 AI 新闻,请访问 unite.ai

Haziqa 是一名具有丰富经验的数据科学家,擅长为 AI 和 SaaS 公司撰写技术内容。