欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學(xué)習(xí)模型部署與優(yōu)化:策略與實踐;L40S與A100、H100的對比分析

焦點訊 ? 來源:焦點訊 ? 作者:焦點訊 ? 2023-09-22 14:13 ? 次閱讀

深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、生成式AI、深度神經(jīng)網(wǎng)絡(luò)、抽象學(xué)習(xí)、Seq2Seq、VAE、GAN、GPT、BERT、預(yù)訓(xùn)練語言模型、Transformer、ChatGPT、GenAI、多模態(tài)大模型、視覺大模型、TensorFlow、PyTorch、Batchnorm、Scale、Crop算子、L40S、A100、H100、A800、H800

隨著生成式AI應(yīng)用的迅猛發(fā)展,我們正處在前所未有的大爆發(fā)時代。在這個時代,深度學(xué)習(xí)模型的部署成為一個亟待解決的問題。盡管GPU在訓(xùn)練和推理中扮演著關(guān)鍵角色,但關(guān)于它在生成式AI領(lǐng)域的誤解仍然存在。近期英偉達(dá)L40S GPU架構(gòu)成為了熱門話題,那么與A100和H100相比,L40S有哪些優(yōu)勢呢?

生成式AI應(yīng)用進(jìn)入大爆發(fā)時代

一、驅(qū)動因素:大模型、算力與生態(tài)的共振

生成式AI起源于20世紀(jì)50年代Rule-based的專家系統(tǒng),雖具備處理字符匹配、詞頻統(tǒng)計等簡單任務(wù)的能力,但詞匯量有限,上下文理解欠佳,生成創(chuàng)造性內(nèi)容的能力非常薄弱。

80年代機(jī)器學(xué)習(xí)的興起為AI注入新動力,90年代神經(jīng)網(wǎng)絡(luò)的出現(xiàn)使其開始模仿人腦,從數(shù)據(jù)中學(xué)習(xí)生成更真實內(nèi)容的能力。當(dāng)代生成式AI的核心技術(shù)起源于2012年后深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的不斷深化,模型通過層層抽象學(xué)習(xí)任務(wù)的復(fù)雜特征表示,進(jìn)而提高準(zhǔn)確性和真實性。

隨后幾年,Seq2Seq、VAE、GAN等一系列算法的成熟,以及計算能力和數(shù)據(jù)規(guī)模的增長,使大模型訓(xùn)練成為可能,讓生成式AI發(fā)展產(chǎn)生質(zhì)的飛躍。特別是GPT、BERT等預(yù)訓(xùn)練語言模型的誕生,標(biāo)志著文本生成領(lǐng)域邁入新的階段。

wKgaomUNMGeAZua-AAJq7Ho1W0I196.png

人工智能產(chǎn)業(yè)發(fā)展浪潮

1、模型、算力、生態(tài)推動 AI 應(yīng)用進(jìn)入大爆發(fā)時代

1)算法及模型的快速進(jìn)步

GenAI在文本領(lǐng)域取得重大進(jìn)展,隨著2017年Transformer模型的發(fā)布和2022年ChatGPT的推出,其多項能力已經(jīng)超越人類基準(zhǔn)。未來,更強(qiáng)大的語言大模型如GPT-5以及多模態(tài)大模型和視覺大模型的技術(shù)突破,將繼續(xù)推動AI應(yīng)用的持續(xù)進(jìn)化。

2)算力基礎(chǔ)設(shè)施將更快、更便宜

雖然短期內(nèi)大模型訓(xùn)練需求的激增導(dǎo)致算力成本的持續(xù)上漲,但是隨著英偉達(dá)算力芯片的不斷更新迭代,微軟、亞馬遜、谷歌等在 AI 云服務(wù)資本開支的不斷加大,AI 應(yīng)用的發(fā)展將得到更加強(qiáng)有力的支撐。

3)AI 生態(tài)的逐漸成熟

AI 組件層(AI Stack)的完善和產(chǎn)業(yè)分工細(xì)化,為 AI 應(yīng)用在模型訓(xùn)練、數(shù)據(jù)整合、應(yīng)用開發(fā)、應(yīng)用部署等環(huán)節(jié)提供全生命周期的支撐。

wKgZomUNMGeADd4yAAN27BGXLQ0215.png

模型、算力、生態(tài)推動為 AI 應(yīng)用進(jìn)入大爆發(fā)時代

目前,GPT-4在推理、生成、對話等多個維度上已經(jīng)超過人類水平。其強(qiáng)大不僅在于文本,更在于大模型框架本身就可適用于各種任務(wù),成為包括圖像、代碼、音頻等在內(nèi)的多模態(tài)生成的統(tǒng)一技術(shù)基礎(chǔ)。

wKgaomUNMGiATMJ0AAe5xO-EbLs516.png

GPT-4 是目前最強(qiáng)大的大模型

二、產(chǎn)業(yè)現(xiàn)狀:一二級視角看 AI 應(yīng)用的演進(jìn)

生成式AI應(yīng)用的發(fā)展經(jīng)歷三個階段:

1、GPT-3催生期

GPT-3強(qiáng)大的語言生成能力,使第一批像Jasper AI的生成式AI應(yīng)用得以在2021年誕生,并迅速增長用戶和收入。

2、2022年爆發(fā)期

這一年AI作畫應(yīng)用層出不窮,代表作有MidJourney和Stable Diffusion等。同時ChatGPT的發(fā)布標(biāo)志著文本生成進(jìn)入新的高度。視頻、3D等其他模態(tài)的生成能力也在提升。

3、2023年商業(yè)化期

GPT-4進(jìn)一步提升語言模型能力,而開源模型Llama提供低成本選擇。各行業(yè)的AI應(yīng)用如雨后春筍般涌現(xiàn),Microsoft和Salesforce等巨頭公布了AI產(chǎn)品的商業(yè)定價,預(yù)示著AI應(yīng)用正式步入商業(yè)化。

wKgZomUNMGiAfTVzAAYealoZkc8068.png

生成式 AI 應(yīng)用的發(fā)展階段

三、應(yīng)用框架:應(yīng)用的四大賽道與產(chǎn)業(yè)邏輯

生成式AI應(yīng)用可分為工具類、通用軟件類、行業(yè)軟件類和智能硬件類。工具類應(yīng)用如聊天機(jī)器人主要服務(wù)C端,同質(zhì)化嚴(yán)重,對底層模型高度依賴。通用軟件類應(yīng)用如辦公軟件,標(biāo)桿產(chǎn)品已經(jīng)出現(xiàn),將進(jìn)入商業(yè)化階段。行業(yè)軟件類面向特定垂直領(lǐng)域,如金融和醫(yī)療,行業(yè)差異大,數(shù)據(jù)挖掘是核心競爭力。智能硬件類應(yīng)用如自動駕駛,感知和決策是瓶頸,需要底層技術(shù)突破。從工具類到智能硬件類,應(yīng)用呈現(xiàn)從通用到專業(yè)、從C端到B端的演進(jìn)趨勢,競爭核心也從對模型依賴向數(shù)據(jù)應(yīng)用和底層技術(shù)創(chuàng)新轉(zhuǎn)變。這標(biāo)志著生成式AI應(yīng)用正在朝著成熟和落地方向發(fā)展。

wKgaomUNMGmAOF-pAAWQZ-dbsoc350.png

生成式 AI 應(yīng)用產(chǎn)業(yè)地圖

生成式AI的三大底層元能力是感知、分析和生成。當(dāng)前以文本理解為主,未來會延伸到圖像視覺感知。分析能力將從信息整合走向復(fù)雜推理。生成能力也會從文本拓展到圖片、視頻等多模態(tài)內(nèi)容。通過這三大能力的協(xié)同提升,生成式AI將實現(xiàn)跨模態(tài)的統(tǒng)一感知、理解和創(chuàng)造,向著對真實世界的全面理解與創(chuàng)造性反應(yīng)的方向演進(jìn),以達(dá)到更強(qiáng)大的智能水平。

生成式AI未來發(fā)展有四大方向:內(nèi)容生成、知識洞察、智能助手和數(shù)字代理。內(nèi)容生成是核心價值,通過提升大模型和多模態(tài)技術(shù)實現(xiàn)更廣泛內(nèi)容的自動化生成。知識洞察利用大模型分析數(shù)據(jù)提供洞見,服務(wù)決策。智能助手將AI能力嵌入場景中主動協(xié)作。數(shù)字代理基于環(huán)境自主決策和行動達(dá)成目標(biāo)。從被動服務(wù)到主動作為,生成式AI正朝著具備內(nèi)容創(chuàng)造、洞悉世界、智能協(xié)作及自主行動的更高智能方向演進(jìn)。

wKgZomUNMGmAE_HnAAO-_rI_bCc835.png

AI 細(xì)分應(yīng)用的標(biāo)桿產(chǎn)品與發(fā)展路徑

深度學(xué)習(xí)模型如何部署

訓(xùn)練出的模型需要經(jīng)過優(yōu)化和調(diào)整,以轉(zhuǎn)化為標(biāo)準(zhǔn)格式的推理模型,以便在部署中使用。優(yōu)化包括算子融合、常量折疊等操作,以提高推理性能。由于部署目標(biāo)場景各異,需要根據(jù)硬件限制來選擇合適的模型格式。為了適應(yīng)硬件限制,可能需要使用模型壓縮或降低精度等方法。模型部署后,推理時延和占用資源是關(guān)鍵指標(biāo),可以通過定制化芯片和軟硬協(xié)同優(yōu)化等方式進(jìn)行改進(jìn)。在軟件優(yōu)化中,需要考慮到數(shù)據(jù)布局、計算并行等因素,并針對CPU架構(gòu)進(jìn)行設(shè)計。模型是企業(yè)的重要資產(chǎn),因此部署后必須確保其安全性。總之,模型從訓(xùn)練到部署需要經(jīng)歷多個過程,包括轉(zhuǎn)化優(yōu)化、規(guī)模調(diào)整和軟硬協(xié)同等,以確保適應(yīng)不同場景的資源限制、性能指標(biāo)和安全要求,并充分發(fā)揮模型的價值。

針對上述模型部署時的挑戰(zhàn),業(yè)界有一些常見的方法:

算子融合

通過表達(dá)式簡化、屬性融合等方式將多個算子合并為一個算子的技術(shù),融合可以降低模型的計算復(fù)雜度及模型的體積。

常量折疊

將符合條件的算子在離線階段提前完成前向計算,從而降低模型的計算復(fù)雜度和模型的體積。

模型壓縮

通過量化、剪枝等手段減小模型體積以及計算復(fù)雜度的技術(shù),可以分為需要重訓(xùn)的壓縮技術(shù)和不需要重訓(xùn)的壓縮技術(shù)兩類。

數(shù)據(jù)排布

根據(jù)后端算子庫支持程度和硬件限制,搜索網(wǎng)絡(luò)中每層的最優(yōu)數(shù)據(jù)排布格式,并進(jìn)行數(shù)據(jù)重排或者插入數(shù)據(jù)重排算子,從而降低部署時的推理時延。

模型混淆

對訓(xùn)練好的模型進(jìn)行混淆操作,主要包括新增網(wǎng)絡(luò)節(jié)點和分支、替換算子名的操作,攻擊者即使竊取到混淆后的模型也不能理解原模型的結(jié)構(gòu)。此外,混淆后的模型可以直接在部署環(huán)境中以混淆態(tài)執(zhí)行,保證模型在運行過程中的安全性。

一、訓(xùn)練模型到推理模型的轉(zhuǎn)換及優(yōu)化

1、模型轉(zhuǎn)換

不同的模型訓(xùn)練框架如TensorFlow和PyTorch都有各自的數(shù)據(jù)結(jié)構(gòu)定義,這給模型部署帶來了一定的不便。為解決這個問題,業(yè)界開發(fā)開放的神經(jīng)網(wǎng)絡(luò)交換格式ONNX。它具有強(qiáng)大的表達(dá)能力,支持各種運算符,并提供不同框架到ONNX的轉(zhuǎn)換器。

模型轉(zhuǎn)換的本質(zhì)是在不同的數(shù)據(jù)結(jié)構(gòu)之間傳遞結(jié)構(gòu)化信息。因此,需要分析兩種結(jié)構(gòu)的異同點,對相似的結(jié)構(gòu)部分進(jìn)行直接映射,而對差異較大的部分則要根據(jù)語義找出合理的轉(zhuǎn)換方式。如果存在不兼容的情況,則無法進(jìn)行轉(zhuǎn)換。

ONNX的優(yōu)勢在于其強(qiáng)大的表達(dá)能力,大多數(shù)框架的模型都可以轉(zhuǎn)換到ONNX上,從而避免了不兼容的問題。作為中間表示格式,ONNX成為不同框架和部署環(huán)境之間的橋梁,實現(xiàn)模型的無縫遷移。

模型可以抽象為一種圖,從而模型的數(shù)據(jù)結(jié)構(gòu)可以解構(gòu)為以下兩個要點:

1)模型拓?fù)溥B接

從圖論角度看是圖的邊,對應(yīng)模型中的數(shù)據(jù)流和控制流。決定子圖表達(dá)、輸入輸出以及控制流結(jié)構(gòu)。不同框架對此有不同表示,需要進(jìn)行等價轉(zhuǎn)換。如TensorFlow的循環(huán)控制流轉(zhuǎn)為ONNX的While、If算子,避免引入環(huán)。

2)算子原型定義

從圖論角度看是圖的頂點,對應(yīng)模型的運算單元。包括算子類型、輸入輸出、屬性等。不同框架的算子雖然名稱相同,但語義不一致。因此需要解析語義等價性,進(jìn)行適當(dāng)映射。例如Caffe的Slice算子需要轉(zhuǎn)為ONNX的Split。沒有完全等價算子也需要組合表達(dá)。

模型轉(zhuǎn)換完成后,會進(jìn)行各種優(yōu)化來提前完成一些常量計算,合并相關(guān)的算子,用更強(qiáng)大的算子替換多個簡單算子,根據(jù)依賴關(guān)系重排算子等。這些算子融合、折疊、替換、重排的優(yōu)化手段和編譯器進(jìn)行的優(yōu)化非常類似,目的都是提前計算,減少運算量,增強(qiáng)并行度。之所以只能在部署階段進(jìn)行徹底優(yōu)化是因為只有這個時段才能確定硬件后端和運行環(huán)境。模型部署階段的優(yōu)化能夠有效壓縮模型大小,減少計算量,提升執(zhí)行效率。與編譯優(yōu)化思路一脈相承都遵循提前計算、融合運算、調(diào)整布局的策略,以更好地發(fā)揮硬件性能。

2、算子融合

算子融合是一種模型壓縮技術(shù),其核心思想是合并多個相關(guān)的算子成一個算子。在深度學(xué)習(xí)模型中,大量重復(fù)的計算和頻繁的內(nèi)存訪問會導(dǎo)致推理延遲和能耗問題。算子融合通過解析模型拓?fù)浣Y(jié)構(gòu),找出可以合并的算子節(jié)點,按照一定規(guī)則將其“融合”為新的算子。這相當(dāng)于在圖論中的“合同圖”,可以有效減少節(jié)點數(shù)量和邊數(shù)量。減少節(jié)點數(shù)量意味著運算步驟更少,減少邊數(shù)量意味著內(nèi)存訪問更少。因此,算子融合技術(shù)可以減小模型的計算復(fù)雜度和存儲占用,從而降低模型推理時的時延和功耗。

wKgaomUNMGqAb3N6AAAh_FaS_QY518.png

計算機(jī)分層存儲架構(gòu)

算子融合的性能提升主要源自兩點:

1)充分利用緩存,減少內(nèi)存訪問

CPU寄存器和多級緩存速度遠(yuǎn)快于內(nèi)存,融合后一次計算結(jié)果可暫存至高速緩存,供下一計算直接讀取,省去內(nèi)存讀寫的開銷。

2)提前計算,消除冗余

多次相同計算可以預(yù)先完成,避免在前向推理時重復(fù)運算,特別是循環(huán)中的重復(fù)計算。CPU與內(nèi)存之間存在巨大的速度鴻溝??拷麮PU的緩存越小且越快,內(nèi)存越大越慢。算子融合通過合并操作,充分利用緩存加速重復(fù)計算,并消除冗余,減少內(nèi)存訪問次數(shù)。這是其能明顯減小時延和功耗的根本原因。

3、算子替換

算子替換旨在將模型中的算子替換為計算邏輯相同但更適合在線部署的算子。該技術(shù)通過數(shù)學(xué)方法如合并同類項和提取公因式,簡化算子的計算公式,并將簡化后的公式映射到一類更高效的算子上。通過算子替換,可以實現(xiàn)降低計算量和模型大小的效果。

wKgZomUNMGqAMrb5AACQ-i229IY276.png

Batchnorm算子替換

通過將Batchnorm算子替換為Scale算子,可以在模型部署階段優(yōu)化功耗和性能。然而需要注意的是,這種優(yōu)化策略只適用于部署階段,因為在訓(xùn)練階段,Batchnorm算子中的參數(shù)被視為變量而不是常量。此外,這種優(yōu)化策略會改變模型的結(jié)構(gòu),降低模型的表達(dá)能力,并且可能影響模型在訓(xùn)練過程中的收斂性和準(zhǔn)確率。

4、算子重排

算子重排通過重新排布模型中算子的拓?fù)湫騺頊p少模型推理的計算量,同時保持推理精度不變。常見的算子重排技術(shù)包括將裁切類算子(如Slice、StrideSlice、Crop等)向前移動,對Reshape和Transpose算子進(jìn)行重排,以及對BinaryOp算子進(jìn)行重排。這些技術(shù)的目標(biāo)是通過重新組織算子的計算順序,減少不必要的計算和數(shù)據(jù)傳輸,從而提高模型的推理效率。

wKgaomUNMGuAYzuYAACxZLW_W8Y632.png

Crop算子重排

通過將Crop算子的裁切過程前移,即在模型中提前對特征圖進(jìn)行裁切,可以降低后續(xù)算子的計算量,從而提高模型在部署階段的推理性能。這種優(yōu)化策略的性能提升取決于Crop算子的參數(shù)設(shè)置。然而需要注意的是,只有element-wise類算子才能進(jìn)行前移操作。根據(jù)之前的實驗數(shù)據(jù),可以看出,在模型部署前進(jìn)行優(yōu)化可以顯著提升推理的時延、功耗和內(nèi)存占用效果。

二、模型壓縮

針對不同硬件環(huán)境的需求差異,比如在手機(jī)等資源受限的設(shè)備上部署模型時,對模型大小通常有嚴(yán)格的要求,一般要求在幾兆字節(jié)的范圍內(nèi)。因此,對于較大的模型,通常需要采用一些模型壓縮技術(shù),以滿足不同計算硬件的需求。這些技術(shù)可以通過減少模型參數(shù)、降低模型復(fù)雜度或使用量化等方法來實現(xiàn)。通過模型壓縮,可以在保持模型性能的同時,減小模型的存儲空間和計算開銷,從而更好地適應(yīng)不同的硬件平臺。

1、量化

模型量化通過以較低的推理精度損失來表示連續(xù)取值的浮點型權(quán)重。通過使用更少的位數(shù)來表示浮點數(shù)據(jù),模型量化可以減小模型的尺寸,從而減少在推理過程中的內(nèi)存消耗。此外,在一些支持低精度運算的處理器上,模型量化還可以提高推理速度。

wKgZomUNMGuAKvjtAAAag3YZyoM642.png

量化原理

在計算機(jī)中,不同數(shù)據(jù)類型的占用比特數(shù)和表示范圍不同。通過將模型的參數(shù)量化為不同位數(shù)的數(shù)據(jù)類型,可以根據(jù)實際需求來降低模型的存儲大小。一般來說,深度神經(jīng)網(wǎng)絡(luò)中的參數(shù)使用單精度浮點數(shù)表示,但如果可以近似使用有符號整數(shù)來表示參數(shù),那么量化后的權(quán)重參數(shù)存儲大小可以減少到原來的四分之一。量化位數(shù)越少,模型壓縮率越高。

此外,根據(jù)量化方法是否使用線性或非線性量化,可以進(jìn)一步將量化方法分為線性量化和非線性量化。實際深度神經(jīng)網(wǎng)絡(luò)中,權(quán)重和激活值通常是不均勻的,因此理論上,非線性量化可以更準(zhǔn)確地表示這些值,從而減小精度損失。然而,在實際推理中,非線性量化的計算復(fù)雜度較高,因此通常使用線性量化來進(jìn)行模型量化。

1)量化感知訓(xùn)練

量化感知訓(xùn)練是一種在訓(xùn)練過程中模擬量化的方法,通過在模型中插入偽量化算子來模擬量化操作。在每次訓(xùn)練迭代中,量化感知訓(xùn)練會計算量化網(wǎng)絡(luò)層的權(quán)重和激活值的范圍,并將量化損失引入前向推理和反向傳播的過程中。通過這種方式,優(yōu)化器可以在訓(xùn)練過程中盡量減少量化誤差,從而獲得更高的模型精度。

具體而言,量化感知訓(xùn)練的流程如下:

初始化:設(shè)置權(quán)重和激活值的范圍,并初始化網(wǎng)絡(luò)的權(quán)重和激活值。

構(gòu)建模擬量化網(wǎng)絡(luò):在需要量化的權(quán)重和激活值后插入偽量化算子,以模擬實際量化操作。

量化訓(xùn)練:重復(fù)以下步驟直到網(wǎng)絡(luò)收斂。a. 計算量化網(wǎng)絡(luò)層的權(quán)重和激活值的范圍。 b. 根據(jù)范圍將量化損失帶入前向推理和反向傳播的過程中,以更新網(wǎng)絡(luò)的參數(shù)。

導(dǎo)出量化網(wǎng)絡(luò):獲取量化網(wǎng)絡(luò)層的權(quán)重和激活值的范圍,并計算量化參數(shù)。將量化參數(shù)代入量化公式中,將網(wǎng)絡(luò)中的權(quán)重轉(zhuǎn)換為量化整數(shù)值。最后,刪除偽量化算子,并在量化網(wǎng)絡(luò)層前后分別插入量化和反量化算子,以得到最終的量化網(wǎng)絡(luò)。

通過量化感知訓(xùn)練,可以在減小模型尺寸的同時,盡量保持模型的精度,并在低精度運算較快的處理器上獲得更快的推理速度。

2)訓(xùn)練后量化

在訓(xùn)練后的量化中,有兩種常見的方法:權(quán)重量化和全量化。

權(quán)重量化僅對模型的重進(jìn)行量化,以減小模型的大小。在推理時,將量化后權(quán)重反量化為原始的float32數(shù)據(jù),并使用普通的float32算子進(jìn)行推理。權(quán)重量化的好處是不需要校準(zhǔn)數(shù)據(jù)集,不需要實現(xiàn)量化算子,并且模型的精度誤差較小。然而,由于實際推理仍使用float32算子,推理性能不會提高。

全量化不僅量化模型權(quán)重,還量化模型激活值,通過執(zhí)行量化算子來加速推理過程。為量化激活值,需要提供一定數(shù)量校準(zhǔn)數(shù)據(jù)集,用于統(tǒng)計每一層激活值的分布,并對量化算子進(jìn)行校準(zhǔn)。校準(zhǔn)數(shù)據(jù)集可以來自訓(xùn)練數(shù)據(jù)集或真實場景的輸入數(shù)據(jù),通常數(shù)量很小。

在量化激活值時,首先使用直方圖統(tǒng)計原始float32數(shù)據(jù)的分布。然后,在給定的搜索空間中選擇適當(dāng)?shù)牧炕瘏?shù),將激活值量化為量化后的數(shù)據(jù)。接下來,使用直方圖統(tǒng)計量化后的數(shù)據(jù)分布,并計算量化參數(shù),以度量量化前后的分布差異。

此外,由于量化存在固有誤差,需要校正量化誤差。例如,在矩陣乘法中,需要校正量化后的均值和方差,以使其與float32算子一致。通過對量化后的數(shù)據(jù)進(jìn)行校正,可以保持量化后的分布與量化前一致。

量化方法作為一種通用的模型壓縮方法,可以顯著提高神經(jīng)網(wǎng)絡(luò)存儲和壓縮的效率,并已經(jīng)被廣泛應(yīng)用。

2、模型稀疏

稀疏模型是一種通過減少神經(jīng)網(wǎng)絡(luò)中的組件來降低存儲和計算成本的方法。它是一種為了降低模型計算復(fù)雜度而引入的強(qiáng)歸納偏差,類似于模型權(quán)重量化、權(quán)重共享和池化等方法。

1)模型稀疏的動機(jī)

稀疏模型的合理性可以從兩個方面解釋。

現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型通常存在過多的參數(shù),這導(dǎo)致模型過于復(fù)雜和冗余。

對于許多視覺任務(wù)來說,激活值特征圖中有用的信息只占整個圖像的一小部分。

基于這些觀察,稀疏模型可以通過去除權(quán)重或激活值中弱連接來減少冗余。具體而言,稀疏模型會根據(jù)連接的強(qiáng)度(通常是權(quán)重或激活的絕對值大小)對一些較弱的連接進(jìn)行剪枝,將它們置為零。這樣可以提高模型的稀疏度,并降低計算和存儲的需求。

然而,需要注意的是,稀疏模型的稀疏度越高,模型的準(zhǔn)確率下降可能會越大。因此,稀疏模型的目標(biāo)是在提高稀疏度的同時盡量減小準(zhǔn)確率的損失。

2)結(jié)構(gòu)與非結(jié)構(gòu)化稀疏

權(quán)重稀疏可以分為結(jié)構(gòu)化和非結(jié)構(gòu)化稀疏。結(jié)構(gòu)化稀疏通過在通道或卷積核層面對模型進(jìn)行剪枝,得到規(guī)則且規(guī)模更小的權(quán)重矩陣。這種稀疏方式適合在CPU和GPU上進(jìn)行加速計算,但準(zhǔn)確率下降較大。非結(jié)構(gòu)化稀疏可以對權(quán)重矩陣中任意位置的權(quán)重進(jìn)行裁剪,準(zhǔn)確率下降較小。然而,非結(jié)構(gòu)化稀疏的不規(guī)則性導(dǎo)致難以利用硬件加速,并帶來指令層面和線程層面的并行度下降,以及訪存效率降低的問題。為了克服這些問題,最近的研究提出了結(jié)合結(jié)構(gòu)化和非結(jié)構(gòu)化稀疏的方法,以兼具兩者的優(yōu)點并解決其缺點。

3)稀疏策略

稀疏模型的具體策略包括預(yù)訓(xùn)練、剪枝和微調(diào)。預(yù)訓(xùn)練是指首先訓(xùn)練一個稠密模型,然后在此基礎(chǔ)上進(jìn)行稀疏和微調(diào)。剪枝是指根據(jù)一定的規(guī)則或標(biāo)準(zhǔn),去除模型中的冗余權(quán)重,使模型更加稀疏。剪枝可以一次性進(jìn)行,也可以與訓(xùn)練交替進(jìn)行,逐步發(fā)現(xiàn)冗余的部分。微調(diào)是指在剪枝后對模型進(jìn)行進(jìn)一步的訓(xùn)練,以恢復(fù)稀疏模型的準(zhǔn)確性。

以Deep Compression為例,剪枝后的稀疏模型可以進(jìn)一步進(jìn)行量化,即使用更低比特的數(shù)據(jù)來表示權(quán)重。此外,結(jié)合霍夫曼編碼可以進(jìn)一步減小模型的存儲空間。這些策略的綜合應(yīng)用可以顯著降低模型的存儲需求,同時保持較高的準(zhǔn)確性。

wKgaomUNMGuAOG8SAAG-Mexepy0438.png

Deep Compression

除了直接去除冗余的神經(jīng)元之外,還可以使用基于字典學(xué)習(xí)的方法來去除深度卷積神經(jīng)網(wǎng)絡(luò)中無用的權(quán)值。這種方法通過學(xué)習(xí)一系列卷積核的基,將原始卷積核變換到系數(shù)域上,并且使其變得稀疏。例如,Bagherinezhad等人提出了一種方法,將原始卷積核分解成卷積核的基和稀疏系數(shù)的加權(quán)線性組合。通過這種方式,可以有效地去除網(wǎng)絡(luò)中不必要的權(quán)值,從而減少模型的存儲需求和計算復(fù)雜度。

3、知識蒸餾

教師-學(xué)生神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,也稱為知識蒸餾。在實踐中,大型深度網(wǎng)絡(luò)通常能夠獲得出色的性能,因為過度參數(shù)化有助于提高模型的泛化能力。在知識蒸餾中,通常使用一個較大的神經(jīng)網(wǎng)絡(luò)作為教師網(wǎng)絡(luò),已經(jīng)經(jīng)過預(yù)訓(xùn)練并具有較高的準(zhǔn)確性。然后,將一個全新的、更深、更窄的神經(jīng)網(wǎng)絡(luò)作為學(xué)生網(wǎng)絡(luò),通過監(jiān)督學(xué)習(xí)的方式將教師網(wǎng)絡(luò)的知識傳授給學(xué)生網(wǎng)絡(luò)。知識蒸餾的關(guān)鍵在于如何有效地將教師網(wǎng)絡(luò)的知識轉(zhuǎn)移到學(xué)生網(wǎng)絡(luò)中,從而提高學(xué)生網(wǎng)絡(luò)的性能和泛化能力。

wKgZomUNMGyAPSEoAAB2UCunLOU416.png

一種基于感知(attention)的教師神經(jīng)網(wǎng)絡(luò)-學(xué)生神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法

知識蒸餾是一種有效的方法,可以幫助小網(wǎng)絡(luò)進(jìn)行優(yōu)化,并且可以與剪枝、量化等其他壓縮方法結(jié)合使用。通過知識蒸餾可以訓(xùn)練出具有高精度和較小計算量的高效模型。這種綜合應(yīng)用可以顯著減小模型的復(fù)雜性,同時保持較高的性能。

四、模型推理

將訓(xùn)練好的模型部署到計算硬件上進(jìn)行推理時,需要經(jīng)歷幾個關(guān)鍵步驟:

前處理:將原始數(shù)據(jù)進(jìn)行預(yù)處理,使其適合輸入到網(wǎng)絡(luò)中進(jìn)行推理。

推理執(zhí)行:將經(jīng)過訓(xùn)練和轉(zhuǎn)換的模型部署到設(shè)備上,通過輸入數(shù)據(jù)進(jìn)行計算,得到輸出數(shù)據(jù)。

后處理:對模型的輸出結(jié)果進(jìn)行進(jìn)一步的處理,例如應(yīng)用篩選閾值或其他后處理操作,以獲得最終的結(jié)果。

這些步驟是將訓(xùn)練好的模型應(yīng)用到實際場景中的關(guān)鍵環(huán)節(jié),確保模型能夠正確地處理輸入數(shù)據(jù)并生成準(zhǔn)確的輸出。

1、前處理與后處理

1)前處理

在機(jī)器學(xué)習(xí)中,數(shù)據(jù)預(yù)處理是一個關(guān)鍵的步驟,它的目的是將原始數(shù)據(jù)轉(zhuǎn)換為適合模型輸入的形式,并消除其中的噪聲和無關(guān)信息,以提高模型的性能和可靠性。

數(shù)據(jù)預(yù)處理通常包括以下幾個方面:

特征編碼:將原始數(shù)據(jù)轉(zhuǎn)換為機(jī)器學(xué)習(xí)模型可以處理的數(shù)字形式。這涉及到將不同類型的數(shù)據(jù)(如文本、圖像、音頻等)轉(zhuǎn)換為數(shù)值表示,例如使用獨熱編碼、序號編碼等方法。

數(shù)據(jù)歸一化:將數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,使其具有相同的尺度和范圍,消除不同特征之間的量綱差異。常見的歸一化方法包括最小-最大縮放和Z-score標(biāo)準(zhǔn)化。

處理離群值:離群值是與其他數(shù)據(jù)點相比具有顯著不同的異常值,可能會對模型的性能產(chǎn)生不好影響。因此,可以通過檢測和處理離群值來提高模型的準(zhǔn)確性和魯棒性。

通過數(shù)據(jù)預(yù)處理,我們可以提取和凸顯有價值的特征,同時去除無關(guān)信息和噪聲,為模型提供更好的輸入,從而改善模型的性能和泛化能力。

2)后處理

在模型推理完成后,通常需要對輸出數(shù)據(jù)進(jìn)行后處理,以獲得更可靠和有用的結(jié)果。常見的數(shù)據(jù)后處理手段包括:

離散化連續(xù)數(shù)據(jù):如果模型的輸出是連續(xù)值,但實際應(yīng)用需要離散值,可以使用四舍五入、取閾值等方法將連續(xù)數(shù)據(jù)轉(zhuǎn)換為離散數(shù)據(jù),以得到實際可用的結(jié)果。

數(shù)據(jù)可視化:通過將數(shù)據(jù)以圖形或表格的形式呈現(xiàn),可以更直觀地理解數(shù)據(jù)之間的關(guān)系和趨勢,從而決定下一步的分析策略。

手動調(diào)整預(yù)測范圍:某些情況下,回歸模型可能無法準(zhǔn)確預(yù)測極端值,而結(jié)果集中在中間范圍。在這種情況下,可以手動調(diào)整預(yù)測范圍,通過乘以一個系數(shù)來放大或縮小預(yù)測結(jié)果,以獲得更準(zhǔn)確的預(yù)測結(jié)果。

這些后處理手段可以進(jìn)一步優(yōu)化模型的輸出結(jié)果,使其更符合實際應(yīng)用需求,并提供更有用的信息供用戶決策和分析。

2、并行計算

為了提高推理性能,推理框架通常會使用多線程機(jī)制來利用多核處理器的能力。這種機(jī)制的主要思想是將輸入數(shù)據(jù)切分成多個小塊,并使用多個線程并行地執(zhí)行算子計算。每個線程負(fù)責(zé)處理不同的數(shù)據(jù)塊,從而實現(xiàn)算子的并行計算,大大提高了計算性能。通過這種方式,可以充分利用多核處理器的計算能力,加速推理過程,提高系統(tǒng)的響應(yīng)速度。

wKgZomUNMG6Ae-zpAABPQlKvpws569.png

矩陣乘數(shù)據(jù)切分

為了實現(xiàn)矩陣乘的多線程并行計算,可以按照左矩陣的行進(jìn)行切分,并使用線程池機(jī)制來方便地進(jìn)行算子并行計算。在業(yè)界,有兩種常用的做法:

1)使用OpenMP編程接口,它提供了一套跨平臺的共享內(nèi)存多線程并發(fā)編程API。通過使用OpenMP的"parallel for"接口,可以實現(xiàn)對for循環(huán)體的代碼進(jìn)行多線程并行執(zhí)行。

2)推理框架自己實現(xiàn)針對算子并行計算的線程池機(jī)制。相對于使用OpenMP接口,推理框架的線程池可以更加針對性地實現(xiàn)算子的并行計算,從而提供更高的性能和更輕量的實現(xiàn)。

3、算子優(yōu)化

對于深度學(xué)習(xí)網(wǎng)絡(luò)而言,框架調(diào)度所占用的時間往往很少,性能的瓶頸通常出現(xiàn)在算子的執(zhí)行過程中。為提高性能,可以從硬件指令和算法兩個角度對算子進(jìn)行優(yōu)化。

從硬件指令角度來看,可以利用特定的硬件指令集,例如SIMD(單指令多數(shù)據(jù))指令集,來并行處理多個數(shù)據(jù)。這樣可以減少指令的執(zhí)行次數(shù),提高計算效率。另外,還可以使用硬件加速器,如GPU(圖形處理器)或TPU(張量處理器),來加速算子的執(zhí)行。

從算法角度來看,可以通過優(yōu)化算法的實現(xiàn)方式來提高性能。例如,可以使用更高效的矩陣乘法算法,減少乘法和加法的次數(shù)。還可以使用近似計算方法,如量化(將浮點數(shù)轉(zhuǎn)換為整數(shù))或剪枝(刪除不重要的權(quán)重),來減少計算量和存儲需求。

1)硬件指令優(yōu)化

絕大多數(shù)的設(shè)備上都有CPU,因此算子在CPU上的時間尤為重要。

匯編語言

高級編程語言通過編譯器將代碼轉(zhuǎn)換為機(jī)器指令碼序列,但其功能受限于編譯器能力。相比之下,匯編語言更接近機(jī)器語言,可以直接編寫特定的指令碼序列。匯編語言編寫的程序占用的存儲空間較少,執(zhí)行速度更快,效率也更高。

在實際應(yīng)用中,通常使用高級編程語言編寫大部分代碼,而對于性能要求較高的部分,可以使用匯編語言編寫,從而實現(xiàn)優(yōu)勢互補(bǔ)。在深度學(xué)習(xí)中,卷積和矩陣乘等算子涉及大量計算,使用匯編語言編寫這些算子可以顯著提高模型訓(xùn)練和推理的性能,通常能夠?qū)崿F(xiàn)數(shù)十到數(shù)百倍的性能提升。

寄存器與NEON指令

ARMv8系列的CPU上,有32個NEON寄存器,每個寄存器可以存放128位的數(shù)據(jù)。這意味著每個寄存器可以存儲4個float32數(shù)據(jù)、8個float16數(shù)據(jù)或16個int8數(shù)據(jù)。這些寄存器可以用于并行處理多個數(shù)據(jù),從而提高計算效率。

wKgaomUNMG-AEay5AABKLbx8xoo023.png

ARMv8處理器NEON寄存器v0的結(jié)構(gòu)

NEON指令集是針對ARMv8系列處理器的一種特殊指令集,允許同時對多個數(shù)據(jù)進(jìn)行操作,從而提高數(shù)據(jù)存取和計算的速度。與傳統(tǒng)的單數(shù)據(jù)操作指令相比,NEON指令可以一次性處理多個數(shù)據(jù)。

例如,NEON的fmla指令可以同時對多個寄存器中的浮點數(shù)進(jìn)行乘法和累加操作。指令的用法類似于"fmla v0.4s, v1.4s, v2.4s",其中v0、v1和v2分別表示NEON寄存器,".4s"表示每個寄存器中有4個float值。這條指令的作用是將v1和v2兩個寄存器中相應(yīng)位置的float值相乘,并將結(jié)果累加到v0寄存器中的對應(yīng)位置。

通過使用NEON指令集,開發(fā)者可以充分利用處理器的并行計算能力,以更高效的方式處理大量數(shù)據(jù)。這種并行計算的優(yōu)勢可以在許多應(yīng)用中得到體現(xiàn),特別是在涉及大規(guī)模矩陣運算、圖像處理和信號處理等領(lǐng)域。

wKgZomUNMG-AOGHDAAArZL9Dbwo105.png

fmla指令計算功能

匯編語言優(yōu)化

在編寫匯編語言程序時,可以采取一些優(yōu)化策略來提高程序的性能,特別是通過提高緩存命中率來加速數(shù)據(jù)訪問。

一種常見的優(yōu)化策略是循環(huán)展開,通過使用更多的寄存器來減少內(nèi)存訪問,從而提高性能。另外,指令重排也是一種有效的優(yōu)化方法,通過重新安排指令的執(zhí)行順序,使得流水線能夠更充分地利用,減少延遲。

在使用NEON寄存器時,合理地分塊寄存器可以減少寄存器空閑時間,增加寄存器的復(fù)用率。此外,通過重排計算數(shù)據(jù)的存儲順序,可以提高緩存命中率,盡量保證讀寫指令訪問的內(nèi)存是連續(xù)的。

最后,使用預(yù)取指令可以將即將使用的數(shù)據(jù)提前從主存加載到緩存中,以減少訪問延遲。這些優(yōu)化策略的綜合應(yīng)用可以顯著提高程序的性能,使其達(dá)到數(shù)十到數(shù)百倍的提升。

五、模型的安全保護(hù)

模型的安全保護(hù)可以分為靜態(tài)保護(hù)和動態(tài)保護(hù)兩個方面。靜態(tài)保護(hù)主要關(guān)注模型在傳輸和存儲時的安全性,目前常用的方法是對模型文件進(jìn)行加密,以密文形式傳輸和存儲,并在內(nèi)存中解密后進(jìn)行推理。然而,這種方法存在內(nèi)存中明文模型被竊取的風(fēng)險。

動態(tài)保護(hù)則是在模型運行時進(jìn)行保護(hù),目前有三種常見的技術(shù)路線。一種是基于TEE(Trusted Execution Environment)的保護(hù)方案,通過可信硬件隔離出安全區(qū)域,在其中解密和運行模型。這種方案對推理時延影響較小,但需要特定的硬件支持,并且對大規(guī)模深度模型的保護(hù)有一定限制。另一種是基于密態(tài)計算的保護(hù)方案,利用密碼學(xué)方法保持模型在傳輸、存儲和運行過程中的密文狀態(tài)。

這種方案不依賴特定硬件,但會帶來較大的計算和通信開銷,并且無法保護(hù)模型的結(jié)構(gòu)信息。第三種是基于混淆的保護(hù)方案,通過對模型的計算邏輯進(jìn)行加擾,使得即使敵對方獲取到模型也無法理解其內(nèi)部結(jié)構(gòu)。相比前兩種方案,混淆方案的性能開銷較小,且精度損失較低,同時不依賴特定硬件,可以支持對大模型的保護(hù)。

模型混淆技術(shù)是一種能夠自動混淆明文AI模型計算邏輯的方法,使得攻擊者在傳輸和存儲過程中即使獲得了模型也無法理解其內(nèi)部邏輯。同時,該技術(shù)還可以保證模型在運行時的機(jī)密性,并且不會影響模型原本的推理結(jié)果,只帶來較小的推理性能開銷。

wKgaomUNMHCAVz1TAAJE1Nz0E00893.png

模型混淆實現(xiàn)步驟圖

結(jié)合上圖,詳細(xì)闡述模型混淆的執(zhí)行步驟:

對于一個已經(jīng)訓(xùn)練好的模型,首先需要對其模型文件進(jìn)行解析,并據(jù)此獲取模型計算邏輯的圖形表達(dá)形式(計算圖),以便進(jìn)行后續(xù)操作。這個計算圖包括了節(jié)點標(biāo)識符、節(jié)點運算符類型、節(jié)點參數(shù)權(quán)重以及網(wǎng)絡(luò)結(jié)構(gòu)等信息。

在完成獲取計算圖之后,可以通過圖壓縮和圖擴(kuò)展等技術(shù),對計算圖中節(jié)點與節(jié)點之間的依賴關(guān)系進(jìn)行混淆處理,以此隱藏模型真實的計算邏輯。圖壓縮主要是通過檢查整圖來匹配原始網(wǎng)絡(luò)中的關(guān)鍵子圖結(jié)構(gòu),并將這些子圖壓縮并替換為單個新的計算節(jié)點。在壓縮后的計算圖上,圖擴(kuò)展通過在網(wǎng)絡(luò)結(jié)構(gòu)中添加新的輸入/輸出邊,進(jìn)一步隱藏節(jié)點間的真實依賴關(guān)系。這些新添加的輸入/輸出邊可以來源于/指向現(xiàn)有的節(jié)點,也可以來源于/指向本步驟新增的混淆節(jié)點。

接著,為了進(jìn)一步達(dá)到模型混淆的效果,還可以對計算圖進(jìn)行加擾處理。常用的加擾手段包括添加冗余的節(jié)點和邊、融合部分子圖等。這些操作都是為了達(dá)到模型混淆的目的。

然后,在完成上述步驟后,需要遍歷處理后的計算圖,篩選出需要保護(hù)的節(jié)點。對于這些節(jié)點,將節(jié)點標(biāo)識符、節(jié)點運算符類型以及其他能夠描述節(jié)點計算邏輯的屬性替換為無語義信息的符號。對于節(jié)點標(biāo)識符的匿名化處理,需要保證匿名化后的節(jié)點標(biāo)識符仍然是唯一的,以便區(qū)分不同的節(jié)點。對于運算符類型的匿名化處理,為了避免大規(guī)模計算圖匿名化導(dǎo)致運算符類型的爆炸問題,可以將計算圖中同種運算符類型的節(jié)點劃分為若干不相交的集合,同一個集合中的節(jié)點的運算符類型替換為相同的匿名符號。這樣就能保證在節(jié)點匿名化后,模型仍然能夠被識別和執(zhí)行。

之后,對于每個需要保護(hù)的權(quán)重,通過一個隨機(jī)噪聲和映射函數(shù)來對它們進(jìn)行加擾處理。每個權(quán)重在加擾時都可以使用不同的隨機(jī)噪聲和映射函數(shù),同時這些加擾操作需要保證不會影響到模型執(zhí)行結(jié)果的正確性。

完成以上步驟后,將經(jīng)過處理后的計算圖保存為模型文件以供后續(xù)使用。同時,對于每個需要保護(hù)的算子類型,需要對其進(jìn)行形態(tài)變換并生成若干候選混淆算子。原本的算子與混淆算子之間是一對多的對應(yīng)關(guān)系,而候選混淆算子的數(shù)量等于之前步驟中劃分的節(jié)點集合的數(shù)量。在此基礎(chǔ)上,根據(jù)之前步驟(2)(3)(4)得到的匿名化算子類型、算子輸入/輸出關(guān)系等信息,可以對相應(yīng)的算子的接口進(jìn)行變換。算子接口的變換方式包括但不限于輸入輸出變換、接口名稱變換。其中,輸入輸出變換主要通過修改原算子的輸入輸出數(shù)據(jù)實現(xiàn),而接口名稱變換則是將原算子名稱替換為之前步驟中生成的匿名化算子名稱。這樣能保證在節(jié)點匿名化后,模型仍然能夠被識別和執(zhí)行,同時算子的名稱也不會泄露其計算邏輯。

此外,還需要對算子的代碼實現(xiàn)進(jìn)行變換。這種代碼實現(xiàn)的變換方式包括但不限于字符串加密、冗余代碼等軟件代碼混淆技術(shù)。這些混淆技術(shù)可以保證混淆算子與原算子實現(xiàn)語義相同的計算邏輯,但同時也會使得混淆后的算子難以閱讀和理解。需要注意的是,不同的算子可以采用不同組合的代碼混淆技術(shù)進(jìn)行代碼變換。另外,在步驟(4)中提到的參數(shù)被加擾的算子,其混淆算子也需實現(xiàn)權(quán)重加擾的逆映射函數(shù),以便在算子執(zhí)行過程中動態(tài)消除噪聲擾動,并保證混淆后模型的計算結(jié)果與原模型一致。

之后,將生成的混淆算子保存為庫文件供后續(xù)使用。這些庫文件包含了所有需要的混淆算子和它們的代碼實現(xiàn)。

完成上述所有步驟后,將混淆態(tài)模型文件以及相應(yīng)的混淆算子庫文件部署到目標(biāo)設(shè)備上。這樣就可以準(zhǔn)備執(zhí)行模型推理任務(wù)了。

在執(zhí)行推理任務(wù)前,首先需要根據(jù)模型結(jié)構(gòu)解析混淆態(tài)模型文件以獲取模型計算邏輯的圖形表達(dá)(即混淆計算圖)。

然后需要對這個混淆計算圖進(jìn)行初始化處理,生成執(zhí)行任務(wù)序列。根據(jù)安全配置選項的要求,如果需要保護(hù)模型在運行時的安全,那么可以直接對這個混淆計算圖進(jìn)行初始化處理;如果只需要保護(hù)模型在傳輸和存儲時的安全,那么可以先將內(nèi)存中的混淆計算圖恢復(fù)為原計算圖,然后對原計算圖進(jìn)行初始化處理生成執(zhí)行任務(wù)序列。這個任務(wù)序列中的每個計算單元對應(yīng)一個混淆算子或原算子的執(zhí)行。這樣做可以進(jìn)一步降低推理時的性能開銷。

最后,根據(jù)AI應(yīng)用程序輸入的推理數(shù)據(jù),遍歷執(zhí)行任務(wù)序列中的每個計算單元并得到推理結(jié)果。如果當(dāng)前計算單元對應(yīng)的算子是混淆算子,那么就調(diào)用混淆算子庫;否則就調(diào)用原算子庫。這樣就可以完成整個推理任務(wù)。

GPU在生成式AI領(lǐng)域的誤解

生成式AI激發(fā)了我們的想象力,在各領(lǐng)域從預(yù)測性維護(hù)、患者診斷到客戶支持等展現(xiàn)出了前所未有的潛力。這種潛力依賴于GPU提供的加速計算能力,使其能夠高效訓(xùn)練復(fù)雜語言模型。然而,對GPU的過度簡化或盲目信仰可能導(dǎo)致預(yù)期之外的問題,延誤甚至失敗數(shù)據(jù)科學(xué)項目。下面是在構(gòu)建AI項目時需要避免的五個關(guān)于GPU的誤解。

一、GPU正在提供最快的結(jié)果

在GPU之前,每個時間步驟大約有70%的時間被用于數(shù)據(jù)復(fù)制,以完成數(shù)據(jù)流程的各個階段。GPU可以通過實現(xiàn)大規(guī)模并行計算,顯著降低基礎(chǔ)設(shè)施成本,并為端到端數(shù)據(jù)科學(xué)工作流提供卓越性能。12個NVIDIA GPU可以提供相當(dāng)于2000個現(xiàn)代CPU的深度學(xué)習(xí)性能。若向同一服務(wù)器添加8個額外的GPU,則可提供多達(dá)55000個額外的核心。盡管GPU加速了計算過程,但研究指出它們可能會花費一半的時間等待數(shù)據(jù),這意味著最終需要等待結(jié)果。為充分運用GPU的計算能力,需要更強(qiáng)大的網(wǎng)絡(luò)與存儲支持。

二、帶寬為王,向帶寬致敬

雖然帶寬是優(yōu)化GPU使用的關(guān)鍵指標(biāo),但并不能準(zhǔn)確反映AI工作負(fù)載的所有特性。優(yōu)化數(shù)據(jù)流程需要考慮更多,而不僅僅是傳輸大量數(shù)據(jù)到GPU,IOPs和元數(shù)據(jù)同樣重要。不同的數(shù)據(jù)流程步驟有不同的IO需求,可能導(dǎo)致傳統(tǒng)存儲無法滿足。

除了帶寬,還需要考慮IOPS、延遲和元數(shù)據(jù)操作等性能特性。某些步驟需要低延遲和隨機(jī)小IO,有些則需要大規(guī)模的流媒體帶寬,還有一些需要同時進(jìn)行兩者的并發(fā)混合。多個數(shù)據(jù)流程同時運行,增加了同時處理不同IO配置文件的需求。

三、GPU驅(qū)動的AI工作負(fù)載在處理小文件時始終面臨挑戰(zhàn)

訓(xùn)練大語言模型用于大多數(shù)生成式AI應(yīng)用涉及大量小文件,如數(shù)百萬小圖片和每個IoT設(shè)備的日志等數(shù)據(jù)。ETL工作流程會規(guī)范數(shù)據(jù)并使用隨機(jī)梯度下降訓(xùn)練模型,這導(dǎo)致大規(guī)模的元數(shù)據(jù)和隨機(jī)讀取問題,特別是在AI深度學(xué)習(xí)流程的第一部分中有許多小IO請求,許多存儲平臺無法有效處理。

四、存儲?GPU的重點在于計算能力

AI工作負(fù)載對性能、可用性和靈活性有特殊需求,傳統(tǒng)存儲平臺難以滿足。選擇適合AI工作負(fù)載的存儲解決方案對滿足業(yè)務(wù)需求有顯著影響。成功的AI項目在計算和存儲需求方面往往迅速增長,因此需要仔細(xì)考慮存儲選擇的影響。然而,大多數(shù)AI基礎(chǔ)設(shè)施的關(guān)注和投入集中在GPU和網(wǎng)絡(luò)上,存儲設(shè)備的預(yù)算所剩無幾。對于AI存儲來說,性能在大規(guī)模上同樣重要,不僅僅是滿足傳統(tǒng)的要求。

五、本地存儲才是GPU最快的存儲方式

隨著AI數(shù)據(jù)集不斷增大,數(shù)據(jù)加載時間成為工作負(fù)載性能瓶頸。從本地NVMe存儲中檢索數(shù)據(jù)可避免傳輸瓶頸和延遲,但服務(wù)器主機(jī)已無法滿足GPU速度增長需求。GPU受到慢速IO制約。

英偉達(dá)L40S GPU架構(gòu)及A100、H100對比

wKgZomUNMHGAK0jWAAH-zTd7TPI465.png|imageslim

在SIGGRAPH 2023上,NVIDIA推出全新的NVIDIA L40S GPU和搭載L40S的NVIDIA OVX服務(wù)器。這些產(chǎn)品主要針對生成式人工智能模型的訓(xùn)練和推理,有望進(jìn)一步提升生成式人工智能模型的訓(xùn)練和推理場景的計算效率。

L40S基于Ada Lovelace架構(gòu),配備48GB的GDDR6顯存和846GB/s的帶寬。在第四代Tensor核心和FP8 Transformer引擎的支持下,可以提供超過1.45 PFLOPS的張量處理能力。根據(jù)NVIDIA給出的數(shù)據(jù),在微調(diào)和推理場景的測試用例下,L40S的計算效率比A100有所提高。

wKgaomUNMHGAb-8dAAEO53eabrU027.png

相較于A100 GPU,L40S在以下幾個方面存在差異:

一、顯存類型

L40S采用更為成熟的GDDR6顯存技術(shù),與A100和H100使用的HBM顯存相比,雖然在顯存帶寬上有所降低,但技術(shù)成熟度高且市場供應(yīng)充足。

二、算力表現(xiàn)

L40S在FP16算力(智能算力)方面較A100有所提高,而在FP32算力(通用算力)方面較A100有更為明顯的提升,使其更適應(yīng)科學(xué)計算等場景的需求。

三、能耗表現(xiàn)

相較于A100,L40S在功率上有所降低,這有利于降低數(shù)據(jù)中心的相關(guān)能耗,提高能源效率。

四、性價比較

根據(jù)Super Micro的數(shù)據(jù),L40S在性價比上相較于A100具有優(yōu)勢,為希望部署高效且具有競爭力的生成式人工智能解決方案的用戶提供更多選擇。

wKgaomUNMHOAMgfJAAGPJur_-Tc008.png|imageslim

L40S與A100、H100存在差異化設(shè)計

類似于A100,L40S通過16通道的PCIe Gen 4接口與CPU進(jìn)行通信,最大雙向傳輸速率為64 GB/s。然而,與L40S不同的是,NVIDIA Grace Hopper采用NVLink-C2C技術(shù)將Hopper架構(gòu)的GPU與Grace架構(gòu)的CPU相連,實現(xiàn)CPU到GPU、GPU到GPU間總帶寬高達(dá)900 GB/s,比PCIe Gen 5快7倍。

wKgZomUNMHSAGYBYAADe17u1rxg089.png|imageslim

PCIe協(xié)議對L40S的通信寬帶有所限制

基于Ada Lovelace架構(gòu)的L40S GPU,配備GDDR6顯存和846GB/s帶寬,并通過第四代Tensor核心和FP8 Transformer引擎提供超過1.45 PetaFLOPS的張量處理能力。針對計算密集型任務(wù),L40S的18,176個CUDA核心可提供比A100高近5倍的單精度浮點性能,從而加速復(fù)雜計算和數(shù)據(jù)密集型分析。

此外,為支持專業(yè)視覺處理工作,如實時渲染、產(chǎn)品設(shè)計和3D內(nèi)容創(chuàng)建,L40S還配備142個第三代RT核心,可提供212TFLOP的光線追蹤性能。功耗達(dá)到350瓦。對于生成式AI工作負(fù)載,L40S相較于A100可實現(xiàn)高達(dá)1.2倍的推理性能提升和高達(dá)1.7倍的訓(xùn)練性能提升。在L40S GPU的加持下,英偉達(dá)還推出最多可搭載8張L40S的OVX服務(wù)器。英偉達(dá)方面宣布,對于擁有8.6億token的GPT3-40B模型,OVX服務(wù)器只需7個小時就能完成微調(diào);對于Stable Diffusion XL模型,則可實現(xiàn)每分鐘80張的圖像生成。

藍(lán)海大腦大模型訓(xùn)練平臺

藍(lán)海大腦大模型訓(xùn)練平臺提供強(qiáng)大的算力支持,包括基于開放加速模組高速互聯(lián)的AI加速器。配置高速內(nèi)存且支持全互聯(lián)拓?fù)?滿足大模型訓(xùn)練中張量并行的通信需求。支持高性能I/O擴(kuò)展,同時可以擴(kuò)展至萬卡AI集群,滿足大模型流水線和數(shù)據(jù)并行的通信需求。強(qiáng)大的液冷系統(tǒng)熱插拔及智能電源管理技術(shù),當(dāng)BMC收到PSU故障或錯誤警告(如斷電、電涌,過熱),自動強(qiáng)制系統(tǒng)的CPU進(jìn)入ULFM(超低頻模式,以實現(xiàn)最低功耗)。致力于通過“低碳節(jié)能”為客戶提供環(huán)保綠色的高性能計算解決方案。主要應(yīng)用于深度學(xué)習(xí)、學(xué)術(shù)教育、生物醫(yī)藥、地球勘探、氣象海洋、超算中心、AI及大數(shù)據(jù)等領(lǐng)域。

wKgaomUNMHSASXQCAAEUk976QPU46.jpeg

一、為什么需要大模型?

1、模型效果更優(yōu)

大模型在各場景上的效果均優(yōu)于普通模型

2、創(chuàng)造能力更強(qiáng)

大模型能夠進(jìn)行內(nèi)容生成(AIGC),助力內(nèi)容規(guī)?;a(chǎn)

3、靈活定制場景

通過舉例子的方式,定制大模型海量的應(yīng)用場景

4、標(biāo)注數(shù)據(jù)更少

通過學(xué)習(xí)少量行業(yè)數(shù)據(jù),大模型就能夠應(yīng)對特定業(yè)務(wù)場景的需求

二、平臺特點

1、異構(gòu)計算資源調(diào)度

一種基于通用服務(wù)器和專用硬件的綜合解決方案,用于調(diào)度和管理多種異構(gòu)計算資源,包括CPU、GPU等。通過強(qiáng)大的虛擬化管理功能,能夠輕松部署底層計算資源,并高效運行各種模型。同時充分發(fā)揮不同異構(gòu)資源的硬件加速能力,以加快模型的運行速度和生成速度。

2、穩(wěn)定可靠的數(shù)據(jù)存儲

支持多存儲類型協(xié)議,包括塊、文件和對象存儲服務(wù)。將存儲資源池化實現(xiàn)模型和生成數(shù)據(jù)的自由流通,提高數(shù)據(jù)的利用率。同時采用多副本、多級故障域和故障自恢復(fù)等數(shù)據(jù)保護(hù)機(jī)制,確保模型和數(shù)據(jù)的安全穩(wěn)定運行。

3、高性能分布式網(wǎng)絡(luò)

提供算力資源的網(wǎng)絡(luò)和存儲,并通過分布式網(wǎng)絡(luò)機(jī)制進(jìn)行轉(zhuǎn)發(fā),透傳物理網(wǎng)絡(luò)性能,顯著提高模型算力的效率和性能。

4、全方位安全保障

在模型托管方面,采用嚴(yán)格的權(quán)限管理機(jī)制,確保模型倉庫的安全性。在數(shù)據(jù)存儲方面,提供私有化部署和數(shù)據(jù)磁盤加密等措施,保證數(shù)據(jù)的安全可控性。同時,在模型分發(fā)和運行過程中,提供全面的賬號認(rèn)證和日志審計功能,全方位保障模型和數(shù)據(jù)的安全性。

三、常用配置

1、處理器CPU:

Intel Xeon Gold 8358P 32C/64T 2.6GHz 48MB,DDR4 3200,Turbo,HT 240W

Intel Xeon Platinum 8350C 32C/64T 2.6GHz 48MB,DDR4 3200,Turbo,HT 240W

Intel Xeon Platinum 8458P 28C/56T 2.7GHz 38.5MB,DDR4 2933,Turbo,HT 205W

Intel Xeon Platinum 8468 Processor 48C/64T 2.1GHz 105M Cache 350W

AMD EPYC? 7742 64C/128T,2.25GHz to 3.4GHz,256MB,DDR4 3200MT/s,225W

AMD EPYC? 9654 96C/192T,2.4GHz to 3.55GHz to 3.7GHz,384MB,DDR5 4800MT/s,360W

2、顯卡GPU:

NVIDIA L40S GPU 48GB×8

NVIDIA NVLink-A100-SXM640GB

NVIDIA HGX A800 80GB×8

NVIDIA Tesla H800 80GB HBM2

NVIDIA A800-80GB-400Wx8-NvlinkSW×8

wKgZomUNMHSAOUfpAAAVVTObCaA273.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31616

    瀏覽量

    270445
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3329

    瀏覽量

    49252
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5516

    瀏覽量

    121586
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1570

    瀏覽量

    8097
收藏 人收藏

    評論

    相關(guān)推薦

    通往AGI之路:揭秘英偉達(dá)A100A800、H800、V100在高性能計算與大模型訓(xùn)練中的霸主地位

    英偉達(dá)前段時間發(fā)布GH 200包含 36 個 NVLink 開關(guān),將 256 個 GH200 Grace Hopper 芯片和 144TB 的共享內(nèi)存連接成一個單元。除此之外,英偉達(dá)A100、A800、H100、V
    的頭像 發(fā)表于 06-29 11:23 ?2.9w次閱讀
    通往AGI之路:揭秘英偉達(dá)<b class='flag-5'>A100</b>、<b class='flag-5'>A</b>800、<b class='flag-5'>H</b>800、V<b class='flag-5'>100</b>在高性能計算與大<b class='flag-5'>模型</b>訓(xùn)練中的霸主地位

    英偉達(dá)a100h100哪個強(qiáng)?英偉達(dá)A100H100的區(qū)別

    基于Ampere架構(gòu)的GPU計算加速器,專為高性能計算、人工智能和機(jī)器學(xué)習(xí)等領(lǐng)域而設(shè)計。它擁有高達(dá)6912個CUDA核心(在32GB版本中),是目前最強(qiáng)大的數(shù)據(jù)中心GPU之一。A100支持更快的訓(xùn)練速度和更大的模型容量,適用于需
    的頭像 發(fā)表于 08-09 17:31 ?4.8w次閱讀

    深度學(xué)習(xí)模型部署優(yōu)化策略實踐;L40SA100、H100對比分析

    隨著生成式AI應(yīng)用的迅猛發(fā)展,我們正處在前所未有的大爆發(fā)時代。在這個時代,深度學(xué)習(xí)模型部署成為一個亟待解決的問題。盡管GPU在訓(xùn)練和推理中扮演著關(guān)鍵角色,但關(guān)于它在生成式AI領(lǐng)域的誤
    的頭像 發(fā)表于 10-07 09:43 ?1653次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>模型</b><b class='flag-5'>部署</b>與<b class='flag-5'>優(yōu)化</b>:<b class='flag-5'>策略</b>與<b class='flag-5'>實踐</b>;<b class='flag-5'>L40S</b>與<b class='flag-5'>A100</b>、<b class='flag-5'>H100</b>的<b class='flag-5'>對比分析</b>

    英偉達(dá)a100h100哪個強(qiáng)?

    英偉達(dá)a100h100哪個強(qiáng)? 英偉達(dá)A100H100更強(qiáng)。英偉達(dá)A100在處理大型模型和數(shù)
    的頭像 發(fā)表于 08-07 17:32 ?1.6w次閱讀

    英偉達(dá)a100a800參數(shù)對比

    | | 尺寸(L x H) | 26.7 x 11.2 cm | 26.7 x 11.2 cm | | 適用領(lǐng)域 | AI、機(jī)器學(xué)習(xí)、高性能計算 | 虛擬桌面、虛擬應(yīng)用、多媒體、游戲 | 總體而言,
    的頭像 發(fā)表于 08-07 18:00 ?1.3w次閱讀
    英偉達(dá)<b class='flag-5'>a100</b>和<b class='flag-5'>a</b>800參數(shù)<b class='flag-5'>對比</b>

    英偉達(dá)A100H100的區(qū)別

    英偉達(dá)A100H100的區(qū)別 英偉達(dá)A100H100是兩種不同的產(chǎn)品。A100是英偉達(dá)在2020年推出的一款基于Ampere架構(gòu)的數(shù)據(jù)中
    的頭像 發(fā)表于 08-07 18:06 ?3w次閱讀

    英偉達(dá)A100A40對比

    TFLOPS的FP32浮點性能和156 TFLOPS的深度學(xué)習(xí)性能。 英偉達(dá)A100A40是英偉達(dá)公司推出的兩個數(shù)據(jù)中心加速器。它們都是基于英偉達(dá)的Ampere架構(gòu)設(shè)計的最新GPU
    的頭像 發(fā)表于 08-08 15:08 ?1.9w次閱讀

    英偉達(dá)A100的簡介

    英偉達(dá)A100的簡介 A100都是非常強(qiáng)大的GPU。英偉達(dá)A100、A800、H100、V100
    的頭像 發(fā)表于 08-08 15:17 ?9556次閱讀

    英偉達(dá)A100的優(yōu)勢分析

    英偉達(dá)A100的優(yōu)勢分析 在大模型訓(xùn)練中,A100是非常強(qiáng)大的GPU。A100是英偉達(dá)推出的一款強(qiáng)大的數(shù)據(jù)中心GPU,采用全新的Ampere
    的頭像 發(fā)表于 08-08 15:25 ?3421次閱讀

    英偉達(dá)h800和a100參數(shù)對比

    ,性能上更加出色。 4.極限功耗: H800的TDP為300W,而A100的TDP為400W,A100更加耗電。 5.顯存: H800擁有16GB HBM2顯存,而
    的頭像 發(fā)表于 08-08 15:53 ?3.4w次閱讀
    英偉達(dá)<b class='flag-5'>h</b>800和<b class='flag-5'>a100</b>參數(shù)<b class='flag-5'>對比</b>

    英偉達(dá)h800和a100的區(qū)別

    英偉達(dá)h800和a100的區(qū)別 NVIDIA H800和A100是NVIDIA的兩種不同類型的GPU,具有不同的架構(gòu)和特點。以下是它們之間的區(qū)別: 1. 架構(gòu):
    的頭像 發(fā)表于 08-08 16:05 ?1.8w次閱讀
    英偉達(dá)<b class='flag-5'>h</b>800和<b class='flag-5'>a100</b>的區(qū)別

    英偉達(dá)h800和h100的區(qū)別

    英偉達(dá)h800和h100的區(qū)別 其實大白話就是,A100H100是原版,特供中國市場的減配版是A800、
    的頭像 發(fā)表于 08-08 16:06 ?4.9w次閱讀
    英偉達(dá)<b class='flag-5'>h</b>800和<b class='flag-5'>h100</b>的區(qū)別

    英偉達(dá)L40S GPU及A100、H100對比分析

    基于Ada Lovelace架構(gòu)的L40S,配備有48GB的GDDR6顯存和846GB/s的帶寬。在第四代Tensor核心和FP8 Transformer引擎的加持下,可以提供超過1.45 PetaFLOPS的張量處理能力。
    發(fā)表于 08-20 09:46 ?1.6w次閱讀
    英偉達(dá)<b class='flag-5'>L40S</b> GPU及<b class='flag-5'>A100</b>、<b class='flag-5'>H100</b><b class='flag-5'>對比分析</b>

    瘋狂的H100:現(xiàn)代GPU體系結(jié)構(gòu)淺析,從算力焦慮開始聊起

    昂貴 H100 的一時洛陽紙貴,供不應(yīng)求,大模型訓(xùn)練究竟需要多少張卡呢?GPT-4 很有可能是在 10000 到 20000 張 A100 的基礎(chǔ)上訓(xùn)練完成的[8]。按照 Elon Musk 的說法
    的頭像 發(fā)表于 10-29 09:48 ?1w次閱讀
    瘋狂的<b class='flag-5'>H100</b>:現(xiàn)代GPU體系結(jié)構(gòu)淺析,從算力焦慮開始聊起

    揭秘:英偉達(dá)H100最強(qiáng)替代者

    目前,用于高端推理的 GPU 主要有三種:NVIDIA A100、NVIDIA H100 和新的 NVIDIA L40S。我們將跳過NVIDIA L4 24GB,因為它更像是低端推理卡
    的頭像 發(fā)表于 11-13 16:13 ?1907次閱讀
    揭秘:英偉達(dá)<b class='flag-5'>H100</b>最強(qiáng)替代者