譯者 | 布加迪
過去十年是深度學習的時代。我們?yōu)閺腁lphaGo到DELL-E 2的一系列重大事件而激動不已。日常生活中出現(xiàn)了不計其數(shù)的由人工智能(AI)驅動的產(chǎn)品或服務,包括Alexa設備、廣告推薦、倉庫機器人和自動駕駛汽車等。
近年來,深度學習模型的規(guī)模呈指數(shù)級增長。這不是什么新聞了:Wu Dao 2.0模型含有1.75萬億參數(shù),在SageMaker訓練平臺的240個ml.p4d.24xlarge實例上訓練GPT-3大約只需25天。
但隨著深度學習訓練和部署的發(fā)展,它變得越來越具有挑戰(zhàn)性。由于深度學習模型的發(fā)展,可擴展性和效率是訓練和部署面臨的兩大挑戰(zhàn)。
本文將總結機器學習(ML)加速器的五大類型。
了解AI工程中的ML生命周期
在全面介紹ML加速器之前,不妨先看看ML生命周期。
ML生命周期是數(shù)據(jù)和模型的生命周期。數(shù)據(jù)可謂是ML的根源,決定著模型的質量。生命周期中的每個方面都有機會加速。
MLOps可以使ML模型部署的過程實現(xiàn)自動化。但由于操作性質,它局限于AI工作流的橫向過程,無法從根本上改善訓練和部署。
AI工程遠超MLOps的范疇,它可以整體(橫向和縱向)設計機器學習工作流的過程以及訓練和部署的架構。此外,它可以通過整個ML生命周期的有效編排來加速部署和訓練。
基于整體式ML生命周期和AI工程,有五種主要類型的ML加速器(或加速方面):硬件加速器、AI計算平臺、AI框架、ML編譯器和云服務。先看下面的關系圖。
圖1. 訓練與部署加速器的關系
我們可以看到,硬件加速器和AI框架是加速的主流。但最近,ML編譯器、AI計算平臺和ML云服務已變得越來越重要。
下面逐一介紹。
1. AI框架
在談到加速ML訓練和部署時,選擇合適的AI框架無法回避。遺憾的是,不存在一應俱全的完美或最佳AI框架。廣泛用于研究和生產(chǎn)的三種AI框架是TensorFlow、PyTorch和JAX。它們在不同的方面各有千秋,比如易用性、產(chǎn)品成熟度和可擴展性。
TensorFlow:TensorFlow是旗艦AI框架。TensorFlow一開始就主導深度學習開源社區(qū)。TensorFlow Serving是一個定義完備的成熟平臺。對于互聯(lián)網(wǎng)和物聯(lián)網(wǎng)來說,TensorFlow.js和TensorFlow Lite也已成熟。
但由于深度學習早期探索的局限性,TensorFlow 1.x旨在以一種非Python的方式構建靜態(tài)圖。這成為使用“eager”模式進行即時評估的障礙,這種模式讓PyTorch可以在研究領域迅速提升。TensorFlow 2.x試圖迎頭趕上,但遺憾的是,從TensorFlow 1.x升級到2.x很麻煩。
TensorFlow還引入了Keras,以便總體上更易使用,另引入了優(yōu)化編譯器的XLA(加速線性代數(shù)),以加快底層速度。
PyTorch:憑借其eager模式和類似Python的方法,PyTorch是如今深度學習界的主力軍,用于從研究到生產(chǎn)的各個領域。除了TorchServe外,PyTorch還與跟框架無關的平臺(比如Kubeflow)集成。此外,PyTorch的人氣與Hugging Face的Transformers庫大獲成功密不可分。
JAX:谷歌推出了JAX,基于設備加速的NumPy和JIT。正如PyTorch幾年前所做的那樣,它是一種更原生的深度學習框架,在研究領域迅速受到追捧。但它還不是谷歌聲稱的“官方”谷歌產(chǎn)品。
2. 硬件加速器
毫無疑問,英偉達的GPU 可以加速深度學習訓練,不過它最初是為視頻卡設計的。
通用GPU出現(xiàn)后,用于神經(jīng)網(wǎng)絡訓練的圖形卡人氣爆棚。這些通用GPU可以執(zhí)行任意代碼,不僅僅是渲染子例程。英偉達的CUDA編程語言提供了一種用類似C的語言編寫任意代碼的方法。通用GPU有相對方便的編程模型、大規(guī)模并行機制和高內存帶寬,現(xiàn)在為神經(jīng)網(wǎng)絡編程提供了一種理想的平臺。
如今,英偉達支持從桌面到移動、工作站、移動工作站、游戲機和數(shù)據(jù)中心的一系列GPU。
隨著英偉達GPU大獲成功,一路走來不乏后繼者,比如AMD的GPU和谷歌的TPU ASIC等。
3. AI計算平臺
如前所述,ML訓練和部署的速度很大程度上依賴硬件(比如GPU和TPU)。這些驅動平臺(即AI計算平臺)對性能至關重要。有兩個眾所周知的AI計算平臺:CUDA和OpenCL。
CUDA:CUDA(計算統(tǒng)一設備架構)是英偉達于2007年發(fā)布的并行編程范式。它是為圖形處理器和GPU的眾多通用應用設計的。CUDA是專有API,僅支持英偉達的Tesla架構GPU。CUDA支持的顯卡包括GeForce 8系列、Tesla和Quadro。
OpenCL:OpenCL(開放計算語言)最初由蘋果公司開發(fā),現(xiàn)由Khronos團隊維護,用于異構計算,包括CPU、GPU、DSP及其他類型的處理器。這種可移植語言的適應性足夠強,可以讓每個硬件平臺實現(xiàn)高性能,包括英偉達的GPU。
英偉達現(xiàn)在符合OpenCL 3.0,可用于R465及更高版本的驅動程序。使用OpenCL API,人們可以在GPU上啟動使用C編程語言的有限子集編寫的計算內核。
4. ML編譯器
ML編譯器在加速訓練和部署方面起著至關重要的作用。ML編譯器可顯著提高大規(guī)模模型部署的效率。有很多流行的編譯器,比如Apache TVM、LLVM、谷歌MLIR、TensorFlow XLA、Meta Glow、PyTorch nvFuser和Intel PlaidML。
5. ML云服務
ML云平臺和服務在云端管理ML平臺。它們可以通過幾種方式來優(yōu)化,以提高效率。
以Amazon SageMaker為例。這是一種領先的ML云平臺服務。SageMaker為ML生命周期提供了廣泛的功能特性:從準備、構建、訓練/調優(yōu)到部署/管理,不一而足。
它優(yōu)化了許多方面以提高訓練和部署效率,比如GPU上的多模型端點、使用異構集群的經(jīng)濟高效的訓練,以及適合基于CPU的ML推理的專有Graviton處理器。
結語
隨著深度學習訓練和部署規(guī)模不斷擴大,挑戰(zhàn)性也越來越大。提高深度學習訓練和部署的效率很復雜;贛L生命周期,有五個方面可以加速ML訓練和部署:AI框架、硬件加速器、計算平臺、ML編譯器和云服務。AI工程可以將所有這些協(xié)調起來,利用工程原理全面提高效率。
原文標題:5 Types of ML Accelerators,作者:Luhui Hu
文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據(jù)此操作,風險自擔。
2024年的Adobe MAX 2024發(fā)布會上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來都要半個月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關材料,僅幾秒鐘,重慶市民曾某的賬戶就打進了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實質性的幫助,雙十一期間低至2799元,性價比很高,簡直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會——工業(yè)互聯(lián)網(wǎng)標識解析專題論壇在沈陽成功舉辦。