此刻,你應(yīng)該是在電腦或手機上看這篇文章。不管怎樣,這些機器都屬于現(xiàn)代計算機,它們都有中央處理器(CPU)和其他為特定功能服務(wù)的專用芯片,例如顯卡、聲卡、網(wǎng)卡、傳感器融合等。處理特定任務(wù)時,專用處理器往往比通用 CPU 更快更高效。

計算機發(fā)展早期,CPU 都會和專用處理器配合使用。1970 年代的 8 位和 16 位 CPU 需要依賴軟件來模擬浮點指令,因此執(zhí)行浮點運算非常慢。而由于計算機輔助設(shè)計(CAD)和工程模擬等應(yīng)用對浮點運算的速度要求較高,于是人們開始用數(shù)學(xué)協(xié)處理器(math coprocessor)輔助 CPU,讓數(shù)學(xué)協(xié)處理器分擔所有浮點運算任務(wù),它的浮點運算速度和效率都比 CPU 更高。這就是專用處理器的一個例子。

關(guān)注 AI 和半導(dǎo)體行業(yè)的朋友近來可能聽說過 “機器學(xué)習(xí)(ML)專用處理器”(即 AI 加速器)。最常見的 AI 加速器莫過于 NVIDIA GPU,此外還有 Intel 的 Habana Gaudi 處理器、Graphcore 的 Bow IPU、Google 的 TPU、AWS 的 Trainium 和 Inferentia 芯片等。
為什么如今有這么多 AI 加速器可供選擇?它們和 CPU 有什么不同?算法如何改變才能適應(yīng)這些硬件?硬件又該如何發(fā)展才能支持最新的算法? 本文將一一解答。本文主要內(nèi)容包括:
為什么需要專用 AI 加速器?
ML 硬件的分類:CPU、GPU、AI 加速器、FPGA 和 ASIC
“硬件感知(Hardware-aware)” 的算法和 “算法感知(Algorithms-aware)” 的硬件
AI 加速器與高效 ML 算法的協(xié)同進化
針對推理的 AI 加速器與高效算法
針對訓(xùn)練的 AI 加速器與高效算法
AI 加速器的未來
1
為什么需要專用 AI 加速器?
構(gòu)建 ML 專用處理器有三個方面的原因:能效、性能、模型大小及復(fù)雜度。近來,要提高模型準確率,通常做法是擴大模型參數(shù)量,并用更大型的數(shù)據(jù)集訓(xùn)練模型。計算機視覺、自然語言處理和推薦系統(tǒng)都采用這種做法。
語言模型方面,前幾年誕生的 GPT-3 有 1750 億參數(shù),當時被視為大模型的 “天花板”,但后來又出現(xiàn)了 GLaM 和 NVIDIA MT-NLG,參數(shù)量分別達到 1.2 萬億和 5300 億。按照歷史規(guī)律,模型將越來越大,而現(xiàn)有處理器的算力將無法滿足大模型在訓(xùn)練時間和推理延遲方面的要求。
不過,構(gòu)建 AI 專用加速器的最重要原因還是能效,開發(fā) AI 專用芯片可節(jié)省巨大的能源,可覆蓋研發(fā)投入有余。
為什么需要高能效的處理器?
ML 模型越大,需要執(zhí)行的內(nèi)存訪問操作就越多。與內(nèi)存訪問相比,矩陣 - 矩陣運算和矩陣 - 向量運算的能效高很多。根據(jù)斯坦福大學(xué)韓松博士的論文 (https://arxiv.org/pdf/1506.02626v3.pdf),讀取內(nèi)存的能耗比加 / 乘運算操作的能耗高出好幾個數(shù)量級。大型神經(jīng)網(wǎng)絡(luò)由于無法片上存儲,需要執(zhí)行更多 DRAM 讀取操作,因此能耗還要更高。

圖源:https://arxiv.org/pdf/1506.02626v3.pdf
用通用處理器運行深度神經(jīng)網(wǎng)絡(luò)時,擴大處理器規(guī)模可以帶來性能提升,但即便只是小幅提升也須以大量能耗和巨額設(shè)備成本為代價。
CPU 等通用處理器犧牲低能耗換取通用性,AI 加速器等專用處理器則犧牲通用性換取低能耗。
使用 AI 加速器則不一樣。AI 加速器通過改進設(shè)計,可以減少內(nèi)存訪問,提供更大的片上緩存,還可以具備特定的硬件功能(如加速矩陣 - 矩陣計算)。由于 AI 加速器是基于特定而構(gòu)建的設(shè)備,可根據(jù)算法進行適配改進,因此其運行效率會比通用處理器更高。
2
ML 硬件的分類 ——CPU、GPU、AI 加速器、FPGA 和 ASIC
接下來我們談?wù)劶铀倨鞯牟煌N類,以及它們的通用和專用程度。

如上圖所示,最具通用性的是 CPU,可以運行任意代碼。專用芯片可執(zhí)行的任務(wù),CPU 也能執(zhí)行,如圖像處理、語音處理、機器學(xué)習(xí)等。然而,CPU 的性能和能效都比較低。
專用性最強的是專用集成電路(ASIC),又稱固定功能芯片,因為它只能執(zhí)行一種或幾種任務(wù),而且通常不可編程,也沒有面向開發(fā)者的 API。耳機中的降噪處理器就是一種 ASIC 芯片,它需要同時具備低能耗和高性能,這樣才能既延長耳機電池使用時間,又能實現(xiàn)低延遲,以免用戶看節(jié)目時遇到聲畫不同步的糟糕體驗。
上圖中,越靠左代表通用性和可編程性越強;越靠右代表專用性和效率越高。那么 GPU、FPGA 和 AI 加速器分別處于圖中什么位置呢?
答案是:它們都處在這兩個極端之間。

靠近 ASIC 一端的是現(xiàn)場可編程邏輯門陣列(FPGA)。顧名思義,F(xiàn)PGA 是可編程的,但編程人員需要具備硬件設(shè)計知識,還須對 Verilog、VHDL 等硬件描述語言(HDL)有一定了解。換言之,F(xiàn)PGA 編程與硬件關(guān)聯(lián)度太高,而軟件開發(fā)人員缺乏這方面的編程技能和工具,因此難以對它進行編程。
靠近 CPU 一端的是 GPU。GPU 是面向特定目的處理器,擅長處理并行任務(wù),例如圖形著色器計算和矩陣乘法。CPU 更適合延遲敏感型應(yīng)用,GPU 則更適合要求高吞吐量的應(yīng)用。GPU 與 CPU 的相似之處在于它們都可編程。而作為并行處理器,GPU 使用 NVIDIA CUDA 和 OpenCL 等語言,雖然能處理的任務(wù)種類比 CPU 少,但在運行包含并行任務(wù)的代碼時極高效。
Intel 的 Habana Gaudi 處理器、AWS 的 Trainium 和 Inferentia 芯片等 AI 加速器則處在 GPU 的右側(cè)。Habana Gaudi 處理器具備可編程性,但通用性比 GPU 更低,所以應(yīng)處 GPU 右側(cè)。AWS 的 Inferentia 芯片不可編程,但可以加速多種操作,如果你的 ML 模型不支持這些操作,Inferentia 就會執(zhí)行 CPU 回退(fallback)模式。綜上,Inferentia 應(yīng)處 Habana Gaudi 的右側(cè)。
3
“硬件感知(Hardware-aware)” 的算法
和 “算法感知(Algorithms-aware)” 的硬件
通過以上分類,我們對各種處理器有了大致認識。 下面我們來談?wù)勥@些處理器如何與軟件互相配合。

通用計算模型有兩個組成部分:(1) 軟件與算法;(2) 運行軟件的硬件處理器。一般而言,這兩部分互相獨立 —— 編寫軟件時很少會考慮軟件會在什么硬件上運行;而硬件設(shè)計的出發(fā)點則是讓硬件盡可能支持更多種類的軟件。

通用計算模型逐漸演進,需要應(yīng)用于深度學(xué)習(xí)等要求高性能和高能效的領(lǐng)域,因此需要加強算法設(shè)計和硬件設(shè)計之間的聯(lián)系。現(xiàn)代 ML 計算模型同樣包含兩個組成部分:(1) ML 算法與軟件框架;(2) 與 AI 加速器配合使用的通用處理器。
不同于通用計算模型的開發(fā),ML 研發(fā)人員會針對特定硬件設(shè)計 ML 算法。比如,編寫代碼時可以充分利用硬件的特定功能(如支持多種精度:INT8、FP16、BF16、FP32)實現(xiàn)特定的芯片功能(混合精度、結(jié)構(gòu)化稀疏)。然后,用戶就可以通過常見的 ML 軟件框架使用這些功能。同理,硬件設(shè)計師會針對特定算法構(gòu)建 AI 加速器。比如,為加速 ML 矩陣計算而設(shè)計專門的芯片功能(如 NVIDIA 在 Volta GPU 架構(gòu)中引入 Tensor Core)。
這就是 AI 加速器和 ML 算法的協(xié)同進化。硬件設(shè)計師為 AI 加速器增加 ML 算法可以使用的功能,而 ML 研發(fā)人員則利用 AI 加速器的硬件功能量身設(shè)計新的算法。
硬件和軟件的協(xié)同可以帶來更好的性能和更高的能效。
4
AI 加速器與高效 ML 算法的協(xié)同進化
AI 加速器分為兩類: (1) 用于訓(xùn)練的 AI 加速器; (2) 用于推理的 AI 加速器。 由于訓(xùn)練和推理的目標不同,而 AI 加速器是針對特定工作負載的專用處理器,因此有必要為不同類型的工作負載分別設(shè)計處理器。
用于訓(xùn)練的 AI 加速器的目標是減少訓(xùn)練時間,而且應(yīng)具備能配合訓(xùn)練算法的硬件特點。 因此,AI 訓(xùn)練加速器的功率通常較大,內(nèi)存空間也較大,以滿足較高的吞吐量(每秒處理的數(shù)據(jù))要求。 由于 AI 訓(xùn)練加速器注重吞吐量,因此提高吞吐量和利用率有助于降低能耗成本(即通過擴大吞吐量降低 “能耗 / 吞吐量” 之間的比率)。 AI 訓(xùn)練加速器還支持混合精度訓(xùn)練,使用較低精度以加快計算速度,使用高精度累積計算結(jié)果,從而實現(xiàn)比通用處理器更高的能效。 (后文還將詳談 AI 加速器的混合精度訓(xùn)練。 )
AI 推理加速器的目標是,在運行大量獨立數(shù)據(jù)批次時降低預(yù)測延遲,因此需要具備高能效特點,需要降低 “能耗 / 預(yù)測” 之間的比率。雖然也可將訓(xùn)練加速器用于推理加速(畢竟訓(xùn)練中的前向傳播過程本質(zhì)上即是一種推理任務(wù)),但使用訓(xùn)練加速器時,“能耗 / 推理” 之比會大很多,因為訓(xùn)練加速器處理小型數(shù)據(jù)批次的推理請求時利用率較低。

訓(xùn)練加速器就像公交車,只有保持乘客滿員才能實現(xiàn)高能效(油耗 / 乘客數(shù)之比低)。如果偌大的公交車每次只載一個人,其油耗 / 乘客數(shù)之比將變得極高。而推理加速器就像跑車,其速度比公交車快,只載一人時能效比公交車高(跑車的單名乘客油耗比公交車低)。但如果想用跑車一次載 50 個人,它就會跑得極慢(何況超載違法)。
下文將分別談?wù)撚?xùn)練和推理的工作流,以及 AI 加速器和軟件應(yīng)具備什么特點才能在訓(xùn)練和推理中實現(xiàn)高性能和高能效。
5
針對推理的 AI 加速器與高效算法
ML 推理即是根據(jù)新的數(shù)據(jù)使用訓(xùn)練好的模型以輸出預(yù)測結(jié)果。 本節(jié)將討論 AI 加速器上運行的可提升推理性能和效率的算法。

提升機器學(xué)習(xí)效率最重要的方法是量化。要充分理解量化,首先須了解計算機硬件中的數(shù)字表示方法。浮點數(shù)是數(shù)字計算機中用以表示連續(xù)實值的離散表示形式。ML 算法通常基于 IEEE 754 標準用單精度(FP32)儲存和處理數(shù)字。IEEE 754 還規(guī)定了 AI 加速器支持的其他常見浮點類型,如半精度(FP16)和雙精度(FP64)。
現(xiàn)代 AI 加速器也支持 IEEE 754 以外的數(shù)字格式,例如 BF16(由 Google Brain 引進;NVIDIA Ampere GPU、AWS Inferential、AWS Tranium、Intel Habana Gaudi 和 Google TPU 均支持此格式)和 TF32(NVIDIA Ampere 架構(gòu)和 AWS Tranium 芯片支持此格式)。推理加速器還支持整數(shù)精度,如 INT8 和 INT4。
量化在推理中的優(yōu)勢
在推理任務(wù)中,模型權(quán)重和激活函數(shù)輸出均可被量化,例如可將 FP32(訓(xùn)練常用精度)轉(zhuǎn)化為更低精度的表示形式(FP16、BF16 和 INT8)。使用較低精度可以獲得更高的性能和能效。當把 FP32 轉(zhuǎn)化為 FP16 操作時,數(shù)據(jù)大小可減半,能耗可減少約 75%(數(shù)據(jù)來源: https://arxiv.org/pdf/1506.02626v3.pdf ) ,使用的硅面積(silicon area)也可減少約 75%。
如果僅從推理的角度考慮硬件設(shè)計,可以構(gòu)建僅供推理使用、僅支持較低精度的加速器,這樣就可以縮小加速器的尺寸,并提高能效。將運算結(jié)果從 FP32 轉(zhuǎn)化為 INT8 數(shù)據(jù)還可進一步減少能耗,因為數(shù)據(jù)大小減少到原來的 1/4。
然而,通過量化方法提升計算效率會損失一定的預(yù)測準確性。因為將高精度表示形式轉(zhuǎn)化為低精度本質(zhì)上是一種壓縮,壓縮意味著會損失部分數(shù)據(jù)。FP32 的動態(tài)范圍比 FP16 和 INT8 更大,因此,推理中,量化的目的是保留數(shù)據(jù)中的 “信號”,去除數(shù)據(jù)中的 “噪聲”,為實現(xiàn)這個目的可以有多種方法。
使用 NVIDIA GPU 進行量化
NVIDIA 的 Ampere 和 Turing 等較新 GPU 架構(gòu)均支持多種精度類型。2016 年,NVIDIA 在 Pascal 架構(gòu)中首次引進了 FP16 精度類型,而最新的 Ampere 和 Turing 架構(gòu) GPU 均體現(xiàn)了 “硬件與算法的協(xié)同進化”。我之前寫過一篇文章介紹 GPU 的完整發(fā)展史和不同架構(gòu)的 GPU 及其特點:Choosing the right GPU for deep learning on AWS( https://towardsdatascience.com/choosing-the-right-gpu-for-deep-learning-on-aws-d69c157d8c86 )。
本節(jié)將聚焦硬件和軟件層面如何支持 GPU 進行量化。
以 NVIDIA 的 Ampere 架構(gòu)為例。你可以在 AWS 云服務(wù)器上通過啟動 Amazon EC2 p4d 實例或 G5 實例體驗 Ampere 架構(gòu)的性能。p4d 和 G5 實例分別使用 NVIDIA 的 A100 和 A10G GPU,兩款 GPU 都基于 Ampere 架構(gòu),都支持 FP64、FP32、FP16、 INT8、BF16 和 TF32 精度類型,也都包含一種被 NVIDIA 稱為 “Tensor Core” 的運算單元,用于混合精度計算。推理時用到的重點精度類型只有 FP16 和 INT8 兩種(其他精度類型將在下一節(jié)中提到訓(xùn)練時詳談)。
大多數(shù)深度學(xué)習(xí)框架都使用 NVIDIA GPU 和 FP32 格式訓(xùn)練模型,因此 NVIDIA 推出 TensorRT 編譯器,用以加快推理速度。TensorRT 可將 FP32 格式的模型權(quán)重和激活函數(shù)量化為 FP16 和 INT8 格式。量化時,TensorRT 先確定一個比例因子(scaling factor),然后根據(jù)該系數(shù)將 FP32 的動態(tài)范圍映射到 FP16 或 INT8 的動態(tài)范圍。映射到 INT8 的難度尤其高,因為 INT8 的動態(tài)范圍比 FP32 小太多。INT8 僅能表示 256 個數(shù)值,而 FP32 足足能表示 4.2×109 個數(shù)值。
如何在通過量化提高推理速度的同時減少精度損失?一般有兩種方法:
訓(xùn)練后量化(PTQ):使用一個訓(xùn)練好的、以 FP32 格式計算的模型,確定比例因子,然后將 FP32 映射為 INT8。確定比例因子的方法是:TensorRT 衡量每個神經(jīng)網(wǎng)絡(luò)層中激活函數(shù)輸出的分布,然后找到一個使參考分布(reference distribution)和量化分布(quantized distribution)之間信息損失(KL 散度)最小的比例因子。
量化感知訓(xùn)練(QAT):在訓(xùn)練中計算比例因子,使模型可以適應(yīng)信息損失并將信息損失降到最低。
可見,硬件不斷發(fā)展,具備更多可提升效率的功能(如降低精度)。 同時,算法也不斷進化,可以更好地利用硬件的功能。
我的另一篇文章提供了 NVIDIA TensorRT 在 GPU 上實行量化的代碼示例 ( https://towardsdatascience.com/a-complete-guide-to-ai-accelerators-for-deep-learning-inference-gpus-aws-inferentia-and-amazon-7a5d6804ef1c )。
使用 AWS Inferentia 芯片進行量化
NVIDIA GPU 設(shè)計之初用于圖像處理加速,后來才演變成強大的 AI 加速器,而 AWS Inferentia 芯片一開始即是為機器學(xué)習(xí)推理而生。
每塊 AWS Inferentia 芯片含 4 個 NeuronCore。NeuronCore 是基于脈動陣列的矩陣相乘引擎,有兩級存儲層次結(jié)構(gòu)和極大的片上緩存空間。AWS Inferentia 芯片支持 FP16、BF16 和 INT8 數(shù)據(jù)類型,不支持更高精度的格式 —— 畢竟 AWS Inferentia 是一種推理專用處理器,推理時無須用到更高的精度。正如 NVIDIA 為 GPU 推出了 TensorRT 編譯器,AWS 也推出了 AWS Neuron SDK 和 AWS Neuron 編譯器,該編譯器支持量化和優(yōu)化,可提高推理效率。
盡管 AWS Inferentia 芯片支持 INT8 格式,但截至本文撰寫時,AWS Neuron 編譯器只支持量化到 FP16 和 BF16 格式。 用 FP32 格式訓(xùn)練的模型會在編譯過程中自動被轉(zhuǎn)化為 BF16 格式。 如果在使用 AWS Neuron 編譯器之前人工將 FP32 格式的權(quán)重量化為 FP16,那么編譯器就會保留 FP16 精度用于推理。
與 GPU 相比,AWS Inferentia 芯片不可編程,專用性比 GPU 更強,更接近 ASIC。 如果模型中包含的操作均為 AWS Inferentia 所支持,那么對于特定的模型和批次規(guī)模(batch size)而言,使用 Inferentia 就比使用 GPU 更能提高模型的能效。 然而,如果模型含有 Inferentia 不支持的操作,AWS Neuron 編譯器會自動將相應(yīng)操作置于主機 CPU 上,這就導(dǎo)致 CPU 和加速器之間需要進行數(shù)據(jù)搬運,進而降低性能和效率。
6
針對訓(xùn)練的 AI 加速器與高效算法
ML 訓(xùn)練即利用訓(xùn)練數(shù)據(jù)優(yōu)化模型參數(shù),以提高模型的預(yù)測準確度。本節(jié)將討論 AI 加速器上運行的算法如何提升推理性能和能效。
接下來我們依舊會討論精度,不過這次是從訓(xùn)練工作流的角度。 如前所述,訓(xùn)練時,模型權(quán)重和激活函數(shù)都以 FP32 格式存儲,F(xiàn)P32 遵循早在深度學(xué)習(xí)之前就誕生的 IEEE 754 浮點數(shù)標準。 FP32 之所以被選為機器學(xué)習(xí)默認的浮點數(shù)表示形式,是因為訓(xùn)練時 FP16 可表示的信息量不夠大,而 FP64 可表示的信息量則太大,而且也不必用到這么高的精度。 機器學(xué)習(xí)需要一種精度處在 FP16 和 FP64 之間的表示格式,但當時的硬件并不支持。
換言之,當時的硬件并不能滿足 ML 算法的需求,并未成為 “算法感知” 的硬件。
如果當時的 ML 研究人員有更好的選擇,他們應(yīng)該會選一種不同于 FP32 的格式,或者使用混合精度來提升性能和效率。 混合精度也正是目前 AI 加速器的發(fā)展方向。 實現(xiàn)混合精度,需要硬件和算法的協(xié)同設(shè)計。

混合精度訓(xùn)練提升性能與效率
矩陣乘法運算是神經(jīng)網(wǎng)絡(luò)訓(xùn)練和推理的基本操作。 AI 加速器的主要工作即為在神經(jīng)網(wǎng)絡(luò)的不同層中將輸入數(shù)據(jù)和權(quán)重的大型矩陣相乘。 混合精度訓(xùn)練背后的思想是,訓(xùn)練時的矩陣乘法發(fā)生在較低精度表示(FP16、BF16、TF32),因此它們更快和能效更高,然后用 FP32 格式累積運算結(jié)果,以降低信息損失,從而提升訓(xùn)練速度和能效。
使用 NVIDIA GPU 進行混合精度訓(xùn)練
2017 年,NVIDIA 宣布推出 Volta GPU 架構(gòu),其中包含專門用于機器學(xué)習(xí)的 Tensor Core 運算單元。Tensor Core 通過 FP16 運算和 FP32 累積結(jié)果實現(xiàn)混合精度訓(xùn)練( https://arxiv.org/abs/1710.03740 )。NVIDIA 的新一代新架構(gòu)還支持更多低精度格式(BF16、TF32)。在芯片層次,Tensor Core 執(zhí)行低精度(reduced-precision)融合乘加(FMA)運算,用 FP32 累積結(jié)果。
每一代 NVIDIA 架構(gòu)的進步都體現(xiàn)了硬件和算法之間的協(xié)同設(shè)計和協(xié)同發(fā)展。
NVIDIA Volta 架構(gòu)(2017)引入第一代 Tensor Core,當時僅支持 FP16 運算和 FP32 累積結(jié)果。
NVIDIA Turing 架構(gòu)(2018)的 Tensor Core 支持更低精度的 INT8 和 INT4(主要可以加速推理,而非加速訓(xùn)練)。
NVIDIA Ampere 架構(gòu)(2020)的 Tensor Core 還支持 BF16 和 TF32,也就是說,它可以執(zhí)行 FP16、BF16 和 TF32 運算,并且用 FP32 累積結(jié)果,以實現(xiàn)混合精度
混合精度訓(xùn)練的一大難點是軟件層面的實現(xiàn)。 用戶必須在訓(xùn)練時執(zhí)行額外的操作,比如將權(quán)重轉(zhuǎn)化為 FP16 格式,但同時會保留權(quán)重的 FP32 副本和損失縮放(loss scaling)。 盡管 NVIDIA 可以讓深度學(xué)習(xí)框架在只需修改少量代碼的情況下執(zhí)行這些操作,它對用戶的要求依然很高,不像使用 FP32 訓(xùn)練那么簡單。
NVIDIA 的 Ampere 架構(gòu)支持 TF32,可以有效解決這一用戶體驗難題。TF32 格式的好處在于,它結(jié)合了 FP32 的動態(tài)范圍和 FP16 的精度,因此深度學(xué)習(xí)框架無需轉(zhuǎn)換格式和保留副本等額外操作即可直接支持 TF32 格式。然而,在為開發(fā)者減少麻煩的情況下,使用 TF32 可實現(xiàn)比 FP32 更好的性能,但 NVIDIA 依然推薦使用 FP16 或 BF16 格式進行混合精度訓(xùn)練,以便獲得最快的訓(xùn)練性能。
使用其他 AI 加速器進行混合精度訓(xùn)練
Intel Habana Gaudi 處理器
Habana Gaudi 加速器支持混合精度訓(xùn)練的方式與 NVIDIA GPU 類似 —— 通過一個附加工具配合深度學(xué)習(xí)框架,使用格式轉(zhuǎn)換和副本保存功能。若想體驗 Intel Habana Gaudi AI 加速器的功能,可以通過 AWS 云服務(wù)器啟動 Amazon EC2 DL1 實例,該實例配備 8 個 Gaudi 加速器。
AWS Tranium 芯片
AWS 在 2021 年 re:Invent 大會上宣布推出 Tranium 芯片,該芯片由 AWS 的 Annapurna 實驗室研發(fā),用于 AI 加速。目前,Tranium 芯片尚未得到大規(guī)模應(yīng)用。AWS 在大會上介紹稱,Tranium 將支持 FP16、TF32、BF16、INT8,以及一種稱為 cFP8(定制 8 位浮點數(shù))的全新格式。
7
AI 加速器的未來
如今,ML 算法研究和硬件設(shè)計都在蓬勃發(fā)展。AI 加速器也將在性能和能效方面持續(xù)進步,逐漸可以像通用處理器一樣無縫使用。
現(xiàn)代的 AI 加速器已具備理想中的硬件功能,例如支持 INT1 和 INT4,這兩種精度類型尚未被用于訓(xùn)練和推理,但或許它們的存在可以催生新的 ML 算法。AI 加速器之間的互聯(lián)也漸見革新。
隨著模型規(guī)模越來越大,我們需要更大的計算集群,將更多 AI 加速器連接起來,從而支持更大的工作負載。為此,NVIDIA 推出了高帶寬的 NVLink 和 NVSwitch,用于 GPU 之間的互聯(lián);Intel 的 Habana Gaudi 處理器則在片上集成了基于以太網(wǎng)的 RoCE RDMA。未來 AI 應(yīng)用將更加廣泛, AI 加速器也將成為現(xiàn)代計算環(huán)境的中流砥柱。
希望未來的 AI 加速器帶來更好的用戶和開發(fā)者體驗。如今的異構(gòu)計算模型需要協(xié)調(diào)多個 CPU 和 AI 加速器,對大部分數(shù)據(jù)科學(xué)家和開發(fā)人員而言,掌握它們的聯(lián)網(wǎng)和存儲設(shè)置難度頗高。使用 Amazon SageMaker 等云托管服務(wù)可省去管理基礎(chǔ)設(shè)施的麻煩,可以方便地擴大機器學(xué)習(xí)規(guī)模,然而,開源框架仍希望用戶對底層硬件、精度類型、編譯器選擇和聯(lián)網(wǎng)原語等有較深的了解。
未來,開發(fā)人員可以登入遠程 IDE,然后使用開源 ML 框架運行代碼,而不必考慮代碼在何種設(shè)備上以何種方式運行。 他們唯一需要思考的只是成本和速度之間的權(quán)衡 —— 想獲得高速度就多花錢,想省錢就在速度上妥協(xié)。我是個樂觀的人,我認為距離這樣的未來已經(jīng)不遠了。
(本文經(jīng)授權(quán)后編譯發(fā)布。原文: https://towardsdatascience.com/ai-accelerators-machine-learning-algorithms-and-their-co-design-and-evolution-2676efd47179)
頭圖源自 brookhaven, Pixabay
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹慎對待。投資者據(jù)此操作,風險自擔。
海報生成中...
海藝AI的模型系統(tǒng)在國際市場上廣受好評,目前站內(nèi)累計模型數(shù)超過80萬個,涵蓋寫實、二次元、插畫、設(shè)計、攝影、風格化圖像等多類型應(yīng)用場景,基本覆蓋所有主流創(chuàng)作風格。
9月9日,國際權(quán)威市場調(diào)研機構(gòu)英富曼(Omdia)發(fā)布了《中國AI云市場,1H25》報告。中國AI云市場阿里云占比8%位列第一。
IDC今日發(fā)布的《全球智能家居清潔機器人設(shè)備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。