专访微软Greg Yang,构建神经网络的底层语言,探索AI的“万物理论”
來源:智源社區
為了進一步解讀這一工作背后的意義,智源社區采訪了論文一作、微軟研究院高級研究員Greg Yang(楊格)。采訪中,我們不僅了解了μTransfer的背景,以及項目背后更為遠大的目標,也了解到了Greg本人奇特的跨界人生。
圖注:Greg Yang
01
從DJ到研究數學:在自由探索中對AI產生興趣
1.在哈佛期間兩度休學,尋找方向
出于對數學的興趣,Greg一開始就進入了哈佛大學數學系。由于哈佛大學有著非常寬容的休學政策——學生可以隨時離開校園,也可以隨時回來——Greg下定決心,在讀完大二后選擇追求音樂之路。
圖注:Greg在哈佛大一時表演架子鼓
在一年半的時間中,他從生活的“倉鼠籠”中走出來,好好規劃自己的人生。這段時間他可以盡情探索自己的興趣。
圖注:成為DJ的Greg
Greg在這期間得出了以下結論:
他將致力于實現通用人工智能(AGI):能夠制造一個比自己還要聰明的東西,并淘汰掉他自己,是一個“intellectually”極其激動的事情。
他對數學有著內在的激情:由于一系列可預測的課程、作業和競賽等,他對學習和研究數學的熱情變得麻木了。但這次休學讓他恢復了往日對數學這一學科的熱愛。
數學是我們現實的底層邏輯:它是一切科學和工程的基礎語言(Foundation Language),而重大的突破,往往來自揭示問題背后的一些隱藏著的數學結構。即使是不怕數學本身,就能夠提供足夠的自信,來嘗試解決困難的問題,提出新的點子。
休學一年半后,Greg回到哈佛,出版了自己的第一篇論文。之后他再次休學,完成閱讀教科書等方面的事情。
在第二次休學期間,深度學習開始快速發展,他癡迷于研究神經圖靈機,并借鑒了可微拓撲學中的思路,提出了“Lie Access Neural Turing Machine”,并發表在ICLR上。
同樣在那段時期,他發現代數拓撲學和學習理論中的一個有趣的聯系。例如,VC維(Vapnik–Chervonenkis Dimension)描述學習一個任務的困難程度的方法,但可以被一個和任務有關的拓撲空間中的“洞”的維度所捕捉到。這種聯系可以幫助證明一些計算復雜度的問題。當時他不知道的是,這個研究會成為他職業生涯的起點
2.機緣巧合,師從丘成桐,與弗里德曼和沈向洋結緣
第二次休學兩年后,Greg回到哈佛。每個學期,數學系會為每個學生隨機指定一位學術導師。他導師是獲得了1982年菲爾茲獎的丘成桐。他表示,當時他根本沒有意識到日后丘成桐帶來的影響。
在一次例行會議上,Greg告訴丘成桐他正在寫的這篇關于代數拓撲和學習理論的論文。Greg對丘成桐的早期印象是:“有著很重口音的英語,表情十分平靜”,在這會議上讓他很難悟解丘成桐對他研究的看法。但此后丘成桐開始帶他去很多活動,與PhD學生和研究者會面,甚至還推薦他申請摩根獎(Morgan Prize),這是對本科數學家而言能夠獲得的最高榮譽,最終他獲得了提名。
圖注:Greg與美國數學家、摩根獎的發起者Frank Morgan的合影
丘成桐的推薦也影響了Greg的職業路徑。
畢業前,他申請了谷歌大腦的實習,但offer還未下來,需要在學校多待一段時間。丘成桐得知后提議:“試試微軟怎么樣?(How about Microsoft?)”
在老師的推薦下,Greg收到了時任執行副總裁沈向洋的郵件,在與微軟新英格蘭研究院主管Jennifer Chayes溝通后,他聯系上了另一位菲爾茨獎得主——邁克爾·弗里德曼。
也許是因為兩人都是在計算領域研究的拓撲學家,也許是因為兩人性格上都是“數學領域的沖浪好手”,與弗里德曼的交流很有共鳴。一周后,沈向洋向他發出了加入微軟的邀請:“有兩位菲爾茨獎得主推薦你,我要是再拒絕就顯得太傻了,不是嗎?”
就這樣,Greg在2017年全職加入微軟雷蒙德研究院,并在那里從事研究至今。
談及這樣的經歷,Greg表示,這是一件非常幸運的是,毫不夸張地說,甚至是百萬分之一概率的事情——如果當初丘成桐沒有隨機成為他的導師就不可能有今天。當然,他所做的研究足夠好,也是沈向洋能夠選擇他的原因。
02
μTransfer:大模型超參數的“以小見大”
近日,微軟研究院團隊聯合OpenAI提出了Efficient Hyperparameter Tuning(μTransfer)的方法。但是在采訪中,Greg解釋了μTransfer項目背后的長遠目標——用數學的語言,建立能夠描述和分析神經網絡架構的底層編程語言,即Tensor Programs。
1.背景:不確定且高成本的大模型調參
模型的超參數配置,在模型規模擴大時,不一定是最優的。大模型也需要找到合適的超參數配置,否則模型可能無法訓練得符合性能需求。
圖注:在不同的神經網絡寬度下,學習率(log_2)和訓練損失之間變化情況。不同寬度的網絡可能有著不同的最優超參,更寬的網絡不一定會比窄的網絡性能更好。
但是,由于模型過于龐大,很多中小研究團隊的成本只夠訓練一兩次模型。由于研究團隊或多或少會“把所有雞蛋都放在一個籃子里”,任何在預訓練階段背離訓練目標的問題,都會帶來巨大的時間和成本消耗。
例如,GPT-3論文就提到,雖然訓練過程中有一個Bug,但是他們無法再重訓模型,只能忽視這個問題。此外,選錯了超參數,也會帶來非常嚴重的資源浪費。有時候,錯誤的超參數設置可能會使模型在訓練一個月后才發現配置有問題。
因此,在訓練大模型時,超參數的配置總會面臨一些不確定因素,而且研究者很難通過多次訓練來確保超參配置是正確的。
為了解決這個問題,μTransfer應運而生。
2.μTransfer:建立模型規模擴大時的超參變化規則
μTransfer的思路并不復雜:μTransfer是一種在改變神經網絡寬度過程中,同時改變其對應的初始化權重、學習率等超參數的規則。其特別之處在于,如果在一個“窄”的模型中找到了合適的超參配置(初始化、學習率、動量,甚至是每一層的超參組和),μTransfer就能夠推導出更大版本的模型下,接近于最優的超參數配置。
圖注:μTransfer的基本思路
這樣一來,在為超大規模模型尋找合適的超參數時,研究人員可以先從該種架構的小規模版本模型上找到合適的超參數,然后用μTransfer的方法擴大到對應的更大規模版本上。這意味著,研究者能夠在小模型上找到一組超參,然后通過一定的規則,推導出大模型下的超參配置,而不需要對大模型進行訓練并尋找最優參數。在這一過程中,激活規模(Activation Scales)能夠保持穩定。
圖注:模型寬度增長時,在PyTorch的默認超參和μTransfer超參調整下,模型激活規模的變化情況
在這里,激活(Activations)指的是神經網絡的一個層的向量輸出的元素(Vector Output),而激活規模指的是此向量元素的標準差或平均絕對值。
當模型的寬度增加時,保持激活規模的穩定非常重要,原因在于兩點:
如果激活規模不穩定,激活最終會變得無法被低精度浮點數(如FP16)所表示,這會導致在訓練一個大的模型時,出現很多NaNs,導致訓練的中斷;
當寬度趨近無限時,保持激活穩定對于找到一個合理的超參數范圍很重要,也是超參數遷移的必要條件。
3.證明μTransfer的正確性:保持穩定的超參變化
怎樣證明μTransfer是最大化特征學習的最優?可以從理論和實踐兩個方面驗證。理論上,正確的參數化方法應該是獨一無二的,即使是在模型規模變化的時候,依然能夠保持最優的學習率、初始化權重和其他訓練超參數。但錯誤的參數化方法,會讓超參數在模型規模變大的過程中逐漸趨向無限或0。
而在實踐中,如果能夠找到某一種模型在特定規模下的最優化參數,在模型規模發生變化的過程中,也應當能維持最優配置,模型也保持最優的性能。
03
μTransfer背后的遠大項目:建立描述神經網絡架構的統一編程語言Tensor Programs
Greg表示,μTransfer僅僅只是其Tensor Programs項目的一個成果,但團隊背后更期望的是找到一種合適的“低層編程語言”,分析并描述神經網絡的函數,即Tensor Programs。
1.低層神經網絡描述語言:Tensor Programs
在AI領域,有一個問題長期以來被研究者所忽視:怎樣能夠為不同架構的模型都找到合適的初始化配置?換言之,是否有一個統一的規則,能夠根據模型的架構,分析出其最優的初始化超參數配置,確保模型訓練的穩定性?
Greg認為,長期以來這一問題沒有被研究者完全解決。在2017年的時候,默認的初始化都是從粗糙的啟發式方法中得出的,保證每個神經網絡層的激活與網絡的寬和深保持穩定。在當時,研究者每提出一個新的架構,都需要單獨撰寫初始化策略——因為沒有一個通用的方法,能夠分析出新網絡所需的初始化策略。
在嘗試統一不同神經網絡架構的初始化啟發方法時,Greg發現:存在一種“低層編程語言”,僅由矩陣乘法(Matrix Multiplication)和激活函數(Coordinatewise Nonlinearities)組成。如果神經網絡函數能夠使用這種語言表達,就可以自動且完備地進行初始化分析,這一語言被稱為Tensor Programs(TP)。
例如,“神經網絡-高斯過程”的對應,即“無限寬隨機神經網絡是高斯過程”,源于研究者對于一些簡單架構的神經網絡的觀察和研究。TP的一項研究證明,這種與高斯過程的對應關系,可以擴大到任何架構的神經網絡上。(見論文:Tensor Programs I: Wide Feedforward or Recurrent Neural Networks of Any Architecture are Gaussian Processes)?
2.Tensor Programs的潛力:分析神經網絡的最佳學習狀態
以上說明了TP可以像ONNX一樣能夠表示任何神經網絡架構,但很快地,Greg意識到TP更像PyTorch,其實能夠表達整個神經網絡的訓練算法。這種強大的表達性可以用來分析神經網絡訓練后的狀態。
他比喻說,“就像由簡單水分子構成的水,在不同的溫度下有不同的狀態,而這不同狀態的背后,是水分子之間也表現出的不同結構。”類比而言,我們也可以想象:在不同的學習率和初始化權重下,神經網絡可能呈現出的不同狀態。而不同的參數設置,在網絡寬度增加時,對于網絡的行為的影響也不一樣。
通過此頓悟,Greg提出了一種無限寬神經網絡極限的分類,能夠推導出無限寬神經網絡的最大特征學習極限,并衍生出了“最大更新參數化”(Maximal Update Parametrization,即μ-Parametrization)。這是 μTransfer的理論基礎。
在這項研究剛開始的2019年,很多“無限寬神經網絡是核機器”的研究涌現,從理論上顯示,寬神經網絡的行為,在默認的(PyTorch或TensorFlow風格)參數化條件下,是核機器(Kernel Machine)。這種核機器狀態下的神經網絡就像是水的凝固態——冰。非常堅固,有著固定的結構,對應著一些固定的、而非可學習的特征。而μ-Parametrization的特征學習狀態更像是流體——對于環境(如數據)有著適應性。
圖注:目前已經發表的TP論文
3.Tensor Programs的未來:探索AI研究的“萬物理論”
談及未來Tensor Programs的發展,他期待,團隊可以在現有工作的基礎上,解決其他維度的模型規模問題,比如模型的深度、MoE架構中專家的數量等——即,從理論上找到無限規模(比如無限深、無限專家數量,甚至是無限寬-深-專家數)的神經網絡的基線,并得出對應規模下的超參數遷移規則。
Greg認為,Tensor Programs依然有足夠的潛力來影響深度學習,特別是大型基礎模型的實踐工作,這一工作在他看來,就如同去尋找AI中的“萬物理論”。
被問及在超大規模模型中的研究機會,Greg認為,這就像是21世紀的曼哈頓計劃一樣,其規模如此龐大,純用實驗-試錯方法是很難來推動的。他認為,可以通過借鑒無限寬神經網絡理論,來理解這種超大參數規模模型的行為。由于目前的理論與實踐之間仍存在著鴻溝,這對于年輕研究者而言是一個機會。
Greg列舉了8個可以在大模型領域持續探究的基礎問題:
實現正則化超參數的遷移:這對于大模型在小數據集上的微調非常重要,因為模型可能會過擬合數據。
能否找到所有可能的無限規模神經網絡極限?“規模”可以包括寬、深、專家數、序列長度等;
能否跨寬、深、專家數、序列長度等遷移超參數?
能否跨數據集遷移超參數?
能否遷移模型結構和優化器選擇?
從極其小的神經網絡模型遷移超參數的方法,如只有10個神經元的網絡;
將一個小神經網絡超高清地放大到一個更大更高性能的網絡上;
給定用于預訓練的固定 FLOPs 預算,權衡模型寬度、深度、訓練時間、序列長度等的最佳方法是什么?
04
給年輕人的職業建議
Greg認為,他的職業發展經歷并不典型,但他也提出了一些個人的職業發展建議:
在你大學的早年階段,在你想研究和投入的任何領域打下堅實的基礎。
在學校中要認識各種各樣的人,并向他們學習。大學最大的好處不是受到的教育,而是接觸到的人。
找到自己獨有的技能,并專注于發展你的優勢
一旦擁有強大的基礎和獨特的技能,就對自己充滿信心。
不要害怕懷有一個宏偉的長期愿景并執行它。
下注。不管是什么領域,無論是不是做研究,合理地分配時間和精力都存在著不確定性。使用你獨特的技能,盡可能減少不確定性,向著最好的方向,懷著信念前進。
無論處于職業的哪個階段,都要謙虛,向他人學習。
未來智能實驗室的主要工作包括:建立AI智能系統智商評測體系,開展世界人工智能智商評測;開展互聯網(城市)大腦研究計劃,構建互聯網(城市)大腦技術和企業圖譜,為提升企業,行業與城市的智能水平服務。每日推薦范圍未來科技發展趨勢的學習型文章。目前線上平臺已收藏上千篇精華前沿科技文章和報告。
??如果您對實驗室的研究感興趣,歡迎加入未來智能實驗室線上平臺。掃描以下二維碼或點擊本文左下角“閱讀原文”
總結
以上是生活随笔為你收集整理的专访微软Greg Yang,构建神经网络的底层语言,探索AI的“万物理论”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC教程五:ASP.N
- 下一篇: JUnit-4.12报java.lang