要求人工智慧幫助完成日常生活中的一些任務並不是什麼新鮮事。智慧揚聲器中的人工智慧可以告訴你“明天天氣怎麼樣”;翻譯軟體中的人工智慧可以準確翻譯一大段甚至一篇文章;編寫人工智慧將輸出合成。
但是他們只能做一件事,翻譯人工智慧不能寫作文,問答人工智慧也不能翻譯。他們更像工具而不是代理。一個真正智慧的人工智慧應該是什麼樣的?它應該是通用的,可以處理問題和答案,寫文章和翻譯。
最近在矽谷,著火的GPT 3就是這樣一個人工智慧。問答、寫作和翻譯都很重要,我們還可以寫程式碼、計算公式、做表格和畫圖示(詳細的例子,請參考平西之前的文章:開啟應用程式設計介面後,我們真的很欣賞GPT 3的力量……)。
(GPT 3號甚至會設計一個看起來像西瓜的按鈕)
本質上,GPT 3實際上是一個語言模型。所謂的語言模型是一種允許機器理解和預測人類語言的技術。如果之前的語言模型是專家,那麼GPT 3是多面手,一切都做得很好。
當我們仔細回顧和梳理它的誕生故事時,我們會發現在人工智慧領域出現了一個明顯的趨勢:培養一個具有顛覆性進步的模型,最終的競爭是資料量和計算能力的規模,這意味著這個行業的門檻越來越高,這可能最終導致人工智慧技術的競爭成為幾個有能力支付得起的大公司之間的遊戲。
預訓練建立了數量的門檻
GPT 3號的故事始於2018年。
2018年初,艾倫人工智慧研究所和華盛頓大學的研究人員提出了Elmo(從語言模型嵌入)模型。以前的模型不能理解上下文,也不能根據上下文判斷多義詞的正確含義。ELMo第一次解決了這個問題。
在ELMo模型的訓練過程中,研究者採用了一種關鍵的方法,——預訓練。通常,訓練模型需要大量手動標記的資料。然而,在標註資料較少的情況下,訓練模型的精度很差。
預訓練擺脫了對已標記資料的依賴,並利用大量未標記的語料庫(即無監督學習)進行訓練,以獲得一組模型引數,然後將其應用於特定任務。由該模型訓練的語言模型在自然語言處理任務中被證明是有效的。可以說,預訓練的成功開創了自然語言研究的新正規化。
2018年6月,OpenAI提出了基於ELMo的GPT。GPT的全稱是生成性預訓練,字面意思是“生成性預訓練”。
GPT也是基於預訓練模式,但不同於ELMo,它加入了第二階段的訓練:微調,也叫“微調”,開創了“預訓練微調”的先例。所謂的微調,即基於在第一階段訓練的模型,使用少量帶註釋的語料庫對特定的自然語言處理任務(即監督學習)進行調整。
除了建立“預訓練和微調”模式,GPT還在特徵提取器上使用了更強大的變壓器。所謂的特徵提取器用於提取語義特徵。谷歌在2017年推出的變形金剛在綜合效果和速度上比ELMo使用的RNN特徵提取器有優勢。而且,資料量越大,Transformer的優勢就越突出。
在預訓練階段,GPT設計了一個12層的變壓器(層數越多,規模越大),並使用“單向語言模型”作為訓練任務。如上所述,ELMo模型可以理解上下文,並且上面和下面的資訊被充分利用。然而,GPT和後來的迭代版本堅持單向語言模型,並且只使用上述資訊。
GPT的設計理念為隨後的迭代奠定了基礎,但由於其規模和效果並不突出,風頭很快被2018年底出現的伯特所掩蓋。
(冷知識:ELMo和BERT是美國兒童節目《芝麻街》中人物的名字)
伯特是由谷歌建立的,重新整理了11個自然語言處理任務的最佳水平,顛覆了整個自然語言處理領域。事實上,伯特的成功歸功於GPT。它們在總體框架上基本相同,都採用“預訓微調”的模式。不同的是,GPT是一個單向的語言模式,而伯特採用一個雙向的語言模式。
BERT取得了巨大的成功,但它有兩個缺點。首先,儘管結合了無監督學習和有監督學習(即“預訓練和微調”),但在特定領域仍有一定數量的註釋資料。其次,由於有限的領域標註資料,會導致BERT模型的過度擬合(模型過於僵化,只適用於訓練資料),難以應用到其他領域,即一般能力不足。
2019年2月釋出的GPT 2號解決了BERT的缺點。為了擺脫對標記資料的依賴,OpenAI在設計GPT-2模型時基本上採用無監督學習(即預訓練),減少了微調階段有監督學習的比例,並儘量不對某些任務進行微調。
其次,為了增強通用性,OpenAI選擇了範圍更廣、質量更高的資料,並使用800萬個網頁(大小為40 GB)的語料庫進行訓練,覆蓋幾乎所有領域。此外,OpenAI還增加了GPT-2模型的規模,將其引數增加到15億,是GPT模型(117萬個引數)的10倍,是伯特-拉奇模型(伯特的更大版本,有3億個引數)的5倍。
GPT 2號出現後,很快引起了整個自然語言處理領域的注意。當它完成特定的自然語言處理任務(如問答、翻譯和總結)時,它使用預訓練模型,可以很好地完成這些任務。特別是,他在繼續寫短文方面表現很好。
伴隨著大規模預訓練的想法,OpenAI繼續“氾濫”,用更多的未標記資料、更多的引數和更多的計算能力訓練模型,並最終在2020年5月推出了GPT 3號。7月,應用程式介面被開發出來,允許更多的開發者呼叫GPT 3號的預訓練模型,這徹底摧毀了整個自然語言處理圈。
(GPT 3號在右上方,圖片來自微訊號“親愛的資料”)。人員規模和計算能力
從GPT 1號到GPT 3號的突破,充分體現了“努力創造奇蹟”的意義。
首先看看人力。在最初的GPT論文中只有四位作者,在GPT 2號論文中有六位作者。到了GPT 3號,作者人數飆升至31人。
(GPT-3有31位作者)
此外,這31位作者分工明確,有的負責訓練模型,有的負責收集和過濾資料,有的負責實現特定的自然語言任務,還有的負責開發速度更快的GPU核心,這與公司不同部門之間的合作沒有什麼不同。
(31位作者的分工寫了整整一頁)
看看計算能力。從第一代GPT到GPT-3,演算法模型基本沒有變化,都是基於Transformer進行預訓練,但是訓練資料量和模型規模增加了十倍甚至上千倍。因此,所需的計算能力變得越來越誇張。第一個GPT可以在8個圖形處理器上訓練一個月,而GPT 2號需要在256個谷歌雲TPU v3(每小時256美元)上訓練,訓練持續時間未知。
到GPT 3號,計算能力成本已經達到數千萬。根據GPT-3的說法,所有型號都是在英偉達V100圖形處理器上的高頻寬叢集中進行培訓的,培訓費用估計為1200萬美元。
甚至,因為成本太高,當研究人員發現一個Bug時,他沒有選擇再次訓練,而是從論文中排除了相關部分。
(研究人員發現了一個Bug,但是成本問題沒有解決。)
顯然,沒有強大的計算能力,GPT-3是無法訓練的。那麼,OpenAI的計算支援從何而來?這意味著迴歸投資。2019年7月,微軟向OpenAI注資10億美元。雙方同意,微軟將為開放人工智慧提供計算支援,而開放人工智慧將許可微軟的一些人工智慧智慧財產權用於商業化。
2020年5月,微軟推出了一臺專門為OpenAI設計的超級計算機。它託管在Azure上,包含超過285,000個處理器核心和10,000個圖形處理器,每臺圖形伺服器的連線速度為400 Gbps/s。它的效能位列超級計算機前五名。
最後,讓我們來談談OpenAI。OpenAI成立於2015年,由埃隆的馬斯克和Y Combinator的前總裁山姆奧特曼,領導,最初是一個純粹的非營利的人工智慧研究機構,但經過轉型和重組,並引入微軟投資,現在已經成為一個混合盈利和非營利的企業。
一直以來,開放人工智慧的目標是創造“人工通用智慧”(簡稱AGI)。正如文章開頭所說,AGI是一個能夠完成所有智力任務的人工智慧。
構建AGI有兩種方法,一種是開發更強大的演算法,另一種是在現有演算法的基礎上進行擴充套件。OpenAI是第二條道路的信徒。2019年,OpenAI計算了自2012年以來所有模型使用的計算量,包括AlexNet和AlphaGo,發現最大的AI模型所需的計算能力增加了30萬倍,每3.4個月增加一倍。根據摩爾定律,晶片效能的倍增週期為18-24個月。這意味著最大的人工智慧模型對計算能力的需求遠遠超過了晶片效能的提高。
毫無疑問,計算能力已經成為自然語言處理研究甚至人工智慧研究的障礙。來自知乎,的使用者李漁,說得好:GPT 3號只是一個開始。隨著這類工作的正常發展,像開放人工智慧這樣的組織很可能會形成系統的人工智慧技術壟斷。