背景
这类语言模型只学一件事:给定一段文本,预测接下来会出现什么。模型里的「参数」就是训练过程中学到的数字;参数越多,通常需要的数据和算力也越多。训练完成之后,还有一个问题:谁能用上它。它可以被放在托管的接口后面,只对外提供调用;也可以把权重——训练好的参数文件——直接公开,让任何人下载下来运行。GPT-J-6B 属于后者。
发布
2021 年 6 月,EleutherAI 发布了 GPT-J-6B,一个 60 亿参数的开放模型[1]。项目由 Aran Komatsuzaki 提出,发布公告也由他撰写;JAX 代码由 Ben Wang 编写[1]。权重以 Apache 2.0 协议发布[2],这是一份宽松的许可,允许复用和修改。
选择 JAX 这一数值计算框架,对那些后来想读懂或改写训练、推理代码而不只是下载权重的人是有意义的。
训练与结构
训练在 The Pile 这个文本数据集上完成,用的是 Google Cloud 的 TPU,具体为一个 TPU v3-256 pod,共处理了 4020 亿个 token[2]。token 是模型真正读取的单位,大致相当于一个词或词的一部分,所以 token 数量描述的是训练期间有多少文本经过了模型。
结构上,GPT-J-6B 有 28 层,每层拆成 16 个注意力头(attention head),每个头 256 维,上下文长度为 2048 个 token[3]。注意力头是模型在同一段文本上并行地把不同位置关联起来的通道;上下文长度决定它一次能看多长的文本,超出这个窗口的内容不会进入计算。它的分词使用字节对编码(BPE),词表共 50,257 个 token,直接沿用 GPT-2 和 GPT-3 的词表[3]。词表决定了原始文本被切成什么样的单位,与早先的模型共用一套词表,意味着同样的字符串会被切成同样的片段。
结果
公告给出的说法是:在零样本(zero-shot)任务上,它的表现接近 67 亿参数的 GPT-3(Curie)[1]。零样本指的是只给模型任务描述和输入、不给任何示例,看它能不能直接做对。真正引人注意的是这个对比本身:一个权重公开的模型,被拿来和一个能力相当的、权重不公开的模型放在一起衡量。
影响
由于权重可以在宽松许可下直接下载,别的研究者能够自己运行、检查并在此基础上继续做工作,而不必经过某个托管服务[2]。这改变的是可做的工作种类:结果可以在本地机器上复现和检验,模型也可以按许可条款改作他用。在一个最强的模型大多只能以服务形式接触的领域里,把 60 亿参数的模型当作文件发布出来,是一个具体的替代方案。
它同时留下了一份记录。公告、许可协议和模型卡写清了代码各部分由谁编写、用了多少数据、训练跑在什么硬件上,以及结构细到多少个注意力头、词表多大[1][2][3]。正是这种细致程度,让一个公开发布的模型成为别人可以核查的对象,而不只是可以使用的工具。
来源
- 1EleutherAI Open-Sources Six Billion Parameter GPT-3 Clone GPT-JOpen Source For You
- 2GPT-J 6B model cardHugging Face
- 3GPT-J 6B model cardHugging Face
引用本页: EleutherAI 发布 GPT-J-6B. TellWorld, https://www.tellworld.net/zh/news/gpt-j-2021. 更新于 2026-11-08