Sora 的出現,再次證明了 OpenAI 試圖讓計算機去模擬真實物理世界的野心,以及它對于自身技術路線的堅持。從 OpenAI 發布的 Sora 的技術報告中,我們可以看到很多 OpenAI 對于過往大語言模型訓練成功經驗的復用。 從文本生成模型 GPT、文生圖模型 DALL·E,到文生視頻模型 Sora,OpenAI 可以說成功跑通了 AGI 的所有技術棧,為什么是 OpenAI 而不是谷歌、Meta? 加州大學伯克利分校 (UC Berkeley) 計算機科學 PHD、知乎作者 SIY.Z 從技術實現上分析了 Sora 成功的部分原因,以及從商業和技術趨勢上分析了 OpenAI 能跑通全部技術棧的原因,并且嘗試預測了 OpenAI 下一步的進展,Founder Park 授權轉載,并進行了部分刪減。 01Sora 的技術分析:借鑒了 LLM 的成功經驗Sora 多么牛逼多么真實之類的就不多談了,只用一句話就能概括:隨便拿視頻中的一幀出來,效果都不亞于 Dalle-3 精心生成一張圖片,而且這些圖片放在一起可以構成基本符合真實世界物理邏輯的視頻。而且 Sora 本身其實也可以做圖片生成,只是大材小用了。 * https:///research/video-generation-models-as-world-simulators 足量的數據訓練 Sora 用了多少數據?不出意外,OpenAI 在整個技術分析中一點都沒有提數據的事情,這可太 CloseAI 了。但是鑒于內容的豐富性(比如甚至可以生成相當連貫一致的 Minecraft 游戲視頻),我猜測很可能是大量的 YouTube 視頻,同時也不排除有合成數據(比如 3D 渲染等)。未來可能用整個 YouTube 上的視頻來訓練視頻生成模型,就和大家用 Common Crawl 訓練大語言模型一樣。 靈活的編碼(visual patches)在大語言模型的構建中,一個非常重要的部分便是它的 tokenizer。tokenizer 使得任何長度和內容的文本都能編碼成語言模型可以直接處理(輸入/輸出)的對象,即 embeddings。embeddings 在 Sora 中的對應物稱為 visual patches,tokenizer 對應的是 video compression network,應該是某種 convolutional VAEs (文章沒有說明是不是 VQ-VAE)。 具體做法是用 video compression network (visual encoder) 首先將輸入視頻的時間和空間維度同時進行壓縮,編碼成一個和視頻大小成正比的 3D visual patch array,然后再將它按照某種順序展開成 1D array of patches,送入到 transformer model 中(具體方式應該是參考了 https:///abs/2212.09748)。這樣帶來了不少好處:
優質的標注和 DALL·E 3 一樣,OpenAI 用內部工具(很可能基于 GPT4-v)給視頻詳盡的描述,提升了模型服從 prompt 的能力,以及視頻的質量(還有視頻中正確顯示文本的能力)。我認為這是非常關鍵的一點,是 OpenAI 的殺手锏,對于視頻尤其重要。原因很簡單,可以從兩個角度解釋: (1)神經網絡是個單射函數,擬合的是文本到視頻的映射。視頻的動態性非常高,也就是有很大的值域,為了把這個函數學好,需要定義域也很大很豐富,這就需要復雜的 prompt 了。 (2)詳細的文本也迫使神經網絡學習文本到視頻內容的映射,加強對于 prompt 的理解和服從。 另外一個細節:這種詳盡的描述會導致在使用時的 bias——用戶的描述都相對較短。和 DALL·E 3 一樣,OpenAI 用 GPT 來擴充用戶的描述來改善這個問題,并提高使用體驗和視頻生成的多樣性。 除了文本以外,Sora 也支持圖像或者視頻作為 prompt,支持 SDEdit,并且可以向前或者向后生成視頻,因此可以進行多樣的視頻的編輯和繼續創作,比如生成一個首尾相連重復循環的視頻: 甚至可以連接兩個截然不同的視頻: Transformer + diffusion model 的架構*https:///abs/2402.08093 Transformer 架構在圖像分類等領域還沒有占領絕對優勢很難說是不是因為任務太簡單了或者數據太少了)。我覺得使用 diffusion model 的主要原因是 diffusion model 能夠生成非常精細的細節,且可以玩出各種有趣的操作(比如 SDEdit)。 *https:///abs/2212.09748 涌現現象OpenAI 每次提到 scaling law 時幾乎都會伴隨著 emerging properties,這次也不例外,有以下幾點(其實這里放的視頻才是真正和目前視頻生成區別開的,具體什么意思不用多說一看便知): 1.保證良好的 3D 空間性質(視角變換,物體遮擋等的合理性) 2.時間上物體的連貫性(不會因為遮擋或者時間流逝改變物體原有狀態) 3.模擬現實物理的交互 4.連數字世界都可以模擬(這個生成的 Minecraft 視頻真的驚到我了,一開始我還以為是參考視頻,沒想到是生成的) 然后讓我們看看 Sora 之前的很多視頻生成模型的水平(因為太糟甚至成了梗),高下立判 (聲音和古怪內容警告): Sora 的缺陷一句話:還不足以完全模擬所有現實中的物理過程,比如流體動力學(不過如果這個可以看視頻就準確模擬出來就太可怕了,都讓人懷疑世界是虛擬的了): 一個真正的物理世界模型,估計給它放一段衛星云圖視頻,它就能把下面幾天的氣候變化給模擬出來,實現用視頻生成模型預測天氣,看股市曲線變化預測股價 lol,這樣來說,OpenAI 要走的路還有很長。 02OpenAI 的愿景是讓 AI 理解世界Sora 不止步于視頻生成工具,它的背后是 OpenAI 的宏大愿景:開發出能夠讓計算機理解我們世界的算法和技術,而 OpenAI 認為最有可能的技術之一是生成模型 (generative model)。 OpenAI 的 blog 中對 Sora 的定位正是「作為世界模擬器的視頻生成模型」。這里是 OpenAI 2016 (!) 年一篇文章的原話 (鏈接:https:///research/generative-models):
當年最先進的生成模型止步于 DCGAN,2016 年文章中的附圖展示了當時的最先進效果: 而 8 年后的今天: 這確實讓人不得不相信 AGI 也許在 21 世紀確實可以實現。而對于 OpenAI,實現 AGI 的一個途徑便是開發出能夠讓計算機理解我們世界的算法和技術(生成模型),Sora 是非常重要的一步,即作為世界模擬器的視頻生成模型。 03為什么 OpenAI 可以跑通所有 AGI 技術棧?目標和商業模式明確對于 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*。 *www.cs.utexas.edu/~eunsol/courses/data/bitter_lesson.pdf 公理 2: Scaling Law。 這條公理說了,一旦選擇了良好且通用的數據表示,良好且通用的數據標注,良好且通用的算法,那么你就能找到一套通用規律,保證數據越多,模型越大,效果越好。而且這套規律穩定到了可以在訓練模型之前就能預知它的效果: 如果說 公理 1 The bitter lesson 是 AGI 的必要條件——大模型,大算力,大數據,那么公理 2 Scaling Law 就是 AGI 充分條件,即我們能找到一套算法,穩定的保證大模型,大算力,大數據導致更好的結果,甚至能預測未來。 而具體來談,就是我們之前說的「良好且通用的數據表示,良好且通用的數據標注,良好且通用的算法」,在 GPT 和 Sora 中都有相應的內容:
「良好且通用的數據表示,良好且通用的數據標注,良好且通用的算法」同時也為檢測 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 也會持續關注和應對算力帶來的挑戰,尋找突破算力瓶頸的解決之道。 |
|
來自: 昵稱35641324 > 《科技》