烧了微软10000张GPU,这伙人铁了心要砸大家的饭碗

现在它是程序员、网页设计师、会计、棋手……

晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

2020年注定是不平凡的一年。除了新冠疫情之外,今年还可能是“天网元年”。

因为在这一年诞生了“比特币之后人类最重大发明”、显卡毁灭者——史上最全能的AI模型。

现在你只要对它发号施令:

请帮助设计一个和XX网站一样的网页来介绍我的产品。

输入完仅仅几秒,它立刻就能输出一个美观的网页设计。

遥想6月初,这个模型刚刚发布时,外界认为它“不过就是炫富而已”,和前代相比没有太大的技术更新。

然而,内测试用后,风评立马180度大转弯,体验过的程序员们纷纷表示:“真香”。

事实证明,“微软的钞票+英伟达的核弹”的确是可以为所欲为的。

是的,这就是OpenAI的GPT-3,原来只能用来生成文字,一周之内被脑洞大开的程序员们开发出了30多种功能:数据库工程师、会计、运维、智能客服……,俨然一副取代人类的架势。

现在,它已经成为一名“真·全栈工程师”。

全能选手GPT-3

在后端,AI模型GPT-3成功“套娃”,能自己编写AI模型。只要给GPT-3提出具体的需求:

构建一个图像分类模型,把图片分成5类,训练数据集共有2.5万张图片,输入图片尺寸为500×500。

很快GPT-3就输出了模型的完整代码:

GPT-3甚至连代码的注释都写好了,生怕你看不懂。

作为一个会写AI模型的AI,懂一点数据库总是必不可少的,SQL语言自然不在话下。

现在用SQL实现数据的统计查找,基本就是一句话的事情,提出需求,GPT-3几秒内快速给出SQL查询代码。

既然是全栈工程师,只会后端代码显然是不够的。

前面,我们已经见识过GPT-3设计网页的能力。HTML前端工程师的事,GPT-3也会做。

GPT-3能根据描述生成网页CSS代码,稍加改动就能直接用在网页设计里。

还有运维的活儿,GPT-3也懂一点。

另外,程序员不会的事情,GPT-3也能做。

在没有任何财务知识的情况下,告诉它你的每一笔开销,GPT-3自动生成符合规范的财务报表。有了GPT-3,就能帮老板省下请会计的钱。

工作娱乐两不误。学习了一段棋谱后,GPT-3又掌握了国际象棋技能,不知道何时能与AlphaGo对战。

还有人对GPT-3进行了图灵测试,结果看起来真的很像人在回答。试用者说:“如果在十年前用同样的问题做测试,我一定会认为答题者是人类。”

看到这里,你是不是有一丝丝恐惧?不会天网真的要上线了吧?

深度学习之父、图灵奖得主Hinton看得更远,他认为GPT-3的未来不仅仅是取代人类,而是更遥远的星辰大海,也许用它就能破解宇宙终极秘密。

从GPT-3惊人的性能可以推测:生命、宇宙和万物的答案,只是4.398万亿个参数而已。

“钞能力”的GPT-3

这“都怪”OpenAI最近内测了GPT-3的API,让程序员得以脑洞大开,让普通人感到“害怕”。

GPT-3能力超强,一方面是因为在激烈竞争中各家NLP技术突飞猛进,更主要原因还是OpenAI够暴力、够多金。

要知道,去年OpenAI发布的GPT-2(GPT-3的前辈)只有15亿参数,而今年GPT-3参数量已经暴增到1750亿个,是前者的100多倍!

参数的暴增无疑会给模型性能带来明显的改进,但问题是多出来的计算资源从哪来。

成立不到5年的OpenAI能让GPT-3在一年内实现飞跃,其中当然少不了金主爸爸的支持。

去年,微软10亿美元投资OpenAI,让原本拮据的OpenAI终于可以放开手脚开发更为强大的AI模型。

GPT-3采用了两阶段的思路。

首先,用海量语料库对GPT-3进行无监督预训练,数据集大约含有3000亿个token,训练目标是让模型去预测下一个单词。

如果模型预测结果是错误的,那么就计算误差并更新模型,以便在下一次做出更好的预测。这一过程要重复数百万次,直到模型能生成正确的句子。

这一步是最最烧钱的。谷歌开发的BERT,“只有”3亿参数,英伟达用1400多个V100 GPU组成的计算集群算了近1小时才完成训练。

何况数据集规模超过500GB的GPT-3预训练模型,还有1750亿参数,训练难度就可想而知了。

为了训练GPT-3,微软花钱攒了台超级计算机。

今年5月,微软官方公布推出一台全球前五的超级计算机,专门用于OpenAI的模型训练。它总共有28.5万个CPU核心1万个英伟达V100 GPU。(黄仁勋看到这个配置,应该露出了笑容。)

有了这台超算,OpenAI就能实现“更大胆的想法”。

有专业人士推测过,训练一个GPT-3模型需要“355个GPU年”(一块GPU运行355年的运算量),光是训练费用就高达460万美元。

在微软和OpenAI的努(chao)力(piao)下,GPT-3终于被训练出来。

以上只是第一阶段,预训练模型还不能直接用于具体任务,接下来只要对刚刚的模型进行微调,就能处理各种负责的NLP任务。

而这一部分的运算量要小得多,普通用户也可以承受。于是我们就看到了GPT-3被用来写代码、做设计。

颇具争议的GPT-3

GPT-3成为网红,当然也少不了网友的激烈讨论。

有reddit网友认为,GPT-3的出现证明了通用人工智能不会太遥远。GPT-3已经做了可以做的一切,我们甚至不需要做得更好,只要再等几年,等算力增强,把数据集再扩大10倍。

也有人觉得,我们对GPT-3是否过于了乐观,说它是“天网”太过夸张。GPT-3本质上还是个NLP模型,和GPT-2具有相同的结构,唯一的区别只是规模更大。

和其他神经网络模型一样,GPT-3还是个黑箱子,我们不能知道它为什么做出这样的推理,而且它只有文本预测,没有逻辑推理、没有思想,在训练集之外的概括能力很差。

比如之前提到的写代码,可能更多的原因是技术论坛里有相关内容,被GPT-3拷贝了下来。

面对网友的赞美,OpenAI的CEO倒是非常谨慎,他认为现在关于GPT-3的炒作实在太多了。GPT-3仍然存在严重缺陷,有时候会犯一些低级的错误,还有很多需要改进的地方。

因为已经有人用来自互联网的内容训练出了一些带有偏见的结果,在国外的氛围中,一旦负面影响扩大化,对OpenAI将是个巨大的打击,恐怕这也是OpenAI不敢扩大测试范围的原因之一。

本来,OpenAI因为觉得GPT-3“实在太危险”选择不开源。现在开放API应该也是处于试水状态,出现任何问题都能快速关闭API,防止问题蔓延。

△OpenAI官方提示,GPT-3接受网络内容训练,可能有令人反感的内容

正因如此GPT-3 API现在相当稀缺的资源,申请到的难度不下于北京车牌摇号,只能试试运气了。

如何申请试用

如果你也对GPT-3感兴趣,不妨去OpenAI官网申请试用。填写下面这样一份表格,静静等待官方通知吧。

如果申请成功,你将获得一串API的试用密钥,只需要会Python 3,并安装yarn,按照GPT-3沙箱项目的指导,就能在Web端体验它的种种“钞能力”了。

这是一段将自然语言转化为LaTeX格式的代码:

# Construct GPT object and show some examples
gpt = GPT(engine="davinci",
          temperature=0.5,
          max_tokens=100)
gpt.add_example(Example('Two plus two equals four''2 + 2 = 4'))
gpt.add_example(Example('The integral from zero to infinity''\\int_0^{\\infty}'))
gpt.add_example(Example('The gradient of x squared plus two times x with respect to x''\\nabla_x x^2 + 2x'))
gpt.add_example(Example('The log of two times x''\\log{2x}'))
gpt.add_example(Example('x squared plus y squared plus equals z squared''x^2 + y^2 = z^2'))

# Define UI configuration
config = UIConfig(description="Text to equation",
                  button_text="Translate",
                  placeholder="x squared plus 2 times x")

demo_web_app(gpt, config)

现在,你是个成熟个AI,应该能自动写出“牛顿-莱布尼兹公式”了。

怎么样,你想去试试吗?

参考链接:
https://blogs.microsoft.com/ai/openai-azure-supercomputer/
https://jalammar.github.io/how-gpt3-works-visualizations-animations/
https://www.reddit.com/r/MachineLearning/comments/hymqof/d_gpt3_and_a_typology_of_hype_by_delip_rao/

OpenAI’s GPT-3 Language Generator Is Impressive, but Don’t Hold Your Breath for Skynet

GPT-3应用案例:
https://gpt3examples.com/

GPT-3沙箱:
https://github.com/shreyashankar/gpt3-sandbox

OpenAI API开发者工具包:
https://www.notion.so/API-Developer-Toolkit-49595ed6ffcd413e93ebff10d7e70fe7

版权所有,未经授权不得以任何形式转载及使用,违者必究。