精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

最高加速九倍!字節(jié)跳動(dòng)開源8比特混合精度Transformer引擎

新聞 開源
如何繼續(xù)提升速度?降低計(jì)算精度是比較直接的方法。

近年來,Transformer 已經(jīng)成為了 NLP 和 CV 等領(lǐng)域的主流模型,但龐大的模型參數(shù)限制了它的高效訓(xùn)練和推理。于是字節(jié)跳動(dòng)在 2019 年 12 月和 2021 年 6 月分別推出了高效推理和訓(xùn)練引擎 LightSeq,大大加速了 Transformer 系列模型的訓(xùn)練和推理,也打通了 Transformer 從訓(xùn)練到推理的整個(gè)流程,極大優(yōu)化了用戶使用體驗(yàn)。最近,LightSeq 訓(xùn)練引擎相關(guān)論文[1],被錄用難度極高的超算領(lǐng)域國際頂會(huì) SC22 接收,得到了學(xué)術(shù)界的廣泛認(rèn)可!

圖片

  • SC22 接收論文:https://sc22.supercomputing.org/presentation/?id=pap211&sess=sess154
  • 代碼地址:https://github.com/bytedance/lightseq

如何繼續(xù)提升速度?降低計(jì)算精度是比較直接的方法。2017 年以來,fp16 混合精度技術(shù) [2] 獲得了廣泛應(yīng)用。在對(duì)模型效果無損的前提下,將模型訓(xùn)練和推理的速度提升了 50% 以上。而為了維持模型效果,更低精度的方法(例如 int8)通常需要使用如下傳統(tǒng)方案:

  1. 首先使用 fp16 混合精度將模型訓(xùn)練至收斂;
  2. 然后在模型計(jì)算密集型算子的權(quán)重、輸入和輸出位置處,插入偽量化結(jié)點(diǎn),進(jìn)行量化感知訓(xùn)練;
  3. 最后將帶有偽量化結(jié)點(diǎn)的模型計(jì)算圖轉(zhuǎn)換到專用的 int8 推理引擎中,進(jìn)行服務(wù)部署和模型推理。

雖然在多數(shù)任務(wù)上,上述方案可以實(shí)現(xiàn)模型效果無損,但還是存在以下問題:

  1. 使用方法復(fù)雜。例如要多一次量化感知訓(xùn)練 [4] 的過程,并且?guī)в袀瘟炕?jié)點(diǎn)的計(jì)算圖轉(zhuǎn)換復(fù)雜。
  2. 訓(xùn)練速度慢。由于目前流行的深度學(xué)習(xí)框架不支持 int8 精度,所以量化感知訓(xùn)練需要插入 fp16 的偽量化結(jié)點(diǎn)來模擬 int8 量化,導(dǎo)致量化感知訓(xùn)練反而比 fp16 混合精度訓(xùn)練慢 2-3 倍。
  3. 推理部署難且加速比低。對(duì)比 fp32、fp16 等類型,int8 硬件和底層軟件庫優(yōu)化相對(duì)滯后。例如在 NVIDIA GPU 上,int8 矩陣乘法加速受限于硬件架構(gòu)和特定 shape,實(shí)際加速比遠(yuǎn)遠(yuǎn)低于理論值。

在下文中,如無特殊說明,量化都是指的 int8 精度的量化

圖片

針對(duì)這些問題,字節(jié)跳動(dòng)推出了全新版本的 LightSeq GPU 量化訓(xùn)練與推理引擎。支持 Transformer 系列模型的量化訓(xùn)練與推理,并做到了開箱即用,用戶友好。LightSeq 快準(zhǔn)狠地實(shí)現(xiàn)了 int8 精度的量化訓(xùn)練和推理:

  1. 快:A100 多卡訓(xùn)練最高加速 5.2 倍,T4 單卡推理最高加速 8.9 倍。
  2. 準(zhǔn):訓(xùn)練和推理效果基本無損。
  3. 狠:相同數(shù)據(jù)量下,顯存占用最高減少 68%,模型存儲(chǔ)空間減少 75%。

總體來說,LightSeq 新版量化訓(xùn)練與推理引擎具有如下幾個(gè)優(yōu)點(diǎn):

1. 豐富的支持

支持完整的 Transformer 模塊和多種解碼算法,支持 Transformer、BERT、GPT、BART、ViT 等多種模型結(jié)構(gòu),支持 Fairseq、Hugging Face、NeurST 等多種訓(xùn)練框架接入量化訓(xùn)練、導(dǎo)出模型以及量化推理,提供了豐富的樣例供用戶參考。

2. 卓越的性能

相比于 fp16 精度的 LightSeq 推理引擎,int8 量化還可以進(jìn)一步加速最高 70%,相比于 PyTorch 推理更是達(dá)到了最高 8.9 倍的加速比。同時(shí)顯存占用相比 fp16 推理引擎降低了 30% 左右,模型存儲(chǔ)空間只需要原來的四分之一。最后經(jīng)過多個(gè)任務(wù)的驗(yàn)證,推理效果幾乎無損。

3. 便捷的使用

LightSeq 已經(jīng)針對(duì)多個(gè)訓(xùn)練庫進(jìn)行了量化支持,可以一鍵開啟量化訓(xùn)練,然后輕松導(dǎo)出為 LightSeq 支持的模型格式,最后實(shí)現(xiàn)量化推理。除此之外,LightSeq 還支持訓(xùn)練后量化,無需額外訓(xùn)練即可體驗(yàn)量化推理。

使用方法

圖片

如上圖所示,為了最大程度減小量化帶來的損失,首先需要用 fp16 精度訓(xùn)練一個(gè)浮點(diǎn)數(shù)模型,將模型效果訓(xùn)到最好。然后開啟量化進(jìn)行 finetune,得到微調(diào)過的量化模型,此時(shí)模型效果已經(jīng)基本恢復(fù)到浮點(diǎn)數(shù)模型的水平。接著將量化模型轉(zhuǎn)換為 LightSeq 支持的 PB 或者 HDF5 模型格式,最后用 LightSeq 進(jìn)行量化推理。

安裝方法

LightSeq 安裝非常簡單,只需要一行命令即可:

pip install lightseq

量化訓(xùn)練

LightSeq 支持 Fairseq、Hugging Face、NeurST 等訓(xùn)練框架的量化接入,同時(shí)也可以自定義模型并開啟量化訓(xùn)練。以 encoder 層為例,只需要先定義浮點(diǎn)數(shù)模型,然后開啟量化即可:

from lightseq.training import LSTransformerEncoderLayerfrom lightseq.training.ops.pytorch.quantization import enable_quant
config = LSTransformerEncoderLayer.get_config( model="bert-base", max_batch_tokens=4096, max_seq_len=512, fp16=True, local_rank=0,)layer = LSTransformerEncoderLayer(config)# 開啟量化layer.apply(enable_quant)

量化推理

LightSeq 提供了便捷的 python 推理接口,只需要三行代碼即可實(shí)現(xiàn)快速的量化推理:

import lightseq.inference as lsi
model = lsi.QuantTransformer(pb_path, batch_size)result = model.infer(input)

此外 LightSeq 還提供了 BERT、GPT、ViT 等模型的 python 接口,分別調(diào)用 QuantBert、QuantGpt 和 QuanVit 即可體驗(yàn)。

梯度通信量化

LightSeq 支持 Transformer 模型的梯度通信量化[5],使用 Fairseq 或者 Hugging Face 即可輕松開啟分布式量化訓(xùn)練,并同時(shí)支持浮點(diǎn)數(shù)模型和量化模型。在構(gòu)建模型后,只需要為模型注冊(cè)一個(gè) communication hook 即可開啟梯度通信量化,再開始訓(xùn)練過程。

from lightseq.training.gradient_comm_quantization import encode_and_decode, GCQStatefrom torch.nn.parallel import DistributedDataParallel 
# model could be from Fairseq or Hugging Face, wrapped by DDPmodel = DistributedDataParallel(model)state = GCQState(process_group)# register hookmodel.register_comm_hook(state=state, hook=encode_and_decode)

性能測(cè)試

LightSeq 在多個(gè)任務(wù)上測(cè)試了量化訓(xùn)練、量化推理和梯度通信量化的速度,并且分析了顯存占用情況和量化模型的效果。

量化訓(xùn)練速度

圖片

LightSeq 在 8 張 A100 顯卡上進(jìn)行了訓(xùn)練實(shí)驗(yàn),主要對(duì)比對(duì)象是 Fairseq 的 Transformer、Hugging Face 的 BERT、GPT2 和 ViT。

可以看出,四種模型結(jié)構(gòu)加速趨勢(shì)都是類似的,加速比都會(huì)隨著數(shù)據(jù)量的增大而減小,原因有三點(diǎn):

  1. 隨著數(shù)據(jù)量的增大,矩陣乘法 GEMM 的占比會(huì)明顯增加,因此 PyTorch QAT 增加的額外的偽量化結(jié)點(diǎn)時(shí)間占比會(huì)逐漸減小,最后速度會(huì)和 PyTorch fp16 無限接近。
  2. 與此同時(shí),隨著 GEMM 占比升高,LightSeq fp16 自定義算子的提速效果也逐漸減小,因此時(shí)間上也會(huì)和 PyTorch fp16 無限接近。
  3. 由于 Ampere 架構(gòu)顯卡上 int8 GEMM 在 shape 較小時(shí)甚至不如 fp16 GEMM 快,在大 shape 下才能稍快一點(diǎn),因此隨著數(shù)據(jù)量增大,LightSeq int8 也會(huì)無限接近 LightSeq fp16 的速度。

量化推理速度

圖片

LightSeq 在單張 T4 顯卡上進(jìn)行了推理實(shí)驗(yàn),主要對(duì)比對(duì)象是 Hugging Face 的 Transformer、BERT、GPT2 和 ViT。

可以看出,隨著輸入數(shù)據(jù)量的增大,LightSeq 與 PyTorch 的差距會(huì)逐漸減小,這也是 GEMM 占比升高造成的。比較 LightSeq fp16 和 LightSeq int8,可以看出隨著數(shù)據(jù)量的增大,LightSeq int8 越來越快。這是因?yàn)樵?T4 顯卡上,int8 GEMM 的加速會(huì)隨著 shape 的增大而有明顯增加。因此在 T4 顯卡上進(jìn)行量化推理時(shí),輸入數(shù)據(jù)量越大,加速效果越好。

圖片

LightSeq 還針對(duì)機(jī)器翻譯多個(gè)語向和多個(gè)測(cè)試集,測(cè)試了不同 batch size 下,LightSeq int8 推理相對(duì)于 LightSeq fp16 推理的加速比,實(shí)驗(yàn)同樣是在單張 T4 顯卡上進(jìn)行的,采用的模型都是標(biāo)準(zhǔn)的 Transformer-Big。

可以得到和上文中相同的結(jié)論,隨著 batch size 的增大,量化推理的加速比會(huì)逐漸升高。相比于 LightSeq fp16,最高還可以再加速近 70%,這極大地縮短了線上翻譯模型的推理延時(shí)。

圖片

最后如上圖所示,為了展示自動(dòng) GEMM 調(diào)優(yōu)技術(shù)的效果,LightSeq 測(cè)試對(duì)比了 A100 顯卡上 Transformer 和 BERT 模型 fp16、int8 調(diào)優(yōu)前和 int8 調(diào)優(yōu)后的延時(shí)。可以看出調(diào)優(yōu)前某些 shape 的 int8 GEMM 速度甚至比 fp16 還要慢,而調(diào)優(yōu)后全面超越了 fp16。

顯存占用

圖片

LightSeq 分析了不同 batch size 下,量化模型相對(duì)于浮點(diǎn)數(shù)模型顯存占用的加速比。可以看出隨著 batch size 的增大,量化模型的顯存占用優(yōu)勢(shì)更明顯,最高可以減少 30% 左右。而 LightSeq fp16 引擎相對(duì)于 PyTorch 模型也極大程度減少了顯存占用,因此 LightSeq int8 引擎最終能夠減少最多 68% 左右的顯存。

量化模型效果

圖片

針對(duì)機(jī)器翻譯多個(gè)語向和多個(gè)測(cè)試集,LightSeq 測(cè)試了量化模型推理相對(duì)于浮點(diǎn)數(shù)模型 BLEU 的損失,采用的模型都是標(biāo)準(zhǔn)的 Transformer-Big。

在數(shù)據(jù)量較大的語向 en2zh 上,LightSeq int8 相對(duì) BLEU 損失較大些,最大達(dá)到了 - 0.4。而在數(shù)據(jù)量較小的語向 en2es 上,LightSeq int8 不僅沒有任何效果損失,反而比浮點(diǎn)數(shù)模型更好。總體而言,int8 量化模型的平均 BLEU 相比浮點(diǎn)數(shù)模型基本無損。在 GLUE 和 SQuAD 等多個(gè)任務(wù)上,LightSeq 也驗(yàn)證了量化模型的效果。

梯度通信量化

圖片

由于在多機(jī)多卡場景下通信瓶頸更加明顯,所以梯度通信量化主要應(yīng)用在分布式訓(xùn)練場景。因此 LightSeq 在 2 機(jī) 8 卡的 A100 上進(jìn)行了分布式訓(xùn)練的速度測(cè)試。

可以看出,梯度通信量化的訓(xùn)練加速效果整體上隨著輸入數(shù)據(jù)的增大而減弱。這主要是因?yàn)殡S著輸入數(shù)據(jù)的增大,計(jì)算時(shí)間占比升高,梯度通信時(shí)間占比減少,梯度量化的收益也隨之減小。

LightSeq 還額外增加了不同數(shù)量網(wǎng)卡(NIC)下的訓(xùn)練速度測(cè)試。可以看到使用梯度通信量化的分布式訓(xùn)練速度相比原始的 LightSeq fp16 有大幅度提升。

量化技術(shù)

int8 量化的加速收益主要來自如下幾個(gè)方面:

  1. GEMM 精度從 fp16 降低到 int8 后,計(jì)算時(shí)間縮短;
  2. 自定義算子采用 int8 輸入輸出后,數(shù)據(jù)讀寫時(shí)間縮短;
  3. 梯度采用 int8 存儲(chǔ)后,多機(jī)之間通信時(shí)間縮短。

以 Transformer 模型為例,經(jīng)過 LightSeq fp16 引擎加速后,自定義算子時(shí)間大大縮短,而 GEMM 時(shí)間占比提升到了 90% 左右,因此優(yōu)化的重點(diǎn)轉(zhuǎn)移到了 GEMM 提速。將 fp16 GEMM 替換為 int8 GEMM 不僅可以縮短 GEMM 時(shí)間,還可以減小前后算子的輸入輸出位寬,從而減小讀寫數(shù)據(jù)的時(shí)間。最后多機(jī)訓(xùn)練的瓶頸主要在梯度的通信,將梯度量化為 int8 精度可以大大加快分布式訓(xùn)練的速度。

量化原理

圖片

為了彌補(bǔ)量化帶來的精度損失,通常需要用量化感知訓(xùn)練來模擬量化過程。如上圖所示,量化感知訓(xùn)練就是將 float GEMM 的兩個(gè) float 輸入分別做一遍量化和反量化(稱之為偽量化結(jié)點(diǎn)),離散化成分段的浮點(diǎn)數(shù)輸入,然后進(jìn)行 float GEMM 運(yùn)算。得到結(jié)果后再次進(jìn)行量化與反量化,得到最終的浮點(diǎn)數(shù)結(jié)果。而量化的過程是不可導(dǎo)的,因此需要用 STE 方法來估計(jì)量化參數(shù)的梯度。之所以量化感知訓(xùn)練中需要插入偽量化結(jié)點(diǎn),然后用 float GEMM 去模擬量化過程,是因?yàn)?TensorFlow 和 PyTorch 等訓(xùn)練框架不支持 int8 GEMM。

圖片

而 LightSeq 量化訓(xùn)練直接采用 int8 GEMM 來真實(shí)還原量化過程,因此相比傳統(tǒng)的實(shí)現(xiàn)要更快,且更加節(jié)省顯存。在推理的時(shí)候,同樣采用離散化后的整數(shù)進(jìn)行 int8 GEMM 運(yùn)算,最后再反量化回浮點(diǎn)數(shù)結(jié)果。量化推理過程和量化訓(xùn)練完全一致,并且和傳統(tǒng)的量化感知訓(xùn)練是完全等價(jià)的。

量化位置

圖片

整個(gè)量化 Transformer 的網(wǎng)絡(luò)結(jié)構(gòu)如上圖所示,紅色箭頭表示需要加上量化和反量化結(jié)點(diǎn)的位置。

首先所有 int8 GEMM 的輸入和輸出都需要進(jìn)行量化。由于 int8 GEMM 的 shape 限制,部分 GEMM(例如注意力分?jǐn)?shù)的計(jì)算)仍然采用 float GEMM。此外第二層 FFN 的 GEMM 采用的是 int32 的輸出,因?yàn)樗?GEMM 輸入是 ReLU 激活函數(shù)的輸出結(jié)果,只包含正數(shù),非對(duì)稱,因此如果采用 int8 輸出的 GEMM,將無法反量化為正確的浮點(diǎn)數(shù)結(jié)果。

然后所有的模型權(quán)重 weight 都需要存儲(chǔ)為 int8 類型,因此需要對(duì) weight 做量化。而權(quán)重 bias 參數(shù)量較小,無需量化,保留 float 精度反而可以提升模型效果。

最后需要對(duì) decoder 端的 cache 進(jìn)行量化。因?yàn)樵谕评頃r(shí),decoder 端的 cache 需要頻繁進(jìn)行讀寫,因此將 cache 量化為 int8 可以大大加快解碼的速度。

量化策略

圖片

將一個(gè)浮點(diǎn)數(shù)矩陣量化為 int8 整數(shù)矩陣有很多方法,LightSeq 采用的是對(duì)稱量化,即將正負(fù)數(shù)范圍對(duì)稱的浮點(diǎn)數(shù)區(qū)間等比例地映射到整數(shù)區(qū)間 [-127, 127] 上。

而實(shí)際上浮點(diǎn)數(shù)矩陣的數(shù)值范圍通常并不對(duì)稱,存在極少的離群值。如果直接按照離群值的范圍來量化矩陣,會(huì)影響到量化后的精度,所以需要先對(duì)矩陣進(jìn)行數(shù)值截?cái)唷?/span>

LightSeq 采用 PACT 方法進(jìn)行截?cái)郲6],將截?cái)嗟姆秶?dāng)作模型可學(xué)習(xí)的參數(shù),然后利用 STE 算法去估計(jì)參數(shù)的梯度,并進(jìn)行反向傳播優(yōu)化。根據(jù)實(shí)踐經(jīng)驗(yàn),權(quán)重 weight 的初始截?cái)喾秶O(shè)為[-1, 1],中間結(jié)果的初始截?cái)喾秶O(shè)為[-16, 16],可以在大部分任務(wù)上達(dá)到最好的效果。最后經(jīng)過截?cái)喾秶推渌P蛥?shù)的聯(lián)合優(yōu)化,量化模型的效果可以達(dá)到基本無損。

梯度通信量化

針對(duì)分布式訓(xùn)練場景,LightSeq 推出了梯度量化壓縮技術(shù)。即對(duì)浮點(diǎn)精度的梯度進(jìn)行 int8 量化,以減少梯度通信的時(shí)間消耗,從而加速訓(xùn)練,這就是梯度通信量化(GCQ)。

圖片

如上圖所示,梯度通信量化的主要流程如下:

  1. 計(jì)算每張卡上各自梯度的截?cái)喾秶?/span>
  2. 對(duì)截?cái)喾秶鷪?zhí)行 all-reduce max 操作;
  3. 每張卡使用統(tǒng)一的截?cái)喾秶鷮?duì)各自梯度進(jìn)行 int8 量化;
  4. 對(duì) int8 梯度執(zhí)行 all-reduce sum 操作;
  5. 每張卡對(duì) all-reduce 后的梯度進(jìn)行反量化,還原為浮點(diǎn)數(shù)梯度,并進(jìn)行參數(shù)更新。

為了解決 int8 梯度在 all-reduce 過程中溢出的問題,LightSeq 首先將每張卡上的浮點(diǎn)數(shù)梯度除以卡數(shù),再使用除之前的截?cái)喾秶M(jìn)行量化,最后進(jìn)行 all-reduce 操作。這樣每張卡上量化后的 int8 整數(shù) all-reduce 完就不會(huì)溢出,但是單卡實(shí)際用于量化的比特?cái)?shù)也因此而減少,所以目前方案在 2 機(jī) 8 卡效果幾乎無損,但隨著卡數(shù)的上漲,訓(xùn)練效果會(huì)有所下降。以 en2de 和 en2fr 翻譯任務(wù)為例,在 4 機(jī) 8 卡上進(jìn)行分布式量化訓(xùn)練,BLEU 值分別會(huì)下降 0.4 和 1.5 左右。未來 LightSeq 將會(huì)持續(xù)探索更好的方法來解決這一問題。

通用技術(shù)

除了上一章節(jié)中提到的量化技術(shù)以外,此次更新 LightSeq 還提出了幾種通用的優(yōu)化技術(shù),不僅可以應(yīng)用在量化模型中,也適用于其它所有精度模型的訓(xùn)練與推理。

算子融合

圖片

上圖是 encoder 模塊量化訓(xùn)練的計(jì)算圖,LightSeq 將兩次 GEMM 運(yùn)算之間的所有操作融合成一個(gè)算子[7],減少了 kernel 調(diào)用的次數(shù),因此減少了總的計(jì)算時(shí)間。

圖中黃色矩形表示 int8 GEMM,綠色矩形表示 float GEMM。這里采用 float GEMM 是由于 shape 的限制,不適合使用 int8 GEMM 加速。紅色箭頭表示流動(dòng)數(shù)據(jù)的類型是 int8,綠色箭頭表示第二層 FFN 的 GEMM 輸出是 int32 數(shù)據(jù)類型。int8 GEMM 輸入輸出的量化與反量化操作都被融合到了前后 kernel 里,這不僅可以減少數(shù)據(jù)搬運(yùn),還可以減小顯存占用。

圖片

在推理時(shí),LightSeq 還針對(duì) decoder 做了優(yōu)化。如上圖所示,在計(jì)算 self-attention 時(shí),注意力得分的維度是(batch size, 1, sequence length)。因此在計(jì)算 value 乘積時(shí),可以不采用 GEMM 運(yùn)算,而直接手寫加權(quán)求和的算子,從而將圖中虛線框中的計(jì)算融合成一個(gè) kernel。

自動(dòng)顯存管理

圖片

模型量化引入了更復(fù)雜的張量類型和張量依賴關(guān)系,這給顯存管理帶來新的挑戰(zhàn)。為此,LightSeq 設(shè)計(jì)了新的顯存管理機(jī)制。如上圖所示,主要包括以下過程:

  1. 訓(xùn)練啟動(dòng)前,根據(jù)每個(gè)算子的拓?fù)湟蕾囮P(guān)系,自動(dòng)計(jì)算每個(gè)張量的生命周期及顯存空間大小。其中,包含動(dòng)態(tài)維度的張量按照此維度的最大量進(jìn)行計(jì)算,例如機(jī)器翻譯任務(wù)中的最大句長和最大 batch 句子數(shù)量。這些最大量在訓(xùn)練前已被指定;
  2. 張量確定生命周期和大小后,分析顯存復(fù)用關(guān)系。其中,無生命周期重合的張量可以共用一片顯存空間,所有顯存空間都是無數(shù)據(jù)類型的,可以被分配到任意數(shù)據(jù)類型的張量上;
  3. 根據(jù)張量顯存復(fù)用關(guān)系,申請(qǐng)多段顯存空間,為每個(gè)張量分配實(shí)際的顯存起止地址。

張量顯存復(fù)用的分析,LightSeq 借鑒了論文 [3] 中提出的 Greedy by Size for Offset Calculation 方法,做了三個(gè)改進(jìn):

  1. 支持了整個(gè)訓(xùn)練過程的顯存復(fù)用(forward/backward);
  2. 不同數(shù)據(jù)類型能做到顯存復(fù)用(int8/fp16/fp32);
  3. 在多段顯存空間上容納所有張量,而非一段非常大的顯存空間,這樣能有效提升顯存利用率。

自動(dòng) GEMM 調(diào)優(yōu)

LightSeq 的 int8 GEMM 采用了 NVIDIA 的 cuBLASLt 庫,這也是目前 NVIDIA 顯卡上最為高效的矩陣運(yùn)算庫。但是輸入數(shù)據(jù)的 shape 或者顯卡不同的話,GEMM 所采用的最優(yōu)配置(例如數(shù)據(jù)排布、GEMM 算法等等)也可能不同,因此需要進(jìn)行自動(dòng)選取。LightSeq 采取的自動(dòng)調(diào)優(yōu)方案如下:

  1. 在多種型號(hào)顯卡上(例如 T4 和 A100)進(jìn)行不同 shape 的 GEMM 最優(yōu)配置搜索,并將結(jié)果保存到配置文件中,用戶只需要下載即可;
  2. 模型初始化時(shí),加載對(duì)應(yīng)型號(hào)顯卡的配置文件,解析并保存到鍵值對(duì)為 (shape, 最優(yōu)配置) 的字典中。如果沒有對(duì)應(yīng)型號(hào)顯卡的配置文件,或者沒有需要的 GEMM shape,那么用戶可以選擇自己搜索并保存,或者直接使用默認(rèn)配置;
  3. 模型前向或后向計(jì)算時(shí),根據(jù)輸入的 shape 在字典中尋找最優(yōu)配置,然后進(jìn)行 GEMM 計(jì)算。如果沒有找到對(duì)應(yīng)的 shape,那么直接采用默認(rèn)的配置。

未來工作

未來 LightSeq 還將繼續(xù)探索移動(dòng)端的低精度量化、反向傳播中梯度的量化、大模型量化等方向。

引用

[1] Wang, Xiaohui, et al. "LightSeq2: Accelerated training for transformer-based models on gpus." arXiv preprint arXiv:2110.05722 (2021).

[2] Micikevicius, Paulius, et al. "Mixed precision training." arXiv preprint arXiv:1710.03740 (2017).

[3] Pisarchyk, Yury, and Juhyun Lee. "Efficient memory management for deep neural net inference." arXiv preprint arXiv:2001.03288 (2020).

[4] Jacob, Benoit, et al. "Quantization and training of neural networks for efficient integer-arithmetic-only inference." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.

[5] Alistarh, Dan, et al. "QSGD: Communication-efficient SGD via gradient quantization and encoding." Advances in neural information processing systems 30 (2017).

[6] Choi, Jungwook, et al. "Pact: Parameterized clipping activation for quantized neural networks." arXiv preprint arXiv:1805.06085 (2018).

[7] Wang, Xiaohui, et al. "LightSeq: A high performance inference library for transformers." arXiv preprint arXiv:2010.13887 (2020).


責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2024-08-01 08:40:00

2022-04-26 15:09:14

優(yōu)化模型訓(xùn)練

2022-03-21 17:56:59

大模型訓(xùn)練訓(xùn)練框架

2022-03-21 15:06:10

模型字節(jié)跳動(dòng)框架

2022-07-18 17:37:27

字節(jié)跳動(dòng)人工智能AI模型

2022-11-02 10:02:24

BitSail字節(jié)跳動(dòng)數(shù)據(jù)集成

2020-10-24 07:30:05

開源字節(jié)跳動(dòng)模型

2021-09-17 13:05:55

模型人工智能框架

2023-10-18 11:56:17

開源AI

2024-09-23 08:15:11

2019-08-06 17:19:22

開源技術(shù) 趨勢(shì)

2021-01-29 10:33:34

存儲(chǔ)

2022-06-22 06:49:39

Hertz開源HTTP 框架

2021-09-09 09:05:30

開源字節(jié)跳動(dòng)CloudWeGo

2024-11-08 15:00:00

AI模型

2021-09-06 14:57:24

AI 數(shù)據(jù)人工智能

2025-10-21 08:54:00

微軟LLM模型

2022-08-25 18:48:29

字節(jié)跳動(dòng)CSS開源

2025-04-09 09:20:00

2024-02-19 00:00:00

前端開源項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

熟妇人妻av无码一区二区三区| 破处女黄色一级片| 日韩电影大全网站| www一区二区| 国产精品久久久久久一区二区| 亚洲精品91在线| 在线高清欧美| 午夜精品一区二区三区电影天堂 | 91成人在线| 国产精品不卡一区二区三区| av日韩免费电影| 欧美在线观看不卡| 久久美女视频| 精品99久久久久久| 自拍偷拍 国产| av大片在线| 99久久精品国产一区二区三区| 国产v综合ⅴ日韩v欧美大片 | 日韩中出av| 欧美日韩综合不卡| www在线观看免费| 亚洲麻豆精品| 成人av一区二区三区| 国产精品美女无圣光视频| 国产在线一二区| 成人毛片免费看| 精品99999| 中日韩av在线播放| 亚洲黄色中文字幕| 亚洲男人电影天堂| 日韩一区国产在线观看| 俄罗斯嫩小性bbwbbw| 毛片基地黄久久久久久天堂| 97精品伊人久久久大香线蕉| 97精品在线播放| 亚洲区小说区图片区qvod| 日韩欧美一二三四区| 国产高潮免费视频| 26uuu亚洲电影| 一区二区免费视频| 亚洲免费久久| 国产资源在线看| 菠萝蜜视频在线观看一区| 成人在线视频网| 糖心vlog精品一区二区| 国产欧美一级| 午夜精品一区二区三区视频免费看| 91高清免费看| 日韩精品免费一区二区三区| 亚洲女人天堂成人av在线| 在线xxxxx| 91成人在线精品视频| 欧美一级高清片| 在线看免费毛片| 亚洲ww精品| 欧美日韩另类国产亚洲欧美一级| 国产一级做a爰片久久| 欧美va视频| 日韩欧美精品在线观看| 日韩精品视频一区二区在线观看| av免费不卡国产观看| 亚洲一区精品在线| 国产精品国三级国产av| 日本一本在线免费福利| 亚洲一区免费观看| 国产特级淫片高清视频| 美女在线视频免费| 欧美性猛xxx| 国产乱子伦农村叉叉叉| 悠悠资源网亚洲青| 色噜噜狠狠成人中文综合| 日本免费一级视频| 成人国产精品一区二区免费麻豆| 欧美日韩美少妇| 亚洲在线观看网站| 成人av综合网| 日韩精品中文字幕在线| 91精品国产自产| 精品国产91久久久久久浪潮蜜月| 国产亚洲欧美日韩美女| 免费黄色国产视频| 欧美在线亚洲综合一区| 久久欧美在线电影| 欧美男人亚洲天堂| 免费一级欧美片在线观看| 国产免费一区二区三区在线能观看| 国产精品国产av| 国产成人精品免费一区二区| 久久精品综合一区| 992tv免费直播在线观看| 综合久久综合久久| 97在线国产视频| 成人教育av| 欧美久久一二区| 亚洲av永久无码精品| 国产一区不卡| 九九精品在线视频| 伊人手机在线视频| 国产又粗又猛又爽又黄91精品| 国产成人亚洲欧美| 九九在线视频| 亚洲欧美成aⅴ人在线观看 | 欧美中文日韩| 成人免费福利在线| 五月婷婷丁香六月| 国产精品国模大尺度视频| 久久av高潮av| 欧美va在线观看| 日韩精品一区二区三区在线 | 国产一区二区三区视频| 国产精品久久久久久久精| 国产精品视区| 91免费看蜜桃| 国产美女性感在线观看懂色av| 亚洲欧美一区二区三区国产精品| 国产熟女高潮视频| 婷婷视频一区二区三区| 亚洲性猛交xxxxwww| 精品小视频在线观看| 日本成人在线一区| 国产免费一区二区三区| 麻豆av免费在线观看| 婷婷六月综合网| 毛毛毛毛毛毛毛片123| 国产麻豆精品久久| 午夜精品久久久久久久久久久久久| 中文字幕永久在线视频| 99久久精品免费| 中文字幕色呦呦| 另类中文字幕国产精品| 亚洲国产三级网| 免费在线视频观看| 激情综合一区二区三区| 日本成人黄色| 美女视频在线免费| 亚洲成人精品久久久| 国产成人自拍网站| 卡一卡二国产精品| 日韩中文字幕一区| 久久久久久久| 亚洲开心激情网| 国产精品美女久久久久av爽| 国产91在线看| 女女百合国产免费网站| 电影91久久久| 色偷偷888欧美精品久久久| 久久久久久久久久成人| 99精品桃花视频在线观看| 妺妺窝人体色www看人体| 欧美日本三级| 欧美成人午夜激情在线| av网站在线观看免费| 亚洲日本在线a| 中文字幕在线观看日 | 亚洲精品日韩丝袜精品| 国产手机在线视频| eeuss影院一区二区三区| 国产毛片久久久久久国产毛片| 日韩免费一级| 欧美激情中文网| 国产综合无码一区二区色蜜蜜| 一二三四区精品视频| xxxx国产视频| 欧美日韩亚洲一区三区| 91日韩在线视频| 91精品久久| 欧美成人官网二区| 日本网站免费观看| 久久先锋影音av鲁色资源| 玩弄japan白嫩少妇hd| 精品日韩毛片| 成人性教育视频在线观看| 怡红院在线观看| 亚洲国产高清高潮精品美女| 偷偷操不一样的久久| 久久精品亚洲精品国产欧美 | 国产激情视频在线观看| 91精品国产麻豆国产自产在线 | 国产乱叫456在线| 一区二区三区欧美视频| 免费看毛片的网站| 日韩电影网1区2区| 吴梦梦av在线| 精品资源在线| 国产精品吊钟奶在线| 免费av在线| 精品久久人人做人人爱| 麻豆精品久久久久久久99蜜桃| 国产人伦精品一区二区| 亚洲五月激情网| 亚洲精品资源| 一区二区高清视频| av不卡一区二区| 国产成人福利网站| 高清免费电影在线观看| 亚洲精品久久久久久下一站| 最新中文字幕免费| 一区二区三区资源| 欧美做受xxxxxⅹ性视频| 久久精品国产第一区二区三区| 成人av在线不卡| 加勒比久久综合| 99久久99久久| 97精品国产综合久久久动漫日韩| www.日韩视频| 亚洲三级黄色片| 69堂精品视频| 综合网在线观看| 亚洲黄色在线视频| 亚洲色成人网站www永久四虎 | 国产精品专区一| a√中文在线观看| 久久综合久久美利坚合众国| 婷婷婷国产在线视频| 91精选在线观看| 无码人妻丰满熟妇精品| 一区二区三区国产精品| 精品一区二区三区蜜桃在线| www.一区二区| 99日在线视频| 日韩专区在线视频| 日韩欧美国产综合在线| 亚洲人体av| 日韩久久久久久久| 日韩欧美美女在线观看| 亚洲自拍高清视频网站| 777午夜精品电影免费看| 668精品在线视频| 2021国产在线| 精品国产一区二区三区久久狼5月| 你懂的在线看| 亚洲精品国精品久久99热| 国产黄色av网站| 欧美精品乱码久久久久久| 91porny九色| 色综合久久88色综合天天6| 国产中文字幕免费| 一区二区欧美在线观看| 国产人妻精品一区二区三区不卡| 中文字幕精品一区二区三区精品| 大黑人交xxx极品hd| 成人av网站在线| 成人欧美精品一区二区| 国产成人三级在线观看| caoporm在线视频| 青娱乐精品视频在线| 欧美日韩在线免费播放| 久久动漫亚洲| 无码人妻丰满熟妇区五十路百度| 亚洲区一区二| 男人日女人视频网站| 黄色国产精品| 野外做受又硬又粗又大视频√| 女主播福利一区| 4444在线观看| 亚洲视频一二| 久无码久无码av无码| 亚洲精品麻豆| 国产美女三级视频| 日产欧产美韩系列久久99| 日本美女高潮视频| 日本不卡一二三区黄网| 无限资源日本好片| 久久99日本精品| 久久出品必属精品| 成人激情文学综合网| 波多野结衣先锋影音| 久久婷婷国产综合国色天香 | 中文字幕中文在线不卡住| 成人信息集中地| 亚洲色图19p| 欧美成欧美va| 婷婷成人综合网| 在线观看日本视频| 欧美三级午夜理伦三级中视频| 一级片一区二区三区| 日韩欧美国产三级电影视频| 蜜桃av噜噜一区二区三区麻豆| 亚洲精品wwww| 国产三级在线观看| 精品国产一区二区三区久久狼黑人 | 欧美日韩99| 精品久久久久久久久久中文字幕| 天堂久久久久va久久久久| 欧美日韩中文不卡| 国产成人午夜99999| 美国黄色a级片| 国产精品久久久久久久久图文区| 欧美风情第一页| 香蕉久久一区二区不卡无毒影院| 激情视频网站在线观看| 欧美日本国产一区| 蜜桃视频在线观看www| 亚洲女人被黑人巨大进入| 日本亚洲精品| 欧美亚洲国产视频| 日韩综合av| 好看的日韩精品| 日韩精品免费一区二区在线观看| 国产高清www| 日韩av中文字幕一区二区| 日本少妇xxx| 国产亚洲短视频| 青娱乐国产盛宴| 欧美在线不卡一区| 六月婷婷综合网| 中文综合在线观看| 岛国av免费在线观看| 国产在线999| 亚洲va久久| 国产91视频一区| 日韩av不卡一区二区| 精品人妻一区二区三区日产| 中文字幕精品一区| 国产成人免费看| 日韩欧美国产三级| 免费黄网站在线| 57pao成人永久免费视频| 精品国产鲁一鲁****| 小说区图片区图片区另类灬| 一区二区日本视频| 亚洲av综合色区无码另类小说| 国产精品无遮挡| 国产精品视频123| 精品国产免费久久 | 看亚洲a级一级毛片| 青娱乐一区二区| 亚洲二区免费| 亚洲成人av免费观看| 最新久久zyz资源站| 伊人久久久久久久久久久久| 亚洲精品美女在线观看| 羞羞电影在线观看www| 96sao精品视频在线观看| 日韩av自拍| 成人免费毛片播放| 久久综合久久综合久久| 天天操天天摸天天干| 亚洲第一中文字幕在线观看| 伊人电影在线观看| 成人羞羞国产免费| 久久久久久久久久久9不雅视频| 五月天亚洲视频| 国产午夜精品久久久久久免费视| 毛片基地在线观看| 亚洲精品福利资源站| 国产精选在线| 精品在线不卡| 国产一区导航| 亚洲区免费视频| 在线观看国产91| 国产精品视频一区二区久久| 日韩美女免费观看| 久草精品在线| 亚洲国产精品毛片av不卡在线| 久久久久综合网| 99精品人妻国产毛片| 亚洲天堂男人天堂| 欧美精品高清| 亚洲精品人成| 久久精品av麻豆的观看方式| 中文字幕美女视频| 欧美顶级少妇做爰| 国产在线观看免费麻豆| 亚洲自拍偷拍网址| 国产精品大片| 久久久高清视频| 天天免费综合色| 蜜桃视频在线免费| 国产精品久久久久久av福利| 欧美韩日一区| 99999精品| 亚洲国产精品久久人人爱蜜臀| 亚欧在线观看视频| 国产精品久久久久77777| 国产精品videosex性欧美| 久久久久亚洲av片无码v| 亚洲高清一区二区三区| 日本不卡免费播放| 国产精品中文字幕在线| 欧美va天堂| 国产老熟女伦老熟妇露脸| 在线观看av不卡| 在线电影福利片| 久久久久资源| 极品少妇xxxx精品少妇偷拍| 豆国产97在线 | 亚洲| 亚洲人免费视频| 日韩免费大片| www.av毛片| 亚洲国产精华液网站w| 超碰在线观看av| 国产精品成人国产乱一区 | 中文字幕日韩av综合精品| 91成人app| 国产精品50p| 亚洲欧洲国产日本综合| 少妇av在线播放| 成人国产精品免费视频| a91a精品视频在线观看|