在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

存內(nèi)計算技術(shù)工具鏈——量化篇

廖慧敏 ? 來源:jf_13681693 ? 作者:jf_13681693 ? 2024-05-16 12:35 ? 次閱讀

本篇文章將重點講述存內(nèi)計算技術(shù)工具鏈之“量化”,我們將從面向存內(nèi)計算芯片的深度學(xué)習(xí)編譯工具鏈、神經(jīng)網(wǎng)絡(luò)中的量化(包括訓(xùn)練后量化與量化感知訓(xùn)練)、基于存內(nèi)計算芯片硬件特性的量化工具這三個方面來對存內(nèi)計算技術(shù)工具鏈的量化進行闡述。

一.深度學(xué)習(xí)編譯工具鏈

工具鏈,英文名稱toolchain,通常是指在軟件開發(fā)或硬件設(shè)計中使用的一系列工具和軟件,用于完成特定任務(wù)或流程。這些工具一般接連地使用,從而完成一個個任務(wù),這也是“工具鏈”名稱的由來。一般工具鏈的研發(fā),大致與通用應(yīng)用程序生命周期一致,分為五個階段,如圖1所示,圖中包括每個階段對應(yīng)的工具等[1]。

wKgZomZEmdiAIdAqABnBLeia9y8361.png

而在AI芯片領(lǐng)域,工具鏈特指連接模型算法到芯片部署的端到端系列工具。面向存算一體芯片的深度學(xué)習(xí)編譯工具鏈包括深度學(xué)習(xí)的算法設(shè)計、前端網(wǎng)絡(luò)的模型轉(zhuǎn)換、后端配置空間映射、存算一體的電路設(shè)計及各步驟的中間優(yōu)化等模塊;如今,面向傳統(tǒng)芯片的深度學(xué)習(xí)編譯工具鏈發(fā)展健全,而面向存算一體芯片的深度學(xué)習(xí)編譯工具鏈在前端優(yōu)化策略、后端空間映射等方面都仍有欠缺,這使得深度學(xué)習(xí)部署在存算一體芯片上移植性低、成本高,因此需要我們設(shè)計出能實現(xiàn)端到端的存算一體工具鏈及軟硬件系統(tǒng),而本文所述的“量化”,便是工具鏈中的重要工具之一。

wKgaomZEmfmAZmaYABaDY-JFFtM896.png圖2 深度學(xué)習(xí)編譯器常用設(shè)計架構(gòu)梳理

面向存內(nèi)計算芯片的深度學(xué)習(xí)編譯工具鏈通常包括量化、圖優(yōu)化、編譯、調(diào)度、映射、模擬等工具:

(1)量化和優(yōu)化工具:

在涉及到機器學(xué)習(xí)和深度學(xué)習(xí)模型的存內(nèi)計算應(yīng)用中,量化和優(yōu)化工具變得尤為重要。這些工具可以幫助將模型減小到能夠在內(nèi)存中高效運行的大小,同時盡量保持模型的準確性。

TensorFlow Lite: 提供了一套工具,支持模型的量化,使其更適合在移動設(shè)備和邊緣設(shè)備上運行。
PyTorch Mobile: 類似地,PyTorch提供了工具來優(yōu)化和減小模型的大小,以便在資源受限的環(huán)境中運行。
(2)編譯器與編程框架:

存內(nèi)計算通常需要定制化的編譯器,它能夠理解特定存內(nèi)計算硬件的特性,并將算法和程序轉(zhuǎn)換為能在存儲單元內(nèi)執(zhí)行的形式。
而編程模框架必須適應(yīng)存內(nèi)計算的特點,比如提供API或DSL(領(lǐng)域特定語言),允許開發(fā)者表達針對存內(nèi)計算架構(gòu)的并行性和數(shù)據(jù)局部性。
(3)映射與調(diào)度工具:

數(shù)據(jù)布局和計算任務(wù)在存儲陣列中的映射至關(guān)重要,相應(yīng)的工具應(yīng)能智能地分配和管理數(shù)據(jù)在內(nèi)存單元中的位置,優(yōu)化計算效率和帶寬使用。
調(diào)度工具則負責(zé)在不同時刻根據(jù)資源約束安排計算操作,確保有效利用存內(nèi)計算硬件的并行性和容量。
(4)模擬與驗證工具:

設(shè)計階段需要用到高級和低級的模擬器來模擬存內(nèi)計算芯片的行為,驗證功能正確性以及性能預(yù)期。
驗證工具幫助確保邏輯功能、功耗分析、時序收斂以及與主處理器或其他組件之間的交互都符合設(shè)計需求。
(5)開發(fā)和測試工具:

Jenkins, GitLab CI/CD: 這些持續(xù)集成和持續(xù)部署工具可以自動化存內(nèi)計算應(yīng)用的構(gòu)建、測試和部署過程。
JUnit, PyTest: 提供了豐富的測試框架,幫助開發(fā)者編寫和執(zhí)行單元測試和集成測試。
二.神經(jīng)網(wǎng)絡(luò)中的量化

量化工具鏈可以推動工具鏈和存內(nèi)計算技術(shù)的進一步發(fā)展,下面將介紹量化的基本知識,重點圍繞神經(jīng)網(wǎng)絡(luò)量化進行講解。

(1)量化的概念[3]

量化通常是指將連續(xù)值或較大范圍的值簡化為較小范圍內(nèi)的值的過程。在數(shù)字信號處理中,這通常指的是將模擬信號轉(zhuǎn)換為數(shù)字信號的過程。在神經(jīng)網(wǎng)絡(luò)中,量化通常指的是將浮點數(shù)(如32位的Float)轉(zhuǎn)換為低位數(shù)的表示(如8位或16位的Int)。

(2)量化的意義

近年來,深度學(xué)習(xí)技術(shù)在多個領(lǐng)域快速發(fā)展,特別是在計算機視覺領(lǐng)域,深度神經(jīng)網(wǎng)絡(luò)已在圖像分類、目標檢測等各種計算機視覺學(xué)習(xí)任務(wù)上展示了突破性結(jié)果。然而,這些方案通常是通過擴大神經(jīng)網(wǎng)絡(luò)規(guī)模來提高性能,需要花費更高的計算資源和內(nèi)存需求。這導(dǎo)致大多數(shù)深度神經(jīng)網(wǎng)絡(luò)只能在圖形處理器等高算力設(shè)備上運行推理,然而此類設(shè)備往往需要很大的功耗才能達到實時的推斷效果。因此,開發(fā)輕量級的深度神經(jīng)網(wǎng)絡(luò)、進行模型量化對于計算資源有限的邊緣設(shè)備來說至關(guān)重要。此外,深度學(xué)習(xí)技術(shù)的發(fā)展也帶來了神經(jīng)網(wǎng)絡(luò)模型的快速發(fā)展,隨之而來的就是模型參數(shù)的大幅度提升[4]。如圖3所示,在Transformer架構(gòu)興起之后,模型規(guī)模呈指數(shù)級增長。神經(jīng)網(wǎng)絡(luò)的參數(shù)數(shù)量已經(jīng)從Alexnet的6000萬個增長到OpenAI GPT-3的1750億個[5],對模型的存儲空間和計算資源等提出了更高的需求。

wKgaomZEmkKAeZ-BAA53RxDibbk417.png圖3 神經(jīng)網(wǎng)絡(luò)模型參數(shù)隨時間變化

模型量化技術(shù)可以在一定程度上緩解上述問題,即通過數(shù)據(jù)壓縮,來降低模型的存儲空間、內(nèi)存占用和計算資源需求,從而提高模型的推理速度,豐富應(yīng)用場景,量化已經(jīng)成為深度神經(jīng)網(wǎng)絡(luò)優(yōu)化的大方向之一。然而量化由于涉及到舍入或截斷操作,會引入一定的誤差。因此,量化技術(shù)的一個重要的挑戰(zhàn)是在減少模型大小和保持模型精度之間進行折衷。

(3)模型量化的實例

TensorFlow[6]提供了兩種量化方法,訓(xùn)練后量化(POT, Post Training Quantization)和量化感知訓(xùn)練(QAT, Quantization Aware Training)。

①訓(xùn)練后量化[7]

PTQ量化可以無需原始的訓(xùn)練過程就能將預(yù)訓(xùn)練的FP32網(wǎng)絡(luò)直接轉(zhuǎn)換為定點網(wǎng)絡(luò)。這個方法通常不需要數(shù)據(jù)或者只需要很少的校準數(shù)據(jù)集,并且這部分數(shù)據(jù)通常可以非常容易的獲得。量化過程中無需對原始模型進行任何訓(xùn)練,而只對幾個超參數(shù)調(diào)整,從而以高效的方式去對預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型進行量化。這使得神經(jīng)網(wǎng)絡(luò)的設(shè)計者不必成為量化方面的專家,從而讓神經(jīng)網(wǎng)絡(luò)量化的應(yīng)用變得更加廣泛。

如圖4所示,為標準的PTQ量化流程,包括跨層均衡(CLE)、添加量化器(Add Quantizers)、權(quán)重范圍設(shè)置(Weight Range Setting)、自適應(yīng)舍入(AdaRound)、偏差校正(Bias Correction)、激活范圍設(shè)置(Activation Range Setting)等步驟,這個流程為許多計算機視覺以及自然語言處理模型及任務(wù)實現(xiàn)了有競爭力的PTQ結(jié)果。根據(jù)不同的模型,有些步驟可能是不需要的,或者其他的選擇可能會導(dǎo)致相同或更好的性能。

wKgZomZEmnqATTM3AA1ZolmPSDo515.png圖5 標準PTQ量化流程

三.基于硬件特性的量化工具量化精度與硬件性能之間存在較強的耦合。當前的神經(jīng)網(wǎng)絡(luò)開發(fā)環(huán)境和深度學(xué)習(xí)算法已針對電腦CPUGPU、NPU、DSP等部分,以及傳統(tǒng)意義上執(zhí)行速度慢的浮點運算進行了廣泛的優(yōu)化,使得在電腦端設(shè)計神經(jīng)網(wǎng)絡(luò)變得更加簡單,在電腦端訓(xùn)練、運行神經(jīng)網(wǎng)絡(luò)變得高效。但需要注意的是,PyTorch、TensorFlow等常用開發(fā)環(huán)境中默認的權(quán)重參數(shù)通常是Tensor Float 32格式,由于開發(fā)環(huán)境對該計算格式的優(yōu)化,使得如果在電腦端訓(xùn)練BNN網(wǎng)絡(luò)或整數(shù)類型網(wǎng)絡(luò),甚至需要額外編寫加速整數(shù)運算的算法來加速整數(shù)運算[9]。而現(xiàn)有的量產(chǎn)存內(nèi)計算芯片主要支持較低比特的整數(shù)形式數(shù)據(jù)計算和存儲,因此為了保證網(wǎng)絡(luò)和訓(xùn)練的高效,需要通過軟件工具對訓(xùn)練得到的權(quán)重參數(shù)進行精度轉(zhuǎn)換和調(diào)整,再部署到存內(nèi)計算芯片中。

wKgaomZEmsaACE6KAADx418Y_Rc150.png圖6 量化工具鏈流程示意圖

神經(jīng)網(wǎng)絡(luò)依賴大量數(shù)據(jù)來發(fā)現(xiàn)規(guī)律,原則上可以容忍一定的計算誤差。但是,由于神經(jīng)網(wǎng)絡(luò)的復(fù)雜性(例如深度網(wǎng)絡(luò)),將權(quán)重參數(shù)量化為整數(shù)形式可能會導(dǎo)致推理結(jié)果與訓(xùn)練習(xí)到的規(guī)律顯著不同。因此,在量化過程之后,通常需要對網(wǎng)絡(luò)進行重新訓(xùn)練和權(quán)重參數(shù)的微調(diào),以確保量化后網(wǎng)絡(luò)的效果。

算法與硬件需要協(xié)同設(shè)計才能在不損失精度的情況下,充分發(fā)揮存內(nèi)計算芯片的優(yōu)勢。存內(nèi)計算芯片旨在突破計算和存儲間的數(shù)據(jù)搬移瓶頸,加速神經(jīng)網(wǎng)絡(luò)中常見的乘累加運算,但神經(jīng)網(wǎng)絡(luò)中地其他運算則需要依靠外部電路進行處理。基于該特性,神經(jīng)網(wǎng)絡(luò)的設(shè)計需要在傳統(tǒng)算法的基礎(chǔ)上進行改進,例如通過重新設(shè)計數(shù)據(jù)結(jié)構(gòu)和訪問模式來減少不必要的數(shù)據(jù)移動,或者調(diào)整計算過程以適應(yīng)芯片的特定能耗模式,最終實現(xiàn)量化感知的應(yīng)用算法結(jié)構(gòu)與訓(xùn)練框架,這一過程離不開量化工具鏈的支持。已有存內(nèi)計算芯片廠商,如知存科技和后摩智能,建立了自己的開發(fā)者網(wǎng)站,并推出了開發(fā)者工具、量化工具鏈和開發(fā)板。例如知存科技的神經(jīng)網(wǎng)絡(luò)映射編譯軟件棧witin_mapper,后摩智能的后摩大道軟件平臺。這些工具的推出不僅為開發(fā)者提供便利,而且進一步促進了存內(nèi)計算技術(shù)的發(fā)展。

參考資料

[1] A glimpse into the exploding number of DevOps tools, which are filling the gap created by the waterfall model’s displacement.(Source:GrowthPoint Technology Partners)

[2] Li M, Liu Y, Liu X, et al. The deep learning compiler: A comprehensive survey[J]. IEEE Transactions on Parallel and Distributed Systems, 2020, 32(3): 708-727.

[3] 神經(jīng)網(wǎng)絡(luò)中的量化-簡介 - 知乎 (zhihu.com).

[4] P. -Y. Chen, H. -C. Lin and J. -I. Guo, “Multi-Scale Dynamic Fixed-Point Quantization and Training for Deep Neural Networks,” 2023 IEEE International Symposium on Circuits and Systems (ISCAS), Monterey, CA, USA, 2023, pp. 1-5.

[5] B. -S. Liang, “AI Computing in Large-Scale Era: Pre-trillion-scale Neural Network Models and Exa-scale Supercomputing,” 2023 International VLSI Symposium on Technology, Systems and Applications (VLSI-TSA/VLSI-DAT), HsinChu, Taiwan, 2023, pp. 1-3.

[6] B. Jacob, S. Kligys, B. Chen, et al, “Quantization and training of neural networks for efficient integer-arithmetic-only inference,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2018, pp. 2704-2713.

[7] 再讀《神經(jīng)網(wǎng)絡(luò)量化白皮書》- 0x03 訓(xùn)練后量化(PTQ) - 知乎 (zhihu.com).

[8] 再讀《神經(jīng)網(wǎng)絡(luò)量化白皮書》- 0x04 訓(xùn)練時量化(QAT) - 知乎 (zhihu.com).

[9] Hubara I, Courbariaux M, Soudry D, et al. Binarized neural networks[J]. Advances in neural information processing systems, 2016, 29.

審核編輯 黃宇

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

    關(guān)注

    42

    文章

    4810

    瀏覽量

    102916
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8493

    瀏覽量

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

    關(guān)注

    73

    文章

    5555

    瀏覽量

    122533
  • 量化
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    2413
  • 存內(nèi)計算
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    1485
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    內(nèi)計算并不滿足于現(xiàn)有的算力

    談到內(nèi)計算,大部分人的第一印象就是超低功耗和大算力。內(nèi)計算技術(shù)打破了馮諾依曼架構(gòu)的限制,沖破
    的頭像 發(fā)表于 05-11 00:08 ?3213次閱讀

    內(nèi)生態(tài)構(gòu)建重要一環(huán)- 內(nèi)計算工具

    本篇文章重點講述內(nèi)計算相關(guān)工具,我們將從工具
    的頭像 發(fā)表于 05-16 14:37 ?1565次閱讀
    <b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b>生態(tài)構(gòu)建重要一環(huán)- <b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b><b class='flag-5'>工具</b><b class='flag-5'>鏈</b>

    探索內(nèi)計算—基于 SRAM 的內(nèi)計算與基于 MRAM 的算一體的探究

    本文深入探討了基于SRAM和MRAM的算一體技術(shù)計算領(lǐng)域的應(yīng)用和發(fā)展。首先,介紹了基于SRAM的內(nèi)邏輯
    的頭像 發(fā)表于 05-16 16:10 ?4114次閱讀
    探索<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b>—基于 SRAM 的<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b>與基于 MRAM 的<b class='flag-5'>存</b>算一體的探究

    論基于電壓域的SRAM內(nèi)計算技術(shù)的嶄新前景

    這篇文章總結(jié)了馮·諾伊曼架構(gòu)及其在處理數(shù)據(jù)密集型應(yīng)用中所面臨的性能和能耗問題。為了應(yīng)對這一挑戰(zhàn),文章介紹了內(nèi)計算技術(shù),其中重點討論了基于電壓域的SRAM
    的頭像 發(fā)表于 05-17 14:38 ?1377次閱讀
    論基于電壓域的SRAM<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算技術(shù)</b>的嶄新前景

    內(nèi)計算原理分類——數(shù)字內(nèi)計算與模擬內(nèi)計算

    數(shù)字內(nèi)計算與模擬內(nèi)計算各有優(yōu)劣,都是算一體發(fā)展
    的頭像 發(fā)表于 05-21 16:26 ?3851次閱讀
    <b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b>原理分類——數(shù)字<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b>與模擬<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b>

    內(nèi)計算WTM2101編譯工具 資料

    領(lǐng)先的內(nèi)計算芯片企業(yè)。公司針對AI應(yīng)用場景,在全球率先商業(yè)化量產(chǎn)基于內(nèi)計算技術(shù)的神經(jīng)網(wǎng)絡(luò)芯片
    發(fā)表于 05-16 16:33

    淺談內(nèi)計算生態(tài)環(huán)境搭建以及軟件開發(fā)

    后,我們現(xiàn)在將轉(zhuǎn)向?qū)崿F(xiàn)存內(nèi)計算技術(shù)潛力的關(guān)鍵:內(nèi)計算生態(tài)環(huán)境的搭建以及軟件開發(fā)的具體細節(jié)。它們不僅為
    發(fā)表于 05-16 16:40

    ARM DynamIQ計算技術(shù)介紹

    ARM DynamIQ全新時代的計算技術(shù)
    發(fā)表于 02-03 06:49

    可重構(gòu)計算技術(shù)在汽車電子領(lǐng)域面臨哪些問題?

    可重構(gòu)計算技術(shù)在汽車電子領(lǐng)域的應(yīng)用前景可重構(gòu)計算技術(shù)在汽車電子領(lǐng)域面臨的問題
    發(fā)表于 05-12 06:40

    Vector向量計算技術(shù)與SIMD技術(shù)的對比

    什么是向量計算技術(shù)?什么是SIMD技術(shù)?它們之間有什么區(qū)別?看到這個標題的時候,可能各位讀者都會有各種各樣的疑問。那么本文,筆者將基于RISC-V指令集,盡量以簡單易懂的方式,向大家介紹二者的聯(lián)系和區(qū)別,并
    發(fā)表于 09-01 15:09

    計算技術(shù)及應(yīng)用

    計算技術(shù)及應(yīng)用
    發(fā)表于 01-22 13:38 ?16次下載

    三星基于HMB的內(nèi)計算芯片有何亮點?

    算一體或者叫內(nèi)計算技術(shù)隨著AI的火熱再一次成為業(yè)內(nèi)關(guān)注的焦點,存儲和計算的融合有望解決AI芯片內(nèi)存墻的限制,當然,實現(xiàn)的方法也各不相同。
    的頭像 發(fā)表于 02-19 10:16 ?3453次閱讀

    淺談內(nèi)計算生態(tài)環(huán)境搭建以及軟件開發(fā)

    和作用后,我們現(xiàn)在將轉(zhuǎn)向?qū)崿F(xiàn)存內(nèi)計算技術(shù)潛力的關(guān)鍵:內(nèi)計算生態(tài)環(huán)境的搭建以及軟件開發(fā)的具體細節(jié)。它們不僅為
    的頭像 發(fā)表于 05-15 17:10 ?752次閱讀
    淺談<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計算</b>生態(tài)環(huán)境搭建以及軟件開發(fā)

    科技啟動首屆內(nèi)計算創(chuàng)新大賽

    內(nèi)計算作為一項打破“內(nèi)存墻”“功耗墻”的顛覆性技術(shù),消除了與算的界限,相比CPU或GPU能夠?qū)崿F(xiàn)更高
    的頭像 發(fā)表于 11-21 10:44 ?552次閱讀

    第二屆知科技杯華東高校內(nèi)計算創(chuàng)新應(yīng)用大賽正式啟動

    在數(shù)字化浪潮席卷各行業(yè)的當下,數(shù)據(jù)量呈爆炸式增長,算力需求也水漲船高。內(nèi)計算架構(gòu)作為創(chuàng)新解決方案,備受產(chǎn)學(xué)研各界關(guān)注。為推動內(nèi)
    的頭像 發(fā)表于 05-06 17:51 ?375次閱讀
    主站蜘蛛池模板: 黄色大片视频在线观看 | 福利一级片 | 你懂的在线视频观看 | 狠狠五月深爱婷婷网 | 51精品视频免费国产专区 | 国产handjob手交在线播放 | 亚洲夂夂婷婷色拍ww47 | 爱夜夜性夜夜夜夜夜夜爽 | 日夜夜操 | 三级四级特黄在线观看 | 最好看的最新中文字幕2018免费视频 | 天天干天天做天天操 | 天天做天天添婷婷我也去 | 四虎www成人影院免费观看 | 免费在线播放毛片 | 久久天天综合 | 69性成熟xxxxhd | 色偷偷尼玛图亚洲综合 | 天堂网在线最新版官网 | 色狠狠综合网 | videos另类重口tv | 91精品国产91久久久久青草 | 国产片翁熄系列乱在线视频 | 国产亚洲精品仙踪林在线播放 | 欧美1区| 天天透天天操 | 五月天伦理 | 中文天堂最新版资源新版天堂资源 | 人人艹在线 | 久草热线视频 | 婷婷色在线播放 | 美女黄18以下禁止观看 | 一级片在线观看免费 | 在线免费观看h | 美女视频永久黄网站免费观看国产 | 久久性 | 亚洲区一二三四区2021 | 国产精品女仆装在线播放 | 色香色香欲天天天影视综合网 | 三级毛片免费 | 欧美色操|