英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

MPT-7B-Storywriter GGML

这是 MosaicML's MPT-7B-Storywriter 的 GGML 格式化后的 4 位、5 位和 8 位量化模型。

这个存储库是将其转换为 GGML 并进行量化的结果。

请注意,这些 MPT GGML 与 llama.cpp 不兼容。有关与这些模型文件兼容的工具列表,请参见下文。

可用的存储库

提供的文件

Name Quant method Bits Size RAM required Use case
mpt-7b-storywriter.ggmlv3.q4_0.bin q4_0 4bit 4.21GB 7.0GB 4-bit.
mpt-7b-storywriter.ggmlv3.q4_1.bin q4_0 4bit 4.63GB 7.5GB 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models.
mpt-7b-storywriter.ggmlv3.q5_0.bin q5_0 5bit 4.63GB 7.5GB 5-bit. Higher accuracy, higher resource usage and slower inference.
mpt-7b-storywriter.ggmlv3.q5_1.bin q5_1 5bit 5.06GB 7.5GB 5-bit. Even higher accuracy, and higher resource usage and slower inference.
mpt-7b-storywriter.ggmlv3.q8_0.bin q8_0 8bit 7.58GB 9.0GB 8-bit. Almost indistinguishable from float16. Huge resource use and slow. Not recommended for normal use.
mpt-7b-storywriter.ggmlv3.fp16.bin fp16 16bit GB GB Full 16-bit.

兼容性

这些文件与 llama.cpp 不兼容。

目前可以使用以下工具:

随着其他选项的出现,我将努力在此处更新它们(如果我遗漏了某些内容,请在社区选项卡中告诉我!)

使用 GPT4All-UI 的教程

Discord

如需进一步支持以及有关这些模型和人工智能的讨论,请加入我们的 Discord :

TheBloke AI's Discord server

感谢以及如何贡献

感谢 chirper.ai 团队!

我接到很多人询问是否可以做出贡献。我乐于提供模型并帮助别人,也很愿意能够投入更多时间进行这些工作,并且扩大到新的项目,如微调/训练。

如果您有能力并愿意贡献,我将非常感激,并且这将帮助我继续提供更多模型,并开始进行新的人工智能项目。

捐赠者将在任何与 AI/LLM/模型有关的问题和请求上获得优先支持,可以访问私人 Discord 房间,以及其他收益。

Patreon 特别致谢:Aemon Algiz、Dmitriy Samsonov、Nathan LeClaire、Trenton Dambrowitz、Mano Prime、David Flickinger、vamX、Nikolai Manek、senxiiz、Khalefa Al-Ahmad、Illia Dulskyi、Jonathan Leane、Talal Aujan、V. Lukas、Joseph William Delisle、Pyrater、Oscar Rangel、Lone Striker、Luke Pendergrass、Eugene Pentland、Sebastain Graf、Johann-Peter Hartman。

感谢所有慷慨的顾客和捐赠者!

MPT-7B-StoryWriter-65k+

MPT-7B-StoryWriter-65k+ 是一个用于阅读和编写具有超长上下文长度的虚构故事的模型。它是通过将 MPT-7B 在 65k 个令牌的过滤虚构子集上进行微调而构建的。在推断时,由于 ALiBi 的存在,MPT-7B-StoryWriter-65k+ 可以超越 65k 个令牌进行推断。我们在我们的 blogpost 中展示了一次在 8 个 A100-80GB 的 GPU 节点上生成 84k 个令牌的例子。

该模型由 MosaicML 进行训练,采用了修改后的仅解码器的 Transformer 架构。

模型日期

2023 年 5 月 5 日

模型许可证

Apache 2.0

文档

如何使用

注:该模型在使用 from_pretrained 方法时需要传递 trust_remote_code=True 参数。这是因为我们使用了一个尚未包含在 transformers 包中的自定义模型架构。

它包含许多训练效率功能的选项,如 FlashAttention (Dao et al. 2022) ALiBi ,QK LayerNorm 等。

import transformers
model = transformers.AutoModelForCausalLM.from_pretrained(
  'mosaicml/mpt-7b-storywriter',
  trust_remote_code=True
)

要使用经过优化的 FlashAttention,可以使用 attn_impl='triton' 加载模型,并将模型转换为 bfloat16 :

config = transformers.AutoConfig.from_pretrained(
  'mosaicml/mpt-7b-storywriter',
  trust_remote_code=True
)
config.attn_config['attn_impl'] = 'triton'

model = transformers.AutoModelForCausalLM.from_pretrained(
  'mosaicml/mpt-7b-storywriter',
  config=config,
  torch_dtype=torch.bfloat16,
  trust_remote_code=True
)
model.to(device='cuda:0')

尽管该模型是在序列长度为 2048 的情况下进行训练的,并在序列长度为 65536 的情况下进行微调,但 ALiBi 可以使用户在微调和/或推断时增加最大序列长度。例如:

config = transformers.AutoConfig.from_pretrained(
  'mosaicml/mpt-7b-storywriter',
  trust_remote_code=True
)
config.update({"max_seq_len": 83968})
model = transformers.AutoModelForCausalLM.from_pretrained(
  'mosaicml/mpt-7b-storywriter',
  config=config,
  trust_remote_code=True
)

该模型是使用 EleutherAI/gpt-neox-20b 令牌器进行训练的。

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neox-20b")

示例结尾

《了不起的盖茨比》(67873 个令牌)的全文被输入到模型中,接着是文本 "EPILOGUE"

TheRealFitzgerald233 :

...

所以我们英勇地前进,像船只一样逆流而行,无休止地回到过去

EPILOGUE

MPT-7B-StoryWriter :

我在这个梦的阴影下生活了这么久,可能永远都看不到明亮的阳光。也许有一天早上我会抬头发现自己躺在六英尺之下,而给我带来这个梦和其他一切的盖茨比将会在我身后消失。

就这样。我刚刚走进旧世界的门槛时,眼睛就被报纸的头条所吸引,我立刻知道我的梦想结束了。我知道盖茨比已经死了。

那天我知道我并不爱她。

那天晚上,我搭上了通往西蛋的最后一趟火车,当我到达家时,我直接去了阁楼,找出了盖茨比的所有信件。

我按日期对它们进行了排序,并按照写信的顺序放置在这里。它们数量非常少。

它们的日期在 1918 年 4 月到 1919 年 1 月之间,这里唯一留下的最后一封信是告诉我他去世了的信。

最后一封信中有一些让我感到恐惧的东西。那是一种结束的感觉,一种完整感。在那之后我再也没听说过他,我很高兴。

但几个月前,我在某个地方读到说他在纽约被看到。他已经成为了一个伟大的人。

而我知道他一点也没有改变。

模型描述

这个架构是标准解码器的修改版本。

该模型已从标准 Transformer 进行了以下修改:

Hyperparameter Value
n_parameters 6.7B
n_layers 32
n_heads 32
d_model 4096
vocab size 50432
sequence length 65536

预训练数据

有关预训练过程的详细信息,请参见 MPT-7B ​​。

数据使用 EleutherAI/gpt-neox-20b 令牌器进行了标记。

训练配置

该模型使用 8 个 A100-80GB 进行了约 2 天的训练,使用了 MosaicML Platform 优化器的 LION 型数据并行训练。

限制和偏见

以下语言修改自 EleutherAI's GPT-NeoX-20B

MPT-7B-StoryWriter 可能会产生事实上的错误输出,不应依赖它来产生事实准确的信息。MPT-7B-StoryWriter 是根据各种公共数据集进行训练的。尽管已经尽力清理预训练数据,但该模型仍可能会生成淫秽、有偏见或其他令人反感的输出。

致谢

该模型由 Alex Trott 和 MosaicML NLP 团队进行微调训练

MosaicML 平台

如果您对 training 以及在 MosaicML 平台上训练和部署自己的 MPT 或 LLM 模型 感兴趣,请 sign up here

免责声明

此模型的许可证不构成法律建议。我们不对使用此模型的第三方行为负责。请在商业用途中使用此模型前咨询律师。

引用

请使用以下格式引用此模型:

@online{MosaicML2023Introducing,
    author    = {MosaicML NLP Team},
    title     = {Introducing MPT-7B: A New Standard for Open-Source, Commercially Usable LLMs},
    year      = {2023},
    url       = {www.mosaicml.com/blog/mpt-7b},
    note      = {Accessed: 2023-03-28}, % change this date
    urldate   = {2023-03-28} % change this date
}