ACK上使用抢占式实例训练模型

环境准备

  1. 在阿里云ACK上创建集群,集群规格选择Pro版,Kubernetes版本选择1.20或以上版本。
  2. 在ACK控制台,点击左侧菜单应用 - AI工程加速,进入云原生AI套件安装页面。
  3. 点击一键部署,交互方式中默认已勾选Arena,其他组件可根据需要自行勾选安装。
  4. 点击页面最下方部署云原生AI套件按钮即可,安装成功后,可以在组件管理页面看到当前安装的组件信息。

基于ECS抢占式实例的训练任务

使用ECS抢占式实例训练模型,需要先在ACK中创建节点池,并给节点池打标。然后在Arena提交训练任务时,通过--selector 参数指定把训练任务调度到抢占式实例上。


操作步骤如下:

  1. 在ACK控制台,点击左侧菜单节点管理 - 节点池,进入节点池页面。首次创建节点池,需要先点击页面右上角集群自动弹性伸缩配置按钮,根据提示完成配置。


  1. 在节点池页面,点击右上角创建节点池按钮,在弹出的创建节点池窗口中完成配置。其中付费类型要选择抢占式实例

ACK上使用抢占式实例训练模型


然后点击页面最下方的显示高级选项。

ACK上使用抢占式实例训练模型


在展开的配置项中,节点标签部分,为节点添加标签,这样节点池中的所有抢占式实例都被打上了instance=spot的标签。

ACK上使用抢占式实例训练模型


最后指定节点池中实例规格和数量,点击确认配置,完成节点池创建。


  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参数,通过设置该参数就可以把训练任务调度到抢占式实例上。

上一篇:zabbix监控 openstack 的实例的资源使用情况


下一篇:普通用户免输密码切换root