MosaicML Pretrained Transformer

MPT是由MosaicML发布的一个开源大语言模型,是一个开源且商用友好的大模型。

MPT基本信息

模型发布时间: 2023-06-22

模型发布机构: MosaicML

模型所属类型: 自然语言处理

模型官方地址: https://www.mosaicml.com/blog/mpt-7b

MPT大模型详细介绍

MPT全称MosaicML Pretrained Transformer,是由MosaicML开源的一系列商用友好的大模型。2023年5月5日发布了MPT-7B,也是该系列最早的一类模型。包含4类:分别是MPT-7B Base、针对聊天优化的MPT-7B-Chat和指令优化的MPT-7B-Instruct,以及一个最高支持65k上下文的MPT-7B-StoryWriter-65k+。除了MPT-7B-Chat不支持商用外,其余三个模型均是代码开源加预训练结果可商用的协议。MPT-7B-Chat开源但不支持商用!


尽管此前业界已经发布了很多大模型,但是这些模型通常都比较难以训练和部署。而MosaicML发布这样的大模型的目的就是为了解决上述限制,提供一个完全开源且可商用的一个大模型。MPT系列主要的特点是:

  • 有商用许可
  • 基于大量的数据训练
  • 目标是解决长输入(最高支持65K的输入,84K的处理)
  • 训练与推理速度的优化
  • 高效的开源训练代码

从这些特点看,MPT真的是一个很优秀的开源大模型,且官方宣称它的评测结果与LLaMA-7B差不多。注意,MPT-7B是MosaicML基于自己的平台重新训练的新的transformer模型,因此不受到之前任何模型的许可限制。


MPT-7B模型的训练细节


MPT-7B基于1万亿tokens的文本和代码数据训练得到。是一个decoder-style类型的transformer。

它的训练是基于MosaicML自己收集的数据进行的,主要使用的数据集如下图所示:

MosaicML训练使用的Tokenizer是EleutherAI发布的GPT-NeoX 20B tokenizer。原始的tokenizer的词汇表是50257,但是MPT模型设置的是50432,原因是50432正好是128的整数倍,可以提高MFU。另一个原因是官方希望留一些tokens可以用在后面的UL2训练中。

此外,MPT-7B的训练是基于MosaicML自己的平台做的,具体技术工具如下:

  1. 基于Oracle Cloud的A100-40GB和A100-80GB训练
  2. 架构使用MosaicML的MosaicML platform
  3. 数据集采用Oracle提供的OCI对象存储服务,和MosaicML的Streaming工具
  4. 训练软件:Composer、PyTorch FSDP和LLM Foundry

上述涉及的工具大家也可以去官方的GitHub查看详情,可以学习一下这个MPT相关的训练平台,毕竟它的效果很好。



MPT的特点和影响


MPT系列已经发布就引起了很大的关注。其中,MPT-7B-StoryWrite-65k是设计用来读写超长stoires的模型,是当时已知的支持最长输入的开源大语言模型,实际上,该模型在单个A100-80GB的GPU节点上最多生成了84k的tokens。



截至6月22日,MPT系列4个版本的模型总共被下载了超过300万次!


2023年6月22日,MosaicML官方宣布开源MPT-30B系列新模型。新版的30B系列包含3个模型:MPT-30B、MPT-30B-Instruct和MPT-30B-Chat。其中,MPT-30B和MPT-30B-Instruct均开源可商用,而MPT-30B-Chat依然不支持商用。官方宣称,MPT-30B效果超过GPT-3!


MPT系列模型的总结如下:

MPT系列名称参数规模模型类型预训练结果商用授权DataLearner模型信息卡地址
MPT-7B-Base70亿基础大模型可以https://www.datalearner.com/ai-models/pretrained-models/MPT-7B-Base 
MPT-7B-Instruct70亿指令优化可以https://www.datalearner.com/ai-models/pretrained-models/MPT-7B-Instruct 
MPT-7B-Chat70亿聊天优化不可以https://www.datalearner.com/ai-models/pretrained-models/MPT-7B-Chat 
MPT-7B-StoryWriter-65k+70亿超长输入可以https://www.datalearner.com/ai-models/pretrained-models/MPT-7B-StoryWriter-65k+ 
MPT-30B-Base300亿基础大模型可以https://www.datalearner.com/ai-models/pretrained-models/MPT-30B 
MPT-30B-Instruct300亿指令优化不可以https://www.datalearner.com/ai-models/pretrained-models/MPT-30B-Instruct 
MPT-30B-Chat300亿聊天优化不可以https://www.datalearner.com/ai-models/pretrained-models/MPT-30B-Chat 

每一个模型的具体信息,如参数大小、开源情况、代码使用样例和评价结果等都可以在上面表格最后一列DataLearner模型信息卡里找到,这里不再赘述。


MPT-7B陷入了争议


不过,MPT-7B模型在刚发布的时候也引发了一个问题:版权问题。

CreativeAI的创始人对MPT-7B的开源做了质疑。也是因为前面的这个65k输入的模型,MPT-7B-StoryWriter-65k+。这个模型为了取得更好的效果,使用了books3数据集的一个子集。这是EleutherAI开源的一个数据集,属于Pile数据集的一部分。该数据集包含197000本书的文本内容。不过它里面是有版权的。因此,他质疑首先MosaicML没有获得授权,也没有权力开源MPT-7B-StoryWriter-65k+。

另外,官方宣称MPT-7B-Chat不可以商用的原因是因为它与 ShareGPT-Vicuna, HC3, Alpaca, Helpful and Harmless, and Evol-Instruct等模型提供的数据集做了微调,因此为了避免法律问题他们选择开源但是不授权商用!这也被质疑是区别对待。


MPT系列模型的最初介绍博客: https://www.datalearner.com/blog/1051683422426508 

欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
datalearner-wechat
基于MPT微调的模型列表