🚀 GPT-NeoX-20B
GPT-NeoX-20B是一个拥有200亿参数的自回归语言模型,它基于GPT-NeoX库在the Pile数据集上训练而成。该模型的架构有意模仿GPT - 3,几乎与GPT - J - 6B相同。其训练数据集包含大量英文文本,体现了该模型的通用性质。有关模型架构(包括与GPT - 3的差异)、训练过程和额外评估的详细信息,请参阅相关论文。
✨ 主要特性
- 大规模参数:拥有200亿参数,能够学习到丰富的语言知识和模式。
- 架构相似:架构与GPT - 3相似,且几乎与GPT - J - 6B相同,便于进行对比和研究。
- 通用数据集训练:在包含多种来源英文文本的the Pile数据集上训练,具有较强的通用性。
📚 详细文档
模型详情
超参数 |
值 |
nparameters |
20554567680 |
nlayers |
44 |
dmodel |
6144 |
nheads |
64 |
dhead |
96 |
nvocab |
50257 |
序列长度 |
2048 |
学习率 |
0.97 x 10-5 |
位置编码 |
旋转位置嵌入(RoPE) |
使用场景与限制
预期用途
GPT - NeoX - 20B主要用于研究目的。它学习英语的内部表示,可用于提取对下游任务有用的特征。
除科学用途外,只要符合Apache 2.0许可证,你还可以对GPT - NeoX - 20B进行进一步微调并部署。该模型可与Transformers库配合使用。如果你决定使用预训练的GPT - NeoX - 20B作为微调模型的基础,请注意需要自行进行风险和偏差评估。
非预期用途
GPT - NeoX - 20B不适合直接部署。它不是一个产品,在没有监督的情况下不能用于面向人类的交互。
GPT - NeoX - 20B未针对语言模型常用的下游任务进行微调,如撰写特定体裁的散文或商业聊天机器人。这意味着GPT - NeoX - 20B可能不会像ChatGPT等产品那样对给定提示做出响应。这是因为与GPT - NeoX - 20B不同,ChatGPT使用了如基于人类反馈的强化学习(RLHF)等方法进行微调,以更好地“理解”人类指令和对话。
该模型仅支持英文,因此不能用于翻译或生成其他语言的文本。
局限性和偏差
GPT - NeoX - 20B的核心功能是接收一段文本并预测下一个标记。请记住,统计上最可能的下一个标记不一定能产生最“准确”的文本。切勿依赖GPT - NeoX - 20B生成事实准确的输出。
该模型在the Pile数据集上训练,该数据集已知包含亵渎性、淫秽或其他冒犯性的文本。有关性别、宗教和种族方面的记录偏差的讨论,请参阅the Pile论文的第6节。即使提示本身不包含任何明确的冒犯性内容,GPT - NeoX - 20B也可能产生社会不可接受或不良的文本。
我们建议在将该模型的输出呈现给人类读者之前进行筛选。请告知你的受众你使用的是人工智能生成的文本。
使用方法
如果你只是想尝试一些提示,可以查看这个游乐场。
可以使用AutoModelForCausalLM
功能加载GPT - NeoX - 20B:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neox-20b")
model = AutoModelForCausalLM.from_pretrained("EleutherAI/gpt-neox-20b")
训练
训练数据集
the Pile是一个825GiB的通用英文数据集,由EleutherAI专门为训练大语言模型而创建。它包含来自22个不同来源的文本,大致分为五类:学术写作(如arXiv)、互联网(如CommonCrawl)、散文(如Project Gutenberg)、对话(如YouTube字幕)和其他(如GitHub、安然邮件)。有关所有数据源的细分、方法和伦理影响的讨论,请参阅the Pile论文。有关the Pile及其组成数据集的更详细文档,请参阅数据说明书。可以从官方网站或社区镜像下载the Pile。
在用于训练GPT - NeoX - 20B之前,the Pile未进行去重处理。
训练过程
GPT - NeoX - 20B以大约315万个标记(每个序列2048个标记,共1538个序列)的批量大小进行训练,总共训练了150000步。使用张量并行和流水线并行将模型分布到多个GPU上。有关训练过程的更多详细信息,请参阅相关论文的第3节。
评估
模型 |
OpenAI的LAMBADA |
SciQ |
PIQA |
TriviaQA |
ARC(挑战) |
GPT - J - 6B |
0.683 ± 0.006 |
0.910 ± 0.009 |
0.752 ± 0.010 |
0.170 ± 0.004 |
0.340 ± 0.014 |
FairSeq 6.7B |
0.673 ± 0.007 |
0.895 ± 0.010 |
0.762 ± 0.010 |
0.221 ± 0.004 |
0.329 ± 0.014 |
GPT - 3 Curie |
0.693 ± 0.006 |
0.918 ± 0.009 |
0.767 ± 0.010 |
0.196 ± 0.004 |
0.334 ± 0.014 |
FairSeq 13B |
0.709 ± 0.006 |
0.910 ± 0.009 |
0.769 ± 0.010 |
0.270 ± 0.004 |
0.345 ± 0.014 |
GPT - NeoX - 20B |
0.720 ± 0.006 |
0.928 ± 0.008 |
0.779 ± 0.010 |
0.259 ± 0.004 |
0.380 ± 0.014 |
GPT - 3 DaVinci |
0.752 ± 0.006 |
0.949 ± 0.007 |
0.791 ± 0.009 |
0.409 ± 0.005 |
0.435 ± 0.014 |
在选定自然语言任务上的零样本性能
这是评估结果的大幅简化版本。GPT - NeoX - 20B论文的附录D比较了更多模型大小,并包含额外的评估,包括零样本和五样本自然语言任务、零样本和五样本基础算术和数学任务以及零样本Hendrycks任务。
BibTeX
若要引用GPT - NeoX - 20B论文,请使用以下BibTeX格式:
@misc{https://doi.org/10.48550/arxiv.2204.06745,
doi = {10.48550/ARXIV.2204.06745},
url = {https://arxiv.org/abs/2204.06745},
author = {Black, Sid and Biderman, Stella and Hallahan, Eric and Anthony, Quentin and Gao, Leo and Golding, Laurence and He, Horace and Leahy, Connor and McDonell, Kyle and Phang, Jason and Pieler, Michael and Prashanth, USVSN Sai and Purohit, Shivanshu and Reynolds, Laria and Tow, Jonathan and Wang, Ben and Weinbach, Samuel},
keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {GPT-NeoX-20B: An Open-Source Autoregressive Language Model},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution 4.0 International}
}
详细结果可在此处查看。
指标 |
值 |
平均值 |
36.02 |
ARC(25样本) |
45.73 |
HellaSwag(10样本) |
73.45 |
MMLU(5样本) |
25.0 |
TruthfulQA(0样本) |
31.61 |
Winogrande(5样本) |
68.9 |
GSM8K(5样本) |
2.43 |
DROP(3样本) |
5.04 |
📄 许可证
本项目采用Apache 2.0许可证。