張量核心
張量核心是現代 NVIDIA GPU 內的專用硬體單元,可以極快地執行矩陣乘法和累加運算。
概述
They are the main reason a single GPU can train and run large neural networks orders of magnitude faster than general-purpose compute would allow.
深入探討
Tensor Core 於 2017 年隨 Volta 架構一起推出,是一種專用電路,可在單一運算中計算小型矩陣乘法加加法 (D = A x B + C),而不是在標準 CUDA 核心上一次執行一個乘法。因為幾乎神經網路的每一層都簡化為矩陣乘法,這符合人工智慧實際需要的數學。每一代 GPU 都擴展了它們處理的功能:Volta 提供了 4x4 FP16 區塊,而後來的 Ampere、Hopper 和 Blackwell 架構則添加了較低精度的格式,如 TF32、BF16、INT8、FP8 和 FP4。較低的精度意味著每個時鐘處理更多的數字,從而顯著提高訓練和推理的吞吐量,同時保持可接受的精度。
技術洞察
張量核心將兩個小矩陣相乘,並在一個融合步驟中累積結果,利用相同的輸入值在許多輸出元素之間重複使用。它通常以降低的精度(FP16、BF16 或 FP8)讀取輸入,但以更高的精度(通常為 FP32)累積運行總和以限制舍入誤差。 cuBLAS 和 cuDNN 等軟體庫以及 PyTorch 等框架會自動將大矩陣平鋪到這些小塊中,因此模型無需手動編碼即可獲得加速。
戰略影響
成本與預算
多年來,架構決策決定著效能和營運成本。
更明確的決策
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。
品質管控
更好的工程選擇可以減少生產中的可靠性事故。
張量核心的未來
Tensor Core 持續向更低的精度發展:Hopper 增加了 FP8,Blackwell 引入了具有硬體管理擴充功能的 4 位元 FP4,對於推理繁重的工作負載,每一步的吞吐量大致增加一倍。預計對稀疏性(跳過零權重)、將比例因子附加到小數字塊的微縮放格式以及與內存系統的更深入集成的更嚴格支持,以便內核保持供電。隨著模型的成長,矩陣引擎(而不是原始時脈速度)仍然是人工智慧硬體效能的核心戰場。
現實世界的實施
訓練大型語言模型,例如 GPT 式 Transformer,其中每步在 BF16 或 FP8 中的 Tensor Core 上運行數十億次矩陣乘法。
為聊天機器人和影像產生器執行即時推理,使用 INT8 或 FP8 量化為每個 GPU 服務更多使用者。
加速電玩遊戲中的 NVIDIA DLSS,神經網路在每幀中使用 Tensor Core 來升級低解析度幀。
加速科學計算,例如蛋白質折疊 (AlphaFold) 和天氣模型,這些模型已被重新表述為矩陣繁重的神經工作負載。
風險與防護欄
優化一項基準測試可以隱藏更廣泛的系統弱點。
基礎設施和維護成本常常被低估。
隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。
實施路線圖
在實施之前定義延遲、品質和成本目標。
在實際負載和資料條件下進行基準測試。
儀器監控錯誤、漂移和使用者影響。
在擴展之前準備回滾和事件回應路徑。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Tensor Cores quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
What is Tensor Cores?
張量核心是現代 NVIDIA GPU 內的專用硬體單元,可以極快地執行矩陣乘法和累加運算。它們是單一 GPU 訓練和運行大型神經網路的速度比通用運算快幾個數量級的主要原因。
Tensor Core 專門設計用於加速哪些核心數學運算?
Tensor Core 一步執行融合矩陣乘法加累加,這正是主導神經網路層的操作。
哪種 NVIDIA GPU 架構首先引入了 Tensor Core?
Tensor Core 於 2017 年隨 Volta 架構首次亮相,從 FP16 4x4 矩陣運算開始。
為什麼 Tensor Core 經常使用 FP16 或 FP8 等降低精度?
每個數字使用更少的位數意味著每個週期有更多的值流經硬件,從而大大提高了速度,而精度損失很小,通常是可以容忍的。
為了保持準確性,Tensor Core 通常使用什麼精確度來計算運行總和(累加)?
輸入的精度可能較低,但累加器通常以較高的精度(如 FP32)運行,以限制舍入誤差的累積。
像 PyTorch 这样的日常人工智能框架如何使用 Tensor Core?
底层库自动将大矩阵运算分解为 Tensor-Core 大小的图块,因此框架无需手动编码即可获得加速。