RM新时代网站-首页

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

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

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

深度學習編譯工具鏈中的核心——圖優(yōu)化

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

圖優(yōu)化
圖優(yōu)化的概念:
深度神經(jīng)網(wǎng)絡(luò)模型可以看做由多個算子連接而成的有向無環(huán)圖,圖中每個算子代表一類操作(如乘法、卷積),連接各個算子的邊表示數(shù)據(jù)流動。在部署深度神經(jīng)網(wǎng)絡(luò)的過程中,為了適應(yīng)硬件平臺的優(yōu)化、硬件本身支持的算子等,需要調(diào)整優(yōu)化網(wǎng)絡(luò)中使用的算子或算子組合,這就是深度學習編譯工具鏈中的核心——圖優(yōu)化。

圖優(yōu)化是指對深度學習模型的計算圖進行分析和優(yōu)化的過程,通過替換子圖(算子)為在推理平臺上性能更佳的另一個等價子圖、或優(yōu)化數(shù)據(jù)流動,來提高模型推理的性能。圖優(yōu)化的出現(xiàn)很大程度上是因為算法開發(fā)人員不熟悉硬件,在算法層面上可以靈活表達的一種計算方式,在硬件底層和推理方式上可能存在顯著的性能差異[1]。

為了更好的理解圖優(yōu)化,我們需要先了解幾個圖相關(guān)的基本概念。

(1)節(jié)點(Vertex):圖的重要概念,也是圖的基本單位,可以代表網(wǎng)絡(luò)中的一個實體;

(2)邊(Edge):圖的重要概念,是連接兩個節(jié)點的線,可以是有向的(箭頭指向一個方向)或無向的。邊可以表示頂點之間的關(guān)系,如距離、相似性等;

(3)權(quán)重(Weights):邊的屬性,表示從一個節(jié)點到另一個節(jié)點的“成本”(如距離、時間或其他資源消耗);

(4)路徑(Path):節(jié)點的序列,其中任意相鄰的節(jié)點都通過圖中的邊相連。

wKgaomZFpayACW6VAAXaLP8hLwM545.png

wKgZomZFpcOAdypsAATnWhm36Fs115.png

圖 1 圖的基本概念

基于這些基本的概念,我們可以將優(yōu)化問題引入到圖中來,比如最短路徑問題、最小生成樹問題、網(wǎng)絡(luò)流問題、匹配問題等等;為了解決這些優(yōu)化問題,我們也提出了一系列優(yōu)化算法,比如Dijkstra算法、Kruskal算法、Ford-Fulkerson算法等等。

圖優(yōu)化的分類:
圖優(yōu)化問題通常根據(jù)解空間的連續(xù)性可分為“組合優(yōu)化問題”和“連續(xù)優(yōu)化問題”,其中前者的解空間是離散的,后者的解空間是連續(xù)的。

wKgaomZFpc-AW1IQABEa5HAH8fA231.png

圖 2 組合優(yōu)化問題之“旅行商問題”[2]

(1)組合優(yōu)化問題

組合優(yōu)化問題涉及到在一個有限的、離散的可能解集合中尋找最優(yōu)解的問題。這類問題的特點是解空間通常由一組離散的選擇構(gòu)成,解決問題的關(guān)鍵在于如何從這些離散的選擇中找到滿足約束條件的最優(yōu)組合。

i.旅行商問題(TSP):旅行商問題要求找到一條經(jīng)過圖中每個頂點恰好一次并返回起點的最短可能路徑。這是組合優(yōu)化中的一個典型問題。

ii.圖著色問題:給定一個圖,目標是使用最少的顏色給圖中的每個頂點著色,使得任何兩個相鄰的頂點顏色不同。這是一個經(jīng)典的NP難(NP-hard)問題。

(2)連續(xù)優(yōu)化問題

與組合優(yōu)化不同,連續(xù)優(yōu)化問題的解空間是連續(xù)的。這意味著問題的變量可以在某個連續(xù)的范圍內(nèi)取值。連續(xù)優(yōu)化問題在工程、經(jīng)濟學、物理學等多個領(lǐng)域都有廣泛應(yīng)用。

i.最小二乘問題:在統(tǒng)計學和數(shù)據(jù)分析中,最小二乘問題是一種常見的連續(xù)優(yōu)化問題,目標是找到一組參數(shù),使得模型預(yù)測值和實際觀測值之間的誤差平方和最小。

ii.線性規(guī)劃問題:雖然線性規(guī)劃問題的解可能是離散的,但大多數(shù)情況下它被視為連續(xù)優(yōu)化問題,因為問題的變量可以在連續(xù)范圍內(nèi)取值。線性規(guī)劃問題的目標是在滿足一組線性約束的條件下,最大化或最小化一個線性目標函數(shù)。

綜上所述,在圖優(yōu)化的背景下,組合優(yōu)化問題通常涉及到圖的結(jié)構(gòu)和圖上的離散決策,例如路徑選擇、網(wǎng)絡(luò)設(shè)計、資源分配等。而連續(xù)優(yōu)化問題可能涉及到圖的邊權(quán)重的連續(xù)調(diào)整,或者在圖表示的某種物理系統(tǒng)中尋找最優(yōu)的連續(xù)狀態(tài)。

圖優(yōu)化的策略:
傳統(tǒng)意義上,圖優(yōu)化包含的具體策略有:

算子融合,將多個操作融合為一個復(fù)合操作,減少內(nèi)存訪問次數(shù)和中間數(shù)據(jù)的存儲需求;
常量折疊,在編譯時期預(yù)先確定結(jié)果的表達式,減少運行時的計算量;
內(nèi)存復(fù)用,識別和優(yōu)化計算圖中的內(nèi)存使用,減少內(nèi)存分配和釋放操作;
數(shù)據(jù)布局轉(zhuǎn)換,根據(jù)硬件特性調(diào)整數(shù)據(jù)的存儲格式,提高內(nèi)存訪問效率;
算子集并行化,識別可以并行執(zhí)行的操作,利用硬件處理單元的并行計算能力;
子圖替換/合并,如圖3所示,將計算圖中的某些算子替換為在轉(zhuǎn)為硬件優(yōu)化的版本或效率更高的實現(xiàn)方式。

wKgaomZFpfyAXG1BAAFbgXsRcy0209.png


圖3 深度神經(jīng)網(wǎng)絡(luò)模型中的子圖合并示意圖

對于采用存算一體架構(gòu)設(shè)計的硬件而言,圖優(yōu)化需要特別考慮減少數(shù)據(jù)移動。具體到圖優(yōu)化策略中,考慮到存算一體加速乘累加的特點及硬件資源,主要考慮的圖優(yōu)化策略有:

(1)子圖替換/合并,由于存算一體架構(gòu)芯片支持的加速算子類型有限,如果深度學習模型中使用了不受支持的算子,則必須被替換;

(2)數(shù)據(jù)局部性優(yōu)化,確保負責計算卷積的存算一體核心所存儲的權(quán)重在一次計算中不需要重新寫入,依靠數(shù)據(jù)流動到存儲不同權(quán)重的核心進行計算,同時確立統(tǒng)一的數(shù)據(jù)存儲格式,避免計算過程中為對其存儲數(shù)據(jù)付出額外的時間。

圖優(yōu)化的應(yīng)用場景:
圖優(yōu)化的應(yīng)用場景主要體現(xiàn)在優(yōu)化神經(jīng)網(wǎng)絡(luò)以匹配硬件或適應(yīng)需求。圖優(yōu)化針對特定硬件優(yōu)化神經(jīng)網(wǎng)絡(luò),減少模型的硬件需求、使用針對硬件優(yōu)化的算子,以在終端設(shè)備部署神經(jīng)網(wǎng)絡(luò)模型;針對CPUGPU、FPGA等不同平臺進行特定優(yōu)化,保證模型的可移植性。圖優(yōu)化針對特定需求,優(yōu)化模型吞吐量,提升云端模型服務(wù)單位時間可處理的訪問次數(shù);降低模型處理的延時,以更快速地處理高分辨率視頻、滿足音頻處理的實時性需求。

工具鏈的圖優(yōu)化
圖優(yōu)化和其他網(wǎng)絡(luò)優(yōu)化方法共同支持深度學習模型的開發(fā)、訓練、優(yōu)化、部署和執(zhí)行過程,是深度學習工具鏈的重要組成部分。下面我們將從文獻研究和企業(yè)產(chǎn)品兩個方面介紹工具鏈圖優(yōu)化的發(fā)展現(xiàn)狀。

1.文獻研究相關(guān):

圖優(yōu)化有許多經(jīng)典算法,以下列舉了幾個經(jīng)典算法及其參考文獻,這些圖優(yōu)化經(jīng)典算法為工具鏈的圖優(yōu)化提供了具體的思路與方案。

(1)Dijkstra算法(最短路徑問題):用于尋找圖中某一節(jié)點到其他所有節(jié)點的最短路徑,特別適用于帶權(quán)重的有向圖和無向圖[3]。

(2)Kruskal算法(最小生成樹問題):該算法用于在一個加權(quán)連通無向圖中尋找最小生成樹,即找到一個邊的子集,使得這些邊構(gòu)成的樹包括圖中的所有節(jié)點,并且樹的總權(quán)值盡可能小[4]。

(3)Ford-Fulkerson算法(最大流問題):該算法用于計算網(wǎng)絡(luò)流中的最大流,通過不斷尋找增廣路徑來增加從源點到匯點的流量,直到無法再增加為止[5]。

(4)Hungarian算法(二分圖最大匹配問題):該算法用于解決二分圖的最大匹配問題,特別是在工作分配等應(yīng)用中,尋找最優(yōu)匹配方式,使總成本最低[6]。

2.企業(yè)產(chǎn)品相關(guān):

(1)英偉達(NVIDIA)[7]

i.產(chǎn)品與技術(shù):

英偉達是全球領(lǐng)先的 GPU 龍頭廠商,所生產(chǎn)的GPU被廣泛應(yīng)用于圖計算,尤其是在需要大量并行處理的場景中。CUDA(Compute Unified Device Architecture)是NVIDIA推出的一個并行計算平臺和編程模型,它允許軟件開發(fā)者和軟件工程師使用C語言等高級編程語言來編寫程序。

ii.圖優(yōu)化工具鏈:

NVIDIA提供了CUDA圖分析庫(cuGraph),這是一個基于GPU加速的圖分析算法庫,旨在處理大規(guī)模圖形數(shù)據(jù)。cuGraph提供了一系列優(yōu)化的圖算法,包括最短路徑、PageRank、個性化PageRank、最大流和最小割等,為工具鏈的圖優(yōu)化提供新的思路。通過利用GPU的并行處理能力,cuGraph能夠顯著加速圖計算任務(wù)。

(2)谷歌(Google)

i.產(chǎn)品與技術(shù):

谷歌開發(fā)了TPU(Tensor Processing Unit),專門為深度學習應(yīng)用設(shè)計,其高效的矩陣運算能力也可以被應(yīng)用于圖計算場景,尤其是在圖神經(jīng)網(wǎng)絡(luò)(GNN)等領(lǐng)域。

ii.圖優(yōu)化工具鏈:

TensorFlow是Google開發(fā)的一個開源機器學習框架,它支持廣泛的機器學習任務(wù),包括圖計算。TensorFlow可以利用TPU進行加速,從而提高圖計算的效率。此外,Google也在研究如何優(yōu)化圖算法的執(zhí)行,如圖4所示,為GraphX的架構(gòu)圖,通過GraphX在圖頂點信息和邊信息存儲上進行優(yōu)化,使得圖計算框架性能得到較大提升,接近或到達 GraphLab 等專業(yè)圖計算平臺的性能,可以在其大數(shù)據(jù)處理工具Apache Spark上進行圖處理[8]。

wKgaomZFphCAD1vkABAuZYUhdXw576.png

圖 4 GraphX架構(gòu)圖[8]

(3)Graphcore[9]

i.產(chǎn)品與技術(shù):

Graphcore公司專注于為機器學習和AI應(yīng)用開發(fā)創(chuàng)新的處理器,稱為智能處理單元(IPU)。IPU設(shè)計目標是提高圖計算的效率,其架構(gòu)優(yōu)化了復(fù)雜的數(shù)據(jù)結(jié)構(gòu)處理,特別是圖形數(shù)據(jù)結(jié)構(gòu),這使得其非常適合執(zhí)行圖神經(jīng)網(wǎng)絡(luò)和其他圖計算任務(wù)。

ii.圖優(yōu)化工具鏈:

Graphcore提供了Poplar軟件開發(fā)工具鏈,這是一個專為IPU設(shè)計的軟件堆棧。Poplar包含了一系列圖計算庫和工具,支持開發(fā)者高效地在IPU上實現(xiàn)和運行圖計算任務(wù),從而充分發(fā)揮IPU在圖處理上的優(yōu)勢,專門針對AI和圖計算任務(wù)提供了優(yōu)化的解決方案,為工具鏈的圖優(yōu)化提供了新的思路。

wKgZomZFpiCAaL8xAA8tFyePLfQ729.png

圖 5 Poplar整體架構(gòu)示意圖[9]

知存科技[10]
i.產(chǎn)品與技術(shù):

知存科技是全球領(lǐng)先的存內(nèi)計算芯片企業(yè)。公司針對AI應(yīng)用場景,在全球率先商業(yè)化量產(chǎn)基于存內(nèi)計算技術(shù)的神經(jīng)網(wǎng)絡(luò)芯片,已有WTM1001、WTM2101、WTM-8等存算一體芯片。

ii.圖優(yōu)化工具鏈:

如圖6所示,WITIN_MAPPER是知存科技自研的用于神經(jīng)網(wǎng)絡(luò)映射的編譯軟件棧,可以將量化后的神經(jīng)網(wǎng)絡(luò)模型映射到WTM2101 MPU加速器上,是一種包括RISC-V和MPU的完整解決方案。WITIN_MAPPER工具鏈可以完成算子和圖級別的轉(zhuǎn)換和優(yōu)化,將預(yù)訓練權(quán)重編排到存算陣列中,并針對網(wǎng)絡(luò)結(jié)構(gòu)和算子給出存算優(yōu)化方案,同時將不適合MPU運算的算子調(diào)度到CPU上運算,實現(xiàn)整網(wǎng)的調(diào)度,讓神經(jīng)網(wǎng)絡(luò)開發(fā)?員高效快捷的將訓練好的算法運行在WTM2101芯片上,極大縮短模型移植的開發(fā)周期并提高算法開發(fā)的效率。

wKgZomZFpi6ARkjCABBXTbOdFcI701.png

圖 6 WITIN_MAPPER工具鏈軟件架構(gòu)圖[10]

三.未來展望

當前工具鏈的圖優(yōu)化研究相對較多,然而存算一體編譯工具鏈的圖優(yōu)化仍處于起步階段,面臨著許多科學與技術(shù)問題。此外,由于存算一體架構(gòu)規(guī)模有限,目前存算一體編譯工具鏈的圖優(yōu)化主要是針對硬件的適配,通過層間的調(diào)度優(yōu)化,提高硬件的利用率等。為了解決以上問題,科研工作者仍需進行不斷的探索。

同時,隨著人工智能技術(shù)的持續(xù)發(fā)展,神經(jīng)網(wǎng)絡(luò)的參數(shù)數(shù)量已經(jīng)從Alexnet的6000萬個增長到OpenAI GPT-3的1750億個,參數(shù)量以指數(shù)級別增長,人工智能已進入大模型時代,存算一體編譯工具鏈技術(shù)的研究也逐漸增多。在大模型時代,存算一體工具鏈的圖優(yōu)化將會更多地涉及整網(wǎng)的優(yōu)化調(diào)度,從而極大地加快模型的部署與開發(fā),相信更加成熟全面的存算一體工具鏈圖優(yōu)化技術(shù)指日可待!

參考文獻:

[1] Luchang-Li:深度學習性能優(yōu)化之圖優(yōu)化(blog.csdn.net).

[2] 知乎@玻色量子.

[3] E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1(1), 269-271.

[4]J. B. (1956). On the shortest spanning subtree of a graph and the traveling salesman problem. Proceedings of the American Mathematical Society, 7(1), 48-50.

[5]L. R., & Fulkerson, D. R. (1956). Maximal flow through a network. Canadian Journal of Mathematics, 8, 399-404.

[6]H. W. (1955). The Hungarian method for the assignment problem. Naval Research Logistics Quarterly, 2(1-2), 83-97.

[7]機器學習和分析 | NVIDIA 開發(fā)者.

[8]Spark GraphX_存儲-CSDN博客.

[9]Poplar? 軟件 (graphcore.ai).

[10]WITMEM 2023.ALL RIGHTS,知存科技.

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    24

    瀏覽量

    5605
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32852
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5500

    瀏覽量

    121111
收藏 人收藏

    評論

    相關(guān)推薦

    GPU在深度學習的應(yīng)用 GPUs在圖形設(shè)計的作用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學習作為其核心部分,已經(jīng)成為推動技術(shù)進步的重要力量。GPU(圖形處理單元)在深度學習
    的頭像 發(fā)表于 11-19 10:55 ?428次閱讀

    NPU在深度學習的應(yīng)用

    設(shè)計的硬件加速器,它在深度學習的應(yīng)用日益廣泛。 1. NPU的基本概念 NPU是一種專門針對深度學習算法
    的頭像 發(fā)表于 11-14 15:17 ?503次閱讀

    深度學習模型的魯棒性優(yōu)化

    深度學習模型的魯棒性優(yōu)化是一個復(fù)雜但至關(guān)重要的任務(wù),它涉及多個方面的技術(shù)和策略。以下是一些關(guān)鍵的優(yōu)化方法: 一、數(shù)據(jù)預(yù)處理與增強 數(shù)據(jù)清洗 :去除數(shù)據(jù)
    的頭像 發(fā)表于 11-11 10:25 ?221次閱讀

    RISC-V 工具簡介

    一、概述 “工具”是英文“toolchain”的翻譯,它指輔助開發(fā)者完成程序開發(fā)、調(diào)試、性能分析調(diào)優(yōu)等開發(fā)優(yōu)化行為的一系列工具集合。它一般包含編譯
    發(fā)表于 10-25 22:59

    FPGA做深度學習能走多遠?

    的發(fā)展前景較為廣闊,但也面臨一些挑戰(zhàn)。以下是一些關(guān)于 FPGA 在深度學習應(yīng)用前景的觀點,僅供參考: ? 優(yōu)勢方面: ? 高度定制化的計算架構(gòu):FPGA 可以根據(jù)深度
    發(fā)表于 09-27 20:53

    深度學習編譯器和推理引擎的區(qū)別

    深度學習編譯器和推理引擎在人工智能領(lǐng)域中都扮演著至關(guān)重要的角色,但它們各自的功能、應(yīng)用場景以及優(yōu)化目標等方面存在顯著的差異。以下是對兩者區(qū)別的詳細探討。
    的頭像 發(fā)表于 07-17 18:12 ?1242次閱讀

    深度學習的時間序列分類方法

    的發(fā)展,基于深度學習的TSC方法逐漸展現(xiàn)出其強大的自動特征提取和分類能力。本文將從多個角度對深度學習在時間序列分類的應(yīng)用進行綜述,探討常用
    的頭像 發(fā)表于 07-09 15:54 ?875次閱讀

    深度學習的無監(jiān)督學習方法綜述

    應(yīng)用往往難以實現(xiàn)。因此,無監(jiān)督學習深度學習扮演著越來越重要的角色。本文旨在綜述深度
    的頭像 發(fā)表于 07-09 10:50 ?673次閱讀

    深度學習的模型權(quán)重

    深度學習這一充滿無限可能性的領(lǐng)域中,模型權(quán)重(Weights)作為其核心組成部分,扮演著至關(guān)重要的角色。它們不僅是模型學習的基石,更是模型智能的源泉。本文將從模型權(quán)重的定義、作用、
    的頭像 發(fā)表于 07-04 11:49 ?1212次閱讀

    深度學習的基本原理與核心算法

    處理、語音識別等領(lǐng)域取得了革命性的突破。本文將詳細闡述深度學習的原理、核心算法以及實現(xiàn)方式,并通過一個具體的代碼實例進行說明。
    的頭像 發(fā)表于 07-04 11:44 ?1973次閱讀

    深度學習常用的Python庫

    深度學習常用的Python庫,包括核心庫、可視化工具、深度學習框架、自然語言處理庫以及數(shù)據(jù)抓取庫
    的頭像 發(fā)表于 07-03 16:04 ?624次閱讀

    深度學習的模型優(yōu)化與調(diào)試方法

    深度學習模型在訓練過程,往往會遇到各種問題和挑戰(zhàn),如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學習模型進行
    的頭像 發(fā)表于 07-01 11:41 ?797次閱讀

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

    到WTM2101 MPU加速器上,是一種包括RiscV和MPU的完整解決方案,可以完成算子和級別的轉(zhuǎn)換和優(yōu)化,將預(yù)訓練權(quán)重編排到存算陣列,并針對網(wǎng)絡(luò)結(jié)構(gòu)和算子給出存算優(yōu)化方案,同時
    發(fā)表于 05-16 16:33

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

    本篇文章將重點講述存內(nèi)計算技術(shù)工具之“量化”,我們將從面向存內(nèi)計算芯片的深度學習編譯工具
    的頭像 發(fā)表于 05-16 12:35 ?1211次閱讀
    存內(nèi)計算技術(shù)<b class='flag-5'>工具</b><b class='flag-5'>鏈</b>——量化篇

    FPGA在深度學習應(yīng)用或?qū)⑷〈鶪PU

    硬件公司供貨的不斷增加,GPU 在深度學習的市場需求還催生了大量公共云服務(wù),這些服務(wù)為深度學習項目提供強大的 GPU 虛擬機。 但是顯卡
    發(fā)表于 03-21 15:19
    RM新时代网站-首页