ModelArts訓練作業快速入門與最佳使用指引

      網友投稿 1048 2022-05-29

      1.登錄華為云

      根據華為提供的賬戶和密碼,登錄華為云控制臺。

      華為云網址: https://auth.huaweicloud.com/authui/login.html#/login

      登錄華為云控制臺后,在左上角選擇區域:北京四

      在服務列表中選擇:EI企業智能->ModelArts

      如下圖所示:

      2.準備OBS桶

      在華為云控制臺點擊服務列表選擇:存儲->對象存儲服務OBS

      在對象存儲服務OBS控制臺,點擊:創建桶,即可創建本次POC所需要的一個或多個桶,用于存放訓練數據、訓練腳本、訓練結果、日志等各種文件。

      請參考 https://support.huaweicloud.com/qs-obs/obs_qs_1000.html

      3. ModelArts訓練作業使用指引

      3.1 訓練作業介紹

      https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html

      3.2 訓練作業案例

      https://support.huaweicloud.com/bestpractice-modelarts/modelarts_10_0003.html

      3.3 Moxing文檔

      https://github.com/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_File.md

      3.4 Tensorflow分布式訓練作業介紹

      方法一:

      使用Moxing API進行編程,例子程序如下,Moxing對tf接口進行了進一步封裝,會自動處理分布式邏輯傳入的參數。

      https://github.com/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_Flowers.md

      方法二:

      自己代碼對分布式傳參進行處理。

      以下四個參數是TensorFlow推薦的分布式運行參數,具體可以參考TensorFlow官方文檔。

      --job_name: ps或worker

      --task_index: ps或worker進程的序號,一般情況下task_index為0的worker為chief worker (也可以認為是master節點,master節點在物理上并不存在,是一個邏輯節點)

      --ps_hosts: ps的ip和端口,多個節點以,分割。

      --worker_hosts: worker的ip和端口,多個節點以,分割。

      例如,啟動一個2個節點的訓練作業,分布式作業啟動腳本參數配置如下:

      # 節點0啟動ps進程參數(對應IP地址為192.168.1.100)

      --job_name=ps

      --task_index=0

      --ps_hosts=192.168.1.100:2222,192.168.1.101:2222

      --worker_hosts=192.168.1.100:2223,192.168.1.101:2223

      # 節點0啟動worker進程參數(對應IP地址為192.168.1.100)

      --job_name=worker

      --task_index=0

      --ps_hosts=192.168.1.100:2222,192.168.1.101:2222

      --worker_hosts=192.168.1.100:2223,192.168.1.101:2223

      --num_gpus=4

      # 節點1啟動ps進程參數(對應IP地址為192.168.1.101)

      --job_name=ps

      --task_index=1

      --ps_hosts=192.168.1.100:2222,192.168.1.101:2222

      --worker_hosts=192.168.1.100:2223,192.168.1.101:2223

      # 節點1啟動ps進程參數(對應IP地址為192.168.1.101)

      --job_name=worker

      --task_index=1

      --ps_hosts=192.168.1.100:2222,192.168.1.101:2222

      --worker_hosts=192.168.1.100:2223,192.168.1.101:2223

      --num_gpus=4

      3.5 Pytorch分布式作業介紹

      方法一:使用mox接口進行pytorch分布式編程,參考文檔

      使用mox進行編程時如果一臺機器上有8個gpu,但是用戶只想使用4個gpu,可以在代碼中添加os.environ['CUDA_VISIBLE_DEVICES'] = '0,1,2,3'進行gpu數量的控制。下面圖片同時保存在了附件中

      方法二:

      自己對于分布式參數進行處理,分布式依賴的參數都會通過入參傳入到腳本中,用戶通過對這些參數的使用完成多節點組網

      3.6 性能提升指引

      <場景>

      用戶A使用Modelarts進行自定義深度學習訓練,訓練數據存儲在對象存儲OBS上,訓練數據一共有200GB,用戶每次使用GPU資源池進行訓練。用戶希望提升訓練效率,同時較少與對象存儲OBS的交互,(每次與OBS的交互都要收取一定的費用)。

      <優化原理>

      對于GPU資源池,每個訓練節點會掛載NVMe類型SSD提供給用戶免費使用,每張GPU卡對應500GB的存儲空間,如果是8卡v100,就有4TB的免費SSD使用。此SSD掛載到/cache目錄,/cache目錄下面的數據生命周期與訓練作業生命周期相同,當訓練作業運行結束以后/cache目錄下面所有內容會被清空,騰出空間,供下一次訓練作業使用。因此用戶可以在訓練過程中將數據從對象存儲的OBS上拷貝到/cache目錄下,然后每次從/cache目錄下讀取數據,直到訓練結束。訓練結束以后/cache下內容會自動被清空。

      從/cache中讀取數據在600MB/s,這個速度要快于從OBS上讀取數據,因此可以減少訓練時數據讀取的時間,提升訓練效率。

      <優化方式>

      以tensorflow代碼為例

      用戶在頁面選擇數據存儲位置為'/cnnorth4/example/data'

      優化前代碼如下:

      ModelArts訓練作業快速入門與最佳使用指引

      ... tf.flags.DEFINE_string('data_url',?'',?'dataset?directory.') FLAGS?=?tf.flags.FLAGS mnist?=?input_data.read_data_sets(FLAGS.data_url,?one_hot=True

      優化后:

      ... tf.flags.DEFINE_string('data_url',?'',?'dataset?directory.') FLAGS?=?tf.flags.FLAGS import?moxing?as?mox TMP_CACHE_PATH?=?'/cache/data' mox.file.copy_parallel(FLAGS.data_url,?TMP_CACHE_PATH) mnist?=?input_data.read_data_sets(TMP_CACHE_PATH,?one_hot=True

      對比視圖如下(下面圖片同時也保存在附件中):

      數據的下載

      模型的保存與上傳

      Moxing介紹?https://github.com/huaweicloud/ModelArts-Lab/tree/master/docs/moxing_api_doc

      Moxing 文件接口 ?https://github.com/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_File.md

      3.7 如何使用專屬資源池進行訓練

      選擇創建訓練作業:

      配置訓練作業,選擇專屬資源池,計算節點為2代表分布式作業使用2臺計算節點。

      附件: screenshot.zip 231.64KB 下載次數:8次

      TensorFlow

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:CAS單點登錄系列之原理簡單介紹
      下一篇:Akka Dispatchers和Routers
      相關文章
      亚洲精品女同中文字幕| 亚洲视频在线免费观看| 亚洲国产成a人v在线| 久久亚洲精品成人综合| 久久精品国产亚洲麻豆| 日韩精品亚洲aⅴ在线影院| 亚洲午夜无码AV毛片久久| 亚洲 另类 无码 在线| 亚洲精品无码久久久久A片苍井空| 国内精品久久久久影院亚洲| 激情内射亚洲一区二区三区爱妻| 亚洲性69影院在线观看| 亚洲国产成人在线视频| 亚洲午夜久久久久久尤物| 亚洲一级免费视频| 77777午夜亚洲| 亚洲综合激情五月色一区| 亚洲一区二区观看播放| 亚洲色大网站WWW永久网站| 亚洲欧美中文日韩视频| 亚洲av日韩专区在线观看| 亚洲AV成人片无码网站| 亚洲AV无码一区二区三区网址 | 亚洲人成人网站色www| 国产亚洲高清不卡在线观看| 亚洲大尺度无码无码专区| 久久精品国产亚洲av影院| 亚洲精品综合久久中文字幕| 亚洲午夜久久久久久尤物| 亚洲精品综合在线影院| 亚洲精品精华液一区二区| 国产成人亚洲综合a∨| 爱情岛论坛网亚洲品质自拍| 亚洲欧洲日产国码无码网站| 国产av无码专区亚洲av桃花庵| 亚洲人成在线播放网站岛国| 亚洲精品综合久久中文字幕| 国产 亚洲 中文在线 字幕| 蜜芽亚洲av无码一区二区三区| 亚洲av麻豆aⅴ无码电影 | 亚洲激情校园春色|