模型简介
模型特点
模型能力
使用案例
🚀 Cerebras-GPT 590M
Cerebras-GPT 590M 是基于 Transformer 架构的语言模型,属于 Cerebras-GPT 模型家族。该家族模型旨在助力大语言模型扩展规律的研究,展示在 Cerebras 软硬件栈上训练大语言模型的简便性和可扩展性。
🚀 快速开始
可以使用 AutoModelForCausalLM
轻松加载此模型:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("cerebras/Cerebras-GPT-590M")
model = AutoModelForCausalLM.from_pretrained("cerebras/Cerebras-GPT-590M")
text = "Generative AI is "
可以结合 Hugging Face Pipelines 使用:
from transformers import pipeline
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
generated_text = pipe(text, max_length=50, do_sample=False, no_repeat_ngram_size=2)[0]
print(generated_text['generated_text'])
或者使用 model.generate()
:
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, num_beams=5,
max_new_tokens=50, early_stopping=True,
no_repeat_ngram_size=2)
text_output = tokenizer.batch_decode(outputs, skip_special_tokens=True)
print(text_output[0])
✨ 主要特性
- 模型家族丰富:Cerebras-GPT 家族包含 111M、256M、590M、1.3B、2.7B、6.7B 和 13B 等多种规模的模型。
- 遵循最优计算法则:所有模型均按照 Chinchilla 扩展规律 进行训练,即每个模型参数对应 20 个标记,实现了计算最优。
- 高效训练架构:在由 16 个 CS - 2 晶圆级系统组成的 Andromeda AI 超级计算机上进行训练,借助 Cerebras 的 权重流式传输技术,通过简单的数据并行实现了跨节点的高效训练扩展。
📚 详细文档
模型描述
Cerebras-GPT 家族的发布旨在推动使用开放架构和数据集对大语言模型扩展规律的研究,并展示在 Cerebras 软件和硬件栈上训练大语言模型的简便性和可扩展性。所有 Cerebras-GPT 模型均可在 Hugging Face 上获取。
该家族包括 111M、256M、590M、1.3B、2.7B、6.7B 和 13B 等不同规模的模型。
Cerebras-GPT 家族的所有模型均按照 Chinchilla 扩展规律(每个模型参数对应 20 个标记)进行训练,这是计算最优的方式。
这些模型在由 16 个 CS - 2 晶圆级系统组成的 Andromeda AI 超级计算机上进行训练。Cerebras 的 权重流式传输技术 通过将计算与模型存储分离,简化了大语言模型的训练过程。这使得使用简单的数据并行即可在节点间实现高效的训练扩展。
通过 Cerebras Model Studio 可在云端使用用于预训练和微调的 Cerebras 系统。在 Cerebras Model Zoo 中可获取与 Cerebras CS - 2 兼容的检查点。
模型详情
属性 | 详情 |
---|---|
开发者 | Cerebras Systems |
许可证 | Apache 2.0 |
模型类型 | 基于 Transformer 的语言模型 |
架构 | GPT - 3 风格架构 |
数据集 | The Pile |
分词器 | 字节对编码(Byte Pair Encoding) |
词汇表大小 | 50257 |
序列长度 | 2048 |
优化器 | AdamW,(β1, β2) = (0.9, 0.95),adam_eps = 1e−8(较大模型为 1e−9) |
位置编码 | 学习型 |
语言 | 英语 |
更多信息 | 有关训练过程、配置文件和使用细节,请参阅《Dense Scaling Laws Paper》 |
联系方式:若要询问有关 Cerebras-GPT 模型的问题,请加入 Cerebras Discord。
这是 Cerebras-GPT 的标准参数化版本,具有 590M 个参数。
相关模型:Cerebras-GPT 模型
各模型的详细参数如下:
模型 | 参数数量 | 层数 | d_model | 头数 | d_head | d_ffn | 学习率 | 批次大小(序列) | 批次大小(标记) |
---|---|---|---|---|---|---|---|---|---|
Cerebras-GPT | 111M | 10 | 768 | 12 | 64 | 3072 | 6.0E-04 | 120 | 246K |
Cerebras-GPT | 256M | 14 | 1088 | 17 | 64 | 4352 | 6.0E-04 | 264 | 541K |
Cerebras-GPT | 590M | 18 | 1536 | 12 | 128 | 6144 | 2.0E-04 | 264 | 541K |
Cerebras-GPT | 1.3B | 24 | 2048 | 16 | 128 | 8192 | 2.0E-04 | 528 | 1.08M |
Cerebras-GPT | 2.7B | 32 | 2560 | 32 | 80 | 10240 | 2.0E-04 | 528 | 1.08M |
Cerebras-GPT | 6.7B | 32 | 4096 | 32 | 128 | 16384 | 1.2E-04 | 1040 | 2.13M |
Cerebras-GPT | 13B | 40 | 5120 | 40 | 128 | 20480 | 1.2E-04 | 720 → 1080 | 1.47M → 2.21M |
训练数据
Cerebras-GPT 使用来自 EleutherAI 的 the Pile 数据集进行训练。有关数据源和方法的更详细分类,请参阅 Pile 论文。使用 ftfy 库对 Pile 进行清理以规范文本,然后使用 Eleuther 提供的脚本进行过滤。
使用基于 GPT - 2 词汇表的字节对编码对数据进行分词。我们的 Pile 分词版本有 371B 个标记。论文附录 A.1 中包含了有关训练数据集预处理的更多详细信息。
近期研究发现 Pile 中存在大量重复数据。Eleuther 的 Pythia 应用了去重处理以减少重复数据,从而减小了 Pile 数据集的大小。Pythia 在标准数据集和去重数据集上都进行了训练,以评估其影响。我们的模型在未去重的标准 Pile 上进行训练,使用去重数据集可能会带来进一步改进的机会。
训练过程
我们使用 GPT - 3 风格的模型架构。所有层都使用全注意力机制,而非 GPT - 3 风格的稀疏带状注意力机制。模型形状的选择要么遵循 80 的纵横比,要么与 GPT - 3 模型的形状相同。学习率在 375M 个标记(111M 和 256M 模型为 1500 步)内进行预热,并进行 10 倍余弦衰减。未使用丢弃法(dropout),权重衰减设置为 0.1。所有模型的最大序列长度(MSL)均为 2048。
所有模型均训练到 Chinchilla 点:每个模型参数对应 20 个标记。步数根据最优批次大小(因模型而异)和固定序列长度(2048)进行选择。具体训练参数如下:
模型参数 | 序列长度 | 批次大小 | 步数 | 标记数 | 每个参数的标记数 | 浮点运算次数 |
---|---|---|---|---|---|---|
111M | 2048 | 120 | 9037 | 2.22E+09 | 20 | 2.6E+18 |
256M | 2048 | 264 | 9468 | 5.12E+09 | 20 | 1.3E+19 |
590M | 2048 | 264 | 21836 | 1.18E+10 | 20 | 6.1E+19 |
1.3B | 2048 | 528 | 24334 | 2.63E+10 | 20 | 2.8E+20 |
2.7B | 2048 | 528 | 49041 | 5.30E+10 | 20 | 1.1E+21 |
6.7B | 2048 | 1040 | 62522 | 1.33E+11 | 20 | 6.3E+21 |
13B | 2048 | 720 | 174335 | 2.57E+11 | 20 | 2.3E+22 |
评估
我们从小到大依次训练模型,并拟合幂律。幂律有助于推断下一个更大模型的验证损失,并为判断训练过程是否顺利提供依据。
我们使用 Pile 的验证集和测试集对文本预测交叉熵进行了上游(预训练)评估。使用 Eleuther lm - evaluation - harness 对标准化任务的文本生成准确性进行了下游评估。论文第 3 节将结果与许多公开可用的大语言模型进行了比较。
零样本评估
模型 | 参数数量 | 训练浮点运算次数 | PILE 测试交叉熵 | Hella - Swag | PIQA | Wino - Grande | Lambada | ARC - e | ARC - c | OpenBookQA | 下游平均 |
---|---|---|---|---|---|---|---|---|---|---|---|
Cerebras-GPT | 111M | 2.6E+18 | 2.566 | 0.268 | 0.594 | 0.488 | 0.194 | 0.380 | 0.166 | 0.118 | 0.315 |
Cerebras-GPT | 256M | 1.3E+19 | 2.299 | 0.274 | 0.613 | 0.511 | 0.293 | 0.410 | 0.170 | 0.158 | 0.347 |
Cerebras-GPT | 590M | 6.1E+19 | 2.184 | 0.291 | 0.627 | 0.498 | 0.366 | 0.464 | 0.190 | 0.158 | 0.370 |
Cerebras-GPT | 1.3B | 2.8E+20 | 1.996 | 0.325 | 0.664 | 0.521 | 0.462 | 0.508 | 0.224 | 0.166 | 0.410 |
Cerebras-GPT | 2.7B | 1.1E+21 | 1.834 | 0.386 | 0.701 | 0.559 | 0.567 | 0.571 | 0.246 | 0.206 | 0.462 |
Cerebras-GPT | 6.7B | 6.3E+21 | 1.704 | 0.447 | 0.739 | 0.602 | 0.636 | 0.643 | 0.282 | 0.238 | 0.512 |
Cerebras-GPT | 13B | 2.3E+22 | 1.575 | 0.513 | 0.766 | 0.646 | 0.696 | 0.714 | 0.367 | 0.286 | 0.570 |
五样本评估
模型 | 参数数量 | Hella - Swag | PIQA | Wino - Grande | Lambada | ARC - e | ARC - c | OpenBookQA |
---|---|---|---|---|---|---|---|---|
Cerebras-GPT | 111M | 0.267 | 0.588 | 0.475 | 0.158 | 0.356 | 0.166 | 0.136 |
Cerebras-GPT | 256M | 0.278 | 0.606 | 0.522 | 0.225 | 0.422 | 0.183 | 0.164 |
Cerebras-GPT | 590M | 0.291 | 0.634 | 0.479 | 0.281 | 0.475 | 0.206 | 0.152 |
Cerebras-GPT | 1.3B | 0.326 | 0.668 | 0.536 | 0.395 | 0.529 | 0.241 | 0.174 |
Cerebras-GPT | 2.7B | 0.382 | 0.697 | 0.543 | 0.487 | 0.590 | 0.267 | 0.224 |
Cerebras-GPT | 6.7B | 0.444 | 0.736 | 0.590 | 0.591 | 0.667 | 0.314 | 0.270 |
Cerebras-GPT | 13B | 0.514 | 0.768 | 0.674 | 0.655 | 0.743 | 0.398 | 0.318 |
使用场景与局限性
预期用途
主要预期用途是推动大语言模型的进一步研究。这些模型可用作自然语言处理、应用程序、伦理和对齐研究的基础模型。我们的主要目标用户是致力于改进大语言模型的研究人员,以及寻求参考实现、训练设置、超参数或预训练模型的从业者。我们以完全宽松的 Apache 许可证发布这些模型,供社区自由使用。
您可以通过 Cerebras Model Studio 或第三方库对 Cerebras-GPT 模型进行微调并部署。在将 Cerebras-GPT 模型家族用于生产下游应用之前,应进行进一步的安全相关测试和缓解措施。
由于资金和计算预算的限制,Cerebras-GPT 模型仅按照论文中描述的方法进行训练和评估。
非预期用途
Cerebras-GPT 模型在 Pile 上进行训练,仅支持英语,不适合机器翻译任务。
Cerebras-GPT 模型未针对面向人类的对话应用(如聊天机器人)进行调优,其对提示的响应方式与经过指令调优或基于人类反馈的强化学习(RLHF)的模型(如 Flan - T5 或 ChatGPT)不同。不过,Cerebras-GPT 模型可以使用这些方法进行调优。
风险、偏差和伦理考量
- 数据:Pile 数据集已从多个伦理角度进行了全面分析,如毒性分析、性别偏差、贬损性内容、种族敏感内容等。详情请参考 Pile 数据集的相关文献。
- 人类生活:该模型的输出可能与人类价值观一致,也可能不一致。在将该模型部署到可能直接影响人类生活的生产环境之前,需要彻底调查其风险。
- 风险和危害:Pile 数据集中可能存在分布偏差,这可能在下游模型部署中以各种形式体现。大语言模型还存在其他风险,如放大刻板印象、记忆训练数据或泄露私人或安全信息。
- 缓解措施:预训练 Cerebras-GPT 时仅采用了标准 Pile 数据集预处理中的缓解措施。
📄 许可证
本项目采用 Apache 2.0 许可证。
致谢
我们感谢所有曾经和现在为这项工作做出贡献的 Cerebras 工程师。



