主頁 > 軟體設計 > 彈幕炸了!OpenAI直播大秀語音指揮AI自動編程,也就比老羅TNT強億點點

彈幕炸了!OpenAI直播大秀語音指揮AI自動編程,也就比老羅TNT強億點點

2021-08-14 08:27:10 軟體設計

金磊 夢晨 明敏 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

剛剛,OpenAI又玩出了一個新高度,

只輸入自然陳述句,AI就自動做了個小游戲!

劃重點:不! 用! 你! 編! 程!

來,感受一下這個feel,

第一步,“小人兒”搞里頭,輸入一句話就能讓它按照方向鍵左右移動:

Now make it controllable with the left and right arrow keys.

AI在理解了需求之后,自動編程,然后小人兒就真的可以左右移動了,

第二步,“石頭”搞里頭,同樣輸入一句話,讓它“從天而降”:

Now have it fall from the sky, and wrap around.

第三步,用自然語言簡單再制定些規則,若小人兒被石頭砸中則終止游戲,

Constantly check if the person and the boulder overlap at all, and if so, you lose.

最后還讓AI生成結束提示,其中要包括一句鼓勵人的話,

AI挑中的是“Try Again!”

當然,還有規則更復雜的小游戲(例如增加計分等功能),也可以用同樣的方式,分分鐘生成:

這是魔法吧!現在開發小游戲都靠“打字”了?!

圍觀直播的觀眾們,也是發出了同樣的感慨,瞧瞧這滿屏止不住的彈幕:

有網友甚至直呼道:

編程,已經變成AI自己的游戲了,

這就是OpenAI重磅發布的新品——Codex,一個能自己編程的AI,

AI編程這事并不新鮮了,像GitHub前不久鬧得風風火火的Copilot,就是其中一個,

但它背后的技術,其實還是來自于OpenAI,

然而這一次,OpenAI給自己的能力升了個級,來了個新版本,

不僅如此,搞一個小游戲,僅僅是Codex能力的冰山一角罷了,

一起感受一下它更多驚艷的表現吧,

不用打字,直接語音命令它!

給AI打字“提需求”,還是略顯麻煩了一些,

能不能直接說話下達命令呢?

這個還真可以有!

OpenAI這次與微軟合作出了一個Word插件,便帶了這種語音控制的功能,

直接對著AI下命令“把每行開頭的空格去掉”,AI通過微軟給的介面一頓操作,成功執行:

啪的一下,全文就左對齊了有木有,

而且AI還精準地理解了命令的含義,那些段與段之間的空行并沒有改動,

來再復雜一點的,

給AI下達“每數到五行就加粗”命令,也是能輕松hold得住:

這種把任務吩咐下去,就有“人”給你完成的感覺,是不是很像老員工指揮實習生?

總之呢,是比羅永浩前幾年發布的TNT系統語音辦公要強上那么“億”點點了,

除了官方的演示,這次內測用戶aniakubow,還讓AI表演了通過152字描述生成一個網頁

可以看出這里Codex是用Javascript操作Document物件來生成網頁,可能是訓練集里沒有直接的HTML代碼的緣故吧,

最后,除了現場演示外,OpenAI還在Arxiv上發布了Codex的論文預印版,

論文中,Codex要面對的挑戰甚至有刷IOI和ACM難度的競賽題

Codex用對每道題生成1000種答案這種暴力方法,能做出600多道競賽題測驗集中的3.23%,并且通過全部的測驗用例,

這個編程題目測驗集是UC伯克利研究人員在5月份剛剛做好的,

當時測驗的GPT-2、GPT-3和開源的GPT-Neo可是在競賽難度上全軍覆沒,一道都沒做出來,

沒想到短短兩個多月,專為代碼而生的Codex就為前輩們洗刷了恥辱,

Codex的“魔法”,是如何實作的?

這么炫酷的能力,莫非還是像GPT-3一樣堆資料,大力出奇跡嗎?

不全是,這次Codex最大的一個版本是120億引數,比起GPT-3的1750億還是小了很多,

要了解具體情況,還要從它的開發歷程說起,

最早,OpenAI研究人員拿GPT-3做各種試驗,發現GPT-3能從Python注釋中生成一些簡單的代碼,

這可把他們高興壞了,因為GPT-3根本沒特意拿代碼訓練過,只是看過一些博客和帖子中零星的代碼片段,

想想GPT-3在自然語言上的出色表現,要是專門訓練一個代碼版的GPT-3,那肯定也能再次震驚業界,

于是,他們找到了GitHub,這個擁有最多開源代碼的“小伙伴”來合作,

一開始是拿到了179G的Python代碼,但其中不乏存在一些篇幅太長的,以及明顯是自動生成的那種,

在剔除掉這些“不達標”的代碼后,最后留下的代碼大小為159G

接下來當然是做預訓練,把這些代碼都喂給AI (Codex),

不過這里有一個問題:

GitHub上的開源代碼難免會有Bug,AI學了一堆有問題的代碼可咋辦?

其實這倒也好說,預訓練之后不是還要微調嘛,

微調的時候,全用編程競賽里的正確答案,以及PyPI里的靠譜開源代碼就可以了,

最后,120億引數版的Codex,能對28.81%的問題給出正確答案,

這個準確率超過之前的開源代碼預訓練模型GPT-Neo和GPT-J,還有基于GPT-2的代碼補全工具TabNine,

這個成績雖然不錯,不過離能實際應用還是有點遠了,

不過,這也難不住OpenAI的研究團隊,

他們很快便想到了“突破口”:

人類編程的時候,不也經常先出一個版本,然后反復修改bug嘛~

那就讓AI像人一樣反復修改,改出100個版本來,從中總能挑出幾個正確的來,

用上這種拿“量”堆出來的方法,Codex的最終成績是:

77.5%

強,但不完全強

Codex令人驚艷的表現,一度讓網友們大呼:

要失業了要失業了!

有人直接在公屏上打出:再見了,計算機專業的學子們,

不過大家也不必如此擔心,因為在演示程序中,其實就出現了翻車的情況,

在輸入“Say Hello World with empathy”后,Codex給出的結果居然還是“Hello World with empathy”,

這也側面說明了Codex現在還不是完美的,

OpenAI就表示:

即便是引數達到120億的Codex 12B,它的能力可能也還不如一位編程剛剛入門的學生,

雖然Codex學習上億行代碼,但它更大程度是“記住了”這些代碼,并不是真正意義上的懂編程語言,

而且Codex對長字串的理解也比較困難,

并且隨著字符數量的增加,Codex的性能表現下降得非常明顯,

在這種情況下,Codex就不能很好地理解用戶的意圖,結果可想而知,給出的代碼可能就是完全錯誤的了,

此外,在理解變數和運算較多的注釋時,Codex也會犯錯:

在這個例子中,120億引數版的Codex,忘記了對變數w做減法,也沒有回傳所有數字的乘積,

這些對于還在學習編程的新手程式員而言,非常不友好,

而且由于生成的代碼準確性和正確性都還不能保證,因此在安全問題上也存在一定風險,

不僅如此,OpenAI還表示,Codex會生成帶有種族歧視的內容,

在社會層面上,OpenAI還提出Codex的出現或許會沖擊程式員的就業;如果被濫用,還有網路犯罪方面的隱患,

最后還有一點,就是環境方面的問題,

畢竟它作為大模型,引數量的規模不容小覷,

要不是合作方微軟Azure云買了足夠多的碳排放限度,Codex可能還不能和我們見面呢(手動狗頭),

如果想要試玩的話,OpenAI還準備了一個Python編程大賽,在這場比賽中Codex會作為你的搭檔和你一同解題,

比賽將于北京時間8月13日凌晨一點開始,就是這時間對國內不太友好,

大賽報名地址:
https://openai.com/blog/openai-codex/

參考鏈接:

[1]https://www.twitch.tv/openai
[2]https://www.youtube.com/watch?v=hP5nOFi5HOw
[3]https://twitter.com/OpenAI/status/1422967522890973185
[4]https://arxiv.org/pdf/2107.03374.pdf

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/293666.html

標籤:其他

上一篇:2021-08-12

下一篇:程式員是要專精,還是要廣度?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more