深度思考 | 大模型的能力邊界在哪里?
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
假如我們有無限的資源,比如有無窮多的數據,無窮大的算力,無窮大的模型,完美的優化算法與泛化表現,請問由此得到的預訓練模型是否可以用來解決一切問題?
這是一個大家都非常關心的問題,但已有的機器學習理論卻無法回答。它與表達能力理論無關,因為模型無窮大,表達能力自然也無窮大。它與優化、泛化理論也無關,因為我們假設算法的優化、泛化表現完美。換句話說,之前理論研究的問題在這里不存在了!
今天,我給大家介紹一下我在ICML'2023發表的論文On the Power of Foundation Models,從范疇論的角度給出一個答案。
范疇論是什么?
倘若不是數學專業的同學,對范疇論可能比較陌生。范疇論被稱為是數學的數學,為現代數學提供了一套基礎語言?,F代幾乎所有的數學領域都是用范疇論的語言描述的,例如代數拓撲、代數幾何、代數圖論等等。范疇論是一門研究結構與關系的學問,它可以看作是集合論的一種自然延伸:在集合論中,一個集合包含了若干個不同的元素;在范疇論中,我們不僅記錄了元素,還記錄了元素與元素之間的關系。
Martin Kuppe曾經畫了一幅數學地圖,把范疇論放到了地圖的頂端,照耀著數學各個領域:
關于范疇論的介紹網上有很多,我們這里簡單講幾個基本概念:
監督學習的范疇論視角
過去十多年,人們圍繞著監督學習框架進行了大量的研究,得到了很多優美的結論。但是,這一框架也限制了人們對AI算法的認識,讓理解預訓練大模型變得極為困難。例如,已有的泛化理論很難用來解釋模型的跨模態學習能力。
我們能不能通過采樣函子的輸入輸出數據,學到這個函子?
注意到,在這個過程中我們沒有考慮兩個范疇 X,Y 內部的結構。實際上,監督學習沒有對范疇內部的結構有任何假設,所以可以認為在兩個范疇內部,任何兩個對象之間都沒有關系。因此,我們完全可以把 X 和 Y 看作是兩個集合。這個時候,泛化理論著名的no free lunch定理告訴我們,假如沒有額外假設,那么學好從 X 到 Y 的函子這件事情是不可能的(除非有海量樣本)。
乍看之下,這個新視角毫無用處。給范疇加約束也好,給函子加約束也好,似乎沒什么本質區別。實際上,新視角更像是傳統框架的閹割版本:它甚至沒有提及監督學習中極為重要的損失函數的概念,也就無法用于分析訓練算法的收斂或泛化性質。那么我們應該如何理解這個新視角呢?
我想,范疇論提供了一種鳥瞰視角。它本身不會也不應該替代原有的更具體的監督學習框架,或者用來產生更好的監督學習算法。相反,監督學習框架是它的“子模塊”,是解決具體問題時可以采用的工具。因此,范疇論不會在乎損失函數或者優化過程——這些更像是算法的實現細節。它更關注范疇與函子的結構,并且嘗試理解某個函子是否可學習。這些問題在傳統監督學習框架中極為困難,但是在范疇視角下變得簡單。
自監督學習的范疇論視角
預訓練任務與范疇
下面我們先明確在預訓練任務下范疇的定義。實際上,倘若我們沒有設計任何預訓練任務,那么范疇中的對象之間就沒有關系;但是設計了預訓練任務之后,我們就將人類的先驗知識以任務的方式,給范疇注入了結構。而這些結構就成為了大模型擁有的知識。
具體來說:
換句話說,當我們在一個數據集上定義了預訓練任務之后,我們就定義了一個包含對應關系結構的范疇。預訓練任務的學習目標,就是讓模型把這個范疇學好。具體來說,我們看一下理想模型的概念。
理想模型
在這里,“數據無關”意味著 是在看到數據之前就預先定義的;但下標 f則表示可以通過黑盒調用的方式使用 f 和 這兩個函數。換句話說, 是一個“簡單”的函數,但可以借助模型 f 的能力來表示更復雜的關系。這一點可能不太好理解,我們用壓縮算法來打個比方。壓縮算法本身可能是數據相關的,比如它可能是針對數據分布進行了特殊優化。然而,作為一個數據無關的函數 ,它無法訪問數據分布,但可以調用壓縮算法來解壓數據,因為“調用壓縮算法”這一操作是數據無關的。
針對不同的預訓練任務,我們可以定義不同的 :
因此,我們可以這么說:預訓練學習的過程,就是在尋找理想模型 f 的過程。
可是,即使 是確定的,根據定義,理想模型也并不唯一。理論上說,模型 f 可能具有超級智能,即使在不學習 C 中數據的前提下也能做任何事情。在這種情況下,我們無法對 f 的能力給出有意義的論斷。因此,我們應該看看問題的另一面:
給定由預訓練任務定義的范疇 C ,對于任何一個理想的 f ,它能解決哪些任務?
這是我們在本文一開始就想回答的核心問題。我們先介紹一個重要概念。
米田嵌入
很容易證明, 是能力最弱的理想模型,因為給定其他理想模型 f , 中的所有關系也包含在 f 中。同時,它也是沒有其他額外假設前提之下,預訓練模型學習的最終目標。因此,為了回答我們的核心問題,我們下面專門考慮 。
提示調優(Prompt tuning): 見多才能識廣
能否解決某個任務 T ?要回答這個問題,我們先介紹范疇論中最重要的一個定理。
米田引理
即, 可以用這兩種表征計算出 T(X) 。然而,注意到任務提示 P 必須通過 而非 發送,這意味著我們會得到 (P) 而非 T 作為 的輸入。這引出了范疇論中另一個重要的定義。
基于這個定義,我們可以得到如下定理(證明略去)。
定理1與推論
值得一提的是,有些提示調優算法的提示不一定是范疇 C 中的對象,可能是特征空間中的表征。這種方法有可能支持比可表任務更復雜的任務,但增強效果取決于特征空間的表達能力。下面我們提供定理1的一個簡單推論。
推論1. 對于預測圖像旋轉角度的預訓練任務[4],提示調優不能解決分割或分類等復雜的下游任務。
證明:預測圖像旋轉角度的預訓練任務會將給定圖像旋轉四個不同的角度:0°, 90°, 180°, 和 270°,并讓模型進行預測。因此,這個預訓練任務定義的范疇將每個對象都放入一個包含4個元素的群中。顯然,像分割或分類這樣的任務不能由這樣簡單的對象表出。
推論1有點反直覺,因為原論文提到[4],使用該方法得到的模型可以部分解決分類或分割等下游任務。然而,在我們的定義中,解決任務意味著模型應該為每個輸入生成正確的輸出,因此部分正確并不被視為成功。這也與我們文章開頭提到的問題相符:在無限資源的支持下,預測圖像旋轉角度的預訓練任務能否用于解決復雜的下游任務?推論1給出了否定的答案。
微調(Fine tuning): 表征不丟信息
提示調優的能力有限,那么微調算法呢?基于米田函子擴展定理(參見 [5]中的命題2.7.1),我們可以得到如下定理。
定理2考慮的下游任務是基于 C 的結構,而不是數據集中的數據內容。因此,之前提到的預測旋轉圖片角度的預訓練任務定義的范疇仍然具有非常簡單的群結構。但是根據定理2,我們可以用它解決更多樣化的任務。例如,我們可以將所有對象映射到同一個輸出,這是無法通過提示調優來實現的。定理2明確了預訓練任務的重要性,因為更好的預訓練任務將創建更強大的范疇 C ,從而進一步提高了模型的微調潛力。
對于定理2有兩個常見的誤解。首先,即使范疇 C 包含了大量信息,定理2只提供了一個粗糙的上界,說 記錄了 C 中所有的信息,有潛力解決任何任務,而并沒有說任何微調算法都可以達到這個目的。其次,定理2乍看像是過參數化理論。然而,它們分析的是自監督學習的不同步驟。過參數化分析的是預訓練步驟,說的是在某些假設下,只要模型足夠大且學習率足夠小,對于預訓練任務,優化和泛化誤差將非常小。而定理2分析的則是預訓練后的微調步驟,說該步驟有很大潛力。
討論與總結
監督學習與自監督學習。從機器學習的角度來看,自監督學習仍然是一種監督學習,只是獲取標簽的方式更巧妙一些而已。但是從范疇論的角度來看,自監督學習定義了范疇內部的結構,而監督學習定義了范疇之間的關系。因此,它們處于人工智能地圖的不同板塊,在做完全不一樣的事情。
適用場景。由于本文開頭考慮了無限資源的假設,導致很多朋友可能會認為,這些理論只有在虛空之中才會真正成立。其實并非如此。在我們真正的推導過程中,我們只是考慮了理想模型與 這一預定義的函數。實際上,只要 確定了之后,任何一個預訓練模型 f (哪怕是在隨機初始化階段)都可以針對輸入XC 計算出 f(X) ,從而使用 計算出兩個對象的關系。換句話說,只要當 確定之后,每個預訓練模型都對應于一個范疇,而預訓練的目標不過是將這個范疇不斷與由預訓練任務定義的范疇對齊而已。因此,我們的理論針對每一個預訓練模型都成立。
核心公式。很多人說,如果AI真有一套理論支撐,那么它背后應該有一個或者幾個簡潔優美的公式。我想,如果需要用一個范疇論的公式來描繪大模型能力的話,它應該就是我們之前提到的:
對于大模型比較熟悉的朋友,在深入理解這個公式的含義之后,可能會覺得這個式子在說廢話,不過是把現在大模型的工作模式用比較復雜的數學式子寫出來了而已。
但事實并非如此?,F代科學基于數學,現代數學基于范疇論,而范疇論中最重要的定理就是米田引理。我寫的這個式子將米田引理的同構式拆開變成了不對稱的版本,卻正好和大模型的打開方式完全一致。
我認為這一定不是巧合。如果范疇論可以照耀現代數學的各個分支,它也一定可以照亮通用人工智能的前進之路。
本文靈感源于與北京智源人工智能研究院千方團隊的長期緊密合作。
原文鏈接:https://mp.weixin.qq.com/s/bKf3JADjAveeJDjFzcDbkw