CUDA and the rise of NVIDIA - editorial illustration

黃仁勳、CUDA 同 NVIDIA 嘅崛起

引言

1993年黃仁勳同人一齊創辦 NVIDIA 嗰陣,目標係將 3D 圖像帶入電腦遊戲同多媒體。今日,同一間公司嘅處理器被用嚟訓練同運行人工智能模型。想明白呢個轉變,最好由黃仁勳嘅工程背景同 NVIDIA 建立嘅軟件平台 CUDA 講起。[1] [1]

1. 黃仁勳嘅工程生涯

黃仁勳喺台灣出世,1984年喺俄勒岡州立大學攞到電機工程學士學位。1984至1985年,佢喺 AMD 做微處理器設計師,之後喺1985至1993年喺 LSI Logic 做過幾個職位。佢後來做咗 Coreware 嘅總監,呢個部門負責公司將電腦系統多個組件整合到單一晶片嘅策略。嗰段時間,佢仲喺1992年喺史丹福大學攞到電機工程碩士學位。[2] [1]

1993年4月5日,黃仁勳同 Chris Malachowsky、Curtis Priem 一齊創立咗 NVIDIA。自從公司成立,佢一直做總裁、行政總裁同董事會成員。1999年,NVIDIA 進行首次公開招股。同年,公司推出咗 GeForce 256,係公司圖像處理器(GPU)歷史嘅一個里程碑。[1] [1]

2. CUDA 係咩?

NVIDIA 喺2006年推出 CUDA,作為喺 GPU 上並行執行大量運算嘅軟件平台同編程模型。GPU 係執行運算嘅硬件;CUDA 提供開發者喺嗰個硬件上運行運算所用嘅編程工具。咁樣令為圖像而造嘅 GPU 開放咗畀科學研究、高效能運算同人工智能嘅應用。[1] [1]

想像一下提亮一張有一百萬個像素嘅圖片。一個像素嘅運算可以獨立於其他像素進行。CUDA 程式可以將呢項工作拆成更細嘅運算,喺 GPU 上運行。喺 GPU 上運行嘅函數叫做核心(kernel)。好多線程並行執行佢,每個線程處理分配到嘅嗰部分數據。將工作拆成可以並行執行嘅部分呢個原理,同樣適用於大型矩陣乘法等 AI 運算。[3] [1]

3. CUDA 點樣幫到 AI 行業

訓練神經網絡嗰陣,模型首先會做預測。訓練過程會量度誤差,然後更新模型參數,重複好多次。GPU 加快咗矩陣乘法呢類運算,令研究人員有時間做更多實驗,亦令訓練更大嘅模型變得可行。GPU 喺訓練之後嘅推理階段都會用到,例如語言模型為用戶生成回答嗰時。[4] [1]

AlexNet 喺2012年提供咗一個實際示範。佢喺 NVIDIA GPU 上訓練,贏咗 ImageNet 圖像分類比賽。佢嘅表現顯示,用嚟打機嘅圖像處理器都可以訓練識別圖像嘅模型。[1] [1]

4. CUDA 點樣畀 NVIDIA 持久優勢

NVIDIA 為開發者經常需要嘅運算建立咗優化嘅函式庫同工具。cuBLAS 加快矩陣運算,cuDNN 支援常見嘅神經網絡運算,NCCL 處理跨 GPU 通訊,TensorRT 幫助訓練好嘅模型行得更快。PyTorch 等框架支援 CUDA,所以開發者唔使由零開始寫每個 GPU 操作,都可以用到呢啲功能。[5] [1]

結論

呢個軟件生態系統強化咗 NVIDIA 嘅硬件業務。一個團隊可以由小型實驗擴展到跨多個 GPU 運行嘅系統,同時繼續用熟悉嘅軟件同工具。轉硬件可能需要團隊檢視佢嘅 CUDA 依賴、調整部分軟件同重新測試效能。NVIDIA 多年嚟喺硬件之外仲投資軟件,所以當 AI 運算需求增長嗰時,佢已經為熟識呢啲工具嘅開發者準備好咗。[1] [1]

參考資料

  1. https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
  2. https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
  3. https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
  4. https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
  5. https://developer.nvidia.com/machine-learning

關於黃仁勳、CUDA 同 NVIDIA 崛起嘅問題

CUDA 係咩?NVIDIA 點解要整佢出嚟?

CUDA 係 NVIDIA 喺2006年推出嘅軟件平台同編程模型,用嚟喺 GPU 上並行運行大量運算。GPU 係硬件;CUDA 提供編程工具,令圖像硬件向科學研究、高效能運算同 AI 開放。

CUDA 點樣幫到 AI 行業?

訓練神經網絡即係話要反覆做預測、量度誤差同更新參數好多次。GPU 加快咗矩陣乘法呢類運算,令研究人員可以做更多實驗、訓練更大嘅模型。喺 NVIDIA GPU 上訓練嘅 AlexNet 就憑住贏咗2012年 ImageNet 比賽證明咗呢一點。

點解 CUDA 可以畀 NVIDIA 持久優勢?

NVIDIA 建立咗開發者成日需要嘅優化函式庫——矩陣運算用嘅 cuBLAS、神經網絡運算用嘅 cuDNN、多 GPU 通訊用嘅 NCCL 同更快推理用嘅 TensorRT——而 PyTorch 等框架支援 CUDA,所以團隊可以由小型實驗擴展到多個 GPU,而唔使重寫軟件。

Powered By K7