曉查 發自 凹非寺
量子位 報道 | 公眾號 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 examplesgpt = 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')) gpt.add_example(Example('x squared plus y squared plus equals z squared', 'x^2 + y^2 = z^2'))# Define UI configurationconfig = UIConfig(description="Text to equation", button_text="Translate", placeholder="x squared plus 2 times x") demo_web_app(gpt, config)
現在,你是個成熟個AI,應該能自動寫出“牛頓-萊布尼茲公式”了。
怎麼樣,你想去試試嗎?