GPT“高仿”系列开源!最多可以达到GPT-3的大小,可以独立训练GPT-3虽然没有开源,但是已经有人在复制GPT系列的模型了。例如,慕尼黑工业大学的ConnorLeahy用了200小时和6000元人民币来复现GPT-2。再比如,康奈尔大学的PhilipWang一发布就开始基于150亿参数版本的GPT-3复现DALLE模型。但在此之前,还没有人能够重现GPT-3大小的大型语言模型。然而,有些人已经在尝试了。这是一个叫GPT-Neo的项目,用来复现GPT系列的各种语言模型,当然也包括GPT-3。作者表示,到目前为止,他们已经成功制作了一个GPT-2大小的模型。从项目代码的可扩展性来看,他们期望能够复制出一个GPT-3大小的语言模型,甚至比GPT-3还要大。不仅如此,由于这是一个开源项目,你也可以自己训练这些模型(包括未来的GPT-3)。目前,作者已经给出了详细的训练步骤。消息一出,网友们兴奋不已:如果能复现,说不定比现在的GPT-3还要好用!GPT系列的“高仿”项目从本质上讲,GPT-Neo有点像GPT系列的“高仿”项目:GPT-Neo中的各种模型与GPT系列的设计原理相似,但代码是不同的。作者打算尝试各种结构和注意力类型,最终扩展出GPT-3大小的大型语言模型。为了实现这个目标,他们从复现GPT系列的模型开始,不断尝试各种模型架构和各种注意力机制的实现。也就是说,GPT-Neo更像是一个实验项目,通过各种尝试,扩展了一个更大的模型。这里综合了多种让模型“变大”的研究:比如多任务学习方法MoE(MixtureofExperts),采用多个专家的结构,将问题空间划分为同质区域,然后利用分配决定应该向哪些专家提问。另一个例子是具有线性复杂度的自注意力机制。……项目还在建设中,不过连模型的训练方法都准备好了。该项目计划通过TPU或GPU训练大型语言模型。为此,作者基于Tensorflow-mesh(用于在GPU上训练模型)和Deepspeed(用于在TPU上训练模型)两个项目编写了GPT-Neo的训练代码。这两个项目都可以扩展到比GPT-3更大的规模,甚至更大。因此,用软件训练一个GPT-3大小的模型在理论上是可行的。但对于硬件问题,作者仍在思考一个明确的解决方案。如果未来真的做出了一个GPT-3大小的模型,他们打算先从谷歌那里得到更多的免费资源,如果没有,再说说如何训练GPT-Neo,当然是在TPU和GPU上训练的方式是不同的。如果使用TPU训练,需要注册一个谷歌云平台,创建一个存储空间,然后搭建一个虚拟机,将模型放到TPU上进行训练。不过,如果你的GPU硬件足够OK,你也可以选择直接训练GPT-Neo,而不需要架设一系列的谷歌云。此外,您还可以使用GoogleColab对项目进行训练。免费提供TPU-V8S处理器,训练3XL(1.5B参数)版本的GPT绰绰有余。训练过程并不复杂,主要包括创建分词器、数据集预处理、指定训练数据集、选择训练配置、训练模型。在创建分词器方面,GPT-Neo目前提供了一个Huggingface预训练的GPT-2分词器。但是,您也可以训练自己的分词器。然后,对数据进行预处理,可以直接下载项目提供的数据,也可以使用自己的数据集。之后指定用于模型训练的数据集,然后设置训练方式,比如优化算法、训练步数等。然后指定硬件名称和数量,就可以开始训练模型了。“一个只使用谷歌搜索的自动化团队。”不过对于GPT系列项目的复出,也有部分网友并不看好。网友认为,GPT-X系列项目就像一个由数百人组成的自动化团队。这数百人只能用谷歌搜索来工作,他们没有办法写最新的新闻报道。(因为训练数据不能一直更新)虽然是一个很有意思的研究,但是目前还没有什么“杀手级”的应用让GPT-3项目的存在更有意义。当然,也有人认为重现这个项目还是有意义的。哪怕只是“几百个只做搜索引擎的团队”,他们也需要快速回答一个问题。如何高效地从大量零碎的信息中选择最优解,本身就是GPT-X项目的价值之一。毕竟,如果只是一个“可以用谷歌搜索”的数百人团队,是无法像GPT-3一样快速得到最佳答案的。当然,也有程序员调侃说,如果真的复现了这个GPT-3项目,他们岂不是要失业了?“我们一直在用Google搜索和stackoverflow来解决问题,这不就像GPT-3一样,只是整合搜索引擎的信息来解决问题吗?”“靠,原来GPT-3可以代替这样的Multipleprogrammer。”目前GPT-Neo的所有项目和代码都已经开源,想要尝试的朋友,或者对该项目感兴趣的朋友可以行动起来~项目地址:https://github.com/EleutherAI/gpt-neo
