OpenAI发布具有1750亿个参数的GPT-3 AI语言模型

2024-04-16 17:08

本文主要是介绍OpenAI发布具有1750亿个参数的GPT-3 AI语言模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址:https://arxiv.org/abs/2005.14165
guthub:https://github.com/openai/gpt-3

OpenAI的一组研究人员最近发表了一篇论文,描述了GPT-3,这是一种具有1,750亿个参数的自然语言深度学习模型,比以前的版本GPT-2高100倍。该模型经过了将近0.5万亿个单词的预训练,并且在不进行微调的情况下,可以在多个NLP基准上达到最先进的性能。
在这里插入图片描述

在arXiv上发表的论文中,由30多位合著者组成的团队描述了该模型和几个实验。研究人员的目标是生产一种NLP系统,该系统可以很好地执行各种任务,而几乎不需要微调,并且以前的工作表明较大的模型可能是解决方案。为了检验该假设,研究小组将其先前模型GPT-2的大小从15亿个参数增加到1750亿个。为了进行培训,团队收集了几个数据集,包括Common Crawl数据集和英语Wikipedia。该模型是根据多个NLP基准进行评估的,匹配了“已关闭”问题解答任务的最新性能,并为LAMBADA创造了新记录 语言建模任务。
在这里插入图片描述
OpenAI去年成为GPT-2的头条新闻,由于“对技术的恶意应用的担忧”,他们决定不发布经过训练的模型的15亿参数版本。GPT-2是基于Transformer架构的许多大型NLP模型之一。这些模型 使用自我监督学习在大型文本语料库(例如内容Wikipedia)上进行了预训练。在这种情况下,不是使用包含输入与预期输出配对的数据集的模型,而是为模型提供了带有单词“ masked”的文本序列,并且必须学习根据周围的上下文预测被屏蔽的单词。在进行此预训练之后,然后使用带有标签的基准数据集对模型进行微调,以用于特定的NLP任务,例如问题解答。

但是,研究人员发现,即使不进行微调,预训练的模型也表现良好,特别是对于在大型数据集上进行预训练的大型模型。今年早些时候,OpenAI发表了一篇论文,假定Transformer模型的几个“ 缩放定律 ”。根据来自多个不同基于Transformer的模型的性能数据,OpenAI得出结论,模型性能(在这种情况下,是测试数据集的交叉熵损失)与模型参数的数量,数据集的大小具有幂律关系。 ,以及用于训练的计算量。增加这三个变量将因此提高性能。

为了进行预培训,团队收集了一个由Common Crawl,WebText,英语Wikipedia和两本书集组成的数据集。为了提高数据质量,研究人员过滤了“常见爬网”以消除冗余。由于Common Crawl是从互联网上抓取的,因此它可能包含用于基准评估的实际测试数据,这会“污染”培训。该小组确实试图消除这种污染。但是,他们承认:

不幸的是,过滤中的错误导致我们忽略了一些重叠,并且由于训练的成本,重新训练模型是不可行的。

该团队使用这些数据来训练该模型的八个版本,范围从1.25亿个参数到完整的1,750亿个参数。在许多类别的数十个NLP基准上对模型进行了评估,在许多情况下,其性能均接近或高于最新水平。为了根据新闻文章生成任务评估模型,团队使用了Amazon Mechanical Turk聘请人类法官来猜测一对文章中哪篇是真实的,哪些是由GPT-3生成的。人类仅在52%的时间内选择了真实的商品;从本质上讲,人类在选择真实商品方面并不比硬币翻转更好。该团队还讨论了该模型的一些弱点。例如,在文本合成中,“ GPT-3样本有时仍会在文档级别进行语义上的重复,在足够长的段落中开始失去连贯性,相互矛盾,并偶尔包含非语义的句子或段落。” 该模型还很难解决“常识物理”问题,例如“如果我将奶酪放进冰箱,它会融化吗?”

NLP研究社区的几位成员在Twitter上评论了该模型的大小。Alchemy API创始人艾略特·特纳(Elliot Turner)推测,训练最大模型的成本可能“接近1200万美元”。Mark Riedl教授对模型尺寸与性能之间的联系提出了解释:

一种假设是,GPT-3具有如此众多的参数(训练的令牌数量的一半),以至于它开始像存储网络一样工作。

与GPT-2一样,OpenAI尚未发布经过​​训练的模型或代码,尽管存在一个GitHub存储库,其中包含一些测试数据集以及该模型生成的文本样本的集合。

这篇关于OpenAI发布具有1750亿个参数的GPT-3 AI语言模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/909395

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推