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

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

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

硬件算法協(xié)同設(shè)計

深度學(xué)習(xí)自然語言處理 ? 來源:無數(shù)據(jù)不只能 ? 2023-05-25 10:33 ? 次閱讀

本文翻譯整理自 A Survey on Efficient Training of Transformers

來自:無數(shù)據(jù)不只能

069bbd6e-fa2a-11ed-90ce-dac502259ad0.png

在本文中,將探討了transformer高效訓(xùn)練方法,從存儲效率、硬件算法協(xié)同設(shè)計和計算效率三個角度進(jìn)行了闡述。

在計算效率方面,介紹加速優(yōu)化器、初始化、稀疏訓(xùn)練、過參數(shù)化、大批次訓(xùn)練和增量訓(xùn)練等優(yōu)化策略,以及token掩碼和重要性抽樣等數(shù)據(jù)選擇方法。

在內(nèi)存效率方面,介紹并行化、量化訓(xùn)練、再物化、卸載和參數(shù)效率微調(diào)等策略。

在硬件算法協(xié)同設(shè)計方面,介紹稀疏矩陣乘法、低精度硬件感知和高效注意力等方法。

計算效率

優(yōu)化

加速優(yōu)化器

AdamW是Adam的一個變體,其解耦了正則化2和權(quán)重衰減,是transformer中最常用的優(yōu)化器之一。

Lion只使用一階梯度跟蹤動量,更新只考慮符號方向,對每個參數(shù)具有相同的量級,與AdamW等自適應(yīng)優(yōu)化器有很大不同。在實踐中,Lion一般收斂更快,在各種基準(zhǔn)上訓(xùn)練transformer時,Lion的內(nèi)存效率和準(zhǔn)確性都比AdamW更高。

初始化

好的初始化對于穩(wěn)定訓(xùn)練、加速收斂、提高學(xué)習(xí)率和泛化能力很重要。

Fixup重新縮放標(biāo)準(zhǔn)初始化以確保梯度范數(shù)適當(dāng),避免梯度爆炸或消失,從而可在不添加歸一化層的情況下使用非常深的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。

ReZero和SkipInit只是將每個層初始化為執(zhí)行恒等操作,其基礎(chǔ)是歸一化殘差塊計算出的函數(shù)接近于恒等函數(shù)。它們在每個殘差塊的輸出上添加一個可學(xué)習(xí)的縮放乘法器。T-Fixup分析表明,Adam優(yōu)化器中二階動量的方差無界,導(dǎo)致部分優(yōu)化難度。因此,T-Fixup采用一種類似于Fixup對殘差塊的初始化的縮放方案。以上所有方法都從所有塊中刪除批/層歸一化,并在沒有學(xué)習(xí)率warm up的情況下進(jìn)行訓(xùn)練。

在訓(xùn)練深度視覺transformer(ViT)時,提出了通道級可學(xué)習(xí)的縮放因子,并根據(jù)經(jīng)驗觀察到重新引入預(yù)熱和層歸一化技術(shù)可以使訓(xùn)練更加穩(wěn)定。

稀疏訓(xùn)練

稀疏訓(xùn)練的關(guān)鍵思想是在不犧牲精度的情況下,直接訓(xùn)練稀疏子網(wǎng)絡(luò)而不是全網(wǎng)絡(luò)。可靠性首先由彩票假說(LTH)證明,一個密集的、隨機(jī)初始化的網(wǎng)絡(luò)包含子網(wǎng)絡(luò),這些子網(wǎng)絡(luò)可以單獨訓(xùn)練,以匹配原始網(wǎng)絡(luò)的精度。然而,LTH需要以交替訓(xùn)練-剪枝-再訓(xùn)練的方式識別中獎彩票,這使得大型模型和數(shù)據(jù)集的訓(xùn)練成本極其昂貴,限制了實際效益。鑒于此,具有更高訓(xùn)練效率的后續(xù)工作可以大致分為三類:

(i) 通過測量連接對損失的重要性,在初始化時一次性找到稀疏網(wǎng)絡(luò),消除了對復(fù)雜迭代優(yōu)化調(diào)節(jié)的需要;(ii) 通過低成本方案在非常早期的訓(xùn)練階段識別transformer中的中獎彩票,然后僅僅訓(xùn)練這些早期彩票,直到收斂;(iii) 在整個訓(xùn)練過程中使用交替修剪和增長計劃來動態(tài)更新模型稀疏模式,適用于通用架構(gòu)。

過參數(shù)化

實用的DNN是過于參數(shù)化的,其可學(xué)習(xí)的參數(shù)數(shù)量遠(yuǎn)遠(yuǎn)大于訓(xùn)練樣本的數(shù)量。過參數(shù)化可以在一定程度上提高收斂性和泛化性,雖然不充分,但有理論支持。早期的研究證明在線性神經(jīng)網(wǎng)絡(luò)中通過過參數(shù)化增加深度可以加速SGD的收斂。進(jìn)一步探索了兩層非線性神經(jīng)網(wǎng)絡(luò),證明了SGD可以在多項式時間內(nèi)收斂到DNNs的訓(xùn)練目標(biāo)上的全局最小值,假設(shè)訓(xùn)練樣本不重復(fù),并且參數(shù)數(shù)量是多項式級別的。在泛化方面,理論證明了充分過參數(shù)化的神經(jīng)網(wǎng)絡(luò)可以泛化到種群風(fēng)險,一個有趣的特性是,在SGD訓(xùn)練軌跡上任意點的近鄰域內(nèi)存在一個精確的網(wǎng)絡(luò),具有高概率的隨機(jī)初始化。需要注意的是,與LTH有很深的關(guān)聯(lián),因為它部分解釋了為什么LTH在稀疏訓(xùn)練中表現(xiàn)良好,因為過度參數(shù)化會產(chǎn)生許多低風(fēng)險的好子網(wǎng)絡(luò)。在transformer中應(yīng)用這一理論,可以獲得更快的收斂速度和更好的性能。

大批次訓(xùn)練

另一種加速訓(xùn)練的流行方法是使用大批量,減少每個epoch的迭代次數(shù),提高計算資源利用率。從統(tǒng)計學(xué)的角度來看,大批量訓(xùn)練降低了隨機(jī)梯度估計的方差,因此需要調(diào)整可靠的步長以獲得更好的收斂。在卷積神經(jīng)網(wǎng)絡(luò)時代,利用學(xué)習(xí)率的線性縮放,在ImageNet上以8192的批次大小在1小時內(nèi)訓(xùn)練ResNet-50。隨后提出了更先進(jìn)的步長估計方法。廣泛使用的方法是SGD的LARS和Adam的LAMB,它們建議分別對ResNet和Transformers使用分層自適應(yīng)學(xué)習(xí)率。

它配備了一個歸一化項,對梯度爆炸和平臺提供魯棒性,縮放項確保更新的參數(shù)與參數(shù)的范數(shù)相同階次,促進(jìn)更快的收斂。最近,根據(jù)經(jīng)驗,針對大批量訓(xùn)練定制的更強(qiáng)大的優(yōu)化方法表現(xiàn)良好。例如,表明,將一定數(shù)量的最新檢查點的權(quán)重進(jìn)行平均,可以促進(jìn)更快的訓(xùn)練。DeepMind在中訓(xùn)練了400多個具有不同規(guī)模的模型大小和訓(xùn)練token的Transformer語言模型,達(dá)到了一個實用的假設(shè),即模型大小和訓(xùn)練token的數(shù)量應(yīng)該被均勻縮放以進(jìn)行計算最優(yōu)的LLM訓(xùn)練。

增量訓(xùn)練

增量學(xué)習(xí)的高級概念是將原來具有挑戰(zhàn)性的優(yōu)化問題放松為一系列易于優(yōu)化的子問題,其中一個子問題的解可以作為后續(xù)子問題的良好初始化,以規(guī)避訓(xùn)練難度,類似于退火。一些工作提出通過逐步堆疊層來加速BERT預(yù)訓(xùn)練,從一個較小的模型適當(dāng)?shù)爻跏蓟粋€較大的模型。以相反的方向通過層丟棄來訓(xùn)練具有隨機(jī)深度的transformer,其中它沿著時間維度和深度維度逐步增加丟棄率。為ViT定制,AutoProg建議在使用神經(jīng)架構(gòu)搜索的漸進(jìn)式學(xué)習(xí)過程中自動決定模型是否增長、在哪里增長以及應(yīng)該增長多少。一個關(guān)鍵的觀察結(jié)果是,逐步增加輸入圖像的分辨率(減少patch大?。┛梢燥@著加快ViT訓(xùn)練,這與眾所周知的訓(xùn)練動態(tài)一致,即在早期集中于低頻結(jié)構(gòu),在后期集中于高頻語義。

數(shù)據(jù)選擇

除了模型效率,數(shù)據(jù)效率也是高效訓(xùn)練的關(guān)鍵因素。

token掩碼

Toke n m asking 是自監(jiān)督預(yù)訓(xùn)練任務(wù)中的一種主要方法,例如掩碼語言建模和掩碼圖像建模。標(biāo)記掩碼的精神是隨機(jī)掩碼一些輸入標(biāo)記,并訓(xùn)練模型用可見標(biāo)記中的上下文信息來預(yù)測缺失的內(nèi)容,例如詞匯表ID或像素。由于壓縮序列長度以二次方式降低了計算和存儲復(fù)雜度,跳過處理掩碼token為MLM和MIM帶來了可觀的訓(xùn)練效率增益。對于MLM,提出聯(lián)合預(yù)訓(xùn)練語言生成任務(wù)的編碼器和解碼器,同時刪除解碼器中的掩碼標(biāo)記,以節(jié)省內(nèi)存和計算成本。對于MIM,代表性工作表明,在視覺中,在編碼器之前移除掩碼圖像塊顯示出更強(qiáng)的性能,并且比保留掩碼token的整體預(yù)訓(xùn)練時間和內(nèi)存消耗低3倍或更多。在中也發(fā)現(xiàn)了類似的現(xiàn)象,對于語言-圖像預(yù)訓(xùn)練,隨機(jī)掩碼并去除掩碼圖像塊顯示了比原始剪輯快3.7倍的整體預(yù)訓(xùn)練時間。

重要性抽樣

在數(shù)據(jù)上采樣的重要性,也稱為數(shù)據(jù)剪枝,理論上可以通過優(yōu)先考慮信息量大的訓(xùn)練樣本來加速監(jiān)督學(xué)習(xí)的隨機(jī)梯度算法,主要受益于方差縮減。對于DNNs來說,估計每個樣本重要性的一種主要方法是使用梯度范數(shù),并且使用不同的近似使計算這些規(guī)范變得容易進(jìn)一步加快類似于early-bird LTH的采樣過程,但在數(shù)據(jù)域,在幾個權(quán)重初始化上的簡單平均梯度范數(shù)或誤差2范數(shù)可以用于在訓(xùn)練的非常早期階段識別重要的示例。最近,展示了一個令人興奮的分析理論,即測試誤差與數(shù)據(jù)集大小的縮放可以突破冪次縮放定律,如果配備了優(yōu)越的數(shù)據(jù)修剪度量,則可以減少到至少指數(shù)縮放,并且它采用了使用k-means聚類的自監(jiān)督度量。它展示了一個有希望的方向,即基于數(shù)據(jù)重要性采樣的更有效的神經(jīng)縮放定律。

內(nèi)存效率

除了計算負(fù)擔(dān)之外,大型Transformer模型不斷增長的模型大小,例如從BERT 345M參數(shù)模型到1.75萬億參數(shù)的GPT-3,是訓(xùn)練的一個關(guān)鍵瓶頸,因為它們不適合單個設(shè)備的內(nèi)存。我們首先分析了現(xiàn)有模型訓(xùn)練框架的內(nèi)存消耗,這些內(nèi)存消耗由模型狀態(tài),包括優(yōu)化器狀態(tài)、梯度和參數(shù);以及激活。我們在表1中總結(jié)了內(nèi)存有效的訓(xùn)練方法。在下文中,我們將討論優(yōu)化內(nèi)存使用的主要解決方案。

并行化

跨設(shè)備并行訓(xùn)練大型DNN是滿足內(nèi)存需求的常見做法。基本上有兩種范式:數(shù)據(jù)并行(DP),它在不同的設(shè)備上分配一個小批量的數(shù)據(jù),模型并行(MP),它在多個worker上分配一個模型的子圖。對于DP來說,隨著可用worker的增加,批處理大小接近線性縮放。第2節(jié)中討論的大批量培訓(xùn)就是針對這種情況開發(fā)的。然而,很明顯,DP具有較高的通信/計算效率,但內(nèi)存效率較差。當(dāng)模型變得很大時,單個設(shè)備無法存儲模型副本,并且針對梯度的同步通信會阻礙DP的可擴(kuò)展性。因此,DP本身只適合訓(xùn)練小到中等規(guī)模的模型。為了提高DP的可擴(kuò)展性,Transformer的一種解決方案是參數(shù)共享 ,即Albert,但它限制了表征能力。最近,ZeRO將均勻劃分策略與DP結(jié)合在一起,其中每個數(shù)據(jù)并行過程僅處理模型狀態(tài)的一個劃分,在混合精度制度下工作。為了處理非常大的DNN,人們總是需要利用模型并行性,以“垂直”的方式在多個加速器上分配不同的層。雖然MP具有良好的存儲效率,但由于跨設(shè)備的大量數(shù)據(jù)傳輸和較差的PE利用率,其通信和計算效率較低。幸運(yùn)的是,在an中有兩種策略可以進(jìn)一步提高M(jìn)P的效率

正交的“水平”維度,包括張量并行(TP)和流水線并行(PP)。TP跨worker將張量操作劃分在一個層中,以實現(xiàn)更快的計算和更多的內(nèi)存節(jié)省。根據(jù)基于transformer的模型定制,Megatron-LM跨GPU對MSA和FFN進(jìn)行切片,并且在前向和后向傳遞中只需要一些額外的All-Reduce操作,使他們能夠使用512個GPU訓(xùn)練模型多達(dá)83億個參數(shù)。在PP方面,它最初是在GPipe中提出的,它將輸入的mini-batch分割為多個較小的micro-batch,使不同的加速器(在加速器上劃分順序?qū)樱┩瑫r在不同的micro-batch上工作,然后對整個mini-batch應(yīng)用單一的同步梯度更新。然而,它仍然受到管道氣泡(加速器空閑時間)的影響,這會降低效率。特別是,PyTorch實現(xiàn)了torchgpipe,它使用檢查點執(zhí)行微批次PP,允許擴(kuò)展到大量的微批次,以最小化氣泡開銷。請注意,DP和MP是正交的,因此可以同時使用兩者來訓(xùn)練具有更高計算和內(nèi)存容量的更大模型。例如,Megatron-LM和DeepSpeed組成了張量、管道和數(shù)據(jù)并行,以將訓(xùn)練擴(kuò)展到數(shù)千個GPU。

量化訓(xùn)練

訓(xùn)練神經(jīng)網(wǎng)絡(luò)的標(biāo)準(zhǔn)程序采用全精度(即FP32)。相比之下,量化訓(xùn)練通過將激活值/權(quán)重/梯度壓縮為低比特值(例如FP16或INT8),以降低的精度從頭開始訓(xùn)練神經(jīng)網(wǎng)絡(luò)。在之前的工作中已經(jīng)表明,降低精度的訓(xùn)練可以加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,并具有良好的性能。對于Transformer來說,采用最廣泛的方法是自動混合精度(AMP)訓(xùn)練。具體來說,AMP以全精度存儲權(quán)重的主副本用于更新,而激活值、梯度和權(quán)重則存儲在FP16中用于算術(shù)。與全精度訓(xùn)練相比,AMP能夠?qū)崿F(xiàn)更快的訓(xùn)練/推理速度,并減少網(wǎng)絡(luò)訓(xùn)練期間的內(nèi)存消耗。例如,基于64的批量大小和224×224的圖像分辨率,在AMP下的RTX3090上訓(xùn)練DeiT-B比全精度訓(xùn)練快2倍(305張圖像vs124張圖像/s),同時消耗22%的峰值GPU內(nèi)存(7.9GBvs10.2GB)。雖然人們普遍認(rèn)為,至少需要16位才能訓(xùn)練網(wǎng)絡(luò)而不影響模型精度,但最近在NVIDIA H100上對FP8訓(xùn)練的支持在Transformer訓(xùn)練上顯示出了可喜的結(jié)果,在FP8下訓(xùn)練DeiT-S和GPT可以與16位訓(xùn)練相媲美。除了同時量化激活/權(quán)重/梯度的精度降低訓(xùn)練外,激活壓縮訓(xùn)練(ACT)在精確計算前向傳遞的同時存儲低精度的激活近似副本,這有助于減少訓(xùn)練期間的整體內(nèi)存消耗。然后將保存的激活解量化為向后傳遞中的原始精度,以計算梯度。最近的工作進(jìn)一步建議自定義ACT以支持內(nèi)存高效的Transformer訓(xùn)練。

再物化和卸載

再物化 (R e materialization),也被稱為檢查點,是一種廣泛使用的時空權(quán)衡技術(shù)。在正向傳遞時只存儲一部分激活/權(quán)重,在反向傳遞時重新計算其余部分。提供了一個在PyTorch3中實現(xiàn)的簡單的周期性調(diào)度,但它僅適用于同構(gòu)的順序網(wǎng)絡(luò)。更先進(jìn)的方法,如實現(xiàn)了異構(gòu)網(wǎng)絡(luò)4的最優(yōu)檢查點。在卸載方面,它是一種利用CPU內(nèi)存等外部內(nèi)存作為GPU內(nèi)存的擴(kuò)展,通過GPU和CPU之間的通信,在訓(xùn)練過程中增加內(nèi)存容量的技術(shù)。模型狀態(tài)和激活,都可以卸載到CPU,但最優(yōu)選擇需要最小化通信成本(即數(shù)據(jù)移動)到GPU,減少CPU計算和最大化GPU內(nèi)存節(jié)省。一個代表性的工作是ZERO-Offload,它提供了使用Adam優(yōu)化器定制的混合精度訓(xùn)練的最優(yōu)卸載策略。它在CPU內(nèi)存上卸載所有fp32模型狀態(tài)和fp16梯度,并在CPU上計算fp32參數(shù)更新。fp16參數(shù)保存在GPU上,前向和后向計算在GPU上。為了兩全兼顧,建議聯(lián)合優(yōu)化激活卸載和再物化。

參數(shù)效率微調(diào)

以 HuggingFace 為代表的公共模型動物園包含豐富的預(yù)訓(xùn)練模型,可以隨時下載和執(zhí)行,正在為降低訓(xùn)練成本做出顯著貢獻(xiàn)。對這些現(xiàn)成的模型進(jìn)行有效調(diào)優(yōu),正成為一種大幅削減訓(xùn)練成本的流行方式。作為香草全微調(diào)的強(qiáng)大替代方案,

參數(shù)高效調(diào)優(yōu)(PET)在凍結(jié)預(yù)訓(xùn)練模型的同時只更新少量額外參數(shù),以顯著減少存儲負(fù)擔(dān)。它可以隨動態(tài)部署場景擴(kuò)展,而不需要為每種情況存儲單獨的模型實例。一般的PET方法可以分為基于添加的方法和基于重新參數(shù)化的方法。前者將額外的可訓(xùn)練參數(shù)附加到預(yù)訓(xùn)練模型上,并且只調(diào)整這些參數(shù)。例如,在輸入空間中添加可訓(xùn)練參數(shù),在MSA和FFN之后在每個Transformer塊中添加兩次適配器模塊。然而,額外的參數(shù)會在推理過程中引入額外的計算和內(nèi)存開銷。為了應(yīng)對這一挑戰(zhàn),后者建議調(diào)整模型中固有的參數(shù)或可以重新參數(shù)化到模中的新參數(shù),從而不會對推理效率產(chǎn)生犧牲。受觀察到大型語言預(yù)訓(xùn)練模型具有較低的內(nèi)在維度的啟發(fā),代表性工作LoRA將自注意力權(quán)重的更新近似為兩個低秩矩陣,可以在推理過程中將其合并到預(yù)訓(xùn)練權(quán)重中。值得注意的是,在實現(xiàn)LLM民主化方面最受認(rèn)可的工作之一是Stanford Alpaca,它使用從Chat GPT生成的52K指令遵循數(shù)據(jù)從開源的LLaMA模型中進(jìn)行微調(diào)。為了廉價有效地對其進(jìn)行微調(diào),其變體Alpaca-LoRA5進(jìn)一步采用低秩LoRA來實現(xiàn)在客戶硬件上對羊駝進(jìn)行指令微調(diào),表明可以在單個RTX 4090上在數(shù)小時內(nèi)完成訓(xùn)練。

開源框架

有幾個被廣泛采用的原型用于大規(guī)模訓(xùn)練大型Transformer模型,其中微軟DeepSpeed、HPC-AI Tech ColossalAI和Nvidia Megatron是先驅(qū)。具體來說,DeepSpeed主要基于和ZERO系列作品實現(xiàn),Colossal-AI基于構(gòu)建,Megatron-LM實現(xiàn)。所有這些都支持混合精度的數(shù)據(jù)和模型并行,以及其他通用實踐,如卸載和再物化。更多用于高效分布式訓(xùn)練的庫包括但不限于HuggingFace Transformers,MosaicML Composer,百度PaddlePaddle,Bytedance Lightspeed,EleutherAI GPT-NeoX等。

硬件算法協(xié)同設(shè)計

除了計算和內(nèi)存負(fù)擔(dān),設(shè)計高效的硬件加速器可以使DNNs更快地訓(xùn)練和推理。具體來說,與中央處理單元(CPU)相比,圖形處理單元(GPU)由于高度并行性,在執(zhí)行矩陣乘法時更加強(qiáng)大。對于專注于特定計算任務(wù)的應(yīng)用,專用集成電路ASIC)具有低功耗、高訓(xùn)練/推理速度的優(yōu)勢。例如,谷歌設(shè)計的張量處理單元(TPU)比當(dāng)代CPU和GPU提供了30~80倍的性能/瓦特。然而,ASIC不容易重新編程或適應(yīng)新任務(wù)。相比之下,現(xiàn)場可編程門陣列(FPGA)被設(shè)計成可以根據(jù)需要重新編程以執(zhí)行不同的功能,在最終確定設(shè)計之前也可以作為ASIC的原型。為了進(jìn)一步優(yōu)化DNNs特別是Transformer的訓(xùn)練效率,硬件-算法協(xié)同設(shè)計在設(shè)計算法時考慮了硬件的約束和能力,這將在以下小節(jié)中介紹。

稀疏矩陣乘法

為了降低 Transformer 的計算開銷,涉及將稀疏矩陣與稠密矩陣相乘的稀疏通用矩陣乘法(SpGEMM),利用注意力矩陣的稀疏性來減少計算次數(shù)。目前有幾個流行的稀疏矩陣計算庫,如Intel Math Kernel library CPU和cuSPARSE15、CUSP16和24 GPU上的結(jié)構(gòu)化稀疏性。然而,由于不規(guī)則的稀疏性,SpGEMM往往對CPU、GPU等通用處理器的硬件不友好。為了解決這個問題,需要專門的硬件加速器,如FPGA和ASIC,來處理糟糕的數(shù)據(jù)局部性問題。例如,OuterSPACE 將矩陣乘法轉(zhuǎn)換為外積過程,并通過將乘法與累加解耦來消除冗余內(nèi)存訪問。為了在不引入顯著開銷的情況下充分利用這一減少,OuterSPACE構(gòu)建了一個具有可重構(gòu)存儲層次的自定義加速器,相對于運(yùn)行英特爾數(shù)學(xué)內(nèi)核庫的CPU實現(xiàn)了7.9倍的平均加速,相對于運(yùn)行CUSP的GPU實現(xiàn)了14.0倍的平均加速。此外,為了緩解高稀疏性造成的數(shù)據(jù)移動瓶頸,ViTCoD使用可學(xué)習(xí)的自編碼器將稀疏注意力壓縮為更緊湊的表示,并設(shè)計編碼器和解碼器引擎以提高硬件利用率。

低精度硬件感知

降低計算精度會減少內(nèi)存和計算量,這可以用硬件友好的定點或整數(shù)表示來實現(xiàn),而不是浮點表示。因此,我們可以使用精度較低的乘法器、加法器和內(nèi)存塊,從而在功耗和加速比方面得到顯著改善。此外,低精度的算法可以與其他技術(shù)相結(jié)合,如剪枝和低秩近似,以實現(xiàn)進(jìn)一步的加速。例如,Sanger使用4位查詢和鍵來計算稀疏注意力矩陣的量化預(yù)測。然后,稀疏注意力掩碼被重新排列成結(jié)構(gòu)化的塊,并由可重構(gòu)硬件處理。以下工作DOTA使用低秩變換和低精度計算識別注意力中的不重要連接。通過結(jié)合token級并行和亂序執(zhí)行,DOTA實現(xiàn)了GPU上152.6倍的加速。

高效注意力

除了稀疏的矩陣乘法和低精度的計算,幾項開創(chuàng)性的工作都專注于在硬件上實現(xiàn)高效和輕量級的注意力。具體來說,一個3只選擇那些可能與給定查詢具有高相似性的鍵,以減少注意力的計算量。ELSA根據(jù)哈希相似度過濾掉與特定查詢無關(guān)的鍵,以節(jié)省計算量。借助高效的硬件加速器,ELSA實現(xiàn)了58.1倍的加速,與配備16GB內(nèi)存的Nvidia V100 GPU相比,在能效方面有三個數(shù)量級的提升。值得注意的是,F(xiàn)lash Attention提出利用tiling來減少GPU高帶寬內(nèi)存(HBM)和片上SRAM之間的I/O通信,這正在成為一個默認(rèn)的快速和內(nèi)存高效的注意力模塊來加速。

審核編輯:湯梓紅

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

    關(guān)注

    68

    文章

    10698

    瀏覽量

    209328
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4551

    瀏覽量

    92016
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2902

    瀏覽量

    73534
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3112

    瀏覽量

    65841
  • 協(xié)同設(shè)計
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    7882

原文標(biāo)題:硬件算法協(xié)同設(shè)計

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SOC設(shè)計領(lǐng)域的核心技術(shù)-軟/硬件協(xié)同設(shè)計

    SOC設(shè)計領(lǐng)域的核心技術(shù)-軟/硬件協(xié)同設(shè)計摘要:基于IP庫的SOC必將是今天與未來微電子設(shè)計領(lǐng)域的核心。它既是一種設(shè)計技術(shù),也是一種設(shè)計方法學(xué)。一塊SOC上一定會集成各種純硬件IP、和作為軟件載體
    發(fā)表于 11-19 11:19

    基于SoPC的狀態(tài)監(jiān)測裝置的嵌入式軟硬件協(xié)同設(shè)計

    硬件協(xié)同設(shè)計(Hardware/Software Co-deaign)是在20世紀(jì)90年代興起的跨領(lǐng)域交叉學(xué)科。隨著超大規(guī)模集成電路制造工藝的進(jìn)步,單個芯片所能提供的晶體管數(shù)量已經(jīng)超過了大多數(shù)
    發(fā)表于 01-22 16:41

    基于Altera FPGA的軟硬件協(xié)同仿真方法介紹

    摘要:簡要介紹了軟硬件協(xié)同仿真技術(shù),指出了在大規(guī)模FPGA開發(fā)中軟硬件協(xié)同仿真的重要性和必要性,給出基于Altera FPGA的門級軟硬件
    發(fā)表于 07-04 06:49

    請問如何實現(xiàn)協(xié)同過濾算法?

    協(xié)同過濾算法的原理及實現(xiàn)基于物品的協(xié)同過濾算法詳解協(xié)同過濾算法的原理及實現(xiàn)
    發(fā)表于 11-05 06:51

    如何去實現(xiàn)一種基于SoPC的軟硬件協(xié)同設(shè)計呢

    什么是軟硬件協(xié)同設(shè)計呢?片上可編程系統(tǒng)SoPC是什么?如何去實現(xiàn)一種基于SoPC的軟硬件協(xié)同設(shè)計呢?基于SoPC的軟硬件
    發(fā)表于 12-24 07:15

    智能控制的系統(tǒng)辨識協(xié)同算法

    智能控制的系統(tǒng)辨識協(xié)同算法 The Synergetic Algorithm of System Recognition of Intelligent Control
    發(fā)表于 03-16 16:47 ?13次下載

    面向HDTV應(yīng)用的音頻解碼軟硬件協(xié)同設(shè)計

    摘要:該文以Dolby實驗室的音頗AC3算法為基礎(chǔ),研究了在RISC核Virgo上HDTV音頻解碼的軟硬件協(xié)同設(shè)計方法,提出了通過對程序關(guān)鍵子函數(shù)建模來實現(xiàn)軟硬件劃分的軟
    發(fā)表于 07-02 21:56 ?32次下載

    FPGA-SoPC軟硬件協(xié)同設(shè)計

    本內(nèi)容詳細(xì)介紹了FPGA-SoPC軟硬件協(xié)同設(shè)計
    發(fā)表于 05-09 15:59 ?41次下載
    FPGA-SoPC軟<b class='flag-5'>硬件</b><b class='flag-5'>協(xié)同</b>設(shè)計

    一種改進(jìn)的協(xié)同優(yōu)化算法

    針對協(xié)同優(yōu)化過程對初始點敏感以及容易陷入局部最優(yōu)點的問題,提出了一種改進(jìn)的協(xié)同優(yōu)化算法。改進(jìn)后的協(xié)同優(yōu)化算法綜合考慮學(xué)科級優(yōu)化設(shè)計點與系統(tǒng)級
    發(fā)表于 11-24 14:46 ?1次下載

    基于巴氏系數(shù)的協(xié)同過濾算法

    推薦系統(tǒng)成功幫助人們解決了信息過載問題,并成功運(yùn)用于商業(yè)領(lǐng)域。推薦系統(tǒng)的核心是推薦算法協(xié)同過濾算法是其中最為廣泛使用的協(xié)同過濾算法,其優(yōu)點
    發(fā)表于 11-29 11:47 ?1次下載

    基于加權(quán)的Slope One協(xié)同過濾算法

    針對slope one協(xié)同過濾算法中存在的數(shù)據(jù)稀疏性問題展開研究。提出一種基于余弦相似度加權(quán)的協(xié)同過濾算法(COSLOPE算法)。用加權(quán)sl
    發(fā)表于 12-20 14:31 ?0次下載

    基于標(biāo)簽主題的協(xié)同過濾推薦算法研究

    傳統(tǒng)基于標(biāo)簽的推薦算法僅考慮用戶的評分信息,導(dǎo)致推薦準(zhǔn)確度不高。為解決該問題,提出一種改進(jìn)的協(xié)同過濾推薦算法。對用戶一標(biāo)簽矩陣、資源一標(biāo)簽矩陣進(jìn)行潛在Dirichlet分布建模,發(fā)掘推薦系統(tǒng)中的潛在
    發(fā)表于 03-07 13:58 ?0次下載
    基于標(biāo)簽主題的<b class='flag-5'>協(xié)同</b>過濾推薦<b class='flag-5'>算法</b>研究

    一種協(xié)同過濾推薦算法

    集合,以此來計算用戶對資源的偏好值。 針對協(xié)同過濾算法僅使用物品一用戶評分矩陣而未考慮語義的問題,提出一種協(xié)同過濾推薦算法。使用知識圖譜表示學(xué)習(xí)方法,將業(yè)界已有的語義數(shù)據(jù)嵌入一個低維的
    發(fā)表于 03-29 15:51 ?1次下載

    基于顯式反饋的改進(jìn)協(xié)同過濾算法研究

    基于顯式反饋的協(xié)同過濾算法只存在3個變量,其相似度計算方法依賴用戶評分?jǐn)?shù)據(jù)的顯式反饋行為,而未考慮現(xiàn)實推薦場景中存在的隱性因素影響,這決定了協(xié)同過濾算法被限制于挖掘用戶及商品的偏好,而
    發(fā)表于 04-28 11:30 ?3次下載
    基于顯式反饋的改進(jìn)<b class='flag-5'>協(xié)同</b>過濾<b class='flag-5'>算法</b>研究

    基于函數(shù)逼近協(xié)同更新的DQN算法

    針對經(jīng)典深度Q網(wǎng)絡(luò)(DepΩ Network,DQN)算法在訓(xùn)練初期收斂速度慢的問題,文中提岀一種新的基于函數(shù)逼近協(xié)同更新的DQN算法。該算法在經(jīng)典的DQN
    發(fā)表于 06-16 14:50 ?3次下載