將生成式 AI 模型擴(kuò)展到數(shù)十億或數(shù)萬億個參數(shù)需要超出傳統(tǒng) CPU 能力的專用硬件。圖形處理單元(GPU)仍然是人工智能加速的主導(dǎo)解決方案,一個新的競爭者已經(jīng)出現(xiàn):語言處理單元(邏輯處理單元)。
GPU因其并行處理能力而聞名,而 LPU(例如 Groq 開發(fā)的 LPU)則旨在解決自然語言處理 (NLP) 任務(wù)的順序性,這是構(gòu)建 AI 應(yīng)用程序的基本組成部分。在這篇文章中,我們將考慮深度學(xué)習(xí)工作負(fù)載中的 GPU 和 LPU 之間的主要區(qū)別,并研究它們的架構(gòu)、優(yōu)勢和性能。
GPU 的架構(gòu)
我們之前討論過特定 GPU 的架構(gòu),例如NVIDIA 系列,這將是對 GPU 構(gòu)成的更一般的概述。
GPU 的核心是計算單元(也稱為執(zhí)行單元),其中包含多個處理單元(在 NVIDIA 術(shù)語中稱為流處理器或 CUDA 核心),以及共享內(nèi)存和控制邏輯。在某些架構(gòu)中,尤其是那些為圖形渲染而設(shè)計的架構(gòu)中,還可能存在其他組件,例如光柵引擎和紋理處理集群 (TPC)。
A計算單元由多個較小的處理單元組成,可以同時管理和執(zhí)行多個線程。它包括自己的寄存器、共享內(nèi)存和調(diào)度單元。每個計算單元并行操作多個處理單元,協(xié)調(diào)它們的工作以高效處理復(fù)雜任務(wù),每個處理單元執(zhí)行基本算術(shù)和邏輯運(yùn)算的單獨(dú)指令。
處理單元和指令集架構(gòu) (ISA)
計算單元中的每個處理單元都旨在執(zhí)行由 GPU 定義的一組特定指令指令集架構(gòu)ISA 決定了處理單元可以執(zhí)行的操作類型(算術(shù)、邏輯等)以及這些指令的格式和編碼。
ISA 是軟件之間的接口(例如,通用計算架構(gòu)或者OpenCLGPU 包括代碼和硬件(處理單元)。當(dāng)為 GPU 編譯或解釋程序時,它會被翻譯成一系列符合 GPU 特定 ISA 的指令。然后,處理單元執(zhí)行這些指令,最終執(zhí)行所需的計算。
不同的 GPU 架構(gòu)可能具有不同的 ISA,這會影響其在特定工作負(fù)載下的性能和功能。某些 GPU 為特定任務(wù)(例如圖形渲染或機(jī)器學(xué)習(xí))提供專用 ISA,以優(yōu)化這些用例的性能。
雖然處理單元可以處理通用計算,但許多 GPU 還包含專門的單元來進(jìn)一步加速特定的工作負(fù)載。例如,
雙精度單位(DPU)處理科學(xué)計算應(yīng)用的高精度浮點(diǎn)計算。同時,張量核心(NVIDIA)或?qū)榧铀倬仃嚦朔ㄔO(shè)計的矩陣核心(AMD)現(xiàn)在是計算單元的組成部分。
GPU 使用多層內(nèi)存層次平衡速度和容量。最靠近處理核心的是小型片上寄存器,用于臨時存儲經(jīng)常訪問的數(shù)據(jù)和指令。這種寄存器文件提供最快的訪問時間,但容量有限。
層次結(jié)構(gòu)中的下一個是共享內(nèi)存,這是一種快速、低延遲的內(nèi)存空間,可在計算單元集群內(nèi)的處理單元之間共享。共享內(nèi)存有助于在計算過程中進(jìn)行數(shù)據(jù)交換,從而提高受益于線程塊內(nèi)數(shù)據(jù)重用的任務(wù)的性能。
全局內(nèi)存作為主內(nèi)存池適用于片上存儲器無法容納的較大數(shù)據(jù)集和程序指令。全局存儲器比寄存器或共享存儲器提供更大的容量,但訪問時間較慢。
GPU 內(nèi)的通信網(wǎng)絡(luò)
處理單元、內(nèi)存和其他組件之間的高效通信對于實(shí)現(xiàn)最佳 GPU 性能至關(guān)重要。為實(shí)現(xiàn)此目的,GPU 采用了各種互連技術(shù)和拓?fù)?。以下是它們的分類及其工作原理?/p>
1、高帶寬互連:
基于總線的互連:基于總線的互連是許多 GPU 中常用的方法,它為組件之間的數(shù)據(jù)傳輸提供了共享路徑。雖然實(shí)現(xiàn)起來比較簡單,但在流量大的情況下,由于多個組件爭奪總線訪問權(quán)限,因此它們可能會成為瓶頸。
片上網(wǎng)絡(luò) (NoC) 互連:一些高性能 GPU 采用NoC 互連,提供更具可擴(kuò)展性和靈活性的解決方案。NoC 由多個互連的路由器組成,這些路由器在不同組件之間路由數(shù)據(jù)包,與傳統(tǒng)的基于總線的系統(tǒng)相比,可提供更高的帶寬和更低的延遲。
點(diǎn)對點(diǎn) (P2P) 互連: P2P 互連支持特定組件(例如處理單元和內(nèi)存組)之間的直接通信。P2P 鏈路無需共享公共總線,因此可以顯著減少關(guān)鍵數(shù)據(jù)交換的延遲。
2、互連拓?fù)洌?/span>
交叉開關(guān):此拓?fù)湓试S任何計算單元與任何內(nèi)存模塊通信。它提供了靈活性,但當(dāng)多個計算單元需要同時訪問同一個內(nèi)存模塊時,可能會成為瓶頸。
網(wǎng)狀網(wǎng)絡(luò):網(wǎng)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,每個計算單元都以網(wǎng)格狀結(jié)構(gòu)與其相鄰單元相連。這減少了爭用并實(shí)現(xiàn)了更高效的數(shù)據(jù)傳輸,尤其適用于本地化通信模式。
環(huán)形總線:在此,計算單元和內(nèi)存模塊以循環(huán)方式連接。這樣數(shù)據(jù)就可以單向流動,與總線相比,可以減少爭用。雖然廣播效率不如其他拓?fù)?,但它仍然可以使某些通信模式受益?/p>
除了片上互連之外,GPU 還必須與主機(jī)系統(tǒng)(CPU 和主內(nèi)存)通信。這通常通過 PCI Express (PCIe) 總線完成,這是一種高速接口,允許 GPU 與系統(tǒng)其余部分之間傳輸數(shù)據(jù)。
通過結(jié)合不同的互連技術(shù)和拓?fù)洌珿PU 可以優(yōu)化各個組件之間的數(shù)據(jù)流和通信,從而實(shí)現(xiàn)跨各種工作負(fù)載的高性能。
為了最大限度地利用其處理資源,GPU 使用了兩種關(guān)鍵技術(shù):多線程和流水線。GPU 通常采用同步多線程(SMT),允許單個計算單元同時執(zhí)行來自相同或不同程序的多個線程,從而能夠更好地利用資源,即使任務(wù)具有一些固有的串行方面。
GPU 支持兩種形式的并行性:線程級并行(TLP)和數(shù)據(jù)級并行(DLP)。TLP 涉及同時執(zhí)行多個線程,通常使用單指令,多線程(SIMT)模型。而 DLP 則使用矢量指令在單個線程內(nèi)處理多個數(shù)據(jù)元素。
流水線技術(shù)通過將復(fù)雜任務(wù)分解為更小的階段來進(jìn)一步提高效率。然后可以在計算單元內(nèi)的不同處理單元上同時處理這些階段,從而減少總體延遲。GPU 通常采用深度流水線架構(gòu),其中指令被分解為許多小階段。流水線技術(shù)不僅在處理單元本身內(nèi)實(shí)現(xiàn),而且在內(nèi)存訪問和互連中實(shí)現(xiàn)。
眾多流處理器、用于特定工作負(fù)載的專用單元、多層內(nèi)存層次以及高效互連的組合,使得 GPU 能夠同時處理大量數(shù)據(jù)。
要將最新的 NVIDIA GPU 用于您的 AI 和 HPC 項目,聯(lián)系我們在捷智算平臺。我們有NVIDIA H100和別的預(yù)留 GPU和需求。聯(lián)系現(xiàn)在就開始!
LPU的架構(gòu)
LPU 是市場上的新產(chǎn)品,目前知名度較低,但正如 Groq 所展示的那樣,它們非常強(qiáng)大。LPU 旨在滿足自然語言處理 (NLP) 工作負(fù)載的獨(dú)特計算需求。我們將重點(diǎn)討論 Groq 的 LPU。
Groq LPU包含一個張量流處理器(TSP)架構(gòu)。此設(shè)計針對順序處理進(jìn)行了優(yōu)化,與 NLP 工作負(fù)載的性質(zhì)完美契合。與可能面臨困境的 GPU 架構(gòu)。由于NLP任務(wù)的內(nèi)存訪問模式不規(guī)則,TSP擅長處理數(shù)據(jù)的順序流,從而能夠更快、更高效地處理語言模型。
來源:Groq LPU 底層架構(gòu)
LPU 的架構(gòu)還解決了大規(guī)模 NLP 模型中經(jīng)常遇到的兩個關(guān)鍵瓶頸:計算密度和內(nèi)存帶寬。通過精心管理計算資源并優(yōu)化內(nèi)存訪問模式,LPU 可確保有效平衡處理能力和數(shù)據(jù)可用性,從而顯著提高 NLP 任務(wù)的性能。
LPU 尤其擅長推理任務(wù),其中使用預(yù)先訓(xùn)練的語言模型來分析和生成文本。其高效的數(shù)據(jù)處理機(jī)制和
低延遲設(shè)計使其成為聊天機(jī)器人、虛擬助手和語言翻譯服務(wù)等實(shí)時應(yīng)用的理想選擇。LPU 集成了專用硬件來加速注意力機(jī)制等關(guān)鍵操作,這對于理解文本數(shù)據(jù)中的上下文和關(guān)系至關(guān)重要。
軟件堆棧:
為了彌補(bǔ) LPU 專用硬件和 NLP 軟件之間的差距,Groq 提供了全面的軟件堆棧。專用編譯器優(yōu)化和翻譯 NLP 模型和代碼在 LPU 架構(gòu)上高效運(yùn)行。該編譯器支持流行的 NLP 框架,如 TensorFlow 和 PyTorch,使開發(fā)人員能夠利用他們現(xiàn)有的工作流程和專業(yè)知識而無需進(jìn)行重大修改。
LPU 的運(yùn)行時環(huán)境管理執(zhí)行期間的內(nèi)存分配、線程調(diào)度和資源利用率。它還為開發(fā)人員提供應(yīng)用程序編程接口 (API) 來與 LPU 硬件交互,從而方便定制和集成到各種 NLP 應(yīng)用程序中。
內(nèi)存層次結(jié)構(gòu):
高效的內(nèi)存管理對于高性能 NLP 處理至關(guān)重要。Groq LPU 采用多層內(nèi)存層次結(jié)構(gòu),以確保數(shù)據(jù)在計算的各個階段都隨時可用。最靠近處理單元的是標(biāo)量和矢量寄存器,它們?yōu)轭l繁訪問的數(shù)據(jù)(如中間結(jié)果和模型參數(shù))提供快速的片上存儲。
LPU 使用更大、更慢的二級 (L2) 緩存來存儲不常訪問的數(shù)據(jù)。此緩存是寄存器和主內(nèi)存之間的中介,減少了從較慢的主內(nèi)存中獲取數(shù)據(jù)的需要。
來源:Groq LPU 底層架構(gòu)
大容量數(shù)據(jù)的主要存儲是主存儲器,用于存儲預(yù)訓(xùn)練模型以及輸入和輸出數(shù)據(jù)。在主存儲器中,分配了專用的模型存儲,以確保高效訪問預(yù)訓(xùn)練模型的參數(shù),這些參數(shù)可能非常大。
此外,LPU 還集成了高帶寬片上 SRAM,減少了對較慢外部存儲器的依賴,從而最大限度地減少延遲并最大限度地提高吞吐量。這對于涉及處理大量數(shù)據(jù)的任務(wù)(例如語言建模)尤其有益。
1、互連技術(shù):
這Groq LPU 使用互連技術(shù)以促進(jìn)處理單元和內(nèi)存之間的高效通信?;诳偩€的互連可處理一般通信任務(wù),而片上網(wǎng)絡(luò) (NoC) 互連可為要求更高的數(shù)據(jù)交換提供高帶寬、低延遲通信。點(diǎn)對點(diǎn) (P2P) 互連可實(shí)現(xiàn)特定單元之間的直接通信,從而進(jìn)一步降低關(guān)鍵數(shù)據(jù)傳輸?shù)难舆t。
2、性能優(yōu)化:
為了最大限度地利用處理資源,LPU 采用了多線程和流水線技術(shù)。神經(jīng)網(wǎng)絡(luò)處理集群 (NNPC) 將專為 NLP 工作負(fù)載設(shè)計的處理單元、內(nèi)存和互連組合在一起。每個 NNPC 可以同時執(zhí)行多個線程,從而顯著提高吞吐量并實(shí)現(xiàn)線程和數(shù)據(jù)級并行。
流水線技術(shù)將復(fù)雜任務(wù)分解為多個小階段,允許不同的處理單元同時處理不同的階段,從而進(jìn)一步提高效率。這可減少總體延遲并確保數(shù)據(jù)通過 LPU 的連續(xù)流動。
性能比較
LPU 和 GPU 具有不同的用例和應(yīng)用,反映了它們的專門架構(gòu)和功能。
Groq 的 LPU 被設(shè)計為推理引擎對于 NLP 算法來說,因此很難在相同的基準(zhǔn)上真正地并排比較這些芯片。Groq 的 LPU 能夠比目前市場上的任何 GPU 更快地加速 AI 模型的推理過程,并且每秒最多可生成五百個推理令牌,這意味著只需幾分鐘就可以寫出一本小說。
GPU 并非專為推理而設(shè)計,它們可用于整個 AI 生命周期,包括推理、訓(xùn)練和部署所有類型的 AI 模型。借助用于 AI 開發(fā)的專用核心(如 Tensor Core),GPU 可用于 AI 訓(xùn)練。GPU 還可用于數(shù)據(jù)分析、圖像識別和科學(xué)模擬。
兩者都可以處理大型數(shù)據(jù)集,但 LPU 可以包含更多數(shù)據(jù),從而加快推理過程。Groq 的 LPU 架構(gòu)采用高帶寬、低延遲通信和高效的數(shù)據(jù)處理機(jī)制設(shè)計,可確保這些 NLP 應(yīng)用程序順暢高效地運(yùn)行,從而提供卓越的用戶體驗。
通用并行處理:除了人工智能之外,GPU 還擅長加速涉及大型數(shù)據(jù)集和并行計算的各種任務(wù),使其成為數(shù)據(jù)分析、科學(xué)模擬和圖像識別中的寶貴工具。
選擇合適的工具
如果您的工作負(fù)載高度并行,并且需要跨各種任務(wù)實(shí)現(xiàn)高計算吞吐量,那么 GPU 可能是更好的選擇。如果您正在處理從開發(fā)到部署的整個 AI 流程,那么 GPU 將是您投資的最佳硬件。
但是,如果您主要關(guān)注 NLP 應(yīng)用程序,尤其是涉及大型語言模型和推理任務(wù)的應(yīng)用程序,那么 LPU 的專門架構(gòu)和優(yōu)化可以在性能、效率和潛在降低成本方面提供顯著優(yōu)勢。
您可以在捷智算平臺上以實(shí)惠的價格使用最好的 GPU。