Categories
程式開發

展望AI的未來,GPT-3驅動的第一批應用程序已興起


本文要點

  • GPT-3是目前已訓練的最大的語言模型。
  • GPT-3的基本操作模式是根據輸入的文本生成文本響應。例如回答問題或根據標題撰寫論文。
  • OpenAI現在提供了一個開發者API,可以與GPT-3進行交互並能在它上面構建應用程序。
  • GPT-3是一個小樣本學習者。它需要用一些示例來啟動,以在特定的上下文中工作。
  • 一旦正確啟動,GPT-3就可以執行數學計算並用編程語言生成答案,儘管它還沒有顯式地學習過這兩種語言。

由GPT-3驅動的第一批應用程序震驚了“開發人員的Twitter”。它們提供了人工智能(AI)未來的驚鴻一瞥。

GPT-3(Generative Pre-training Transformer-3)是OpenAI最新也是最出色的自然語言預測模型。簡而言之,對於任何輸入文本,它都能生成文本來響應。它是一個能對問題或陳述作出回應的程序。

GPT-3預先訓練了大量來自互聯網的自然語言文本(45TB的訓練文本,有4990億個單詞)。在GPU上進行訓練至少要花費460萬美元(有些估計要高達1200萬美元)。結果模型有1750億個參數。

InfoQ早在6月份就報導過OpenAI的GPT-3發布。它比之前任何語言的AI模型都要大100倍。在官方的GPT-3研究中,OpenAI團隊演示了GPT-3在不需要進行任何微調的情況下就能夠實現開箱即用的最先進的效果。但它在現實世界中是如何運作的呢?它只是另一個玩具,還是對人類的一個嚴重威脅?在它初始版本發布一個月後,由GPT-3驅動的第一批應用程序正在湧現。現在我們可以親自看到:

我們認為大多數開發人員完全可以使用GPT-3非常快速地構建項目。
亞甚丹尼喬治·薩德

在本文中,我們採訪了許多這樣的創建者和企業家,並回顧了其中的一些應用程序。開發人員和記者都用“令人震驚”和“令人振奮”這樣的詞來描述GPT-3的好。

它的工作原理

GPT-3模型一次只生成一個單詞的文本。作為一個假設性的示例,我們假設開發人員將以下單詞作為輸入。

“生命、宇宙和萬物終極問題的答案是”

AI模型可以生成單詞“40”作為響應。然後,開發人員將生成的單詞附加到輸入中,並再次運行模型。

“生命、宇宙和萬物終極問題的答案是40”

這次,AI模型可以生成單詞“2”作為響應。再重複一次,下一個答案應該是句號,這樣就完成了一個句子。

“生命、宇宙、萬物問題的終極答案是42。”

GPT-3之所以能夠做到這一點,是因為它在訓練中多次從文本中看到這種特殊的流行文化參考。因此,它的神經網絡能夠以很高的統計確定性來猜測“下一個單詞”。

然而,在自然語言中,預測並不總是那麼明確。輸入後的單詞通常取決於上下文。這就是GPT-3作為小樣本學習者(Few-shot Learner)的優勢所在。小樣本學習就是先給GPT-3舉幾個例子,然後讓它做出預測。這使用戶可以為AI模型提供語言環境,並大大提高準確性。圖1展示了零樣本(zero-shot)、單樣本(one-shot)和小樣本(few-shot)學習的示例,這些示例可以啟動AI模型生成外語翻譯。

展望AI的未來,GPT-3驅動的第一批應用程序已興起 1

圖1 AI翻譯的三種學習方式。圖片引自語言模型是小樣本學習者的圖2.1

小樣本學習與嬰兒學習語言的方式非常相似。學習者從語言示例中學習,而不是從語法規則中學習。正如我們將要看到的,通過使用不同的示例來啟動GPT-3,開發人員可以創建出差異非常大的應用程序。

Jay Alammar寫了一篇很棒的文章,通過視覺動畫展示了GPT-3的工作原理。點擊查看更多信息。

它通過圖靈測試了嗎?

對於語言AI,人們首先要問的一個問題是:它是否能夠通過圖靈測試,讓人們誤以為它是一個人?有些人認為GPT-3已經可以誤導人類了。圖2展示了一篇GPT-3生成的論文。根據GPT-3小組的說法,只有不到12%的人能分辨出它是由機器撰寫的。

展望AI的未來,GPT-3驅動的第一批應用程序已興起 2

圖2 一篇由GPT-3撰寫的原創文章。圖片引自語言模型是小樣本學習者的圖3.14

只需列舉幾個示例,GPT-3就可以模仿名人的寫作風格。 “向任何人學習”項目允許用戶選擇一個名人,然後提供一個主題。以這個人已知的著作來啟動GPT-3,然後使用主題文本作為輸入。它會返回一篇由GPT-3生成的200字的文章。結果不言而喻。一條推文展示了怎樣輕鬆地冒充埃隆·馬斯克(Elon Muck)談論火箭。現在想像一下托馬斯·杰斐遜(Thomas Jefferson)對火星探測的評論!或者生成一句關於COVID-19和戴口罩的Fauci博士的名言。在GPT-3時代,我們還能相信互聯網上的任何東西嗎?我們將在本文的後面再回來討論這一點。

當然,除了名人,GPT-3還可以模仿任何人!開發人員Ravi Vadrevu創建了一個服務來為任何用戶編寫商業電子郵件摘要。該應用程序使用用戶過去的電子郵件來啟動GPT-3。通過輸入特定的意圖,例如招聘、網絡或銷售,GPT-3會代表用戶編寫電子郵件。像這樣的服務就是賭GPT-3能通過圖靈測試。

翻譯和律師

在GPT-3學習的4990億個單詞中,有些不是英語。通過將單詞與語境相關聯,GPT-3似乎可以進行翻譯(另請參見圖1)。在GPT-3的論文中,作者舉例說明瞭如何使用GPT-3進行英語到法語和西班牙語翻譯。

通過語境來理解英語單詞的能力能帶來很多有趣的可能性。例如,Revtheo是一個基於GPT-3的詞典,它可以根據語境為用戶提供單詞的含義。

但是,對於GPT-3而言,也許更有趣的是基於段落進行英語到英語的“翻譯”!也就是說,重新措辭一段英文文本,使之更簡單或更嚴謹。法律技術企業家Francis Jervis讓GPT-3“像律師一樣寫作”,讓其將日常英語語句翻譯成法律術語。結果是很有希望的。顯然,很難從表面上衡量機器生成的法律語言的價值,但即使是法律專家也指出,GPT-3可以作為律師的助手,提高律師的工作效率。另一方面,投資者Michael Tefula要求GPT-3將復雜的法律術語翻譯成簡單的英語。在這兩種情況下,只需要2-3個示例即可啟動GPT-3。結果雖然並不完美,但也相當接近了。請記住,GPT-3從未接受過法律術語的訓練。只是列舉幾個簡單的例子,它就能啟動了。

會計和設計師

在GPT-3的論文中,一個有趣的發現是AI從語言中“學習數學”的能力。從未教過AI基本的數據結構和定理。然而,它可以生成數學問題的正確答案。對於簡單的兩個數相加,GPT-3的準確性幾乎能達到100%,儘管它從未了解過這兩個數的含義。圖3展示了GPT-3論文中的一些示例。

展望AI的未來,GPT-3驅動的第一批應用程序已興起 3

圖3. GPT-3進行數學運算。圖片引自語言模型是小樣本學習者的圖G.42到G.48

將這種數學能力與GPT-3在訓練過程中看到了大量的結構化數據這一事實相結合,似乎可以讓AI用結構化的數據輸出(如JSON或XML)來響應英語輸入。

開發人員Yash Dani和George Saad用了八個示例來啟動GPT-3,以將事務的英文描述轉換為Python數據對象。以下是他們訓練數據的一個示例。

  • 輸入:我額外買了一個價值1200美元的貨物,我立即支付。
  • 輸出:[[“添加”,1200,“货物”],[“删除”,1200,“现金”]]

然後,他們編寫了一個Python程序來處理這個對象,並將其內容插入到Excel電子表格中。其結果是一個自動化的會計,他可以根據交易的任意描述來更新財務報表。

如果我們可以使用自然語言來操作和編輯Excel文件,也許我們也可以對PowerPoint做同樣的事情?果不其然,這是Twitter用戶花生製作PowerPoint演示

開發人員Jordan Singer也採用了類似的方法構建了一個Figma插件。這個插件允許用戶用英語描述用戶界面(UI),使用GPT-3生成UI的結構化JSON表示,然後使用計算機程序在Figma中呈現JSON內容。了解更多有關Jordan開發經驗的信息

在這些示例中,GPT-3輸出結構化的數據,然後由另一個計算機程序對其進行處理以完成任務。這似乎是一種非常有前途的自然語言AI應用模式。

no-code程序員

如果GPT-3能夠生成計算機程序所使用的結構化數據,那麼它也許可以再進一步,直接生成計算機程序。這可能嗎?答案似乎是肯定的!

一些開發人員告訴InfoQ.com,這種啟動在生成結構化輸出時對GPT-3的表現至關重要。該系統僅需用正確的示例來啟動即可。和其他深度神經網絡一樣,GPT-3對人類來說基本上也是一個黑匣子。這使得我們很難拿出正確的示例來為它提供精確的輸出。這是一個反複試驗的過程,可能需要幾天時間。

它需要通過一些示例來捕捉模式,一旦完成了,它就能像變魔法一樣了。
塔薩爾·卡塔爾

開發GPT-3應用程序不是用傳統的編程語言編寫算法,而是要拿出自然語言示例來啟動AI。它需要一種新的無代碼(no-code)技能,這將在軟件開發中創造新的就業機會。

人為描述,AI構建,人為調試。
——以太坊的創建者維塔利克·布特林(Vitalik Buterin)

機器生成代碼可能是一個有趣的(而且是有利可圖的)未來研究領域。我們甚至可以有目的地構建生成輸出編程語言的AI系統,比如Facebook Research的轉碼器項目,它使用無監督學習將一種編程語言(例如Python)翻譯成另一種編程語言(例如C++)。

我們可以理解的AI

儘管打著OpenAI的名號,但GPT-3既不是開源的,也不是開放訪問的。它為開發人員提供了一個簡單的Web服務API來啟動模型,然後發送文本以獲得響應。 API很簡單,但目前有一個等待列表。

到目前為止,一切都很驚人。能夠看到GPT-3學習的速度是多麼不可思議。 API再簡單不過了,只需一個與之交互的核心端點。文本輸入、文本輸出的想法允許你做任何你可以想到的事情。
-喬丹·辛格

GPT-3訪問障礙是刻意設置的。正如我們所看到的那樣,GPT-3是一款功能強大的軟件。然而,由於它是一個黑匣子,我們無法輕易預測或控制它生成的文本。正如我們所討論的那樣,為精確的輸出做啟動主要是一個反複試驗的過程。鑑於互聯網上存在大量的種族主義、女性歧視和其他仇恨內容,因此在GPT-3 4990億個單詞的訓練數據中,無監督的GPT-3可能會產生帶有偏見或傷害性的文本。例如,試想一下GPT-3可能會產生的那種聽起來很有說服力的假新聞。

開發者社區必須使用功能強大的AI系統來對此作出響應。這可能需要我們對語言模型的工作原理有更深入的理解,而不是僅僅列出禁止使用的單詞列表。

當AI做出或說出政治上不正確的話時,人們就會很生氣。如果很難阻止它們得出這樣的結論,而解決這個問題最簡單的方法就是教它們隱藏自己的想法,那該怎麼辦?開始教授AI,這似乎是一個可怕的技能。
保羅·格雷厄姆在Twitter上說

雖然AI黑匣子裡的推理對人類來說很難理解,更不用說解釋和控制了,但AI能向我們解釋自己嗎?軟件開發人員Daniel Bigham要求GPT-3糾正英語句子中的語法錯誤,並提出糾正原因。結果相當令人驚訝,因為GPT-3從未被顯式地教授過語法規則。它從示例中得到了理解。這裡有一個例子。這是邁向AI可解釋性的微小但又誘人的一步!

  • 輸入:是時候開始破解了!
  • 輸出糾正: It’s time to get cracking!
  • 輸出說明:應該用縮略語it’s而不是所有格its。

我們希望開發人員將繼續為GPT-3的創建和解釋提供更多的可能性!

黑匣子

儘管GPT-3已經表現出了巨大的希望,但它仍然存在一些長期困擾神經網絡AI的問題。具體來說,它在某些任務上表現得非常好,而在其他常識性任務上卻慘敗。 AI真的理解賦予它的任務嗎?

在哲學層面上,這可能並不重要。畢竟,AI可以進行數學、翻譯和語法檢查。 AI從來沒有被教過數學和語法的概念,這有關係嗎? GPT-3能夠推導和應用數學和語法規則。但是,對於構建GPT-3應用程序的開發人員來說,不了解AI“知識”的邊界是很麻煩的,因為需要關注AI無法處理的情況。

本文展示了一些令人印象深刻的GPT-3應用程序示例。但是開發人員也告訴InfoQ,為了生成這些結果,需要仔細地“啟動”系統。所以,從某種意義上說,這些結果是精心挑選的。更糟糕的是,由於GPT-3是一個黑匣子,開發人員很難理解為什麼某些啟動可以工作而其他方法卻失敗了。如前一節所述,在GPT-3被廣泛採用之前,可解釋性可能是其最重要的限制之一。

一應俱全的AI

GPT-3證明了AI的表現隨著模型規模的增長呈指數增長的關係。不斷增長的模型規模將產生更強大更精確的AI。這是我們這個時代的摩爾定律嗎?

深度學習的先驅Geoffrey Hinton博士對GPT-3進行了推斷,並開玩笑說,一個能夠回答宇宙終極問題的AI需要的不是42個參數,而是4.2萬億個參數。這僅僅是GPT-3的25倍。

將GPT3的出色表現外推到未來,則表明:生命、宇宙和萬物的答案只有4.398萬億個參數。
杰弗裡·欣頓在Twitter上說

現在回想一下我們在本文開頭提出的假設性問題。答案是4.398萬億,現在已經在互聯網上了,並且它將成為GPT-4訓練數據的一部分。那麼GPT-4將如何回答宇宙的終極問題呢?

免責聲明:本文是由Vivian Hu撰寫的,一個活生生的人。不是由GPT-3編寫的。

作者簡介:

Vivian Hu是一名亞洲的開源愛好者和Developer Advocate。她是Second State的產品經理。她非常關心通過更好的工具、文檔和教程來提高開發人員的體驗和生產力。 Vivian在Web今天的大會上為WebAssembly、Rust和Serverless撰寫每週新聞。

原文鏈接:

https://www.infoq.com/articles/gpt3-enabled-applications/