新探索---EleutherAI的GPT Neo/GPT-3模型

1 引言

就像之前的GPT-2一样,GPT-3的发布引起了很多人的关注。OpenAI的GPT-3是一个超大型语言模型,参数高达175B。不过,尽管GPT-3显示了惊人的结果,但它不是开源的,要使用它必须付费。于是非营利性开源研究组织Eleuther AI发布了与GPT-3架构相同的GPT Neo/GPT-3。这个笔记简要描述了这个模型的产生背景和现状。


GPT-Neo的背景

GPT-Neo由非营利性开源研究组织Eleuther AI发布,ElutherAI的既定目标是重构OpenAI完整的1750亿个参数的GPT-3版本。GPT-Neo是一个使用GPT-3架构设计的大型Transformer语言模型。GPT-Neo基于mesh-tensorflow创建而进行分布式支持。mesh-tensorflow是一个用于大规模并行学习库。GPT-Neo是在Pile上训练的,Pile是EleutherAI为了特定的训练任务而创建的一个大规模数据集,Pile训练语料库包括825GB的文本,除了既定的文本数据集,它还包括书籍、github资源库、网页、IRC聊天记录以及医学、物理学、数学、计算机科学和哲学论文等。该语料库由22个不同的高质量子集构成--包括现有的和新构建的,其中许多来自学术或专业领域。显然增加训练数据集的多样性可以改善大规模语言模型的一般跨领域知识和下游泛化能力。虽然GPT-2声称它的数据源是来自Wiki以外的数据,但以前的试验显示原始的GPT-2模型对于学术写作来说还很吃力,期望GPT-Neo产生的效果能够更好一些。

GeotechSet数据集在GPT2上的训练过程

GPT2-Large模型解码方法---Top-K and Top-p sampling

GPT2-Large模型解码方法比较

开放式文本生成(Open-Ended Text Generation)

必须指出,GPT-Neo代码库是专为TPU设计的,但也能在GPU上运行,参看下面的试验。虽然GPT-3的全部规模还没有被复制, 但目前已经开发出四个GPT-Neo模型:

(1) GPT-Neo 2.7B

(2) GPT-Neo 1.3B

(3) GPT-Neo 350M

(3) GPT-Neo 125M

同时,Eleuther AI也正在开发GPT-NeoX,即GPT-Neo的后续项目。与基于mesh-tensorflow的GPT-Neo不同,GPT-NeoX使用NVidia Megatron和DeepSpeed。而代码库采用pytorch而不是tensorflow。根据Eleuther AI的说法,最终将要训练一个与GPT-3 175B参数数量相似的模型。


尽管如此,GPT-3仍然比GPT-Neo有优势。最大的GPT-3(1750亿个参数)仍然比现有最大的GPT-Neo(27亿个参数)大得多,前者是后者的65倍 。GPT-3托管在OpenAI优化的云计算架构上,几秒钟内就可以返回结果。相比之下,如果在本地机器上运行GPT-Neo,可能需要等待几分钟才能得到回应。


GPT-Neo试验

GPT-Neo与GPT-2一样,是一个自回归语言模型,这意味着它的核心功能是提取一串文本并预测下一个标记。当使用GPT-Neo时,输入一个文本提示,模型将产生一个延续。这些延续将以最小长度和最大长度参数作为界限。一开始下载了EleutherAI/gpt-neo-125M这个最小的模型,后来又下载了EleutherAI/gpt-neo-1.3B,目前没有下载EleutherAI/gpt-neo-2.7B,这个模型大约10G。

新探索---EleutherAI的GPT Neo/GPT-3模型的图1

于是试验模型选用EleutherAI/gpt-neo-1.3B,采用top_p,top_k, temperature联合取样,产生出4个随机句子:

(1) landslide produced by earthquakes. "What we've learned about earthquake magnitude and seismicity is that it's a good indicator of what's going to happen in a particular place," says Mark A. Jaffe, an earthquake scientist at the National Institute of Standards and Technology. "If the magnitude is 6.0, it means a quake is likely to be much bigger."(由地震产生的山体滑坡。"我们对地震震级和地震性的了解是,它是一个很好的指标,表明在一个特定的地方会发生什么," 美国国家标准和技术研究所的地震科学家Mark A. Jaffe说。"如果震级是6.0,这意味着地震可能会更大。")


(2) landslide produced by earthquakes in Yellowstone National Park, Alaska, USA. The event occurred in the summer of 1892, with an estimated magnitude of 7.2. It was the largest earthquake to ever be recorded in North America. After a magnitude 7 (Mw) earthquake in April 1993, the Yellowstone Crater was one of the most seismically active places on Earth, measuring a further 17 quakes during a 10-year period. (美国阿拉斯加黄石国家公园的地震产生的山体滑坡。该事件发生在1892年的夏天,估计震级为7.2级。这是北美有记录以来最大的地震。1993年4月发生7级地震后,黄石火山口成为地球上地震最活跃的地方之一,在10年间又测得17次地震。)


(3) landslide produced by earthquakes that occur in the area. The resulting landslide and subsequent mudflow produced an avalanche that resulted in a total of 1,150 deaths and 3,000 injuries. In August 2016, the slide occurred again, this time between the two villages of Fribourg and Sainte-Anne-de-Bellevue. A landslide produced a mudslide and a landslide in which many residents were killed, causing a death toll of up to 2,500. (该地区发生的地震所产生的山体滑坡。由此产生的山体滑坡和随后的泥流产生了雪崩,共造成1150人死亡和3000人受伤。2016年8月,滑坡再次发生,这次是在弗里堡和圣安娜-德-贝勒维两个村庄之间。山体滑坡产生了泥石流和塌方,许多居民在其中丧生,造成的死亡人数高达2500人。)


(4) landslide produced by earthquakes and landslides. The rock was also used to build a bridge over the River Cairn. The bridge is now used for pedestrian and cycle access. It was built in the late 1920s and was the last remaining stretch of a former railway bridge in North East Scotland.  The river was bridged by the road bridge across the Cather to the east of Stornoway. In 1969 it was destroyed by an earthquake and in 1981 it collapsed. (由地震和山体滑坡产生的山体滑坡。这些岩石还被用来在凯恩河上建造一座桥。这座桥现在被用于行人和自行车通道。它建于20世纪20年代末,是苏格兰东北部仅存的一段前铁路桥。在斯托诺韦东部,该河由横跨凯瑟河的公路桥架起。1969年,它被地震摧毁,1981年,它倒塌了。)


5 结束语

本文描述了GPT Neo/GPT-3的产生背景和现状,并试验了相应的模型。通过试验发现与GPT-2相比,Neo/GPT-3模型可能更倾向于学术写作的生成,不过要得到满意的结果,还需要在我们自己的专业数据集上进行微调。不过在目前的硬件设备上可能做不了。因为试验过GPT2-large不成功,而gpt-neo-1.3B模型比GPT2-large还要大。

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注