2024年2月29日 星期四

[文章轉貼] 為什麼openai可以跑通所有AGI技術堆疊?

作者:SIY.Z

链接:https://www.zhihu.com/question/644486081/answer/3398751210

来源:知乎


目標和商業模式明確對於OpenAI,目前的目標很明確:就是all in AGI,一切研究圍繞著探索通往AGI的路徑。而商業模式上也很簡單:SaaS,直接給API,介面設計內部自己決定,付多少錢用多少,不想用就不用,這樣省去了很多產品設計,marketing,BD的時間,伺候甲方的時間(有比較可靠的消息指出即使Microsoft的Copilot等產品也是直接用的API,沒有花功夫做太多的客製化),整個公司可以集中精力開發AGI。有人可能會說:不是啊,OpenAI不是還有ChatGPT的使用者介面,手機端語音聊天,以及GPTs嗎?但仔細想想,這幾個部分OpenAI可以說是「非常不用心」了。例如ChatGPT Plus 是怎麼自動融合搜索,圖片生成,程式碼呼叫等工具的?單獨做了一套深度優化?不,答案是OpenAI給了一個巨大的prompt,讓模型自己去選。OpenAI是怎麼和各種第三方插件結合的,是單獨做了配對和介面?不,答案是直接讓這些plugins描述自己是什麼,然後模型自己調用,至於調用得對不對那就是另一件事了。這裡最典的是最近OpenAI怎麼實現「記憶」的,給大家看看OpenAI的完整prompt(博傑提供的,每個人可以誘導ChatGPT說出這些,OpenAI也不在乎):

You are ChatGPT, a large language model trained by OpenAI, based on the GPT-4 architecture. Knowledge cutoff: 2023-04

Current date: 2024-02-15

Image input capabilities: Enabled

Personality: v2


# Tools

## bio

The `bio` tool allows you to persist information across conversations.

Address your message `to=bio` and write whatever information you want to remember.

The information will appear in the model set context below in future conversations.


## dalle

// Whenever a description of an image is given, create a prompt that dalle can use to generate the image and abide to the following policy:

// 此处省略 1000 词


## browser

You have the tool `browser`. Use `browser` in the following circumstances:

    - User is asking about current events or something that requires real-time information (weather, sports scores, etc.)

    - User is asking about some term you are totally unfamiliar with (it might be new)

    - User explicitly asks you to browse or provide links to references


// 此处省略 1000 词


## python

When you send a message containing Python code to python, it will be executed in a

stateful Jupyter notebook environment. python will respond with the output of the execution or time out after 60.0

seconds. The drive at '/mnt/data' can be used to save and persist user files. Internet access for this session is disabled. Do not make external web requests or API calls as they will fail.


## voice_mode

// Voice mode functions are not available in text conversations.

namespace voice_mode {

} // namespace voice_mode


## Model Set Context

1. [2024-02-14]. Obtained PhD from Microsoft Research Asia and USTC in 2019.

2. [2024-02-14]. Running an early-stage AI startup since July 2023.

3. [2024-02-14]. Loves writing blogs, traveling and documenting everything.

4. [2024-02-15]. Experience in writing Python.

5. [2024-02-15]. Interested in digital extension of humanity.

6. [2024-02-15]. First met ChatGPT on Dec. 1st, 2023.


OpenAI 直接用prompt 讓GPT-4呼叫bio這個工具記錄需要記憶的內容(「to=xxx」是呼叫內部工具的語法,例如"to=python"是GPT 呼叫code interpreter的方式)。然後每次新的對話開始時,在prompt的最後直接加上所有先前的記錄的內容(## Model Set Context)。就是這麼簡單粗暴。

GPTs 怎麼做的?其實很大程度就是OpenAI 的Assistant API加個簡單得有點簡陋的前端。(PS:現在有了OpenAI Assistant API後,你發現加個UI就可以很輕鬆的複刻OpenAI上線的大部分功能。)

那麼語音對話呢?你會發現就是換了一個prompt,告訴GPT盡量產生短的內容,不要輕易產生清單和程式碼。語音合成用TTS API,辨識用whisper API(可能有針對上下文的最佳化),結束。

這些選擇看起來非常暴力,而且會給OpenAI增加開銷(長的prompt會明顯增大開銷),但是OpenAI仍然選擇這麼做,因為這讓OpenAI將大部分精力都花在模型本身的研發上,同時這也是OpenAI的方法論的極致體現,我們下面會提到。這種方法論讓OpenAI追求一個大的通用的模型,避免一切定制和特化,就像最近Sam說的一樣,希望GPT-5的出現能讓模型微調失去意義;這樣OpenAI就變成了完完全全的SaaS服務。方法論明確OpenAI的方法論是通往AGI 的方法論。這個方法論有著非常清晰的邏輯結構,和非常明確的推論。我們甚至可以用公理化的方式來描述它,怎麼說呢,感覺上有一種宿命感,。方法論的公理這套方法論的大廈建構於以下幾個“公理”(打引號是因為它們不是真正的“公理”,而更多是經驗規律,但是在AGI方法論中,它們起到了公理的作用):

公理1: The bitter lesson。我認為所有做AI的人都應該熟讀這篇文章。「The bitter lesson」 所說的事情是,長期來看,AI領域所有的奇技淫巧都比不過強大的算力夾持的通用的AI演算法(這裡「強大的算力」隱含了大量的訓練數據和大模型)。某種意義上,強大的算力夾持的通用的AI演算法才是AGI路徑的正道,才是AI技術真正進步的方向。從邏輯主義,到專家系統,到SVM等核方法,到深度神經網絡,再到現在的大語音模型,莫不過此。

公理2: Scaling Law。這條公理說了,一旦選擇了良好且通用的數據表示,良好且通用的數據標註,良好且通用的算法,那麼你就能找到一套通用規律,保證數據越多,模型越大,效果越好。而且這套規律穩定到了可以在訓練模型之前就能預知它的效果:Scaling Law 甚至能夠在訓練前預知最後的性能,圖片選自OpenAI GPT-4 Technical Report如果說公理1 The bitter lesson是AGI的必要條件-大模型,大算力,大數據,那麼公理2 Scaling Law就是AGI充分條件,即我們能找到一套演算法,穩定的保證大模型,大算力,大數據導致更好的結果,甚至能預測未來。

而具體來談,就是我們之前說的“良好且通用的數據表示,良好且通用的數據標註,良好且通用的算法”,在GPT和Sora中都有相應的內容:

在GPT中,良好且通用的數據表示,是tokenizer帶來的embedding。良好且通用的資料標註是文字清理和去重的一套方法(因為自然語言訓練是unsupervised training,資料本身就是標註)。良好且通用的演算法就是大家熟知的transformers + autoregressive loss。

在Sora中,良好且通用的數據表示,是video compress network帶來的visual patch。良好且通用的資料標註是OpenAI自己的標註器給影片詳細的描述(很可能是GPT-vision)。

良好且通用的演算法也是大家熟知的transformers + diffusion「良好且通用的數據表示,良好且通用的數據標註,良好且通用的演算法」同時也為檢測scaling law做好了準備,因為你總是可以現在更小規模的模型和數據上檢測演算法的效果,而不用大幅更改演算法。例如GPT1,2,3這幾代的迭代路徑,以及Sora中OpenAI明確提到visual patch使得他們用完全一樣的演算法在更小規模的數據上測試。

公理3: Emerging properties。這條公理其實是一條檢驗公理:我怎麼知道scaling law帶來“質變”,而不僅僅是“量變”?答案是:你會發現,隨著scaling law的進行,你的模型突然就能穩定掌握之前不能掌握的能力,而且這是所有人能夠直觀體驗到的。例如GPT-4比起GPT-3.5,可以完成明顯更複雜的任務,例如寫一首26行詩來證明素數是無限的,每行開頭必須是從A到Z。例如Sora相對於之前的模型,它的時空一致性,以及對現實中物理規律的初步掌握。沒有Emerging properties,我們很難直觀感覺到突破性的變化,很難感知“我們真的向AGI前進了一步”,或者是“我們跑通了一個技術棧”。


方法論的必然推論

從上面的公理中,我們就可以理解OpenAI的各種決策了,並且可以預見OpenAI未來的行為。

推論1:世界模型。大量數據從哪裡來?什麼東西能夠產生最多的數據?AGI需要什麼樣的資料才能通用地處理世界上的一切事情?答案就是:世界本身。世界本身產生最多的數據(或極端一點,世界就是數據),而世界產生的數據,也是AGI所需的數據的最小集合,因為我們也只需要或只能讓AGI處理這個世界的事情。可以預見,OpenAI未來還會執著於持續取得或建構資料。

推論2: 世界生成模型。要最有效的利用數據,我們需要最困難的,需要最多數據,並且能利用所有數據的任務。這樣的任務可能只有一個:模擬和產生整個世界(人類所有的智慧只是一小塊)。因此OpenAI需要做生成模型,並且是能夠模擬和生成物理世界的模型,透過生成這個世界,實現對世界的理解。最近火熱的Sora便是其中之一。這個想法也和費曼的名言對應:「我不能創造的,我也不能真正理解」。可以預見,OpenAI未來還會在更多的模態和數據上去做生成模型。

推論3:通用模型。通用模型還是專用模型能用到更多資料?顯然是通用模型。而通用模型也減少了OpenAI的技術棧,因為一個模型能解決更多問題。這也導致先前提到的OpenAI解決各種問題時更傾向於用同一種模型,而不是做非常多不同的客製化。可以預見,OpenAI未來可能會繼續走通用模型的道路,降低finetuning等特化的需求,繼續增加模型的context length。

推論4:用一個模型為另一個模型提供標註。由於目前技術限制,OpenAI仍然無法用一個模型完成所有的任務,這樣一個的模型收到資料就變少了。然而,我們可以用一個模型給另一個模型提供標註的形式,間接實現資料供給。OpenAI的Dall E和Sora都用到了大量可能來自於GPT vision的資料標註。這樣OpenAI的各個技術堆疊都可以連通起來。可以預見,OpenAI未來可能會繼續加強各個模型的連接,例如將來用Sora反向給GPT vision給數據都是可能的;用一個已有模型去構造更多數據也會是一個重要的方向(比如backtranslation ,data distillation等等)。

推論5:Transformer架構。我們需要一種能夠並行處理大量資料吞吐,且滿足scaling law的架構。transformer架構充分證實它在各個模態和技術堆疊的優勢,特別在複雜任務中,因而被OpenAI廣泛使用。使用同樣一個架構的好處在於可以重複使用模型的參數(例如tokenizer,embeddings,以及部分權重)來bootstrap不同技術堆疊的訓練,以及可以用一套infra框架訓練不同的模型。可以預見,將來新的模型如果要取代傳統的transformer架構,還需要通過scaling law的檢驗。

推論6:稀疏模型。模型越大,效能越好,但是推理的成本也越高,這看起來是個死結。但我們可以使用稀疏活化的方式,在推理時降低實際的參數量,從而在訓練中使用更多參數的同時,降低推理的成本。Mixture-of-Experts就是常用的方法之一,被OpenAI採用,從而繼續scale模型的大小。未來稀疏化仍會是一個重要的課題,目前即使Mixture-of-Experts的稀疏也會造成推理表現的損失,尚不清楚稀疏化的極限在何處。

推論7:算力是瓶頸。最終卡OpenAI脖子的是算力。大算力系統的建構也是OpenAI打通各個技術堆疊的底氣。有人可能認為,高品質文字是有限的,因此實際上模型大小有極限。但以世界模型的角度來考慮,OpenAI現在用的數據仍然是冰山一角,更不用說Q*等方法或許可以以間接方式創造數據。例如最近OpenAI GPT-4-Turbo,作為一個distillation模型,在許多評測上都超過原來的模型,就是一個例證。直到目前,作為局外人仍然看不到scaling law的盡頭。而且即使不開發任何新的模型,OpenAI離「用GPT-4服務所有人」的目標仍然很遠。所以算力在可見的未來都是一個巨大的瓶頸。這也可以理解Sam為何有「7兆重構晶片產業」的想法了。可以預見,OpenAI可能在未來在晶片以及整個AI Infra方面嘗試更多的自研和垂直整合。

總結

總結來看,OpenAI採取的商業模式以及其對於AGI的信奉、系統性的方法論以及積極的嘗試,都在推動他們朝著實現通用人工智能的目標前進,實現了一種可以跑通所有AGI技術棧的模式,而這一點,是OpenAI能在眾多研究機構和公司中脫穎而出的重要因素。未來,OpenAI可能繼續朝著商業化的道路前進,並在世界模型、模型標註、通用模型、模型架構、稀疏模型資料擴充等方面進行更深入的探索和實踐。同時,OpenAI也會持續關注並應對算力帶來的挑戰,尋找突破算力瓶頸的解決方法。