GPT-J

GPT-J，又称GPT-J-6B，是由开放人工智能研究团体EleutherAI开发的大型语言模型。该模型于2021年公开发布，是一个基于Transformer架构的自回归文本生成模型，主要用于根据输入提示预测后续文本。名称中的“6B”表示模型约有60亿个可训练参数。GPT-J使用Ben Wang开发的Mesh Transformer JAX训练，权重以Apache License 2.0发布，是早期具有公开权重的GPT-3类大型语言模型之一。

GPT-J的发布出现在闭源大型语言模型迅速扩张的背景下。OpenAI在2020年发布GPT-3后，没有公开其完整模型权重，而EleutherAI等开放研究社群试图复现类似规模和能力的语言模型。GPT-J继承了GPT-Neo项目的开放路线，进一步扩大模型规模，并使研究人员、开发者和小型团队能够直接下载、运行和微调GPT类模型。

## 背景

GPT-J的开发者来自EleutherAI及其周边开源社区。EleutherAI最初以复现和开放GPT-3类模型为目标，先后建设了The Pile数据集、GPT-Neo系列模型和GPT-J。与依赖API访问的商业模型不同，GPT-J提供了模型代码和预训练权重，因而在开源大语言模型发展早期具有代表性。

小松崎岚在发布说明中将GPT-J-6B称为基于JAX的6B参数Transformer语言模型，并指出其零样本下游任务表现接近GPT-3的6.7B参数模型Curie。该项目使用Google TPU Research Cloud提供的TPU v3-256资源训练，训练约持续五周。

## 架构与训练

GPT-J是解码器式自回归语言模型，核心任务是根据已有文本预测下一个标记。模型有6,053,381,344个参数，包含28层Transformer，每层包含一个自注意力模块和一个前馈模块；隐藏维度为4096，前馈层维度为16384，注意力头数为16，每个注意力头维度为256，最大上下文长度为2048个标记。模型使用与 GPT-2、GPT-3相同的 BPE 分词表，词表实际使用50257个条目，嵌入矩阵大小为50400。

GPT-J采用旋转位置编码（Rotary Position Embedding，RoPE）。RoPE由苏剑林等人提出，通过旋转矩阵编码绝对位置信息，并在自注意力计算中体现相对位置关系。GPT-J的 RoPE 应用于每个注意力头的64个维度。模型还将注意力层和前馈层并行放置，以降低通信开销。

GPT-J使用The Pile训练。The Pile 是EleutherAI构建的英文大规模语料库，论文称其规模为825 GiB，由22个子数据集组成，来源包括学术、专业和网络文本。根据模型卡，GPT-J在 TPU v3-256 pod上训练了4020亿个标记、383,500个步骤，训练目标为自回归语言建模，并使用交叉熵损失最大化正确预测下一个标记的概率。

## 性能

GPT-J发布时被认为是公开权重模型中表现较强的GPT-3类语言模型。小松崎岚的发布说明称，GPT-J在多个零样本下游任务上的表现大致接近GPT-3 Curie。模型卡所列评估表中，GPT-J-6B在LAMBADA准确率、Winogrande、HellaSwag和PIQA等任务上的成绩与GPT-36.7B、GPT-3Curie 相近；其中LAMBADA准确率为69.7%，Winogrande为65.3%，HellaSwag为66.1%，PIQA为76.5%。模型卡同时指出，相关评估可能存在训练数据与测试集污染问题，且不同模型的评估实现和零样本任务提示方式并不完全相同。

GPT-J的主要能力是从提示语生成英文文本。模型可以作为特征提取器，也可经微调用于下游任务，但模型卡明确指出，GPT-J未针对商业聊天机器人、体裁写作等常见应用场景进行专门微调，也没有像ChatGPT那样通过基于人类反馈的强化学习优化为遵循人类指令。

## 应用

GPT-J被广泛用于研究、实验、微调和开源应用开发。Hugging Face的Transformers后来加入GPT-J支持，使其可通过AutoModelForCausalLM等接口加载。GPT-J也出现在后续学术研究中。Meta AI Research的Toolformer研究以GPT-J为基础模型，研究语言模型如何通过少量示例自监督学习调用外部工具，包括问答系统、搜索引擎、计算器、日历和翻译系统。模型可以学习在何时调用工具、调用哪些工具、传入什么参数，以及如何把工具返回结果纳入后续标记预测。

GPT-J还被文学创作者用于实验性写作。英国作家汉娜·席尔瓦（Hannah Silva）在回忆录《My Child, the Algorithm》中使用GPT-J生成部分文本，并通过斜体区分AI生成内容。席尔瓦将GPT-J的输出与自己的文字并置，模型既作为写作素材来源，也作为关于学习、智能和爱的反思对象。

## 局限

GPT-J不是面向最终用户的完整产品。模型卡指出，GPT-J-6B不应在缺少微调、监督或内容审核的情况下直接部署到面向人的交互场景中。模型可能生成有害、冒犯性或社会上不可接受的文本，也不应被依赖为事实准确的信息来源。

GPT-J的训练语料为英文，因此不适合翻译或生成其他语言文本。与后来的指令微调模型相比，GPT-J更接近基础语言模型：它主要学习文本续写分布，而不是稳定回答问题、遵循安全策略或进行对话。模型卡建议在发布输出前由人工筛选或过滤，以减少不良内容并提高结果质量。

## 训练数据与版权争议

GPT-J使用的The Pile包含Books3子数据集。2023年，《The Atlantic》报道Books3含有大量图书文本，其中包括多名作家的受版权保护作品，并称Books3被用于训练BloombergGPT、EleutherAI的GPT-J以及其他生成式AI程序；报道还称EleutherAI方面没有否认Books3被纳入GPT-J的训练数据。《卫报》随后报道，查蒂·史密斯、斯蒂芬·金、蕾切尔·卡斯克、埃琳娜·费兰特等作者的作品出现在Books3中，并指出Books3也被用于训练GPT-J。

## 衍生与滥用

GPT-J的开放权重方便研究与微调，也带来双重用途问题。2023年，网络安全研究者和媒体报道了WormGPT等用于网络犯罪的恶意语言模型。有观点将WormGPT描述为GPT-J的微调版本，称其被作为没有内容过滤的ChatGPT替代品出售，可生成钓鱼邮件、恶意脚本和漏洞利用说明。TechCrunch对WormGPT进行报道时也称，该工具据称基于EleutherAI于2021年开放的GPT-J，但其具体微调程度和实际能力并不明确。

## 影响

GPT-J在开源大语言模型史上具有承前启后的意义。它继GPT-Neo之后扩大了公开权重GPT类模型的规模，并在LLaMA、Falcon、Mistral、Pythia、GPT-NeoX等后续开放或开放权重模型出现前，为研究者提供了可直接下载和实验的60亿参数级语言模型。InfoQ在2021年的报道中将GPT-J描述为一个六十亿参数的开源NLP模型，指出其训练于The Pile，并在相近规模任务上达到与GPT-36.7B模型相近的表现。

## 外部链接

- https://huggingface.co/EleutherAI/gpt-j-6b
- kingoflolz/mesh-transformer-jax

## 基本资料

- 域：EleutherAI标志
- 开发者：EleutherAI
- 发行日期：2021年6月
- 类型：大型语言模型、生成式预训练转换器
- 许可协议：Apache License 2.0