本發(fā)明涉及人工智能,具體而言,涉及一種計算圖的處理方法和裝置。
背景技術(shù):
1、人工智能近年來不斷發(fā)展,在眾多領(lǐng)域大放異彩,影響著生活的方方面面,例如人臉識別、自動駕駛、安全防護(hù)、游戲娛樂、語音技術(shù)、醫(yī)用醫(yī)療等。人工智能及其相關(guān)產(chǎn)業(yè)已經(jīng)成為當(dāng)前科技競爭的新高地,深刻影響著新一代的科技進(jìn)步。
2、隨著人工智能技術(shù)的持續(xù)發(fā)展,其對應(yīng)的運算操作量以及內(nèi)存訪問量也隨之快速地增加,遠(yuǎn)遠(yuǎn)超出了硬件處理的能力。目前人工智能技術(shù)的表達(dá)方式在處理中往往以計算圖的方式呈現(xiàn),計算圖的執(zhí)行效率對硬件處理能力的影響不容小覷。如何優(yōu)化計算圖在各硬件上的執(zhí)行效率,調(diào)度問題是其中最關(guān)鍵的問題之一,良好的計算圖調(diào)度可以極大的優(yōu)化硬件的性能。
3、目前現(xiàn)有的自動調(diào)度技術(shù)方案中,主要有以下幾種方式:一種是指定計算圖中的一部分或者整體完全由通用默認(rèn)指定的調(diào)度方式在硬件加速器上運算,這種方法調(diào)度方式粒度較粗,無法精細(xì)的控制運算過程中對于運算及存儲的資源分配,無法充分發(fā)揮特定芯片架構(gòu)的極致性能;另一種通過算子特征及計算圖局部特征先進(jìn)行分組,再針對每個組分別進(jìn)行計算資源分配,兩個過程分開獨立進(jìn)行,且沒有考慮對方帶來的影響,這種方法沒有基于全局進(jìn)行考慮,資源分配過程中會重復(fù)計算每個分組的相關(guān)信息,導(dǎo)致有較多的冗余計算,在對計算圖進(jìn)行編譯的時候造成了大量浪費;同時在對每個分組進(jìn)行切分的時候分別考慮計算資源,可能使得計算資源分配推導(dǎo)階段無法找到充分利用計算資源的方式。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供了一種計算圖的處理方法和裝置,以將算子分組與計算資源分配兩個過程統(tǒng)一進(jìn)行考慮,既減少了計算子圖合并過程中的重復(fù)計算過程,加快了對計算圖的編譯過程,也充分使用了計算資源,提高了計算資源的利用率。
2、第一方面,提供一種計算圖的處理方法,所述方法包括:
3、遍歷計算圖,將所述計算圖中至少兩個第一子圖進(jìn)行合并操作,得到第二子圖,其中,所述第一子圖包括至少一個算子,所述第一子圖綁定有切分信息,所述切分信息包括軸對應(yīng)關(guān)系、至少一個切分軸以及所述至少一個切分軸的最大切分系數(shù),所述軸對應(yīng)關(guān)系為所述子圖的輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的關(guān)系;
4、根據(jù)所述第一子圖的切分信息,為所述第二子圖綁定切分信息;
5、根據(jù)可用計算資源數(shù)量確定所述第二子圖的候選切分信息,所述候選切分信息包括:至少一個切分軸以及所述至少一個切分軸的候選切分系數(shù),其中,所述候選切分系數(shù)對應(yīng)的切分方式可最大限度的使用所述可用計算資源數(shù)量;
6、響應(yīng)于所述第二子圖的切分信息中的至少一個切分軸的候選切分系數(shù)為所述最大切分系數(shù)的因子,確定所述合并操作有效。
7、第二方面,提供一種計算圖的處理裝置,所述裝置包括:
8、合并模塊,用于遍歷計算圖,將所述計算圖中至少兩個第一子圖進(jìn)行合并操作,得到第二子圖,其中,所述第一子圖包括至少一個算子,所述第一子圖綁定有切分信息,所述切分信息包括軸對應(yīng)關(guān)系、至少一個切分軸以及所述至少一個切分軸的最大切分系數(shù),所述軸對應(yīng)關(guān)系為所述子圖的輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的關(guān)系;
9、綁定模塊,用于根據(jù)所述第一子圖的切分信息,為所述第二子圖綁定切分信息;
10、第一確定模塊,用于根據(jù)可用計算資源數(shù)量確定所述第二子圖的候選切分信息,所述候選切分信息包括:至少一個切分軸以及所述至少一個切分軸的候選切分系數(shù),其中,所述候選切分系數(shù)對應(yīng)的切分方式可最大限度的使用所述可用計算資源數(shù)量;
11、第二確定模塊,用于響應(yīng)于所述第二子圖的切分信息中的至少一個切分軸的候選切分系數(shù)為所述最大切分系數(shù)的因子,確定所述合并操作有效。
12、第三方面,提供一種電子設(shè)備,所述設(shè)備包括:
13、存儲器,用于存儲一條或多條計算機程序指令;
14、處理器,所述一條或多條計算機程序指令被所述處理器執(zhí)行以實現(xiàn)如第一方面中的方法。
15、第四方面,提供一種計算機可讀存儲介質(zhì),其上存儲計算機程序指令,所述計算機程序指令在被處理器執(zhí)行時實現(xiàn)如第一方面中的方法。
16、本發(fā)明實施例通過遍歷計算圖,將所述計算圖中至少兩個第一子圖進(jìn)行合并操作,得到第二子圖,其中,所述第一子圖包括至少一個算子,所述第一子圖綁定有切分信息,所述切分信息包括軸對應(yīng)關(guān)系、至少一個切分軸以及所述至少一個切分軸的最大切分系數(shù),所述軸對應(yīng)關(guān)系為所述子圖的輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的關(guān)系;根據(jù)所述第一子圖的切分信息,為所述第二子圖綁定切分信息;根據(jù)可用計算資源數(shù)量確定所述第二子圖的候選切分信息,所述候選切分信息包括:至少一個切分軸以及所述至少一個切分軸的候選切分系數(shù),其中,所述候選切分系數(shù)對應(yīng)的切分方式可最大限度的使用所述可用計算資源數(shù)量;響應(yīng)于所述第二子圖的切分信息中的至少一個切分軸的候選切分系數(shù)為所述最大切分系數(shù)的因子,確定所述合并操作有效。由此,可以對算子進(jìn)行快速分組,并通過將算子分組與計算資源分配統(tǒng)一進(jìn)行考慮,減少了計算子圖合并過程中的重復(fù)計算過程,加快了對計算圖的編譯過程,同時提高了計算資源利用率。
1.一種計算圖的處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述至少兩個第一子圖的確定方法包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述至少兩個第一子圖的確定方法包括:
4.根據(jù)權(quán)利要求1-3中任一項所述的方法,其特征在于,所述根據(jù)所述第一子圖的切分信息,為所述第二子圖綁定切分信息,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述第二子圖中至少兩個相鄰的第一子圖之間的軸對應(yīng)關(guān)系,確定所述第二子圖的軸對應(yīng)關(guān)系以及至少一個切分軸,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)每個所述第一子圖的切分軸以及對應(yīng)的最大切分系數(shù),確定所述第二子圖的每個切分軸的最大切分系數(shù),包括:
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
8.一種計算圖的處理裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,包括存儲器和處理器,其特征在于,所述存儲器用于存儲一條或多條計算機程序指令,其中,所述一條或多條計算機程序指令被所述處理器執(zhí)行以實現(xiàn)如權(quán)利要求1-7中任一項所述的方法。
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)內(nèi)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-7中任一項所述的方法。