程序员饭碗不保了?GPT-3 最强应用发布,动动手指就自动写代码的神器来了!...

简介: 程序员饭碗不保了?GPT-3 最强应用发布,动动手指就自动写代码的神器来了!...

image.png


前不久OpenAI发布最新的NLP模型GPT-3,这两天霸榜GitHub趋势榜:

image.png


这个模型的出现证明在AI领域的“大力出奇迹”,GPT3使用的数据集容量达到45TB,参数个数1750亿,一个训练好的模型就要 700G的硬盘空间来存储。近日有开发者根据GPT-3模型上线了一个能够自动生成代码的网站debuid(https://debuild.co/)。在这网站注册后,用户只要用英语描述需求,前端代码会自动生成。

image.png


就连那种在IT界摸爬滚打十几年的老程序员,在试用debuild网站后,吃惊得说不出话来。不过可能是突然压力增大,目前该网站已关闭新增注册的功能。

a415a62dbbcd52ff3dc341b6fffb3231.gif


1.初识Open AI


大名鼎鼎的Open AI在去年DOTA2的顶级赛事TI8后,与世界冠军OG战队举行了一场表演赛,当时Open AI的强化学习模型,在英雄阵容限定17个,部分道具和功能禁用的条件下,以2:0完胜了人类冠军,尤其是在第二场比赛中AI在15分钟就解决了战斗,展现的强大实力令人信服。

image.png


这使人类在对战游戏中的最后一道防线,MOBA的战略游戏也宣告失手。其开源的强化学习模型gym(https://github.com/openai/gym)是业界较认可的游戏类模型包。翻开Open AI(https://www.openai.com/)的网址,你会发现他们除了做游戏AI,还做这种自动玩魔方的机器人:

image.png


虽然NLP好像不是Open AI最为关注的领域,不过他们在自然语言处理方面成果一直引人关注。在去年底《权利的游戏》全面烂尾后,有人使用模型GPT-2 来重写剧本的结局。网友普遍反应AI改写的新结局比电视剧的版本要好。

image.png


2.自然语言处理发展历程


机器学习的本质是通过找到结果与多维输入之间的关系来进行预测,计算机是没有办法处理语言的,所以需要将自然语言转换为向量才能进行机器学习。


在本轮AI行业全面爆发之初,行业还并未找到将单词转为向量的好办法,所以自然语言处理方面的程序一直比较慢,直到Word to Vector出现。


word2vec出世:在这项技术发明之前,自然语言处理方面的应用基本是依靠专家制订语法规则,交由计算机实现的方式来推进。


word2vec的核心理念是一个单词是通过其周围的单词来定义,word2vec算法通过负例采样暨观察一个单词不会和哪些单词一起出现;跳字处理暨观察一个单词周围的单词都有哪些,来完成单词到向量的转化过程。将单词转化为向量也被称为词嵌入的过程,从而让自然语言处理变成一个能让计算机自动执行的过程。


一个好的词嵌入模型要满足两个条件一是词义相近的单词在空间上的距离要近,比如七彩虹、铭宣、影驰等显卡品牌对应的向量应该在词空间中的距离比较相近。二是有对应关系相同的单词对应向量的减法结果相等,比如v(中国)-v(北京)=v(英国)-v(伦敦)。

word2vec加速自然语言处理的发展速度,GPT、BERT、XLNET等模型相继被提出,虽然他们的流派有自编码和自回归的不同,但是对传承词嵌入思想的继承还是比较一致的,这些模型都是在不借助语法专家的知识库的情况下,直接利用词与词之间的关系来进行模型训练。


自回归模型:GPT系列都是典型的自回归架构的自然语言处理模型。通俗地讲,自回归使用自身做回归变量的过程,一般说来记为以下形式:

image.png


自回归模型假定t时刻的序列(Xt)可以利用前期若干时刻的随机变量的线性组合来描述。   什么是自然语言处理中的因式分解?先复习一下贝叶斯公式,它描述随机事件 A 和 B 的条件概率,其中P(A|B)是在 B 发生的情况下 A 发生的可能性:

image.png


将I、love、you三个单词分别对应向量:X_1、X_2、X_3,如果要建模“I love you”这句话,就要通过贝叶斯公式解出,在自然数据这个序列出现的联合概率分布 P(X_1,X_2,X_3)。


由于词语之间的相互联系,除了统计P(X_1)、P(X_2)、P(X_3)三个概率是不够的。因为X_1还依赖其它变量存在条件分布 P(X_2|X_1) 和 P(X_3|X_1)。对于X_2和X_3也是一样,我们可以将这三个模型组合起来获得期望联合分布

P(X_1,X_2,X_3)=P(X_1)P(X_2|X_1)P(X_3|X_1,X_2)


一般来说,变量的每个可能的排序都存在自回归因式分解。在有N个变量的问题中,就存在 N! 个因式分解。在上面提到的三个变量的例子中,我们可以列举出六个自回归因式分解,当然在AR模型中都考虑了顺序信息,不会计算所有的因式分解:

image.png


自回归的局限:自回归模型其实就是通过贝叶斯因式分解的方式来计算输入序列的概率密度。那么其劣势也就比较明显了,由于输入序列有方向性,所以自回归只能处理正向或者反向单向信息。


3.GPT-3的应对之道


GPT-3的作者在论文开头就指出,通过对大量文本进行预训练,针对特定任务进行微调,模型的性能可以在许多 NLP 任务以及基准测试中获得显著提升。


如图所示,X轴代码模型的参数数量级而纵轴代表准确率,模型规模越大,准确率也会随之升高,尤其是在参数规模达到13亿以后,准确率提升的速度还会更快。简单讲,GPT-3的决胜之道在于其模型的训练集特别大,参数茫茫多

image.png


GPT-3与 GPT-2使用了相同的模型和架构,包括改进的初始设置、预归一化和 reversible tokenization。


GPT-3最主要提升点在于其在transformer的各层上都使用了交替密集和局部带状稀疏的注意力模式。


我们知道理解自然语言需要注意最相关的信息。例如在阅读过程中,人们倾向于把注意力集中在最相关的部分来寻找问题的答案。然而如果不相关的片段对阅读理解产生负面影响,就会阻碍理解的过程,理解过程需要有效的注意力。


这一原理同样适用于自然语言的计算系统。注意力一直是自然语言理解和自然语言生成模型的重要组成部分。因此交替密集和局部带状稀疏的注意力模式只关注k个贡献最大的状态。通过显式选择,只关注少数几个元素,与传统的注意方法相比,对于与查询不高度相关的值将被归0。

image.png


代码自动生成网站Debuild可能并不在Open AI的计划当中,如果继续向前推进使得产品经理的需求描述,直接变成可执行的全套代码,其颠覆性是我们根本无法想象的。

目前已经有消息称Open AI已经开始关注GPT-3有可能引发的道德风险了,不过笔者认为大的趋势不可阻挡,也许AI会先“革了”程序员的饭碗,把程序员的工作完全替代?或许。

目录
相关文章
|
25天前
|
人工智能 Rust Kubernetes
开源11天,马斯克再发Grok-1.5!128K代码击败GPT-4
**马斯克的xAI发布Grok-1.5,超越GPT-4!**\n\nGrok-1.5以128K上下文长度提升文本理解,强化推理能力,在MATH与GSM8K数学测试中展现出色性能,HumanEval代码任务得分74.1%。基于JAX、Rust和Kubernetes的训练框架加速了研发,但更大规模带来资源需求挑战。开源策略促进发展,但也引出滥用与安全问题。
175 3
开源11天,马斯克再发Grok-1.5!128K代码击败GPT-4
|
6月前
|
机器学习/深度学习 运维 数据可视化
chat GPT在常用的数据分析方法中的应用
ChatGPT在常用的数据分析方法中有多种应用,包括描述统计分析、探索性数据分析、假设检验、回归分析和聚类分析等。下面将详细介绍ChatGPT在这些数据分析方法中的应用。 1. 描述统计分析: 描述统计分析是对数据进行总结和描述的方法,包括计算中心趋势、离散程度和分布形状等指标。ChatGPT可以帮助你理解和计算这些描述统计指标。你可以向ChatGPT询问如何计算平均值、中位数、标准差和百分位数等指标,它可以给出相应的公式和计算方法。此外,ChatGPT还可以为你提供绘制直方图、箱线图和散点图等图表的方法,帮助你可视化数据的分布和特征。 2. 探索性数据分析: 探索性数据分析是对数据进行探
160 0
|
6月前
|
机器学习/深度学习 数据采集 自然语言处理
chat GPT数据分析岗位应用
ChatGPT在数据分析岗位的应用是一个非常广泛和多样化的领域。它可以用于处理和分析各种类型的数据,包括文本数据、数值数据、图像数据等。在数据分析岗位的了解阶段,ChatGPT可以帮助数据分析师进行数据预处理、特征工程、模型解释和数据可视化等任务。下面将详细介绍ChatGPT在数据分析岗位了解阶段的应用。 1. 文本数据分析: 在数据分析岗位中,文本数据是非常常见的数据类型。ChatGPT可以用于处理和分析大量的文本数据,帮助数据分析师从中提取有用的信息。它可以进行文本分类、情感分析、主题建模等任务。例如,数据分析师可以使用ChatGPT来对大量的用户评论进行情感分析,了解用户对产品或服务的
60 0
|
2天前
|
人工智能 JSON 自然语言处理
GPTs 应用开发:使用 GPT Builder 创建自己的 GPTs 应用(上)
GPTs 应用开发:使用 GPT Builder 创建自己的 GPTs 应用
23 2
|
13天前
|
SQL 人工智能 自然语言处理
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
|
2月前
|
人工智能 自然语言处理 前端开发
解密GPT在日常生活中的神奇应用:从工作到娱乐,处处随行
解密GPT在日常生活中的神奇应用:从工作到娱乐,处处随行
68 0
|
4月前
|
自然语言处理 安全 网络安全
22LLMSecEval数据集及其在评估大模型代码安全中的应用:GPT3和Codex根据LLMSecEval的提示生成代码和代码补全,CodeQL进行安全评估【网安AIGC专题11.22】
22LLMSecEval数据集及其在评估大模型代码安全中的应用:GPT3和Codex根据LLMSecEval的提示生成代码和代码补全,CodeQL进行安全评估【网安AIGC专题11.22】
123 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解
大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解
大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解
|
5月前
|
数据采集 人工智能 监控
【网安AIGC专题11.1】论文13:理解和解释代码,GPT-3大型语言模型&学生创建的代码解释比较+错误代码的解释(是否可以发现并改正)
【网安AIGC专题11.1】论文13:理解和解释代码,GPT-3大型语言模型&学生创建的代码解释比较+错误代码的解释(是否可以发现并改正)
90 0
|
5月前
|
机器学习/深度学习 人工智能 测试技术
三篇论文:速览GPT在网络安全最新论文中的应用案例
三篇论文:速览GPT在网络安全最新论文中的应用案例
129 0