今天小編分享的科技經驗:英偉達:帝國裂縫一條條,歡迎閲讀。
外界常有這樣一種錯覺,因為英特爾 CPU 賣的好就将其歸于一家成功的硬體公司,而事實上,英特爾統治桌面處理器的功臣是誕生于 1978 年的 X86 架構。
同樣的錯覺在英偉達身上也有。
英偉達之所以能夠壟斷人工智能訓練芯片市場,CUDA 架構絕對是幕後功臣之一。
這個誕生于 2006 年的架構,已經涉及計算機計算的各個領網域,幾乎被塑造成了英偉達的形狀。航空航天、生物科學研究、機械和流體模拟及能源探索等領網域的研究,80% 在 CUDA 的基礎上進行。
而在最火爆的 AI 領網域,幾乎所有的大廠都在準備 Plan B:谷歌、亞馬遜、華為、微軟、OpenAI、百度 …… 誰也不想讓自己的未來攥在别人手中。
創業服務咨詢機構 Dealroom.co 公布過一組數據,在這波生成式 AI 的熱浪中,美國獲得了全球投融資的 89%,而在 AI 芯片的投融資中,中國 AI 芯片投融資世界第一,超過美國兩倍。
也就是説,盡管中美企業在大模型的發展方式和階段都存在諸多差異,但在掌控算力這件事,大家卻顯得格外一致。
1
為什麼 CUDA 有這種魔力?
2003 年,英偉達為了與推出 4 核 CPU 的英特爾競争,開始着手發展統一計算設備架構技術,也就是 CUDA。
CUDA 的初衷是為 GPU 增加一個易用的編程接口,讓開發者無需學習復雜的着色語言或者圖形處理原語。英偉達最初的想法是為遊戲開發者提供一個圖形計算領網域的應用,也就是黃仁勳口中的 "make graphics programmable"。
不過 CUDA 推出後一直找不到關鍵應用,也缺少重要客户支持。而且英偉達還要花費大筆金錢來開發應用、維持服務并推廣與行銷,到 2008 年遭遇金融風暴,顯卡銷售不好的英偉達營收大跌,股價一度跌到只剩 1.5 美元,比 AMD 最慘的時候還要慘。
直到 2012 年,Hinton 的兩個學生用英偉達的 GPU 參加了一個叫做 ImageNet 的影像識别速度比賽。他們使用 GTX580 顯卡,利用 CUDA 技術進行訓練,結果算出的速度超過第二名數十倍,精确度也比第二名高 10% 以上。
讓業内震驚的不只是 ImageNet 模型本身。這個需要 1400 萬張圖片、總計 262 千萬億次浮點運算訓練的神經網絡,一個星期的訓練過程中僅用了四顆 GTX 580。作為參考,谷歌貓用了 1000 萬張圖片、16000 顆 CPU 和 1000 台計算機。
這次比賽不僅是 AI 的一次歷史轉折,也為英偉達打開了突破口。英偉達開始與業界合作推動 AI 生态,推廣開源 AI 框架,并與 Google、Facebook 等公司合作推動 TensorFlow 等 AI 技術發展。
這等于完成了黃仁勳口中的第二步,"open up GPU for programmability for all kinds of things"。
當 GPU 的算力價值被發現後,大廠也猛然醒悟,英偉達此前數年迭代和鋪墊的 CUDA,已然成為 AI 繞不開的一堵高牆。
為了籌建 CUDA 生态,英偉達為開發者提供了豐富的庫和工具,如 cuDNN、cuBLAS 和 TensorRT 等,方便開發者進行深度學習、線性代數和推理加速等任務。此外,英偉達還提供包括 CUDA 編譯器和優化器在内的完整開發工具鏈,使開發者能夠更方便地進行 GPU 編程和性能優化。
與此同時英偉達也與許多流行的深度學習框架(如 TensorFlow、PyTorch 和 MXNet)緊密合作,為 CUDA 提供了在深度學習任務中的顯著優勢。
這種 " 扶上馬,送一程 " 的奉獻精神,使英偉達僅用了兩年半時間,就将 CUDA 生态的開發者數量翻了一倍。
這還不夠,過去十餘年裏英偉達将 CUDA 的教學課程推廣到超過 350 所大學,平台内有專業的開發者和領網域專家,他們通過分享經驗和解答疑難問題,為 CUDA 的應用提供了豐富的支持。
更關鍵的是,英偉達深知硬體作為護城河的缺陷在于沒有用户粘性,于是将硬體與軟體捆綁,GPU 渲染要用 CUDA、AI 降噪要用 OptiX、自動駕駛計算需要 CUDA……
盡管英偉達目前憑借 GPU+NVlink+CUDA 壟斷了 AI 算力 90% 的市場,但帝國的裂縫已經不止一條了。
2
一條條裂縫
AI 廠商苦 CUDA 久矣,并不是危言聳聽。
CUDA 的神奇之處就在于它處在軟硬結合的關鍵位置,對軟體來説它是整個生态的基石,競争對手難以繞過 CUDA 去兼容英偉達的生态;對硬體來説,CUDA 的設計基本就是英偉達硬體形态的軟體抽象,基本每個核心概念都和 GPU 的硬體概念相對應。
那麼對于競争對手來説,就只剩兩個選擇:
1 繞開 CUDA,重建一套軟體生态,這就要直面英偉達用户粘性的巨大挑戰;
2 兼容 CUDA,但也要面臨兩個問題,一是如果你的硬體路線和英偉達不一致,那麼就有可能實現的低效且難受,二是 CUDA 會跟随英偉達硬體特性演進,兼容這也只能選擇跟随。
但為了擺脱英偉達的鉗制,兩種選擇都有人嘗試。
2016 年,AMD 推出的基于開源項目的 GPU 生态系統 ROCm,提供 HIP 工具完全兼容 CUDA,就是一種跟随路線。
但因為工具鏈庫資源匮乏、開發和迭代兼容性代價較大等掣肘,使 ROCm 生态難以壯大。在 Github 上 , 貢獻 CUDA 軟體包倉庫的開發者超過 32600 位 , 而 ROCm 只有不到 600 個。
走兼容英偉達 CUDA 路線的難點在于,其更新迭代速度永遠跟不上 CUDA 并且很難做到完全兼容:
1 迭代永遠慢一步:英偉達 GPU 在微架構和指令集上迭代很快,上層軟體堆棧的很多地方也要做相應的功能更新。但 AMD 不可能知道英偉達的產品路線圖,軟體更新永遠會慢英偉達一步。例如 AMD 有可能剛宣布支持了 CUDA11,但是英偉達已經推出 CUDA12 了。
2 難以完全兼容反而會增加開發者的工作量:像 CUDA 這樣的大型軟體本身架構很復雜,AMD 需要投入大量人力物力用幾年甚至十幾年才能追趕上。因為難免存在功能差異,如果兼容做不好反而會影響性能(雖然 99% 相似了,但是解決剩下來的 1% 不同之處可能會消耗開發者 99% 的時間)。
也有公司選擇繞開 CUDA,比如 2022 年 1 月成立的 Modular。
Modular 的思路是盡可能降低門檻,但更像是一種奇襲。它提出 " 用于提高人工智能模型性能 " 的 AI 引擎,通過 " 模塊化 " 方式解決 " 當前 AI 應用棧常與特定硬體和軟體耦合 " 的問題。
為了配合這個 AI 引擎,Modular 還開發了開源編程語言 Mojo。你可以把它想象成一個 " 專為 AI 而生 " 的編程語言,Modular 用它開發各種工具整合到前面提到的 AI 引擎裏,同時又可以無縫銜接上 Python,降低學習成本。
但 Modular 的問題在于,其所設想的 " 全平台開發工具 " 太過理想化。
雖然頂着 " 超越 Python" 的頭銜,又有 Chris Lattner 名聲作為背書,但 Mojo 作為一種新語言,在推廣上還需要經過眾多開發者的考驗。
而 AI 引擎要面臨的問題就更多,不僅需要與眾多硬體公司之間達成協定,還要考慮各平台之間的兼容。這些都是需要長時間的打磨才能完成的工作,到時候的英偉達會進化成什麼樣子,恐怕沒人會知道。
3
挑戰者華為
10 月 17 日,美國更新了針對 AI 芯片的出口管制規定,阻止英偉達等公司向中國出口先進的 AI 芯片。根據最新的規則,英偉達包括 A800 和 H800 在内的芯片對華出口都将受到影響。
此前英偉達 A100 及 H100 兩款型号限制出口中國後,為中國專供的 " 閹割版 "A800 和 H800 就是為了符合規定。英特爾同樣也針對中國市場,推出了 AI 芯片 Gaudi2。如今看來,企業們又要在新一輪出口禁令下再進行調整應對。
今年 8 月,搭載華為自研麒麟 9000S 芯片的 Mate60Pro 突然開售,瞬間引發了巨大輿論浪潮,使得幾乎同一時間的另外一條新聞很快被淹沒。
科大訊飛董事長劉慶峰在一個公開活動上罕見表态,稱華為 GPU 可對标英偉達 A100,但前提是華為派出專門工作組在訊飛成立專班工作優化的背景下。
這種突然的表态往往都有深層次的意圖,雖然沒有預知能力但其效用仍是為了應對兩個月後的芯片禁令。
華為 GPU,也就是昇騰 AI 全棧軟硬體平台,全棧包括 5 層,自底向上為 Atlas 系列硬體、異構計算架構、AI 框架、應用使能、行業應用。
基本上可以理解為華為針對英偉達做了一套平替,芯片層是昇騰 910 和昇騰 310,異構計算架構(CANN)對标英偉達 CUDA + CuDNN 核心軟體層。
當然差距不可能沒有,有相關從業者總結了兩點:
1 單卡性能落後,昇騰 910 與 A100 還有差距,但勝在價格便宜可以堆量,達到集群規模後整體差距不大;
2 生态劣勢的确存在,但華為也在努力追趕,比如經過 PyTorch 社區與昇騰的合作,PyTorch 2.1 版本已同步支持昇騰 NPU,意味着開發者可直接在 PyTorch 2.1 上基于昇騰進行模型開發。
目前華為昇騰主要還是運行華為自家閉環的大模型產品,任何公開模型都必須經過華為的深度優化才能在華為的平台上運行,而這部分優化工作嚴重依賴于華為。
而在當前背景下,昇騰又具有特殊的重要意義。
今年 5 月,華為昇騰計算業務總裁張迪煊就已透露," 昇騰 AI" 基礎軟硬體平台已孵化和适配了 30 多個主流大模型,我國一半以上的原生大模型是基于 " 昇騰 AI" 基礎軟硬體平台打造,包括鵬程系列、紫東系列、華為雲盤古系列等。今年 8 月,百度也官宣了推進在昇騰 AI 上與飛槳 + 文心大模型的适配。
并且根據網絡上流傳的一張圖片顯示,中國人工智能超算中心除了未披露,基本都是昇騰,據稱在新一輪芯片限令後,華為 30-40% 的芯片產能要留給昇騰集群,其餘是 Kirin。
4尾聲
在英偉達展開宏大叙事的 2006 年,沒有人認為 CUDA 會是一個革命性的產品,黃仁勳要苦口婆心的説服董事會每年投入 5 億美金,來賭一個回報期超過 10 年的未知,而當年英偉達的營收也不過 30 億美金而已。
但在所有以技術和創新作為關鍵詞的商業故事裏,總有人因為對長遠目标的持久堅持而收獲巨大的成功,英偉達和華為都是其中的佼佼者。