国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

類GPT模型訓練提速26.5%,清華朱軍等人用INT4算法加速神經網絡訓練

智能感知與物聯網技術研究所 ? 來源:未知 ? 2023-07-02 20:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們知道,將激活、權重和梯度量化為 4-bit 對于加速神經網絡訓練非常有價值。但現有的 4-bit 訓練方法需要自定義數字格式,而當代硬件不支持這些格式。在本文中,清華朱軍等人提出了一種使用 INT4 算法實現所有矩陣乘法的 Transformer 訓練方法。

模型訓練得快不快,這與激活值、權重、梯度等因素的要求緊密相關。

神經網絡訓練需要一定計算量,使用低精度算法(全量化訓練或 FQT 訓練)有望提升計算和內存的效率。FQT 在原始的全精度計算圖中增加了量化器和去量化器,并將昂貴的浮點運算替換為廉價的低精度浮點運算。

對 FQT 的研究旨在降低訓練數值精度,同時降低收斂速度和精度的犧牲。所需數值精度從 FP16 降到 FP8、INT32+INT8 和 INT8+INT5。FP8 訓練通過有 Transformer 引擎的 Nvidia H100 GPU 完成,這使大規模 Transformer 訓練實現了驚人的加速。

最近訓練數值精度已被壓低到 4 位( 4 bits)。Sun 等人成功訓練了幾個具有 INT4 激活 / 權重和 FP4 梯度的當代網絡;Chmiel 等人提出自定義的 4 位對數數字格式,進一步提高了精度。然而,這些 4 位訓練方法不能直接用于加速,因為它們需要自定義數字格式,這在當代硬件上是不支持的。

在 4 位這樣極低的水平上訓練存在著巨大的優化挑戰,首先前向傳播的不可微分量化器會使損失函數圖不平整,其中基于梯度的優化器很容易卡在局部最優。其次梯度在低精度下只能近似計算,這種不精確的梯度會減慢訓練過程,甚至導致訓練不穩定或發散的情況出現。

本文為流行的神經網絡 Transformer 提出了新的 INT4 訓練算法。訓練 Transformer 所用的成本巨大的線性運算都可以寫成矩陣乘法(MM)的形式。MM 形式使研究人員能夠設計更加靈活的量化器。這種量化器通過 Transformer 中的特定的激活、權重和梯度結構,更好地近似了 FP32 矩陣乘法。本文中的量化器還利用了隨機數值線性代數領域的新進展。

b3ad716e-18d4-11ee-962d-dac502259ad0.png

論文地址:https://arxiv.org/pdf/2306.11987.pdf

研究表明,對前向傳播而言,精度下降的主要原因是激活中的異常值。為了抑制該異常值,研究提出了 Hadamard 量化器,用它對變換后的激活矩陣進行量化。該變換是一個分塊對角的 Hadamard 矩陣,它將異常值所攜帶的信息擴散到異常值附近的矩陣項上,從而縮小了異常值的數值范圍。

對反向傳播而言,研究利用了激活梯度的結構稀疏性。研究表明,一些 token 的梯度非常大,但同時,其余大多數的 token 梯度又非常小,甚至比較大梯度的量化殘差更小。因此,與其計算這些小梯度,不如將計算資源用于計算較大梯度的殘差。

結合前向和反向傳播的量化技術,本文提出一種算法,即對 Transformer 中的所有線性運算使用 INT4 MMs。研究評估了在各種任務上訓練 Transformer 的算法,包括自然語言理解、問答、機器翻譯和圖像分類。與現有的 4 位訓練工作相比,研究所提出的算法實現了相媲美或更高的精度。此外,該算法與當代硬件 (如 GPU) 是兼容的,因為它不需要自定義數字格式 (如 FP4 或對數格式)。并且研究提出的原型量化 + INT4 MM 算子比 FP16 MM 基線快了 2.2 倍,將訓練速度提高了 35.1%。

前向傳播

在訓練過程中,研究者利用 INT4 算法加速所有的線性算子,并將所有計算強度較低的非線性算子設置為 FP16 格式。Transformer 中的所有線性算子都可以寫成矩陣乘法形式。為了便于演示,他們考慮了如下簡單的矩陣乘法加速。

b3c68ec4-18d4-11ee-962d-dac502259ad0.png

這種矩陣乘法的最主要用例是全連接層。

學得的步長量化

加速訓練必須使用整數運算來計算前向傳播。因此,研究者利用了學得的步長量化器(LSQ)。作為一種靜態量化方法,LSQ 的量化規模不依賴于輸入,因此比動態量化方法成本更低。相較之下,動態量化方法需要在每次迭代時動態地計算量化規模。

給定一個 FP 矩陣 X,LSQ 通過如下公式 (2) 將 X 量化為整數。

b3d5f51c-18d4-11ee-962d-dac502259ad0.png

激活異常值

簡單地將 LSQ 應用到具有 4-bit 激活 / 權重的 FQT(fully quantized training,全量化訓練)中,會由于激活異常值而導致準確度下降。如下圖 1 (a) 所示,激活的有一些異常值項,其數量級比其他項大得多。

在這種情況下,步長 s_X 在量化粒度和可表示數值范圍之間進行權衡。如果 s_X 很大,則可以很好地表示異常值,同時代價是以粗略的方式表示其他大多數項。如果 s_X 很小,則必須截斷 [?Q_Ns_X, Q_Ps_X] 范圍之外的項。

b3e22b16-18d4-11ee-962d-dac502259ad0.png

Hadamard 量化

研究者提出使用 Hadamard 量化器(HQ)來解決異常值問題,它的主要思路是在另一個異常值較少的線性空間中量化矩陣。

激活矩陣中的異常值可以形成特征級結構。這些異常值通常集中在幾個維度上,也就是 X 中只有幾列顯著大于其他列。作為一種線性變換,Hadamard 變換可以將異常值分攤到其他項中。具體地,Hadamard 變換 H_k 是一個 2^k × 2^k 矩陣。

b3f8bb7e-18d4-11ee-962d-dac502259ad0.png

為了抑制異常值,研究者對 X 和 W 的變換版本進行量化。

b40f47ae-18d4-11ee-962d-dac502259ad0.png

通過結合量化后的矩陣,研究者得到如下。

b41fa518-18d4-11ee-962d-dac502259ad0.png

其中逆變換彼此之間相互抵消,并且 MM 可以實現如下。

b434a36e-18d4-11ee-962d-dac502259ad0.png

反向傳播

研究者使用 INT4 運算來加速線性層的反向傳播。公式 (3) 中定義的線性算子 HQ-MM 具有四個輸入,分別是激活 X、權重 W 以及步長 s_X 和 s_W。給定關于損失函數 L 的輸出梯度?_YL,他們需要計算這四個輸入的梯度。

梯度的結構稀疏性

研究者注意到,訓練過程中梯度矩陣?_Y 往往非常稀疏。稀疏性結構是這樣的:?_Y 的少數行(即 tokens)具有較大的項,而大多數其他行接近全零向量。他們在下圖 2 中繪制了所有行的 per-row 范數∥(?_Y)_i:∥的直方圖。

b4448982-18d4-11ee-962d-dac502259ad0.png

Bit 拆分和平均分數采樣

研究者討論了如何設計梯度量化器,從而利用結構稀疏性在反向傳播期間準確計算 MM。高級的思路是,很多行的梯度非常的小,因而對參數梯度的影響也很小,但卻浪費了大量計算。此外,大行無法用 INT4 準確地表示。

為利用這種稀疏性,研究者提出 bit 拆分,將每個 token 的梯度拆分為更高的 4bits 和更低的 4bits。然后再通過平均分數采樣選擇信息量最大的梯度,這是 RandNLA 的一種重要性采樣技術。

實驗結果

研究在各種任務中評估了 INT4 訓練算法,包括語言模型微調、機器翻譯和圖像分類。研究使用了 CUDA 和 cutlass2 實現了所提出的 HQ-MM 和 LSS-MM 算法。除了簡單地使用 LSQ 作為嵌入層外,研究用 INT4 替換了所有浮點線性運算符,并保持最后一層分類器的全精度。并且,在此過程中,研究人員對所有評估模型采用默認架構、優化器、調度器和超參數。

收斂模型精度。下表 1 展示了收斂模型在各任務上的精度。

b474f978-18d4-11ee-962d-dac502259ad0.png

語言模型微調。與 LSQ+LUQ 相比,研究提出的算法在 bert-base 模型上提升了 5.5% 的平均精度、,在 bert-large 模型上提升了 25% 的平均精度。

研究團隊還展示了算法在 SQUAD、SQUAD 2.0、Adversarial QA、CoNLL-2003 和 SWAG 數據集上進一步展示了結果。在所有任務上,與 LSQ+LUQ 相比,該方法取得了更好的性能。與 LSQ+LUQ 相比,該方法在 SQUAD 和 SQUAD 2.0 上分別提高了 1.8% 和 3.6%。在更困難的對抗性 QA 中,該方法的 F1 分數提高了 6.8%。在 SWAG 和 CoNLL-2003 上,該方法分別提高了 6.7%、4.2% 的精度。

機器翻譯。研究還將所提出的方法用于預訓練。該方法在 WMT 14 En-De 數據集上訓練了一個基于 Transformer 的 [51] 模型用于機器翻譯。

HQ+LSS 的 BLEU 降解率約為 1.0%,小于 Ultra-low 的 2.1%,高于 LUQ 論文中報道的 0.3%。盡管如此,HQ+LSS 在這項預訓練任務上的表現仍然與現有方法相當,并且它支持當代硬件。

圖像分類。研究在 ImageNet21k 上加載預訓練的 ViT 檢查點,并在 CIFAR-10、CIFAR-100 和 ImageNet1k 上對其進行微調。

與 LSQ+LUQ 相比,研究方法將 ViT-B/32 和 ViT-L/32 的準確率分別提高了 1.1% 和 0.2%。在 ImageNet1k 上,該方法與 LSQ+LUQ 相比,ViT-B/32 的精度提高了 2%,ViT-L/32 的精度提高了 2.6%,ViT-L/32 的精度提高了 0.2%。

研究團隊進一步測試了算法在 ImageNet1K 上預訓練 DeiT-Small 模型的有效性,其中 HQ+LSS 與 LSQ+LUQ 相比仍然可以收斂到相似的精度水平,同時對硬件更加友好。

消融研究

研究者進行消融研究,以獨立地在挑戰性 CoLA 數據集上展示前向和反向方法的有效性。為了研究不同量化器對前向傳播的有效性,他們將反向傳播設置為 FP16。結果如下圖 3 (a) 所示。

對于反向傳播,研究者比較了簡單的極小極大量化器、LUQ 和他們自己的 LSS,并將前向傳播設置為 FP16。結果如下圖 3 (b) 所示,雖然位寬高于 2,但 LSS 取得的結果與 LUQ 相當,甚至略高于后者。

b498e70c-18d4-11ee-962d-dac502259ad0.png

計算和內存效率

研究者比較自己提出的 HQ-MM (HQ)、計算權重梯度的 LSS(LSSWeight)、計算激活梯度的 LSS(LSSAct)的吞吐量、它們的平均吞吐量(INT4)及下圖 4 中英偉達 RTX 3090 GPU 上 cutlass 提供的基線張量核心 FP16 GEMM 實現(FP16),它的峰值吞吐量為 142 FP16 TFLOPs 和 568 INT4 TFLOPs。

b4b29274-18d4-11ee-962d-dac502259ad0.png

研究者還比較 FP16 PyTorch AMP 以及自己 INT4 訓練算法在 8 個英偉達 A100 GPU 上訓練類 BERT 和類 GPT 語言模型的訓練吞吐量。他們改變了隱藏層大小、中間全連接層大小和批大小,并在下圖 5 中繪制了 INT4 訓練的加速比。

結果顯示,INT4 訓練算法對于類 BERT 模型實現了最高 35.1% 的加速,對于類 GPT 模型實現了最高 26.5% 的加速。

b4de6ba6-18d4-11ee-962d-dac502259ad0.png

更多技術和實驗細節請參閱原論文。

THE END


原文標題:類GPT模型訓練提速26.5%,清華朱軍等人用INT4算法加速神經網絡訓練

文章出處:【微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2945

    文章

    47826

    瀏覽量

    415260

原文標題:類GPT模型訓練提速26.5%,清華朱軍等人用INT4算法加速神經網絡訓練

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    算法工程師需要具備哪些技能?

    景:神經網絡中的權重矩陣計算、降維算法(如PCA)等。 概率論與數理統計核心內容:貝葉斯定理、最大似然估計、假設檢驗等。應用場景:模型不確定性分析、A/B測試效果評估等。 微積分核心內容:導數、梯度
    發表于 02-27 10:53

    訓練到推理:大模型算力需求的新拐點已至

    算力正在成為市場關注的新焦點。一、訓練算力的"一次性投入"困境大模型訓練是典型的"一次性高成本投入"模式。根據OpenAI的公開數據,GPT-3.5的
    的頭像 發表于 02-05 16:07 ?838次閱讀
    從<b class='flag-5'>訓練</b>到推理:大<b class='flag-5'>模型</b>算力需求的新拐點已至

    NMSIS神經網絡庫使用介紹

    NMSIS NN 軟件庫是一組高效的神經網絡內核,旨在最大限度地提高 Nuclei N 處理器內核上的神經網絡的性能并最??大限度地減少其內存占用。 該庫分為多個功能,每個功能涵蓋特定類別
    發表于 10-29 06:08

    構建CNN網絡模型并優化的一般化建議

    :Dropout層隨機跳過神經網絡模型中某些神經元之間的連接,通過隨機制造缺陷進行訓練提升整個神經網絡的魯棒性。 6)指定合理的學習率策
    發表于 10-28 08:02

    如何將訓練好的神經網絡模型部署到蜂鳥e203開發板上

    本帖欲分享如何將訓練好的神經網絡模型部署到蜂鳥e203開發板上。 1. 加載TFLite模型 std::unique_ptr interpreter(new tflite::Inte
    發表于 10-22 08:04

    在Ubuntu20.04系統中訓練神經網絡模型的一些經驗

    , batch_size=512, epochs=20)總結 這個核心算法中的卷積神經網絡結構和訓練過程,是用來對MNIST手寫數字圖像進行分類的。模型將圖像作為輸入,通過卷積和池化
    發表于 10-22 07:03

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+神經形態計算、腦芯片

    AI芯片不僅包括深度學細AI加速器,還有另外一個主要列別:腦芯片。腦芯片是模擬人腦神經網絡架構的芯片。它結合微電子技術和新型神經形態器件
    發表于 09-17 16:43

    神經網絡的并行計算與加速技術

    隨著人工智能技術的飛速發展,神經網絡在眾多領域展現出了巨大的潛力和廣泛的應用前景。然而,神經網絡模型的復雜度和規模也在不斷增加,這使得傳統的串行計算方式面臨著巨大的挑戰,如計算速度慢、訓練
    的頭像 發表于 09-17 13:31 ?1138次閱讀
    <b class='flag-5'>神經網絡</b>的并行計算與<b class='flag-5'>加速</b>技術

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+AI的未來:提升算力還是智力

    持續發展體現在: 1、收益遞減 大模型的基礎的需要極大的算力,這首先源于昂貴的高性能AI芯片,然后是寶貴的電力、水等與環境相關的資源。 收益遞減體現在: ①模型大小 ②訓練數據量 ③訓練
    發表于 09-14 14:04

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+第二章 實現深度學習AI芯片的創新方法與架構

    Transformer和視覺Transformer模型。 ViTA是一種高效數據流AI加速器,用于在邊緣設備上部署計算密集型視覺Transformer模型。 2、射頻神經網絡 2.1線
    發表于 09-12 17:30

    無刷電機小波神經網絡轉子位置檢測方法的研究

    摘要:論文通過對無刷電機數學模型的推導,得出轉角:與三相相電壓之間存在映射關系,因此構建了一個以三相相電壓為輸人,轉角為輸出的小波神經網絡來實現轉角預測,并采用改進遺傳算法訓練
    發表于 06-25 13:06

    基于FPGA搭建神經網絡的步驟解析

    本文的目的是在一個神經網絡已經通過python或者MATLAB訓練好的神經網絡模型,將訓練好的模型
    的頭像 發表于 06-03 15:51 ?1236次閱讀
    基于FPGA搭建<b class='flag-5'>神經網絡</b>的步驟解析

    RAKsmart智能算力架構:異構計算+低時延網絡驅動企業AI訓練范式升級

    在AI大模型參數量突破萬億、多模態應用爆發的今天,企業AI訓練正面臨算力效率與成本的雙重挑戰。RAKsmart推出的智能算力架構,以異構計算資源池化與超低時延網絡為核心,重構AI訓練
    的頭像 發表于 04-17 09:29 ?773次閱讀

    PaddleNLP為GPT-2模型制作FineWeb二進制預訓練數據集

    作者:算力魔方創始人/英特爾創新大使劉力 《PaddleNLP在4060單卡上實踐大模型訓練技術》發布后收到讀者熱烈反響,很多讀者要求進一步講解更多的技術細節。本文主要針對大語言模型
    的頭像 發表于 03-21 18:24 ?4328次閱讀
    <b class='flag-5'>用</b>PaddleNLP為<b class='flag-5'>GPT</b>-2<b class='flag-5'>模型</b>制作FineWeb二進制預<b class='flag-5'>訓練</b>數據集

    訓練好的ai模型導入cubemx不成功怎么處理?

    訓練好的ai模型導入cubemx不成功咋辦,試了好幾個模型壓縮了也不行,ram占用過大,有無解決方案?
    發表于 03-11 07:18