今天小編分享的互聯網經驗:英偉達暗諷英偉達運氣好,GPU如何押中AI?,歡迎閲讀。
圖片來源 @視覺中國
文 | 電廠,作者 | 肖餘林
在 12 月推出 AI 新品之際,英特爾 CEO 基辛格把槍口對準了英偉達。基辛格先是公開強調英偉達 CUDA 軟體的護城河沒有外界想象的那麼深,接着在麻省理工的一場論壇上名褒暗貶,稱英偉達在 AI GPU 領網域極其幸運(extraordinarily lucky)。
基辛格把英偉達的成功歸結為運氣,并且認為好運曾站在英特爾那邊。
他強調,英偉達最初拿 GPU 做通用運算完全沒有考慮過 AI。他不無可惜地提到,如果他當初沒有被踢出英特爾,他看好的 Larrabee 項目就不會被終止,那麼改變 AI 形态的可能是 Larrabee,而不是 CUDA。
Larrabee 是英特爾早期開發的通用圖形處理器(GPGPU),英偉達同期也在做類似項目,并在此基礎上推出了 CUDA 平台。
基辛格的判斷并非沒有理由,他在 13 年前被迫從英特爾離開的時候,英偉達推出 CUDA 沒多久。CUDA 1.0 的早期文檔中描述了通用計算的前景,涉及物理模拟、計算金融和計算生物學,确實沒有 AI 的身影。更重要的是,幫助英偉達 CUDA 做深度神經網絡庫的高管就來自基辛格所説的 Larrabee 項目。
這位高管是英偉達現在的深度學習應用研究副總裁 Bryan Catanzaro。但在基辛格發難之際,他在社交媒體 X 上表達了相反的觀點。他認為," 英偉達今天的地位并非來自運氣,而是眼光和執行力 "。
回看商業領網域的企業浮沉,運氣常常是被忽略的因素。99 歲的芒格在生命的最後一段時間做出如此總結:" 那些脱穎而出的人和公司,通常具備智慧、勤勞和大量的運氣。"
翻看 GPU 和 AI 技術互動的歷史,不難發現英偉達不僅有好運氣,甚至好運氣的周期足夠長。問題是,支撐這種好運氣的到底是不是 " 眼光和執行力 "?
" 潑天富貴 " 降臨的時刻
今天英偉達一卡難求 H100 GPU 有兩個主要買家,其中包括微軟。根據 Omdia Research 的報告和瑞傑金融的估價,微軟買了 15 萬塊 H100,總花費在數十億美元。考慮到 H100 供不應求的現狀,可以説這錢是微軟 " 求着 " 讓英偉達收下的。
然而時間回到 2011 年,如果當時微軟研發專家想采購一塊 1 萬美元的 GPU,要遭到不少内部壓力,即便這些 GPU 會被用在極具商業潛力的項目上。不僅是微軟,谷歌也一樣,10 年前認識到 GPU 能力的人和公司屈指可數。
2013 年,谷歌人工智能主管了解到,公司挖角的深度學習研究員從不使用公司強大的數據中心,而是私自架一台 GPU 藏在工位下面使用。了解情況後,他申請 1.3 億美元預算采購 4 萬塊 GPU。科技記者 Cade Metz 在《深度學習革命》一書中記錄,這筆預算遭到了管理層強烈反對,最後創始人 Larry Page 拍板才被通過。
更誇張的是,英偉達也沒有完全認識到 GPU 的潛力,直到谷歌 1.3 億美元的訂單砸下來,才在深度學習領網域有實質的業務布局。英偉達 2014 年的技術大會上首次出現了深度學習、機器視覺這樣的主題。
2013 年被認為是英偉達被命運選中的時刻,也是長達 10 年的 " 潑天富貴 " 的起點。然而英偉達不想把這天降的命運歸結為運氣,它堅持認為,2000 年代中期就意識到了 GPU 在神經網絡應用的潛力。
商業巨頭合力改寫歷史
在今年的一篇博客文章中,英偉達把 GPU 應用于深度學習的成功案例追溯到 2008 年的一篇論文,論文來自于斯坦福大學教授吳恩達 ( Andrew Ng ) 。吳恩達的小組得出結論,當時 GPU 在深度學習工作中的計算能力遠遠超過了多核 CPU。他們使用兩張 GTX 280 GPU,訓練具有 1 億個參數的神經網絡時,速度比使用 CPU 提高了 70 倍,訓練時間從數周縮短到一天左右。
英偉達的編程軟體 CUDA 在 2007 年推出,由于不是為了深度學習而生,研究人員需要借助 CUDA 把原本基于 CPU 的代碼重寫成 GPU 代碼。吳恩達的這篇論文中有相當篇幅介紹 CUDA 的使用思路,因此在後來進入了英偉達的視野。
2008 年,Bryan Catanzaro 從英特爾來到英偉達,他認為自己是英偉達第一個,也是當時唯一一個 AI 研究人員。Catanzaro 在接受媒體采訪時表示,他從紐約大學人工智能實驗室得知,有一群機器學習研究人員在瘋狂地為 GPU 核心編寫軟體。他受到啓發,在當時的工作成果的基礎上,催生了 CUDA 深度神經網絡庫(cuDNN)。
如果把 CUDA 比作 AI 的工作台,cuDNN 就是 AI 專用的螺絲刀,cuDNN 于 2014 年發布,是英偉達首個針對深度學習的軟體產品。
Bryan Catanzaro 認為,真正讓英偉達 GPU 在 AI 領網域出圈的是一場比賽。2012 年舉辦的 ImageNet 圖象識别大賽中,首次參賽的 AlexNet 神經網絡表現出超出人們想象的識别率而一鳴驚人。這次比賽引發轟動,被認為是深度學習爆發的初始事件。
AlexNet 來自于有 " 深度學習之父 " 之稱的 Geoffrey Hinton 和他的兩個學生。比賽中,他們沒有采用當時普通會用的計算機視覺代碼,而是押注在深度學習上,讓機器自學識别影像。當時最讓人吃驚的是,AlexNet 只用了兩塊 GTX 580 GPU。谷歌同期的技術想要從影像中識别貓,需要用到數據中心當中的 2000 個 CPU。
在此基礎上,Catanzaro 詳細研究 GPU 和 CPU 的能力對比。他發現,當時 2000 個 CPU 的深度學習性能,只要 12 個英偉達 GPU 就可以實現。一系列突破和研究讓商業公司窺見到深度學習的未來,硅谷巨頭們,包括百度等科技公司開始着手用 AI 重構未來版圖,GPU 成為他們版圖中的磚塊,英偉達從此劃出了第二條增長曲線。
然而需要強調的是,這個看起來完整的故事并非全部。在 2012 年之前,深度學習是一個很小的領網域,商業公司的參與讓這個小領網域成了共識。反過來,由于商業公司以自己的視角參與和講述其中的過程,也因此改變了歷史樣貌。
在一些研究人員看來,他們對 GPU 的認識和使用遠早于商業公司的發現,在英偉達運氣的背後,有着被遺忘的人與事。
一樁深度學習的公案
2012 年,Geoffrey Hinton 用 AlexNet 奠定了自己和兩位學生在深度學習領網域的地位。Hinton 的其中一位學生在 2015 年進入 OpenAI,他是 2023 年 OpenAI" 宮鬥 " 鬧劇的主角之一—— IIya Sutskever。
IIya 因為鬧劇而走出實驗室,被全世界的網友認識,成為科技名人。在鬧劇最激烈的時候,吃瓜的 Elon Musk 發了一條推文,向網友介紹了從未出圈的重磅科學家 Jurgen Schmidhuber。
Jurgen Schmidhuber 是當今頂尖的 AI 科學家之一。他在 1997 年發明的長短期記憶網絡(LSTM)現在被用在絕大多數的語音識别和機器翻譯產品當中,比如蘋果的 Siri、亞馬遜智能音箱、谷歌翻譯等等。
在他的個人博客當中,詳細記錄了自己團隊對整個 AI 社區的技術貢獻。他在博文中説明,GPT 當中代表 "Transformer" 的 "T" 和代表 " 預訓練 " 的 "P" 都基于他的團隊的工作成果。這可能也是馬斯克發表那條推文想表達的思想。
最讓 Schmidhuber 耿耿于懷的,是讓 Geoffrey Hinton 名聲大噪的 AlexNet。在他看來,AlexNet 取得的成就基于 AI 社區的技術成果,不該拿走所有的光環。他提到同期的 DanNet 神經網絡,DanNet 更早使用了 GPU 訓練,更早在比賽中超過了人的視覺識别能力,并且獲獎更多。
電廠翻閲 DanNet 的資料發現,它來自于 Jurgen Schmidhuber 領導的團隊,所參加的比賽往往直接服務于商業和科學應用,比如手寫字識别、癌症醫學圖象識别等。DanNet 首次獲獎于 2011 年,且在 2012 年拿下了參加的所有比賽冠軍。由于 DanNet 專注于參加識别大影像的比賽,因此沒有在 2012 年跟 AlexNet 同台競技。
外界基于從 AlexNet 開始的商業視角認識深度學習,把 AI 社區的榮譽加諸于 Geoffrey Hinton 身上,這讓 Schmidhuber 感到不滿。2020 年,他試圖通過《自然》雜志糾正這種現象,由此引發了 AI 社區在當年的激烈辯論。
這場公案也顯示,用 GPU 訓練神經網絡在 2011 年就已經是成熟的方法。電廠根據 DanNet 早期論文發現,英偉達好運氣的起點可以追溯到 2000 年初期。
被忽視的十年
上世紀 80 年代,AI 研究從危機中走出來,各種新技術相繼誕生。1986 年 Geoffrey Hinton 的反向傳播算法、1989 年 Yann LeCun 的卷積神經網絡、1997 年 Jurgen Schmidhuber 的長短期記憶(LSTM)等幫助 AI 社區破冰。
進入 2000 年,這些新型的理論技術需要算力支持才能高效地投入研究,但基于 CPU 的工作往往要經歷相當長的周期。幸運的是,學術界使用 GPU 從事數值計算的工作啓發了神經網絡研究人員。
同期,為遊戲而生的 GPU 開始被遷移到 Windows 平台,遊戲畫面也從 2D 進入 3D。為了應對需求,英偉達不斷更新 GPU 性能。
GPU 要在 3D 轉換中運行大量矩陣乘法,這跟 CPU 的邏輯運算完全不同,卻跟神經網絡的工作過程非常相似。如果把 CPU 比作一個具有邏輯思維的成年人,GPU 就是 100 個學會了加減法的小學生,神經網絡訓練需要後面這種方式。
電廠把時間追溯到 2004 年,當年出現的一篇論文中,研究人員使用 ATI Radeon 9700 Pro 顯卡把神經網絡訓練效率提升了 20 倍。2005 年和 2006 年,圈子裏陸續出現測評論文,在奔騰處理器、ATI GPU 和英偉達 GPU 之間做比較。2007 年,英偉達推出 CUDA 軟體簡化了 AI 社區針對 GPU 的編程工作,成為 AI 社區的主要選擇。
這時候,GPU 訓練的瓶頸出現在内存和 GPU 之間的數據傳輸環節。2008 年吳恩達那篇論文顯示,使用 GTX 280 GPU 的過程中,兩個矩陣相乘所花費的總時間約為 20 毫秒,但實際計算只占其中的 0.5%,剩下的時間都是傳輸數據的時間。
2010 年,英偉達推出 GTX480 和 GTX580 顯卡。雖然 GTX480 在遊戲表現上因發熱 " 翻車 ",但由于引入了 L2 緩存,意外解決了之前 GPU 訓練遇到的瓶頸問題。這代顯卡成為了 DanNet、AlexNet 在訓練上取得突破的硬體基礎。
可以説,從 CUDA 到 L2 緩存,英偉達在 GPU 上的兩次 " 無心插柳 " 的硬體設計,都擊中了深度學習的需求,無意間參與到 AI 社區的發展當中。
總結來看,從 2000 年初期到 2012 年,英特爾、谷歌、微軟等巨頭成為科技的主導力量,但 AI 的漫長探索始終處在他們的盲點。這其中,英偉達 " 無心插柳 ",但十年的周期足夠一棵樹長成一片森林。特别是 2012 年之後,英偉達在 CUDA 上的投入產生了更深遠的價值。
如今,英偉達的 AI 芯片成了整個 AI 商業版圖當中的磚塊,基于 CUDA 的技術棧也成了磚塊之間的水泥。看上去,在整個 GPU 生态中英偉達已經無可撼動。
然而就在這樣的确定性時刻,依賴英偉達的科技巨頭們反而暧昧起來,一方面加大跟英偉達的訂單,另一方面紛紛推出自研芯片,微軟推出了 Maia 100,亞馬遜更新了 Trainium 2,谷歌的 TPU v5p 已經幫助節省了可觀的成本。
英偉達 H100 這樣通用 GPU 具備靈活性,及時補充了生成式 AI 爆發帶來的需求。随着需求沉澱,AI 商業社區在底層技術上一旦形成共識,對通用 GPU 的需求可能會讓位給專用的 TPU 或者定制芯片。因此,比過去的任何時刻,英偉達都更加需要 " 無心插柳 " 的運氣。