團隊文章

黃仁勳:NVIDIA 如何讓 GPU 走出圖形處理

從遊戲畫面到 AI:GPU 與 CUDA 如何協同運作,以及為什麼實用的基礎設施也會帶出選擇權的問題。

目錄

藍色運算單元平行處理白色小方塊,再將結果匯集起來。

平行處理,匯集成果。由 AI 生成的概念插圖。

遊戲每秒必須繪製許多次新畫面,AI 模型則必須執行極大量的計算。這看起來是兩種不同的工作,但兩者都包含可以拆成許多較小運算、同時處理的部分。這就是 NVIDIA 從電腦圖學走向 AI 背後的連結。

黃仁勳是誰?

黃仁勳於 1993 年與 Chris Malachowsky、Curtis Priem 共同創立 NVIDIA。他曾在奧勒岡州立大學攻讀電機工程,並於 1992 年一邊工作、一邊完成史丹佛大學碩士學位。他的背景有助於理解最初的出發點:圍繞電腦需要完成的工作,打造晶片與企業。他在史丹佛大學的介紹頁面回顧了這段工程師生涯。

圖形晶片為何不只能畫圖

想像你要把一張照片裡的每個像素調亮。處理一個像素的計算,可以與另一個像素的計算同時進行,這就是平行處理。圖形處理器,也就是 GPU,正是為了同時處理大量運算而設計。中央處理器,也就是 CPU,則更適合多樣化的任務,以及下一步取決於上一步的序列工作。兩者會配合運作。

許多 AI 計算也涉及對大型數值陣列反覆執行數值運算。GPU 可以加速其中適合平行處理的部分。但加上 GPU 並不會自動讓每個程式都變快:任務必須能拆分,資料必須送達處理器,軟體也必須有效利用它。

關鍵的橋梁是軟體

NVIDIA 於 2006 年推出 CUDA,讓開發者能將其 GPU 用於圖形處理以外的運算。可以想想,擁有一間設備強大的工坊,與同時擁有好用的工具、操作說明及工作安排方法,有什麼差別。函式庫與程式設計工具協助人們把硬體用起來。NVIDIA 的 CUDA 入門文件說明了 CPU 與 GPU 如何合作。

與其把這說成某一位領導者預見一切的故事,從這個角度更容易理解 NVIDIA 的發展。晶片、軟體,以及開發應用程式的人,必須共同配合。當有人能用一項技術能力解決真實問題時,它才產生價值。

接著要問:誰能做選擇?

實用的平台也會帶來實務問題:軟體能不能搬到其他地方?更換工具的成本是多少?誰決定哪些改變是你必須接受的?這些都是選擇基礎設施時需要查明的問題,不能單憑一家公司的聲譽就得到答案。

在網際網路協調方面,盧恒於隨筆 65:運行代碼優先中,進一步探討選擇權的問題。他主張規則應能由參與者在本地驗證,變更則由他們自願採納。兩者的連結,是一個值得繼續追問的問題:這套基礎設施是否擴大了使用者能做的事?他們是否仍保有選擇的能力?