无法访问GPT-3?强大的克隆版GPT-J带着60亿参数来了
编辑|核子可乐、钰莹
EleutherAI 开源 60 亿参数的 GPT-J
为了打破 OpenAI 和微软对自然语言处理 AI 模型的垄断,EleutherAI 的一组研究人员已经对 GPT-J 进行开源。GPT-J 是一套基于 GPT-3 的 AI 模型,其中包含 60 亿条参数。该模型使用高达 800 GB 的开源文本数据集训练而成,并在性能上足以与同等规模的 GPT-3 模型相媲美。
开发者 Aran Komatsuzaki 在自己的博客上发布了这个版本。本套模型采用 Google Cloud 的 v3-256 TPU 在 EleutherAI 的 Pile 数据集上训练完成,整个训练周期大约为五个星期。在常规 NLP 基准测试任务当中,GPT-J 的准确率与 OpenAI 方面发布的 GPT-3 67 亿参数版高度相似。
根据 Komatsuzaki 的介绍,GPT-J 是目前公开可用的 Transformer 语言模型当中,在处理下游任务时实现最佳零样本性能的解决方案。
OpenAI 于 2018 年首次发表了关于生成式预训练 transformers(GPT)的论文,这是一种无监督学习模型、在多项 NLP 任务上取得了最佳结果。2019 年初,OpenAI 公布了一套名为 GPT 的 15 亿参数模型,并将其命名为 GPT-2。OpenAI 最初拒绝发布体量更大的训练模型,理由是“担心此项技术遭到滥用”……但万物逃不过“真香”定律,他们还是在同年晚些时候发布了新版本。去年,OpenAI 拿出了一套包含 1750 亿个参数的新模型,名为 GPT-3,但同样没有发布训练后的模型文件。相反,OpenAI 决定提供一个 API,允许开发人员通过 Web 服务调用该模型将这项功能整合到自己的代码当中。
EleutherAI 是一个“由独立的基层志愿者组成的研究人员团体”,并于 2021 年 3 月发布了他们的第一个“类 GPT”系统实现方案,即 27 亿参数的 GPT-Neo 模型。GPT-Neo 以 TensorFlow 为实现环境,并在 TPU 上使用并行库 Mesh TensorFlow。该团队之后又着手开发 GPT-NeoX,这是一套基于 GPU 并使用微软 DeepSpeed 的实现方案;虽然代码已经开源,但目前尚无可用的模型文件。
而此次发布的最新模型 GPT-J 则是使用新库 Mesh-Transformer-JAX 训练而成。该库使用谷歌的 JAX 线性代数框架,而非 TensorFlow 等专用深度学习框架。Komatsuzaki 表示,GPT-J 拥有“比 TensorFlow 更灵活、更快的推理速度”,且模型的开发周期也比以往的项目短得多。与体量为 2.7 GB 的 GPT-Neo 模型相比,GPT-J 的训练效率提高了 125%。
为了回应人们对于模型遭受滥用的担忧,EleutherAI 联合创始人 Connor Leahy 在该组织的博客上重申了对成果进行开源的理由。Leahy 指出,像 GPT 这样的模型“结构简单、原理清晰”,因此不可能奢望能阻止它永不落入坏人手中。相反,EleutherAI 希望能借自己的开源努力推动更广泛的安全研究,特别是帮助“资源匮乏”的研究人员接触到同等规模的复杂模型。Leahy 还指出,不少资金充足的组织已经训练出比 GPT-3 更大的模型,微软、英伟达及谷歌都在此列。
在关于 GPT-J 版本的讨论当中,一位用户通过推文询问了运行这套模型的硬件要求。Komatsuzaki 回应如下:
要实现推理,您在原则上可以通过修改代码,将这套模型运行在任何具有 12 GB 以上内存的硬件之上。但使用 TPU 可以实现最佳吞吐量,只是这要求您只能直接运行原始模型。如果要对模型进行调优,则您至少需要具备 TPU v3-8。
GPT-J 代码与模型现已在 GitHub 上发布。EleutherAI 的官方网站中则提供关于模型文本生成功能的交互式演示。
官方演示地址:
https://6b.eleuther.ai/
GitHub 地址:
https://github.com/kingoflolz/mesh-transformer-jax/#gpt-j-6b
原文链接:
https://www.infoq.com/news/2021/07/eleutherai-gpt-j/
GPT-3 的局限
虽然 GPT-3 拥有庞大的 1750 亿参数,用来定义自己的语言,但这些训练数据集大多是从互联网上学习到的,包括新闻文章、维基百科条目和在线书籍,还包括 Reddit 和其他网站上的所有讨论,这些内容有对有错,导致 GPT-3 也会时不时出现一些攻击性内容。
在一篇题为《更好的语言模型及其影响》(Better Language Models and Their Implications)的博客文章中,OpenAI 强调,主要担心的是,恶意行为者会利用 GPT-2 生成高质量的虚假新闻,从而愚弄读者,并破坏事实与虚构之间的区别。
然而,人工智能社区有很多人反对这一限制发布的做法。当年晚些时候,该公司改弦更张,提供了一个完整的模型,但确实有人利用它制造假新闻,骗取了点击量。但它并没有在互联网上掀起一场非真相的海啸。在过去的几年里,人们已经证明了他们自己能够在无需人工智能的帮助下就能做到很好。
然后是 GPT-3,在 2020 年 5 月的一份长达 75 页的论文中亮相。OpenAI 最新的语言模型要远远大于之前的任何一个模型。与 GPT-2 的 15 亿个参数相比,它的 1750 亿语言参数有了显著增长。
Sandhini Agarwal 是 OpenAI 的人工智能政策研究员,他向 Spectrum 介绍了该公司的 GPT-3 策略。“我们必须和少数人一起进行这个封闭测试,否则我们甚至不知道这个模型的能力,也不知道我们需要在哪些问题上取得进展,”她说,“如果我们想要在有害的偏见等问题上取得进展,我们就必须实际部署。”
Agarwal 解释说,一个内部团队将审查所提议的应用,为那些通过 API 获得 GPT-3 访问权限的公司提供安全指南,在部署前再次对应用进行审查,并在部署后监控其使用情况。
OpenAI 也在开发工具,帮助用户对 GPT-3 生成的文本进行更好的控制。它提供了一个针对有害偏见和“有毒”语言的通用内容过滤器。但是,Agarwal 表示,这种过滤器实际上是不可能创建的。因为“偏见是一种非常虚幻的东西,会根据上下文不断变化而变化”。特别是在有争议的话题上,一个在辩论一方的人看来可能是正确的回应,却可能被另一方认为是“有毒”的。
另一种方法是提示工程,它将诸如“the friendly bot then said”等语句添加到用户的提示中,这样就可以将 GPT-3 设置为以礼貌、无争议的语气生成文本。用户还可以为自己的回答选择一个“温度”设置。设定较低的温度,意味着人工智能可以将以前很普通的词语组合起来,很少冒险,也不会引起意外;设定较高的温度,就更容易产生奇怪的语言。
目前,尚不清楚这种局限是否会同样体现在 GPT-J 身上,团队又是否会有相应的解决方案。
此外,上述两种模型都不是针对中文语境推出的,对中文的表现都不尽如人意。在 NLP 任务中,中文语言是很有挑战的。与英文不同,中文需要进行分词,而英文就是天然单词;其次中文的歧义性很强,比如说“喜欢上 / 一个人”,”喜欢 / 上一个 / 人“,”喜欢上 / 一个 / 人“,这些都表达了不同的意思。
因此,我们也在过去一年见证了以中文为核心的大规模预训练模型的出现。
以中文为核心的大规模预训练模型
清源 CPM
清源 CPM 是北京智源人工智能研究院和清华大学研究团队合作开展的大规模预训练模型,2020 年 11 月中旬,CPM 开放第一阶段的 26 亿参数规模的中文语言模型 (CPM-LM) 和 217 亿参数规模的结构化知识表示模型 (CPM-KM) 下载,以及相应的系统演示。
关于预训练模型的大量实验表明,更大的模型参数和更多的预训练数据,通常能够带来更好的下游任务效果,这类模型被证明在各种少样本学习 NLP 任务中十分有效。传统预训练模型往往需要经过有监督训练数据微调 (Fine-tuning),才能解决各种自然语言处理任务。而第一版 CPM 中文语言模型与 GPT-3 等预训练模型类似,仅需要通过少次、单次学习甚至零次学习,就能完成不同自然语言处理任务,具备一定的常识和认知的泛化能力。CPM 模型从大规模的中文语料库中学习了通用的语言模式,有望显著提升中文自然语言处理各任务的性能。初步的实验表明,CPM 模型能够用于问题解答、摘要和对话以及生成各种文本包括随笔、小说、代码、电子表格等。
与此同时,基于清源 CPM 模型的文本深度理解和智能生成能力,智源研究院也将积极与产业界合作,在智能客服、个性推荐、文本生成、自动编程等方面,探索新型的人工智能应用和商业模式。
相关资源 :
清源 CPM 主页:
https://cpm.baai.ac.cn/
清源 CPM Github 托管代码主页:
https://github.com/TsinghuaAI/
预训练模型必读论文列表:
https://github.com/thunlp/PLMpapers
阿里巴巴的预训练语言模型 PLUG
今年 4 月 19 日,在以中文为核心的超大规模语言模型领域,阿里巴巴达摩院机器智能实验室重磅发布最新训练的 270 亿参数规模的中文语言理解和生成统一模型 --PLUG (Pre-training for Language Understanding and Generation)。
据了解,PLUG 采用了 1TB 以上高质量中文文本训练数据,涵盖新闻、小说、诗歌、问答等广泛类型及领域,其模型训练依托了阿里云 EFLOPS 高性能 AI 计算集群。
PLUG 超大规模预训练中文理解 & 生成统一模型,是目前中文社区最大规模的纯文本预训练语言模型,集语言理解与生成能力于一身。其目标是通过超大模型的能力,大幅度提升中文 NLP 各大任务的表现,取得超越人类表现的性能。
根据阿里巴巴达摩院的介绍,相较于 Open AI 的 GPT-3 等其他大规模生成模型,PLUG 具备如下几个优势:
PLUG 是目前中文社区最大规模的纯文本预训练语言模型。
PLUG 集语言理解与生成能力于一身,在语言理解(NLU)任务上,以 80.179 分刷新了 Chinese GLUE 分类榜单的纪录;
在语言生成(NLG)任务上,在多项应用数据上较 State-of-the-art 平均提升 8% 以上。PLUG 可为目标任务做针对性优化,通过利用下游训练数据 finetune 模型使其在该特定任务上生成质量达到最优,弥补之前其它大规模生成模型 few-shot inference 的生成效果不足,适于应用在实际生成任务。
PLUG 采用了大规模的高质量中文训练数据(1TB 以上),同时,PLUG 采用 encoder-decoder 的双向建模方式,因此,在传统的 zero-shot 生成的表现上,无论是生成的多样性,领域的广泛程度,还是生成长文本的表现,较此前的模型均有明显的优势。
PLUG 开放了体验功能供学术领域试用。
相关阅读:
《阿里发布 PLUG:270 亿参数,中文社区最大规模预训练语言模型》
点击下方图片即可阅读
你也「在看」吗?
原文链接