麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種模型訓練方法及裝置、電子設備和存儲介質與流程

文檔序號:41773911發布日期:2025-04-29 18:46閱讀:7來源:國知局
一種模型訓練方法及裝置、電子設備和存儲介質與流程

本公開涉及計算機,尤其涉及一種模型訓練方法及裝置、電子設備和存儲介質。


背景技術:

1、近些年,大語言模型引發了人工智能領域的風潮,很多公司都想要更輕松、快速、經濟的訓練和部署自己的大語言模型。但是,隨著模型越來越大,訓練成本隨之增加,訓練這樣的大模型,需要昂貴的多卡多節點gpu集群,硬件資源昂貴。即使擁有了gpu集群,現有的開源系統訓練效率對機器利用率低。megatron-deepspeed是一個開源深度學習優化庫,旨在提高大規模模型訓練的效率和可擴展性。當前,亟需一種模型訓練方法,以使得可以利用megatron-deepspeed這樣的模型訓練框架,適配自身的gpu集群實現分布式大模型訓練。


技術實現思路

1、本公開提出了一種模型訓練方法及裝置、電子設備和存儲介質的技術方案。

2、根據本公開的一方面,提供了一種模型訓練方法,包括:根據第一模型訓練框架、第一gpu對應的第一軟件棧、以及預設模型訓練參數,構建docker鏡像,其中,所述第一模型訓練框架為調用所述第一gpu進行模型訓練的模型訓練框架,所述第一模型訓練框架是對第二模型訓練框架進行參數轉換后得到的,所述第二模型訓練框架為調用第二gpu進行模型訓練的模型訓練框架,所述第一gpu和所述第二gpu為不同類型架構配置的gpu;將所述docker鏡像發送至多個訓練節點,以及控制每個訓練節點基于所述docker鏡像創建docker容器,其中,每個訓練節點上部署有所述第一gpu;針對任意一個訓練節點,控制該訓練節點在所述docker容器內調用該訓練節點上部署的所述第一gpu進行模型預訓練。

3、在一種可能的實現方式中,所述方法還包括:對所述第二模型訓練框架對應的第一源代碼進行參數轉換,得到所述第一模型訓練框架對應的第二源代碼;調用所述第一gpu對應的編譯器,對所述第二源代碼執行代碼編譯操作,得到所述第一模型訓練框架對應的目標可執行文件。

4、在一種可能的實現方式中,所述第一模型訓練框架中包括:適配所述第一軟件棧的第一類型應用程序編程接口api、第一類型核函數、第一類型頭文件、第一類型通信庫;所述對所述第二模型訓練框架對應的第一源代碼進行參數轉換,得到所述第一模型訓練框架對應的第二源代碼,包括:在所述第一源代碼中,對第二類型api執行接口轉換操作,得到所述第一類型api,其中,所述第二類型api為適配所述第二gpu對應的第二軟件棧的api;在所述第一源代碼中,對第二類型核函數執行替換操作,得到所述第一類型核函數,其中,所述第二類型核函數為適配所述第二軟件棧的核函數;在所述第一源代碼中,對第二類型頭文件執行替換操作,得到所述第一類型頭文件,其中,所述第二類型頭文件為適配所述第二軟件棧的頭文件;在所述第一源代碼中,對第二類型通信庫執行替換操作,得到所述第一類型通信庫,其中,所述第二類型通信庫為適配所述第二軟件棧的通信庫。

5、在一種可能的實現方式中,所述方法還包括:在所述第一源代碼中,篩選第一類型算子,以及為所述第一類型算子設置注釋標簽,其中,所述第一類型算子為與所述第一軟件棧不兼容的算子,所述注釋標簽用于指示不運行所述第一類型算子。

6、在一種可能的實現方式中,所述方法還包括:根據所述第一模型訓練框架中混合精度加速模型支持的多種數據類型,對所述第一軟件棧執行數據類型適配處理,得到更新后的第一軟件棧,其中,更新后的所述第一軟件棧支持所述多種數據類型。

7、根據本公開的一方面,提供了一種模型訓練裝置,包括:docker鏡像構建模塊,用于根據第一模型訓練框架、第一gpu對應的第一軟件棧、以及預設模型訓練參數,構建docker鏡像,其中,所述第一模型訓練框架為調用所述第一gpu進行模型訓練的模型訓練框架,所述第一模型訓練框架是對第二模型訓練框架進行參數轉換后得到的,所述第二模型訓練框架為調用第二gpu進行模型訓練的模型訓練框架,所述第一gpu和所述第二gpu為不同類型架構配置的gpu;docker容器創建模塊,用于將所述docker鏡像發送至多個訓練節點,以及控制每個訓練節點基于所述docker鏡像創建docker容器,其中,每個訓練節點上部署有所述第一gpu;預訓練模塊,用于針對任意一個訓練節點,控制該訓練節點在所述docker容器內調用該訓練節點上部署的所述第一gpu進行模型預訓練。

8、在一種可能的實現方式中,所述裝置還包括:訓練框架確定模塊,具體用于:對所述第二模型訓練框架對應的第一源代碼進行參數轉換,得到所述第一模型訓練框架對應的第二源代碼;調用所述第一gpu對應的編譯器,對所述第二源代碼執行代碼編譯操作,得到所述第一模型訓練框架對應的目標可執行文件。

9、在一種可能的實現方式中,所述第一模型訓練框架中包括:適配所述第一軟件棧的第一類型應用程序編程接口api、第一類型核函數、第一類型頭文件、第一類型通信庫;所述訓練框架確定模塊,具體用于:在所述第一源代碼中,對第二類型api執行接口轉換操作,得到所述第一類型api,其中,所述第二類型api為適配所述第二gpu對應的第二軟件棧的api;在所述第一源代碼中,對第二類型核函數執行替換操作,得到所述第一類型核函數,其中,所述第二類型核函數為適配所述第二軟件棧的核函數;在所述第一源代碼中,對第二類型頭文件執行替換操作,得到所述第一類型頭文件,其中,所述第二類型頭文件為適配所述第二軟件棧的頭文件;在所述第一源代碼中,對第二類型通信庫執行替換操作,得到所述第一類型通信庫,其中,所述第二類型通信庫為適配所述第二軟件棧的通信庫。

10、在一種可能的實現方式中,所述訓練框架確定模塊,具體用于:在所述第一源代碼中,篩選第一類型算子,以及為所述第一類型算子設置注釋標簽,其中,所述第一類型算子為與所述第一軟件棧不兼容的算子,所述注釋標簽用于指示不運行所述第一類型算子。

11、在一種可能的實現方式中,所述訓練框架確定模塊,具體用于:根據所述第一模型訓練框架中混合精度加速模型支持的多種數據類型,對所述第一軟件棧執行數據類型適配處理,得到更新后的第一軟件棧,其中,更新后的所述第一軟件棧支持所述多種數據類型。

12、根據本公開的一方面,提供了一種電子設備,包括:處理器;用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為調用所述存儲器存儲的指令,以執行上述方法。

13、根據本公開的一方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序指令,所述計算機程序指令被處理器執行時實現上述方法。

14、在本公開實施例中,通過對適配第二gpu的第二模型訓練框架進行參數轉換,確定適配第一gpu的第一模型訓練框架,第一gpu和第二gpu為不同類型架構配置的gpu,進而可以根據第一模型訓練框架、第一gpu對應的第一軟件棧、以及預設模型訓練參數,通過構建docker鏡像,有效將模型訓練環境搭建步驟固化,將docker鏡像發送至多個訓練節點后,控制每個訓練節點基于docker鏡像創建docker容器,以使得每個訓練節點的docker容器配置有相同的模型訓練環境,針對任意一個訓練節點,控制該訓練節點在docker容器內調用該訓練節點上部署的第一gpu進行模型預訓練,有效實現模型訓練的快速部署、快速訓練。

15、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,而非限制本公開。根據下面參考附圖對示例性實施例的詳細說明,本公開的其它特征及方面將變得清楚。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 宝清县| 上虞市| 千阳县| 天津市| 木兰县| 舒兰市| 阿合奇县| 嘉鱼县| 凉山| 揭西县| 和田市| 元谋县| 陆良县| 合江县| 鹿泉市| 阳泉市| 鹤庆县| 石渠县| 宜城市| 商河县| 高唐县| 平度市| 大同市| 工布江达县| 庆安县| 铁岭县| 崇州市| 竹溪县| 绥棱县| 阿尔山市| 寿宁县| 东光县| 福清市| 汽车| 遂昌县| 牡丹江市| 元谋县| 全椒县| 来凤县| 沿河| 莫力|