從 ChatGPT、Dalle-3、Sora,Open AI 不斷有著新突破。同時 2 月底 NVIDIA 發佈財報後股價也跟著創新高。
有人說:AI 算力還遠遠不足,還不可能出現泡沫化的情況,甚至有人喊出 NVIDIA Forward PE 不到 40 倍,股價還有上漲空間,上看 1000 美金或以上絕對不是問題。
但是真的還不到泡沫化嗎?AI 硬體市場真的如想像中的這麼樂觀嗎?或比如說,由 AMD 或是大廠自研的 ASIC 晶片來瓜分 NVIDIA 的市場地位或取而代之?
先講結論:NVIDIA 的股價非常樂觀。我認為在 AI 軟體成熟之前,AI 硬體還不到泡沫化的時間點,同時 NVIDIA 會在五年內獨霸整個 AI 硬體市場。(此時間段內並不包含 AMD 或 Google TPU 等 ASIC 晶片足以撼動其霸主地位)
八千字長文,嘔心瀝血數十小時,跟著我一起來吧!
打造一款通用的 GPU 為什麼這麼難?AMD 難道做不到嗎?
首先來幫科技產業入門讀者進行小科普,圖形處理器(GPU)究竟是一個什麼樣的存在?和 CPU 在運算上有什麼樣的區別?
以往我們常常聽到一顆 CPU 是 6 核心、8 核心,究竟核心數代表什麼呢?
核心數目決定了處理器在同樣的時間內可以處理多少個任務。 Intel 就號稱 2024 上半年即將推出第一款單顆最多可提供144顆核心。
如果 CPU 有 144 顆核心已經是很破紀錄的表現,那 GPU 又有幾顆核心呢?
所謂的圖形處理器(GPU)並不是單一顆處理器,而是由成千上萬的處理器(Processor)所組成。
事實上,光是低等的 GPU 就有著幾百顆核心,高等 GPU 則高達上萬顆。GPU的高階與低階就是以處理器的多寡來界定。比如 NVIDIA 的旗艦產品、號稱地表最強顯示卡的 GeForce RTX 4090 就有著高達 16,384 顆核心。
這也就體現了為什麼 GPU 在做海量運算的速度比起 CPU 會快這麼多。
舉例來說,早期的 GPU 都是採用向量指令,像是 C[i] = A[i] + B[i], i = 0~63 一次就能做 64 個運算。
如果改用 CPU 的一般指令,比如使用 64 個指令來做同一件事的純量指令的話,速度會非常慢。
那為什麼我們不乾脆使用 GPU 拿來徹底取代 CPU 做所有運算就行了?在用同一個指令的情況下跟 CPU 運算比起來,GPU 的運算速度簡直是飛速!
但問題出在要用向量指令寫程式其實非常深奧,並不是所有的指令都可以變成向量指令,工程師還得要考慮各式各樣的問題。而且純量指令比較簡單,研發門檻低、進來的工程師也才會多,得以讓產業蓬勃發展。
這也是為什麼在幾年前都還是由 CPU 稱霸天下的時代,GPU 按理來說只是作為支援 CPU 的加速器,功能僅為輔助 CPU、不可能徹底取代 CPU。
如果我們想完整解鎖 GPU 的能力,讓 GPU 從單純的圖形渲染功能、進化成能針對各式各樣海量應用場景的通用運算處理器,第一個目標就是要讓平行程式設計變得簡單,吸引更多開發人員有動力移植更多應用到 GPU 上面。
第二個目標則是開發可簡易擴充的平行性的應用軟體,以利用 GPU 超級多的處理器核心。
而 NVIDIA 在 2006 年發明的 CUDA 平行運算平台就是為了達到上述兩個目標,包含了 CUDA 指令集架構(ISA)以及 GPU 內部的平行運算引擎,可以直接存取 GPU 的虛擬指令集以執行運算核心。
CUDA 的軟體環境可以讓使用者使用 C/C++ 和 Fortran 這樣的高階程式設計語言,甚至透過一些第三方支持工具,也可用於 Python、Java、R 和其他幾種程式語言。
也就是說 CUDA 的一大好處是可讓使用者編寫純量程式、不需要想方設法寫向量程式。
CUDA 的編譯器會使用程式設計中的語意抽象化,以此來利用 CUDA 程式設計的平行性。這可減輕程式設計的負擔,從而降低通用運算 GPU 的開發門檻。
(語意抽象化:當軟體越開發越龐大,為軟體進行模組化變得十分必要,也就是將資料與程式,以它的語意來呈現出它的外觀,但是隱藏起它的實作細節。抽象化是用來減少程式的複雜度,使得工程師可以專注處理真正關鍵的部份。)
/** CUDA 核心裝置程式碼 – CUDA 範例程式碼 * 計算 A 和 B 的向量相加,輸出 C。三個向量的元素數量與 numElements 相同。 */ __global__ void vectorAdd( float *A, float *B, float *C, int numElements) { int i = blockDim.x * blockIdx.x + threadIdx.x; if (i < numElements) { C[i] = A[i] + B[i]; } }
要運行 CUDA 除了硬體上的特殊設計,還包括了一整套專門為 NVIDIA GPU 開發的軟體與編譯器,因此它們不相容於AMD 的 GPU 或其它第三方 GPU 產品上。
尤其 CUDA 從 2006 年開發、到 2016 年的第一波機器學習技術熱潮,許多深度學習框架包括 TensorFlow、PyTorch、MXNet 等等的最佳化都是基於 CUDA 上進行編寫,就算 TensorFlow 或 PyTorch 同樣也能在 AMD 上面跑,然而在效能表現上還是 NVIDIA 的表現會更好。
更甚地,對於開發人員而言還有 NVIDIA 精心維護已久且無比完善的深度學習社群,可以找到豐富的討論群、資料、第三方支援工具等資源,讓有意想進行更高階複雜的 AI 軟體開發工程師都會優先選擇 NVIDIA,採購 AMD GPU 還需要花費超過 2 個月的時間進行調適。
就算 AMD 在後續急起直追,在 2016 年第一波 AI 熱潮的時候跟著推出 ROCm 想要與 CUDA 一爭高下,也已經是 CUDA 發佈之後的整整 10 年後了。
AMD 因此決定把 ROCm 變成一個開源軟體,想辦法讓更多的開發人員可以加入並一同協力發展 ROCm 的生態系統與社群。因此 ROCm 生態中還包括了一個關鍵工具:HIP SDK,用來轉換現有的 CUDA 應用到 AMD GPU 上。
2023 年 6 月份 AMD 發表了全新的人工智慧晶片 MI 300X,HBM 暫存記憶體是 NVIDIA H100 的 2.4 倍,頻寬是 H100 的 1.6 倍,號稱可執行比 NVIDIA H100 更大的模型。
但誠如上述所說,單看硬體規格本身意義不大,也不代表實際營運的效能,生態系才是關鍵,CUDA 本身累積的護城河對於 AMD 而言在短期內(至少五年內)仍舊難以踰越。
(備註:和 CPU 很在意延遲問題不同,GPU 不仰賴多層級別的快取記憶體來解決長時間的延遲、也不太在意記憶體的快慢,更重要的是記憶體頻寬(Bandwidth)是否夠高,也就是單位時間內進出的資料量是否夠大。同時 GPU的高階與低階也相對簡單,主要以處理器的多寡來界定,處理器堆的越多效能就越強,因此純看硬體規格意義不大的理由在此。)
畢竟 NVIDIA 不但有先進者優勢(現有的 LLM 大型語言模型都用 CUDA 在做),每年還持續投資數十億美金在 CUDA 生態系的 AI 函數庫擴展和社群維護上。
在封鎖可能的競爭對手上,Nvidia 近期更是更新 CUDA 11.6 版本安裝程式中的 EULA 協定條款,明確禁止第三方 GPU 公司無縫銜接使用 CUDA 軟體。
就是要讓你只能好好在 NVIDIA GPU上面用 CUDA,不讓任何其他可能的通用運算 GPU 有崛起的機會。
但是我們也可以看到在 MI 300 的發表會上,各家大廠的高階管理人員紛紛出席站台,包括微軟、Meta、Dell、Supermicro 等等,尤其微軟還出了高達兩位高管,包括 CTO 和 Windows 裝置部門副總裁,分別作為發表會的開場與結束嘉賓。
可以看出大廠急迫想擺脫 NVIDIA 獨霸的策略:共同傾全力扶植 AMD,同時自己做 Inhouse 的 ASIC 晶片。
所謂的 ASIC(Application Specific Integrated Circuit, 特定應用 IC)就是在出廠前先設定好應用範圍的晶片。比如 Google 的 TPU 就是專門針對大型 AI 模型的訓練和推論作業進行客製化的 ASIC 晶片。
客製化的 Google TPU 或 ASIC一定比 GPU 快,比如 TPU 在某些特殊演算法上面的應用甚至比 NVIDIA H100 快很多,但是 TPU 或這類 ASIC 並不是通用 AI 晶片,無法通用在各式各樣的演算法與應用程式。
ASIC 晶片在 IC 設計與製造的過程中需要高度客製化,非常擅長執行單一功能,因此 ASIC 的製造成本相較於其它通用運算晶片還更高,必須透過大量生產來降低它的使用門檻,也只有大廠負擔得起。
現階段大廠當中也只有 Google 的 TPU ,和 Amazon AWS 的推理晶片 Inferenti 與訓練晶片 Trainium 在 ASIC 發展尚相對成熟,就連微軟都還在高度仰賴 NVIDIA GPU;Broadcom 這陣子股價持續大漲也是因為它是負責接 Google TPU 訂單。
那這些大廠有可能成功透過 ASIC 晶片取代 NVIDIA 嗎?
Open AI 直接定義了 AI 軟體與硬體,包括NVIDIA的成功
打開美國的 App Store 或 Google Play 商店搜尋 “AI” 或是 “Chatbot” 等關鍵字,可以看到目前市面上全部的 AI 聊天機器人產品全部都主打 Powered-by GPT-4,而且有上百、甚至上千款 App 在商店裡面。
作為 App 研發商,若是直接接入 ChatGPT 現成的 API,從零開始打造研發週期約為 3 個月左右。
因此觀察市面上目前的 AI 產品上線的高峰多數落在 2023 年 3 月初,也就是 2022 年 12 月初 ChatGPT 上線後,直接模仿 ChatGPT 的 Logo、接入 GPT-3.5 API 快速研發就上線開始營利的產品。(在 GPT-4 API 上線之後又更新到了最新版本)
一直到官方的 ChatGPT App 在 2023 年 5 月份上線之前,我們可以看到已經有大量的 AI 聊天機器人 App 產品在市場上先行佔領這波 AI 用戶熱潮。
(會以美國的 App Store/Google Play 為主要參考,是因為畢竟 GPT-4 本身用英文訓練、英文使用者的效果最好,加上美國是對於 AI 應用或新產品全球敏感度最高的用戶市場)
那這些上百、甚至多達上千個已經在人們手機中營利的 AI App,都在使用哪裡的算力呢?
答案是:微軟的雲端運算平台 Azure。
應用開發者不需自行採購 GPU 或搭建算力平台,只要調用 GPT-4 API、用 Azure 現成的算力就可以,相關伺服器運算成本都已經計入在 API 的調用費用當中。
(還記得 2019 當年 OpenAI 被微軟投資的主要目標就是可以折扣價使用 Azure 平台嗎?Azure 還買了超多 NVIDIA GPU 專門給 OpenAI 練兵)
ChatGPT 的語言模型尤其依賴 NVIDIA GPU,而使用 ChatGPT API 相當於這些廠商也通通都在使用 NVIDIA GPU,畢竟 ChatGPT 的建立與訓練使用了數以萬計的 NVIDIA GPU。
(2023 年 3 月,微軟透露其斥資數億美元幫助 OpenAI 組裝了一台 AI 超級計算機以協助開發 ChatGPT,而這台超級計算機使用了數萬顆NVIDIA A100 GPU。)
AI 浪潮之所以興起,從 ChatGPT、GPT-4 到 Sora,全都是拜 OpenAI 一家公司所賜。當全世界的 AI 開發者現在都以 GPT-4 API 為核心打造其產品時,全世界都正在使用 ChatGPT 或其 API 服務,同時全世界的中小型開發商也都在使用 NVIDIA GPU。
OpenAI 與 ChatGPT 定義了什麼是 AI 軟體,也是同樣定義了 AI 硬體的存在。
(其它競爭對手,比如 Google Gemini 等在用戶人數規模尚不成氣候。目前只有三星 Galaxy S24 手機有整合 Gemini 進去--Google 為了推廣 Gemini,內嵌在三星手機裡面讓用戶免費使用)
也就是說,如果沒有 OpenAI,或 OpenAI 使用的硬體不再是 NVIDIA,那麼此時此刻 NVIDIA 所保有的市場態勢將會徹底反轉。
那這邊我們就得問一個關鍵問題了:
Open AI 有沒有可能透過 ASIC 晶片取代 NVIDIA 的通用 GPU?
答案是:正在!
2024 年 1 月初,消息傳出 OpenAI 執行長 Sam Altman 正在募集基金、尋求最高可達 7 兆美元金額的規模打算建立自產的 ASIC 晶片供應鏈,包括完整的 IC 設計到晶片製造。
同時微軟也已經在 2023 年 11 月的開發者大會上發表公司針對 LLM 模型設計的 ASIC 晶片「雅典娜」(Athena)。微軟自 2019 年以來就一直在進行該項目,雅典娜會由台積電代工,採用 5nm 先進製程,計劃在今年就會推出。
之前有媒體揭露 ChatGPT 每天的營運成本約 70 萬美元,如果可以用雅典娜晶片取代 NVIDIA,每顆晶片的成本有望降低三分之一,也讓微軟可以更快部屬 AI 應用到 Office 等企業級軟體。
尤其微軟和 OpenAI 始終有著非常緊密的合作,也會加快獨家針對 ChatGPT ASIC 晶片的開發效率。
NVIDIA 又該如何應對呢?
今年 2 月中,NVIDIA 傳出將成立全新的 ASIC 部門。
我個人對此的解讀是,以防萬一 Open AI 想要外包 ASIC 晶片,同時向想自製晶片的大廠招手。
現在是軟體決定硬體的時代,未來如果 AI 模型成熟且固定,大廠可以開發自己的 ASIC 晶片穩定跑運算,就不需要通用 GPU 了。以中小型廠商來說,也可以直接使用雲端大廠包裝好的模型呼叫 API 做修改,同時也直接使用大廠的雲端運算資源。
當然 ASIC 晶片在現階段現在還是打不過 NVIDIA,只能說是一個備案;因為 ASIC 晶片只能跑自家軟體和架構,最新軟體演算法都是 Open AI 推出來的,且都是基於 CUDA 生態系。因此 NVIDIA 在五年內,都可以維持現在稱霸市場的態勢。
NVIDIA 在最新 2023 年 2 月份公布的毛利率為 75.97%、淨利率也高達 55.58%,在一眾獲利能力強勁的 IC 晶片廠當中依然可謂一騎絕塵的存在。
但大廠不可能接受始終被 NVIDIA 因為市場壟斷而單方面決定定價權。成長五年後,有非常高的機率 NVIDIA 營收成長將會因為 ASIC 晶片的崛起而衰退。
畢竟 AISC 客製化晶片部門所提供的的價值不可能像自家 GPU 這麼賺錢,自產自銷與替人設計代工的獲利能力差距相當大,且 NVIDIA 還需要與 Broadcom 與 Marvell 等廠商進行 ASIC 業務競爭,屆時將很難維持目前的業務成長。
但這也是至少五年後才會發生的事情了。
後話 – 看一家公司營運前景,最重要的是老闆
NVIDIA CEO 絕對是我看過認知能力最強大的企業高層管理之一。
美國大型企業高層當中,有些人是研發、有些則是商管人員出身,但是懂硬體的同時又懂市場行銷、又有企業願景會說故事的 CEO?幾乎沒有。
如果說:
- 特斯拉 Elon Musk 是夢想家 + 實踐者(不能說他是成功的商人)
- AMD 的蘇媽則是低調、務實、技術導向(習慣用數據與產品規格解釋一切)
那 NVIDIA 呢?
- NVIDIA 的黃仁勳是一位成功的科學家 + 商人
尤其提到商人這塊,當年在 Intel 的 CPU 橫掃全球的時刻,1999 年也是黃仁勳首創「GPU」這個名詞,企圖把圖形晶片拉抬到 CPU 同等的重要性。
一個技術出身的人員要有多大的 Vision 才能覺得 GPU 不是單純的遊戲顯卡,可以提出 GPU 這個概念試圖跟 CPU 匹敵通用運算能力?
甚至不只是說說,甚至有行動力,在 2006 年以來堅持布局並投資 CUDA 整整十年以上,就算對股價或營收沒有立即成效,也要讓 GPU 真正可以達到 GPGPU 的目標。
我們要記得,NVIDIA 是一家純粹的硬體廠商,所謂的硬體思維就是純粹注重毛利、淨利,比拼效能。連續投資十年並不斷進行社群宣傳,讓這筆投資吃掉公司現金流導致財報不好看,有多少人做的到……
再來討論一個話題,大家有想過一件事嗎,這一波 AI 熱潮是從什麼時候開始的?
2022 年 12 月初的時候 ChatGPT 上線,當時全球相關企業股價都還處在無聲無息的狀態,甚至 ChatGPT 彷彿就是曇花一現的新奇有趣軟體產物。
實際 AI 股市題材真正爆發的時刻,是在 2023 年3 月份,是 OpenAI 發表的整整三個月後,NVIDIA 執行長黃仁勳在財報會議上提到:「AI 的 iPhone 時刻已經來臨」(an iPhone Moment),才帶動整整一年的 AI 全線股價大漲,直接把經濟低迷的軟著陸說法變成股市徹底大起飛。
從喊出 GPU 到 AI’s iPhone Moment,你能想像台灣的硬體廠商、甚至是賣遊戲顯示卡起家的老闆,能想到並喊出這些用語嗎?這對於硬體製造商的管理人員而言簡直是個思維悖論(簡直是芙莉蓮裡面的尤貝爾),更常見的還是像 AMD 蘇媽那樣的管理者。
從布局近二十年到炒熱市場,這絕對要有一定的技術判斷力、商業包裝能力與敢作夢的企業願景,也就是我覺得 NVIDIA CEO 是非常有 Vision 兼具行動力的科學家 + 商人。(芙莉蓮:魔法是想像的世界 lol)
無論市場如何變化,Lynn 自己目前就是憑主觀情緒在相信老黃 😂
*潛在風險點
這邊也列一些 NVIDIA 近期的市場風險點位供讀者參考,包括:
1. GPU 算力是否已經足夠?CAPEX 佔比有可能變低?
這一年多來大廠們在運算能力的基礎建設上,把 CPU 伺服器的預算砍了一大波、通通跑去買 GPU;接下來需要知道的資訊是:究竟大廠的 CAPEX(資本支出)有沒有分配更多在 GPU 上面?
2023 年大家都在搶算力、想盡辦法佔據領先優勢,只要把 AI 晶片產能都拿下來讓對手拿不到,會不斷地下訂單。但接下來隨著硬體算力成熟,未來對於 GPU 需求量是否會像過去一年這麼高還不得而知。
尤其雲端巨頭每年的資本支出有限,有可能會分攤更多比例去買 GPU 以外的硬體效能,比如儲存或記憶體等等。但由於我們沒辦法從財報中直接得知企業 CAPEX 實際採購設備的分配佔比,因此這邊也只能先打個問號。
2. AI 軟體變現的速度是否能符合其巨大的投資成本?
現階段的 AI 產業就是所謂的:「鏟子賺錢、挖金礦的不賺錢」。
尤其做 AI 生圖類產品(AI Image Generator)比如美圖秀秀等傳統的照相濾鏡、或 AIBY 等知名工具應用廠商紛紛在 2023 年 Q4 推出數款 AI 生圖產品,目前基本上沒有辦法營利。
在 2024 年持續的高利率環境下,AI 的投資報酬率將會受到投資人更嚴格的檢視。或是:除了高飛猛進的股市,不甚明朗的全球經濟是否能讓消費者願意去訂閱 AI 服務?
(畢竟除了美國之外,現在也沒有太多其它市場用戶有在使用大量的 AI 第三方軟體)
現階段的現象仍一部分體現了市場過度樂觀的態度。但就算股市經歷短期回檔、長期還是會漲。
3. 其他 LLM 大語言模型競爭者
我們一直提到 OpenAI 造就了全球的 AI 軟體,也造就了 NVIDIA 這波蓬勃發展。
那如果 OpenAI 其它競爭對手發展出了更成熟的企業級 LLM 大型模型、然後使用自己的 ASIC 晶片呢?
比如 Google Gemini 可以用自己的 TPU 去跑,或是 Google 的 LaMDA 開源模型也可以用 ASIC 晶片去跑。使用者也可以透過 Meta(Facebook) 發表的 Llama 自己架設 ChatGPT、最基礎的 Llama 模型用 CPU 也可以簡單跑。
—
讓我們來做個小小的總結:
- 打造一款通用的 GPU 除了硬體算力還需要完整的開發者生態系,AMD 相較於 CUDA 落後了十年、現在正被大廠全力扶植中但仍未成氣候
- NVIDIA 的發家來源於 OpenAI 在 AI 軟體界的的壟斷性、與 OpenAI 對 NVIDIA 晶片的強勁需求
- 但 OpenAI 也正在尋求自研 ASIC 晶片;此舉相較於其它雲端大廠自研 LLM 模型、使用自研晶片來說,對於 NVIDIA 的傷害會更高,畢竟 OpenAI 也是主要服務於中小型廠商串接 API
- NVIDIA 也因此成立 ASIC 晶片部門,希望在未來大廠紛紛推出 ASIC 晶片與獨家 LLM 模型後,也能夠繼續吃中小型廠商的單
以上!創作高達數十小時以上、嘔心瀝血的八千字長文,感謝各位讀者收看!
力求擺脫普通媒體純講傳統硬體算力競爭,的目標是結合軟體 + 硬體的觀點去看這一波 AI 競爭態勢,Lynn 自己認為是最完整的 AI 爆發潮歷程說明。
如果你喜歡且有幫助到你的話,也希望各位讀者看完可以贊助 Lynn 一杯咖啡,協助寫點科普的網站營運啦~(現階段寫點科普沒有營利,最近網站服務的續費期限又到了嗚嗚)
事實上,Lynn 早在 2017 年的時候就已經發表 NVIDIA 與其 CUDA 軟體在 AI 界的獨佔地位,如果想了解機器學習、深度學習與 NVIDIA 完整發展史的話,歡迎參考寫點科普 AI 簡史欄位的機器學習系列文喔!