雲計算

ACK上使用搶佔式實例訓練模型

環境準備

  1. 在阿里雲ACK上創建集群,集群規格選擇Pro版,Kubernetes版本選擇1.20或以上版本。
  2. 在ACK控制檯,點擊左側菜單應用 - AI工程加速,進入雲原生AI套件安裝頁面。
  3. 點擊一鍵部署,交互方式中默認已勾選Arena,其他組件可根據需要自行勾選安裝。
  4. 點擊頁面最下方部署雲原生AI套件按鈕即可,安裝成功後,可以在組件管理頁面看到當前安裝的組件信息。

基於ECS搶佔式實例的訓練任務

使用ECS搶佔式實例訓練模型,需要先在ACK中創建節點池,並給節點池打標。然後在Arena提交訓練任務時,通過--selector 參數指定把訓練任務調度到搶佔式實例上。

操作步驟如下:

  1. 在ACK控制檯,點擊左側菜單節點管理 - 節點池,進入節點池頁面。首次創建節點池,需要先點擊頁面右上角集群自動彈性伸縮配置按鈕,根據提示完成配置。

  1. 在節點池頁面,點擊右上角創建節點池按鈕,在彈出的創建節點池窗口中完成配置。其中付費類型要選擇搶佔式實例

11111111.png

然後點擊頁面最下方的顯示高級選項。

2222222.png

在展開的配置項中,節點標籤部分,為節點添加標籤,這樣節點池中的所有搶佔式實例都被打上了instance=spot的標籤。

3333333.png

最後指定節點池中實例規格和數量,點擊確認配置,完成節點池創建。

  1. 使用Arena提交訓練任務到搶佔式實例上,這裡以提交一個tensorflow單機訓練任務為例說明。
arena \
  submit \
  tfjob \
  --gpus=1 \
  --selector=instance=spot \
  --name=tf-standalone-test-with-git \
  --env=TEST_TMPDIR=code/tensorflow-sample-code/ \
  --sync-mode=git \
  --sync-source=https://github.com/happy2048/tensorflow-sample-code.git \
  --logdir=/training_logs \
  --image="registry.cn-beijing.aliyuncs.com/ai-samples/tensorflow:1.5.0-devel-gpu" \
  "'python code/tensorflow-sample-code/tfjob/docker/mnist/main.py --max_steps 5000'"

執行上面的命令,注意其中的--selector=instance=spot參數,通過設置該參數就可以把訓練任務調度到搶佔式實例上。

Leave a Reply

Your email address will not be published. Required fields are marked *