星期一, 6月 30, 2025

CUDA的發展歷程:從學術研究到AI革命的核心

CUDA(Compute Unified Device Architecture,統一運算架構)是NVIDIA(輝達)開發的一個平台,它允許程式設計師使用NVIDIA的繪圖處理器(GPU)進行通用計算。它的發展不僅是NVIDIA成功的關鍵,也深刻影響了人工智慧(AI)的崛起。

  1. 2003年:學術界的初步探索與萌芽

    • 發現GPU的通用計算潛力: 史丹佛大學的電腦圖學研究生伊恩·巴克(Ian Buck)發現,可以透過將多張NVIDIA GeForce遊戲顯卡串聯起來,共同分擔遊戲渲染需求,從而打造出一台低成本的超級電腦。他的GeForce陣列每秒能夠執行數百億次的浮點運算,這在當時的高效能運算(HPC)領域,是極具成本效益的解決方案(大約只需2萬美元)。
    • 開源語言Brook的誕生: 在美國國防部高等研究計畫署(DARPA)的資助下,巴克與其團隊於2003年發布了開源程式語言Brook。Brook的出現使得科學家能夠將極為複雜的運算任務嵌入到圖形硬體中,將原本用於渲染遊戲畫面(例如劫車犯罪或血肉橫飛的殺戮場景)的GPU,轉化為能夠模擬銀河系形成或核彈引爆等科學過程的工具。這項創新極大地簡化了平行運算的門檻,使得研究人員開始大量購買GeForce顯卡,並將其應用於金融建模、天氣模擬、高能物理和醫學影像等多元領域,從此遊戲顯卡不再僅限於遊戲,也成為了科學研究的工具。
    • 與學術界巨頭的連結: 比爾·達利(Bill Dally),史丹佛大學電腦科學系主任,也是平行運算領域的長期倡導者,對NVIDIA晶片的「運算強度」感到非常興奮。黃仁勳親自於2003年前往達利的史丹佛辦公室,邀請他擔任NVIDIA的顧問,這顯示了黃仁勳對未來技術趨勢的敏銳洞察。
  2. 約2004年:CUDA專案的秘密啟動

    • 黃仁勳看到了巴克研究的巨大潛力,因此邀請巴克加入NVIDIA,希望他的構想能在產業中得到全面實現。
    • NVIDIA隨後招募了巴克、達利以及數十位頂尖工程師,秘密啟動了名為CUDA(Compute Unified Device Architecture,統一運算架構)的專案。CUDA的核心理念是,將原本用於電玩遊戲的平行運算電路應用於科學領域,提供開放的程式介面,讓科學家可以直接利用GPU的運算能力,而無需透過複雜的圖形渲染技巧來「破解」GPU。
    • NVIDIA工程師約翰·尼科斯(John Nickolls)被譽為CUDA的發明者,他的主要目標是讓電腦運行得更快。
  3. 2006年末至2007年:CUDA的公開發布與初期市場冷遇

    • CUDA在2006年末正式公開發布。它作為一個免費的軟體套件提供,但有個關鍵限制:它只能在NVIDIA的硬體上運行。
    • 儘管技術先進,CUDA在2007年的下載量卻異常慘淡,僅有1.3萬次。這表明在數億GeForce用戶中,願意動手將自己的遊戲硬體轉變為超級電腦的人不到萬分之一。
    • 投資者對CUDA的態度普遍懷疑,甚至認為它是一個「負資產」,這反映了當時市場對通用GPU計算的不理解。程式設計師也普遍認為CUDA難以使用,因為它要求將大型任務分解成數百個子任務並謹慎地輸入CUDA核心,這是一個棘手且容易出錯的過程,需要進階的電腦科學概念。
  4. 2008年 - 2009年:人工智慧領域的初步應用與辛頓的倡導

    • 傑佛瑞·辛頓(Geoffrey Hinton)在多倫多大學的實驗室,開始將CUDA應用於人工智慧研究。2008年,他的研究生亞博德拉曼·穆罕默德(Abdelrahman Mohamed)和喬治·達爾(George Dahl)利用搭載NVIDIA顯卡的昂貴伺服器,成功建立了一個語音辨識模組。
    • 到2009年初,穆罕默德和達爾的神經網路表現已經媲美當時最先進的數學模型,這一進展讓辛頓感到驚訝。辛頓隨後在神經資訊處理系統大會(NIPS)上向整個機器學習領域發表演講,強調在平行運算處理器上運行的神經網路是AI的未來,並敦促研究人員購買NVIDIA顯卡。他甚至致信NVIDIA,詢問是否能獲得一張免費顯卡。
    • 儘管辛頓的呼籲引人注目,NVIDIA最初並未立即響應,甚至拒絕提供免費顯卡,因為當時NVIDIA內部甚至沒有一位AI研究人員。人們對神經網路的偏見根深蒂固,許多AI入門課程的教授仍批評它無法解決簡單的邏輯函數,儘管反向傳播演算法早已克服了這些限制。
    • 儘管如此,2009年CUDA的下載量仍突破了30萬次。
  5. 2011年 - 2012年:艱難時刻與AI的重大突破

    • 約翰·尼科斯,CUDA的發明者,於2011年因黑色素瘤復發去世,但他即使在生命垂危之際,仍然堅持工作,對CUDA平台的成功抱有堅定信念。
    • 到2012年,CUDA的下載量跌至谷底,新增安裝數量僅略高於10萬次。科學運算市場似乎已飽和,投資者普遍認為NVIDIA在CUDA上的投入毫無意義,公司股價也長期低迷不振。黃仁勳希望將超級電腦普及大眾的願景,似乎沒有得到市場的響應。
    • 然而,就在這段艱難時期,AI領域卻發生了關鍵性突破:2012年初,亞歷克斯·克里澤夫斯基(Alex Krizhevsky)在自家臥室的桌上型電腦上,插入了兩張零售價約500美元的NVIDIA GeForce GTX 580遊戲GPU。他成功改造了一個圖像辨識網路,使其能夠在CUDA上執行,並在短短30秒內完成訓練。這種速度比Ilya Sutskever之前見過的任何東西都快上數百倍。
    • 克里澤夫斯基利用ImageNet資料庫進行神經網路訓練,透過CUDA的平行架構解決了矩陣乘法的難題。他的SuperVision(後來的AlexNet)模型在ImageNet圖像辨識比賽中輕鬆擊敗了所有競爭者。辛頓明確指出:「沒有CUDA,機器學習將會麻煩得多」。這次突破證明了GPU在訓練神經網路方面的無與倫比的效能。
  6. 2013年 - 2014年:黃仁勳的「一生一次的機會」與NVIDIA的轉型

    • 2013年初,激進投資者星盤價值公司(Starboard Value)質疑NVIDIA的經營策略,認為CUDA是個無底洞,甚至暗示黃仁勳可能不適任執行長,這給NVIDIA帶來了巨大的壓力。
    • 布萊恩·卡坦察羅(Bryan Catanzaro),NVIDIA的首位專門AI研究員,於2013年初開始全力開發cuDNN軟體庫,旨在加速CUDA平台上的神經網路開發。儘管他最初的原型受到了內部嚴厲批評,但當他直接向黃仁勳匯報時,黃仁勳立即看到了其潛力。
    • 黃仁勳迅速行動,清空了行事曆,花費一整個週末閱讀相關書籍,並在接下來的會議中展現出對神經網路的深刻理解,甚至超越了卡坦察羅。
    • 到2013年中旬,黃仁勳對CUDA表現出極大的狂熱,他告訴卡坦察羅,cuDNN是NVIDIA二十年來最重要的計畫,並將辦公室白板上的所有圖表替換為神祕縮寫「O.I.A.L.O」(Once in a Lifetime Opportunity,一生一次的機會),象徵著公司將抓住AI這個千載難逢的機遇。黃仁勳決定將整個公司資源投入深度學習領域,在一夜之間將NVIDIA從一家圖形處理公司轉變為一家AI公司,這是一場巨大的豪賭。
    • 2014年初,cuDNN準備出貨。黃仁勳在當年的GPU技術大會(GTC)上,首次公開NVIDIA與AI的關係,展示了cuDNN在圖像辨識方面的應用,並透露Adobe、Facebook和Netflix等企業是其合作夥伴。特別值得一提的是,Google也成為NVIDIA GPU的大客戶,其「重型卡車專案」(Project Mack Truck)計畫需要超過4萬個NVIDIA GPU,成本超過1.3億美元,這預示著AI對GPU的巨大需求。
  7. 2017年:CUDA生態系統的爆發式成長與商業模式的擴展

    • 2017年,CUDA軟體套件的下載次數達到270萬次,幾乎是前一年的三倍,更是2012年低點的15倍。這反映出越來越多的研究人員、學生(特別是史丹佛大學「深度學習概論」課程的學生)開始使用CUDA來開發AI應用。
    • 黃仁勳也將NVIDIA的業務模式從單純銷售硬體擴展到雲端服務。他推出了兩個基於CUDA的雲端服務平台:GeForce Now(用於遊戲串流)和Omniverse(用於機器人訓練和虛擬世界模擬)。Omniverse利用CUDA來模擬物理參數,讓機器人能在虛擬世界中進行數十億次訓練,這是一個全新的市場機會。
    • NVIDIA的利潤在2017年翻了三倍,達到30億美元,市值達到1000億美元。儘管當時NVIDIA的主要收入仍來自遊戲硬體,但華爾街已經將其視為一家尖端的AI公司。
  8. 2018年至今:AI超加速與CUDA的壟斷地位

    • 2018年,黃仁勳在NVIDIA GTC大會上宣布了「超加速定律」(hyper-acceleration law),指出NVIDIA GPU在短短五年內將處理速度提升了25倍,遠遠超越了傳統的摩爾定律。他展示了AlexNet在NVIDIA最新DGX-2電腦系統上訓練時間從一週縮短到18分鐘的驚人成果。
    • 隨著Transformer等新型語言模型的出現,NVIDIA為其研發了專門的工具組,進一步鞏固了其在AI訓練領域的領先地位。
    • NVIDIA的成功並不僅僅是因為硬體更優秀,更關鍵的是其卓越的軟體,尤其是CUDA生態系統。NVIDIA的工程師透過數學優化和軟體技巧,使得單晶片AI推論效能在2012年至2022年間加速了1000倍,其中僅有約2.5倍來自電晶體的增加,其餘400多倍都歸因於NVIDIA的數學工具。NVIDIA的硬體工程總監阿爾瓊·普拉布(Arjun Prabhu)也承認,AMD的晶片性能可能不輸NVIDIA,但他們無法達到NVIDIA那樣的運算速度,這主要歸功於NVIDIA的數學工具和軟體優化。
    • NVIDIA將其提供的近300款免費且開放授權的專業軟體工具包稱為「寶藏」。這些工具涵蓋了遊戲、動畫、氣候學、數學、物理、金融、生物化學、量子運算等眾多領域,旨在透過免費軟體綁定研究者,使其離不開NVIDIA的硬體升級週期,從而建立起「供應商鎖定」(vendor lock)效應。
    • NVIDIA的軟體工程部門擁有上萬名程式設計師,他們不斷推出新的必備功能,確保NVIDIA在任何新興科學領域都能提供最實用的工具,從而確立產業標準。儘管競爭對手可能會推出更簡潔或成本更低的產品,但由於NVIDIA的領先優勢,產業標準往往已經確立。
    • 到2023年,NVIDIA在AI晶片的市場佔有率高達近九成。黃仁勳曾明確表示,如果沒有他(以及CUDA),AI的發展將延遲十年,這強調了CUDA在AI革命中的核心地位。

總結來說,CUDA的發展歷程是一部從遊戲顯卡潛力挖掘到科學計算工具轉型,再到成為人工智慧基礎設施核心的史詩。NVIDIA在黃仁勳的遠見領導下,大膽投資於當時被主流市場忽視的平行運算和神經網路,最終透過CUDA建立了強大的軟硬體生態系統,成功引爆了AI的革命,並確立了其在科技產業的霸主地位。

沒有留言:

張貼留言