本發(fā)明涉及一種模型系統(tǒng),更具體的說是涉及一種數(shù)據(jù)分類分級系統(tǒng)。
背景技術:
1、人工智能算力中心平臺建設為基于公司自用及業(yè)務鏈上下游企業(yè)租用,滿足3d數(shù)字資產(chǎn)創(chuàng)制的算力需求所建設的小型化人工智能算力中心。其建設內(nèi)容包括人工智能算力平臺和ai技術服務平臺,其中人工智能算力平臺主要是購置并安裝服務器等硬件,為整個項目提供基礎的算力;ai技術服務平臺則主要是集成并開發(fā)適配于3d數(shù)字資產(chǎn)創(chuàng)制的的軟件,并通過調(diào)用人工智能算力平臺硬件的算力,向客戶提供服務。算力平臺和技術服務平臺為互補關系,共同構(gòu)成人工智能算力中心。
2、目前的算力中心所使用的ai大模型來作為數(shù)據(jù)分類分級系統(tǒng),在使用的過程中需要用戶具有專業(yè)的編程語言素養(yǎng),因此極大的增加了數(shù)據(jù)分類分級系統(tǒng)的使用難度。
技術實現(xiàn)思路
1、針對現(xiàn)有技術存在的不足,本發(fā)明的目的在于提供一種使用難度較低的數(shù)據(jù)分類分級系統(tǒng)。
2、為實現(xiàn)上述目的,本發(fā)明提供了如下技術方案:一種數(shù)據(jù)分類分級系統(tǒng),其特征在于:包括:
3、模型層,為用戶提供開箱即用的功能,該層包含預置的模型和開發(fā)套件以及圖神經(jīng)網(wǎng)絡、深度概率編程、科學計算庫這些熱點研究領域拓展庫;
4、表達層,為用戶提供ai模型開發(fā)、訓練、推理的接口,支持用戶用原生python語法開發(fā)和調(diào)試神經(jīng)網(wǎng)絡,同時該層在生產(chǎn)和部署階段提供全場景統(tǒng)一的c++/python接口;
5、編譯優(yōu)化層,該編譯優(yōu)化層作為ai框架的核心,以全場景統(tǒng)一中間表達為媒介,將前端表達編譯成執(zhí)行效率更高的底層語言,同時進行全局性能優(yōu)化,包括自動微分、代數(shù)化簡這些硬件無關優(yōu)化,以及圖算融合、算子生成這些硬件相關優(yōu)化;
6、運行層,該運行層按照編譯優(yōu)化層編譯優(yōu)化的結(jié)果對接并調(diào)用底層硬件算子,同時通過“端-邊云”統(tǒng)一的運行時架構(gòu),支持包括聯(lián)邦學習在內(nèi)的“端-邊-云”ai協(xié)同。
7、作為本發(fā)明的進一步改進,所述編譯優(yōu)化層還包括有自動混合并行優(yōu)化步驟,具體包括數(shù)據(jù)并行、自動并行和異構(gòu)并行,并行具體步驟如下:
8、步驟1,每次開始進行并行訓練前,通過調(diào)用mindspore.communication.init接口初始化通信資源,并自動創(chuàng)建全局通信組world_comm_group;
9、步驟2,將數(shù)據(jù)集在樣本維度拆分并下發(fā)到不同的卡上;
10、步驟3,進行網(wǎng)絡構(gòu)圖,其中該網(wǎng)絡構(gòu)圖的書寫方式與單機網(wǎng)絡相同;
11、步驟4,進行梯度計算,并在梯度計算以后插入分布式算子實現(xiàn)各卡間的梯度聚合操作;
12、步驟5,以步驟4計算獲得的相同的梯度值一起進入?yún)?shù)更新步驟。
13、作為本發(fā)明的進一步改進,所述步驟2的數(shù)據(jù)集在樣本維度拆分并下發(fā)到不同的卡上的具體步驟如下:
14、步驟21,通過mindspore.dataset模塊提供的所有數(shù)據(jù)集加載接口中都有的num_shards和shard_id兩個參數(shù),利用上述兩個參數(shù)將數(shù)據(jù)集拆分為多份并循環(huán)采樣的方式,采集batch大小的數(shù)據(jù)到各自的卡上,當出現(xiàn)數(shù)據(jù)量不足的情況時將會從頭開始采樣。
15、作為本發(fā)明的進一步改進,所述步驟4中插入了分布式算子之后,以分布式算子為單位對張量進行切分建模,表示一個算子的輸入輸出張量如何分布到集群各個卡上,獲得張量排布模型。
16、作為本發(fā)明的進一步改進,所述步驟4中每個算子都具有切分策略,所述切分策略由兩個元祖構(gòu)成,分別表示input和weight的切分形式,其中元組中的元素與張量維度一一對應,2^n為切分份數(shù),1表示不切,當用戶想表示一個數(shù)據(jù)并行切分策略時,即input的batch維度切分,其他維度不切,可以表達為strategy=((2^n,1,1),(1,1,1));當表示一個模型并行切分策略時,即weight的非batch維度切分,以channel維度切分為例,其他維度不切,可以表達為strategy=((1,1,1),(1,1,2^n));當表示一個混合并行切分策略時,其中一種切分策strategy=((2^n,1,1),(1,1,2^n))。
17、作為本發(fā)明的進一步改進,所述編譯優(yōu)化層進行圖算融合的步驟如下:
18、步驟a,將復合算子展開為基本算子,并構(gòu)成composite子圖,方便進行后續(xù)的跨邊界優(yōu)化和算子拆分;
19、步驟b,將相鄰的基本算子或composite子圖進行聚合,從而構(gòu)成更大的聚合子圖,方便進行后續(xù)的跨邊界優(yōu)化和算子拆分;
20、步驟c,在步驟a和步驟b得到的聚合子圖的基礎上,進行大量的跨邊界優(yōu)化,如代數(shù)化簡、公共子表達式提取;
21、步驟d,基于計算特征以及融合算子性能,對聚合計算子圖進行算子拆分,之后將優(yōu)化后的計算圖以一個個子圖的方式傳給mindsporeakg繼續(xù)進行后端優(yōu)化、生成目標代碼。
22、本發(fā)明的有益效果,通過模型層的設置,便可有效的提供給用戶一個預置的模型和開發(fā)套件以及圖神經(jīng)網(wǎng)絡、深度概率編程、科學計算庫這些熱點研究領域拓展庫,然后通過表達層的設置,便可為用戶提供ai模型開發(fā)、訓練、推理的接口,支持用戶用原生python語法開發(fā)和調(diào)試神經(jīng)網(wǎng)絡,同時該層在生產(chǎn)和部署階段提供全場景統(tǒng)一的c++/python接口,而通過編譯優(yōu)化層的設置,便可實現(xiàn)全局性能優(yōu)化,最后通過運行層的設置,便可有效的調(diào)用底層硬件算子進而實現(xiàn)ai計算了。
1.一種數(shù)據(jù)分類分級系統(tǒng),其特征在于:包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)分類分級系統(tǒng),其特征在于:所述編譯優(yōu)化層還包括有自動混合并行優(yōu)化步驟,具體包括數(shù)據(jù)并行、自動并行和異構(gòu)并行,并行具體步驟如下:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)分類分級系統(tǒng),其特征在于:所述步驟2的數(shù)據(jù)集在樣本維度拆分并下發(fā)到不同的卡上的具體步驟如下:
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)分類分級系統(tǒng),其特征在于:所述步驟4中插入了分布式算子之后,以分布式算子為單位對張量進行切分建模,表示一個算子的輸入輸出張量如何分布到集群各個卡上,獲得張量排布模型。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)分類分級系統(tǒng),其特征在于:所述步驟4中每個算子都具有切分策略,所述切分策略由兩個元祖構(gòu)成,分別表示input和weight的切分形式,其中元組中的元素與張量維度一一對應,2^n為切分份數(shù),1表示不切,當用戶想表示一個數(shù)據(jù)并行切分策略時,即input的batch維度切分,其他維度不切,可以表達為strategy=((2^n,1,1),(1,1,1));當表示一個模型并行切分策略時,即weight的非batch維度切分,以channel維度切分為例,其他維度不切,可以表達為strategy=((1,1,1),(1,1,2^n));當表示一個混合并行切分策略時,其中一種切分策strategy=((2^n,1,1),(1,1,2^n))。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)分類分級系統(tǒng),其特征在于:所述編譯優(yōu)化層進行圖算融合的步驟如下: