【DSW Gallery】介绍如何使用命令行工具提交DLC任务

简介: 本文介绍如何使用DLC命令行工具提交任务到指定的工作空间内. 同时,会介绍如何提交预付费和后付费的DLC训练任务

直接使用

请打开基于介绍如何使用命令行工具提交DLC任务,并点击右上角 “ 在DSW中打开” 。

image.png

概述

PAI-DLC(Deep Learning Containers)是基于阿里巴巴容器服务ACK(Alibaba Cloud Container Service for Kubernetes)的深度学习训练平台,为您提供灵活、稳定、易用和极致性能的深度学习训练环境。

除了可以在PAI的控制台使用界面提交任务,PAI平台还提供了完善的SDK和OpenAPI,实现基于代码提交任务,使得PAI-DLC更灵活的应用到您的日常生产。

本文将介绍如何使用PAI-DLC提供的CLI,实现训练任务的提交。

如果您需要通过界面提交PAI-DLC公共资源组或专有资源组任务,请参见DLC命令行工具使用手册。

前提条件

步骤一:安装DLC CLI

DLC命令行 Mac amd64版本下载链接

DLC命令行 Mac arm版本下载链接

DLC命令行 Linux版本下载链接

实际使用的时候,可以把DLC的命令行工具放入 /usr/local/bin中,chmod赋予DLC命令行执行的权限,并且使用下面的命令进行关联

exportdlc=/usr/local/bin/dlc


准备AI工作空间(必须)

工作空间是PAI的顶层概念,为团队提供统一的计算资源管理及人员权限管理能力,目的就是为AI开发者提供支持团队协作的全流程开发工具及AI资产管理能力。

PAI平台在开通时,会自动给用户 创建默认的工作空间

准备镜像(必须)

进行训练任务,需要明确指定计算节点所使用的镜像。PAI-DLC支持选择使用不同类型的镜像:

  • 社区镜像:由社区提供的标准镜像,不同的镜像的详情请参见社区镜像版本详情。
  • PAI平台镜像:由阿里云PAI产品提供的多种官方镜像,支持不同的资源类型、Python版本及深度学习框架TensorFlow和PyTorch,镜像列表请参见公共镜像列表。
  • 用户自定义镜像:可选择使用您添加到PAI的自定义的镜像,选择前,您需要先将自定义镜像添加到PAI中,操作详情请参见查看并添加镜像。
  • 镜像地址:可选择使用您自定义的镜像,选择镜像地址后,您需要在配置框中配置公网环境下可访问的Docker Registry Image URL。

准备数据集(可选)

高质量的数据集是高精度模型的基础,是数据准备的核心目标。PAI平台提供了数据集管理模块,支持将各类数据(本地数据、阿里云存储中的数据等)注册为数据集,也支持扫描OSS文件夹生成索引数据集,为模型训练做准备。

准备代码源(可选)

进行模型训练任务提交等操作时,通常您需要提供自己的训练代码。PAI为您提供代码配置功能,便于您将需要使用的代码仓库创建为AI资产,方便在多个任务中引用。

步骤二:提交训练任务

以上准备好了训练需要的资源和配置,接下来会进行任务的提交。关于接口的更多说明,请参见API参考。

配置命名行工具

在使用命令行工具之前,需要配置命令行工具,输入用户的ak,region以及所对应的region的DLC服务的endpoint

dlc config --access_id {.ak-id }       \
           --access_key {.ak-secret}  \
           --endpoint 'pai-dlc.{region-id}.aliyuncs.com' \   # region-id 例如cn-beijing/cn-hangzhou
           --region cn-hangzhou

创建预付费作业

独占资源组(也称为预付费资源组)是PAI推出的新功能,正在邀测阶段,如有需要,可以联系PAI团队。在预付费资源组中的资源为用户独占,用户可以提交DLC任务或者DSW实例,并且指定任务或者实例的资源量。当提交的任务超过资源组中的总量时,会自动排队,同时用户可以修改排队中的任务优先级来影响任务被执行的先后顺序。

值得注意的是,提交到资源组中的作业会遵循All-Or-Nothing(也叫Gang Scheduling)的原则,也即只有作业要求的所有worker都能得到资源保障的请求下,才会被调度执行;避免部分worker提交到集群,造成资源浪费。

下面的sample命令,就是提交一个DLC预付费的训练任务到46099这个工作空间,并且将任务调度到rgo80s1uv05bplin这个预付费资源组上面

dlc submit tf --name=test_2022  \--workers=1 \
    --worker_image=registry-vpc.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.15-cpu-py36-ubuntu18.04 \
    --command="python /root/code/horovod/tf1.py" \
    --workspace_id='46099' \
    --resource_id='rgo80s1uv05bplin' \
    --worker_cpu="2" \
    --worker_memory='1Gi' \
    --code_source='code-738c8edd0e4a47e4b7fd805ec05914d7'

image.png

查看任务状态并获取日志:

查看任务的日志,需要指定任务的job_id以及pod_id。下面拿上面已经提交的任务为例

dlc logs dlcylztabt7alg7p dlcylztabt7alg7p-worker-0 --max_events_num=20

image.png

创建后付费多机分布式训练作业

后付费任务是DLC最先支持的一种业务模式,用户可以按需拉起所需要的资源,并且任务结束之后,资源就全部释放。

本文以Tensorflow多机分布式任务为例,展示如何使用DLC命令行工具创建多机分布式任务

下面的命令会创建一个2 worker,1 ps, 1 chief的TensorFlow多机分布式训练任务

./dlc submit tfjob --name=test2022 --workers=2 --worker_image=registry-vpc.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.15-cpu-py36-ubuntu18.04 \
--command="python /root/code/horovod/tf-ps-worker-good7.py" \
--workspace_id='35206' \
--worker_spec='ecs.g6.large' \
--code_source="code-203baa3bf5404f04969501fdd8ec2950" \
--ps=1 \
--ps_image=registry-vpc.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.15-cpu-py36-ubuntu18.04 \
--ps_spec='ecs.g6.large' \
--chief=1 \
--chief_image=registry-vpc.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow-training:1.15-cpu-py36-ubuntu18.04 \
--chief_spec='ecs.g6.large' \
--success_policy=ChiefWorker

image.png

对于TFJob来说,现在支持让用户自定义输入success policy:

--success_policy=ChiefWorker 这种模式下,TF分布式多机任务中的Chief的pod如果成功,那么就认为整个任务成功,任务会结束

--success_policy=AllWOrkers (Default) 这种模式下,TF分布式多机任务,必须所有的Workers全部成功,才会认为整个任务成功

查看任务yaml

可以用get job命令

./dlc get job dlc1fifr7w6ycnp

image.png

Stop 任务

可以用stop job命令

./dlc stop job dlc1fif7r7w6ycnq

image.png

步骤三:查看训练任务

当完成以上的PAI-DLC任务提交之后,可通过以下代码,实时查看任务运行的状态。 命令行工具支持多种维度去查询任务,具体可以用dlc get job -h查看详细参数列表,这里展示查询前面提交任务使用的预付费资源组中处于'Running'状态的任务

dlc get job --resource_id='rgo80s1uv05bplin' --status='Running'

image.png

相关实践学习
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
存储 机器学习/深度学习 人工智能
【DSW Gallery】DSW基础使用介绍
PAI-DSW是一款云端机器学习开发IDE,为您提供交互式编程环境,适用于不同水平的开发者。本文为您介绍PAI-DSW的功能特点以及界面的基础使用。
【DSW Gallery】DSW基础使用介绍
|
1月前
|
安全 API 定位技术
国内外IP定位服务商有哪些?从城市级到街道级的精度差异与技术选型
做网络风控、广告定向或日志归属地分析时,几乎都会碰到同一个问题:国内外能用的 IP 定位服务商有哪些?城市级、区县级、街道级差在哪,该怎么选? 实际选型里,名单通常要先分成两类 :国内厂商和国外厂商。两类在中文行政区、运营商口径、细粒度精度上的侧重点不同,不宜混在一张「谁更准」的表里硬比。 下面按这个分法摊开常见名字,再对照精度差异和选型步骤。各家字段与授权
国内外IP定位服务商有哪些?从城市级到街道级的精度差异与技术选型
|
7月前
|
人工智能 JSON 文字识别
一行命令,让你的 Code Agent 会读PDF
一行命令 `npx skills add tanis90/pdf-converter-mineru`,即可为Claude Code、Cursor等主流Code Agent注入PDF阅读能力。基于上海AI Lab开源的MinerU引擎,支持扫描件OCR、表格/公式识别、中英混排,自动选择快读或高精模式,开箱即用,无需部署MCP服务。(239字)
3820 16
|
5月前
|
缓存 人工智能 自然语言处理
阿里云千问Qwen 3.7 Plus与Max全面测评:从参数、能力到性价比的深度分析
阿里云Qwen 3.7系列包含Plus与Max两款核心模型,二者共享百万级上下文窗口与长时自治执行能力,但在模态支持、底层架构、推理性能与计费标准上存在本质差异,分别面向纯文本极致推理与多模态通用场景。通过实测对比两款模型的基础参数、文本能力、多模态能力、推理速度与成本效益,可清晰区分其适用边界,帮助用户根据业务需求精准选型,在保障性能的同时实现成本最优。以下从核心定位、基础参数、能力实测、性价比分析、场景选型五大维度,全面解析两款模型的差异与选型逻辑。
1247 2
|
10月前
|
机器学习/深度学习 存储 编解码
神经辐射场NeRF入门:3D视图合成的原理与PyTorch代码实现
NeRF(神经辐射场)用多层感知机将5D坐标(位置+视角)映射为颜色和密度,通过过拟合单个场景实现高质量新视角合成。结合位置编码与体积渲染,以隐式方式表征三维场景,仅需少量图像即可重建精细结构。
951 3
神经辐射场NeRF入门:3D视图合成的原理与PyTorch代码实现
|
9月前
|
机器学习/深度学习 人工智能 JSON
从“强化学习”到“概率对比”:深度解析DPO为何能向PPO发起挑战
本文深入解析大模型偏好对齐两大主流技术:PPO(基于人类反馈的强化学习)与DPO(直接偏好优化)。对比其原理、优劣、实操流程及评估方法,涵盖数据准备、算法配置、训练监控与效果验证,并给出DPO(适合初学者/本地部署)和PPO(适合科研/追求上限)的选型建议,助力高效实现价值观对齐。(239字)
478 1
|
弹性计算 并行计算 UED
GPU实例使用--自动安装NVIDIA GPU驱动和CUDA组件
GPU 云服务器正常工作需提前安装正确的基础设施软件,对于搭载了 NVIDIA 系列 GPU卡的实例而言,如果把 NVIDIA GPU 用作通用计算,则需安装 NVIDIA GPU 驱动、 CUDA、cuDNN等软件。
103138 3
|
SQL 存储 数据挖掘
快速入门:利用AnalyticDB构建实时数据分析平台
【10月更文挑战第22天】在大数据时代,实时数据分析成为了企业和开发者们关注的焦点。传统的数据仓库和分析工具往往无法满足实时性要求,而AnalyticDB(ADB)作为阿里巴巴推出的一款实时数据仓库服务,凭借其强大的实时处理能力和易用性,成为了众多企业的首选。作为一名数据分析师,我将在本文中分享如何快速入门AnalyticDB,帮助初学者在短时间内掌握使用AnalyticDB进行简单数据分析的能力。
1172 2

热门文章

最新文章