簡單解釋 SORA 工作原理

2024/03/18閱讀時間約 12 分鐘

大家最近肯定看了不少關於 SORA 的影片吧。有人說這模型太神奇了,AI 已經能理解並模擬現實世界了。你是感到害怕的,還是感到興奮的?
說實話,我是屬於比較興奮的那一類。

raw-image

四面八方的消息、新聞跟短影片,相信你跟我一樣已經接收了很大的資訊量,那現在的你看懂 SORA 了嗎?


我是一個圖像人,就是用畫面來理解事物的類型,老實說光看著論文文本我是一下子有點難消化的,所以今天我打算用圖像人的方式,來跟大家簡單地聊聊 SORA 背後的原理,這幫助了我自己理解,也希望能幫助到你。


想要找到更多學習資料的朋友,以及想要跟我們一起分享交流學習的朋友,歡迎加入我們的 Discord 伺服器,投資神社

raw-image



在展開談論 SORA 之前,我們先來解釋一下 AGI 是甚麼。




WTF is AGI

AGI 的全名是 Artificial "General" Intelligence,是指理論上能夠執行任何一種人類智慧可以完成的認知任務,並且能夠自我學習和適應新的任務或環境的人工智慧。
所以叫做「通用型人工智慧」,也會說是強人工智慧。目前還不存在哈。

而市面上已經非常廣泛使用的,全部都屬於「弱人工智慧」、狹義人工智慧,或者我會說是指向型的人工智慧。
這種人工智慧被設計和訓練來完成特定的任務,例如語音識別、圖像識別或者棋類遊戲。

指向型 AI 是只在特定領域表現出色,通用型 AI 則更接近人腦,能夠完成任何領域的工作,甚至具備超越人類的能力。


我們的日常生活中其實早就遍佈了很大量的 AI,並不是近幾年才出現的, 這其中大多數的 AI 屬於辨識型或者說分辨式、決策式 AI,也就是你丟給它資料,這些資料是需要有提前做好的標註分類的,然後它會幫你辨識歸納出指定的內容,根據已經訓練好的規則來完成指定工作。
像是人臉辨識、推薦演算、自動駕駛。
辨識型的 AI 無法做到我們現在所謂的「生成」,更白話一點就是它沒辦法進行「創作」

而生成式 AI 中,我們常說語言模型和算圖模型就有著很不同的運作方式,不能混為一談。
雖然你可能會說,GPT 和一些市面上的聊天 AI 已經可以生成圖像了,這不就代表 AI 的能力已經開始整合了嗎?


raw-image




其實,並不算。





目前可見的基本上都是以兩條系統下去搭配,只是把窗口整合在同一個地方而已。

raw-image

你請 GPT 生成圖像,首先由 GPT 理解了你想執行的動作,並接收了你的 prompt,然後由它去把你的 prompt 丟進 DALL-E 裡面,再把 DALL-E 的結果回傳到 GPT 的畫面上,雖然你從頭到尾都在 GPT 的畫面上沒有離開,但他們依然是分別的兩個 AI 模型。
是分別針對特定任務指向來訓練的不同模型。

這就是目前市面上的 AI 不能被稱為 AGI 的原因,它們也許在自己的領域上表現得很不錯,但並不代表它們在所有領域都能完成工作。更不用說在各自的領域中,都還有模型之分。


以算圖模型來說,我們會根據需求的風格去選擇模型,甚至會用上各種 lora 來作補強控制。在生成的過程中,為了能夠彌補模型本身的不足,我們還需要加入 controlnet 模型、upscale 修復模型、animatediff 模型等等額外的外掛,這些擴展模型也都是為了完成它們各自工作而單獨訓練的。


AGI 的終極展望,或者說狹義的定義,就是一個模型,能作到全部的事情,包含全部的風格,以及所有的能力分支。並且能夠自我學習和適應新的任務或環境。

raw-image

就像一個人能夠學習不同領域的知識,不會只能夠寫字,或是只能夠畫圖,還能夠操作器械,能夠跟人聊天,能夠說或唱,能對接收到的外在刺激產生感想和反應。
也不會在學會開車後就只能開一款車,學會使用手機後就只能使用那一款手機。

當遇到問題時,人類也會有主動去尋找學習解決辦法的能力,而不是被動地等待工程師或研究員來給你擴建數據庫重新訓練。
同時它又會是一個可能超越人類的存在,因為人類很難集中在一個人身上把所有領域都做到最好, 這個極限在可能的未來 AI 開發領域裡面,或許會比突破人腦還要更容易實現⋯⋯嗎?
這恐怕要等哪天那個人機介面的技術也有爆炸性突破的時候,才能知道答案了。🤪

那說到這裡,現在的指向型 AI 明明都遠沒達到人腦的程度,我們卻已經覺得厲害得不得了了,反過來仔細想想,其實人的腦袋還是挺厲害挺了不起的啊。


那麼,AGI 的部分就到這邊。




WTF is SORA

接下來我們來講 SORA 的原理,我會盡量用最簡單的方式來介紹。最後也會提供進階閱讀的指路,給想要深入了解的朋友們。


SORA 使用的生成運算方式並不只是我們常聽到的 Diffusion model,而是融合了 Diffusion 和 Transformer 各自擅長特性的 Diffusion Transformer
這個 Diffusion Transformer 應該是來自 2022 年發表的,Scalable Diffusion Models with Transformers。

raw-image

而為它奠定基礎的各項技術研究,都是從很久以前就一直有團隊在做的。
SORA 在技術說明頁上直接有標註引用的資料,最主要是來自 Google 團隊的研究成果,當然也有 Open AI 自己家的。還有其他團隊的。
這些可以在最下面看到,感興趣的朋友複製一下就可以找到原論文了。


蠻有趣的是一個 Google Deepmind 團隊成員在推特上開玩笑說:不用客氣,Open AI!如果你想送點花和巧克力感謝我們,我可以私你地址。

raw-image

這反映了 AI 研究領域的開放性和合作精神。許多重大的 AI 技術革新都是由多個團隊在多年的研究中,透過公開分享研究論文,共同達成的。這種開放分享的精神對於推動 AI 技術的發展起著關鍵的作用。

raw-image


雖然它的取名方式好像有點隨便,但這些技術本身確實是非常非常 diu 的。

raw-image

我這邊就快速地給不熟悉的朋友們帶過一下。

  • Diffusion 是基於加噪降噪來理解平面的圖像構成的方法。透過文字編碼器理解了你的需求後,逐步剃除噪點來生成結果。
    這種方法的主要優點是能夠生成具有高度細節和連續性的圖像。
  • Transformer 是以類似於文字接龍的方式來生成結果的方法。它會在逐步生成的過程中去挑選最合適的字或內容往下接,並在它認為合適的地方結束。
    這種方法的主要優點是能夠處理長距離的依賴關係 (自注意力機制),並且具有很好的平行化能力。
    GPT 的那個 T 就是 Transformer。
  • Diffusion Transformer 是將 Diffusion 和 Transformer 的優點結合起來的一種新方法。在訓練時,它將影片的內容拆解成包含了空間(定位)和時間的小塊,稱為 Spacetime latent patches。然後透過設計好的算法,隨機去丟掉一些小塊,這就像是在教學訓練的時候給 AI 畫重點,縮短他閱讀資料所需要的時間,接著就讓模型開始學習這些內容。




raw-image

簡單來說呢,你把這個大方塊想成一段影片,這是長寬比,這是總時長。

raw-image

Diffusion Transformer 會把整個大方塊切成一堆同樣大小的小方塊,保留它們原本的時空位置訊息,按照順序紀錄,讓它們都有序列編號。

僅供示意, 僅供參考, 隨便畫畫(

僅供示意, 僅供參考, 隨便畫畫(

接著把方塊打散。

raw-image


就有點像「拼圖」,拼圖的每一片都有著它原本的固定位置嘛。

raw-image

AI 在學習的時候就像是把拼圖打散了,我們在拼拼圖的時候通常會先從好辨認的、好定位的開始找對吧?

raw-image

拼到最後,那些剩下白白的沒什麼圖像資訊的,自然就會比較容易找到位置,或者說即使沒有這些,你也能夠靠腦補想像出這張拼圖完整的樣子了。


在這個基礎上,Diffusion Transformer 還需要加入時間的元素,你就想像一下這是一串逐幀內容做出來的拼圖。像那種傳統的手工動畫。

raw-image

AI 會學到的除了在一個畫面構圖中,什麼樣的東西存在於什麼樣的位置,最重要的是能夠學習到它們在逐幀運動的軌跡中,會有甚麼樣的動態變化,這也就是為什麼它會看起來好像理解了所謂的「物理法則」。
最後這些小塊都會被壓縮成低維度的 latent representation,把它想成把前面那個切分完後的小方塊壓扁,當然降低維度不僅僅是壓扁而已。

用處理完後的 patch 來代入原本 transformer 用來生成文字內容時所處理的最小單位:Token,然後加入噪點,對,我們 Diffusion model 最常聽到的那個 noise。
用擴散模型對畫面特徵的學習方式來訓練 AI 從理解畫面到生成畫面。 藉由以上的方式, 來讓 AI 能夠學習到影片中,現實世界所具備的動態規律,以及畫面應該呈現的樣貌。


除此之外,還有一個很重要的部分,是它對於輸入的提示詞的理解。

raw-image

在展示頁面上我們會看到大多數的影片,都只透過相對來說很簡短的 prompt 來生成,這是因為 SORA 跟 DALL-E 一樣,使用了 GPT 來擴展你的提示,但不是直接用我們平常見到的那個 chatGPT,是單獨訓練了一個專門用來描述影片內容的語言模型,這個專門的描述模型會來幫助 SORA 做到對畫面更加詳細的理解。


整個技術的成就,我認為啊並不在畫面有多麼漂亮,而是 SORA 有了空間與時間的概念後,進而呈現出來的穩定。

這讓它似乎可以理解,一個原本存在在畫面上的物體,不會因為短暫的遮擋而憑空消失,它能夠維持住物體的存在跟型態,並且計算出合理的經過時間推移和運動後可能會產生的改變,或者說,該不該改變


會說「似乎」是因為目前 SORA 官方釋出的範例影片裡,也還是有不少那種對 AI 而言合理,但對人類而言是個問號的生成結果。
當然,這也是讓 AI 生成能夠超脫常理天馬行空的重要一點,就是我們常說到的 AI 的幻覺。某種程度上算是醍醐味吧,一些神奇的崩點。


不過 SORA 團隊成立不到一年,開發時間總體來說也並不長,具體的訓練規模和參數都還沒有完整公開,因此我們很難去斷定它需要多久,才會成長到所謂真正理解真實世界的程度。
起碼現在,在 OpenAI 介紹頁面上寫著的 World Simulators,可以說就是一個展望未來的口號啦,雖然確實是朝向 AGI 又更跨出了一步,就現階段而言,還沒那麼神。

但它對未來一段時間的視覺產業將帶來的刺激,是可以想見的。
創作者能夠快速地生成出,很多不同風格但都有著一定程度高品質的視覺內容,這能大幅度地節省時間和成本。並且 SORA 展現出的編輯能力,像是萬法歸一的,或是只變更場景的,這些都有可能能讓廣告媒體和各種平台、app 根據用戶的喜好或主動設置,來產生個性化、客製化的、就是針對你的視覺投放內容。
而像是素材網那種商業模式可能會快速地沒落, 一些屬於底層的重量不重質的工作可能會受到比較嚴重的衝擊。




結語

影片開頭說到我算是對這樣的發展比較興奮的那一類,並不是說我覺得只要沒影響到我就好,我也會被影響到的。
影片製作從發想到文案到錄製到剪輯,沒有哪個環節不能被 AI 取代,甚至都不用是多未來的事情,現在就已經是這樣了。🥲

raw-image

但是前面我們也聊到,我覺得人的腦子吧還是一個很厲害很好用的東西,我們能讓 AI 從人工智障變成人工智慧,也一定能在 AI 作為工具進駐市場的局面下,重新找到人類的定位。生命自會有出路吧。


最後還是要提醒一下大家,目前呢 SORA 並沒有正式對外公開,沒有開源,所有網路上你看到的所謂呃……開源、低配、甚麼課程啊、演示啊,基本上都屬於是練瘋話,希望各位不要輕易的被唬弄,不要隨便下載奇怪的安裝包,不要隨便付錢給奇怪的人。


最後的最後,來推薦一些閱讀資料給各位。

首先是這篇論文,他們是用反推驗證的方式來推導 SORA 背後,可能應用到的已公開技術,並且嘗試還原它的架構。
論文內容非常豐富全面,解釋也很詳細,他們會先提出猜想,然後逐步通過反推驗證來告訴你他們覺得哪個理論是最可能的。
只要你對機器學習領域有基礎認知,基本就能輕鬆理解這篇論文要表達的概念。

raw-image




基礎比較薄弱的朋友也不用擔心,把看不懂的段落丟給 AI 來解釋給你聽就好了。
這篇真的蠻推薦。



再從這篇延伸出去,可以閱讀 DiT 那篇,也就是前面提到過的 Scalable Diffusion Models with Transformers 以及 Patch n’Pack 的論文。
關於它使用 Transformer 來替換 U-net 的部分,對 U-net 不熟悉的朋友也可以考慮來了解一下 U-net 架構,因為目前我們最常使用的 diffusion model 都是 U-net 架構,這在 AI 生成圖像領域還是非常重要的一個基礎知識。


希望這篇文章對你有幫助,有任何問題或有甚麼想補充的歡迎在下方留言,把文章及影片推薦給你對 AI 算圖感興趣的朋友!

Youtube頻道[你風哥 Wind Bro Draw]上各式生成AI工具教學及介紹影片的文字版,包含使用方法與小技巧,完整的影片文案重新梳理,或是實用小筆記,還有進階使用者的理論基礎部分。工具目前包含ComfyUI、Leonardo.Ai、Picsi.Ai、Pika Labs……等,緩慢新增中。
留言0
查看全部
發表第一個留言支持創作者!