ACP API V1 版本下线通知
下线背景
为持续提升产品能力,训练产品 ACP 及工具 SCO、SCC 已全面支持 API V2 版本,API V1 不再提供功能迭代及后续版本维护服务。
下线时间
API V1 将于 2025 年 9 月 30 日 正式下线,建议您尽快完成迁移,避免对您的业务造成影响。
版本要求
- SCO 中ACP组件低于 v2.0.0 的用户将无法使用 V2 API,建议升级至 v2.0.0 及以上版本。
- SCC低于 v2.9.5 的用户将无法使用 V2 API,建议升级至 v2.9.5 及以上版本。
升级操作指南见附录。
变更说明
建议您参照下方对照表逐项比对 V1 与 V2 API ,尽快完成迁移操作。
接口名称对照:
请求类型 | V1 API | V2 API |
---|---|---|
GET | Get training job | Get training job |
Get the training job list | Get training job list | |
Get the training job owner list | ||
Get training job pod list | Get worker list | |
Get training job pod events list | 待上线 | |
Get training job events list | 待上线 | |
POST | Create training job | Create training job |
BatchDeleteTrainingJob | BatchDeleteTrainingJob | |
PATCH | Update training job by training job ID | Update training job |
停止训练任务(待上线) | ||
重启训练任务(待上线) | ||
DELETE | Delete training job by training job ID | BatchDeleteTrainingJob |
URL 变更对照:
注:目前按照V1 API接口进行了功能罗列,表格最后一行为匹配的V2接口,如下所示。注意,需关注V1,V2 URL 的加粗部分。
1、获取任务列表
Get the training job list | GET /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs |
Get the training job owner list | GET /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/ {workspace_name}/trainingJobsOwn |
Get training job list | GET /compute/acp/data/v2/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs |
2、获取任务详情
Get training job | GET /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_id} |
Get training job | GET /compute/acp/data/v2/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_name} |
3、获取worker列表
Get training job pod list | GET /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_id}/pods |
Get worker list | GET /compute/acp/data/v2/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_name}/workers |
4、创建任务
Create training job | POST /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs |
Create training job | POST /compute/acp/data/v2/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs |
5、删除任务
BatchDeleteTrainingJob | POST /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs:batchDelete |
Delete training job by training job ID | DELETE /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_id} |
BatchDeleteTrainingJob | POST /compute/acp/data/v2/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs:batchDelete |
6、修改任务
Update training job by training job ID | PATCH /compute/workspace/data/v1/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_id} |
Update training job | PATCH /compute/acp/data/v2/subscriptions/{subscription_name}/resourceGroups/{resource_group_name}/zones/{zone}/workspaces/{workspace_name}/trainingJobs/{training_job_name} |
字段变更对照:
变更字段 | 变更说明 | V1 字段 | V2 字段 |
---|---|---|---|
name | 1. 该字段为 V2 新增,表示任务名称,在工作空间下唯一。 2. 支持用户填写,如未填写,系统将自动生成,生成规则与V1的 id 一致。 | - |
|
任务uid | 1. 该字段为 V2 新增,用作任务的唯一标识符。 | - |
|
id | 1. V1:工作空间下唯一,由后台生成,不支持用户填写。相当于V2的name 字段。2. V2:( subscription_id , resource_group_name , zone , workspace_name , id )五元组下全局唯一 |
|
|
aec2_name | 1. V1:使用独立的aec2_name 字段。2. V2:将 AEC2 相关信息整合至 resource_pool 中,resource_pool.name 相当于 V1 的 aec2_name 。公共集群下支持填写zone 和对应vpc_id 。 |
|
|
display_name | - |
|
|
description | 1. V1:任务描述字段。 2. V2:无独立字段。 |
| - |
labels | 1. V1:任务标签字段。 2. V2:无独立字段。 |
| - |
training_type | 1. V1:区分单机任务或分布式任务。 2. V2:不再使用独立字段,通过副本数区分单机或分布式任务。 |
| - |
training_operator | 1. framework_type 改为framework ,由string改为枚举,支持:MPI、PYTORCH、PYTORCH_DDP、TENSORFLOW、TENSORFLOW_PS、SENSEPARROTS、SENSEPARROTS_DDP。 2. V2 中无独立的 mpi 字段,已合并至framework ,填写 MPI 即表示启用 MPI。3. V2 中无 distributed_architecture 字段,是否为单机/分布式由副本数个数判断,大于1为分布式。4. V2 中不再使用 image_display_name 、image_type 、image_name 。5. name 改为image_path a. V1:一个任务只支持填写一个 image 。b. V2:支持一个角色填写一个 image 。6. V2中无 omnijob 字段。7. max_retries 字段从training_operator 移至lme 下。8. quota_type 字段从training_operator 移至scheduling 下。9. V2 中无 tolerance_opt 字段。10. V2中,与TensorBoard相关的字段从 training_operator 拆分至独立的tensorboard 字段中。 |
| framework_type
image
max_retries
|
execution_type | 1. V1:通过更新接口中的execution_type 参数实现停止(Suspend)和重启(Restart)操作。2. V2:新增停止/重启 API |
| - |
task_roles | 1. task_roles 改为roles 。2. role_name 改为name 。3. resources 改为resource_spec 。4. resources[i].num 改为resource_spec[i].replicas 。5. replic 改为total_replicas 。6. V2 无 mode ,通过total_replicas 和resource_spec.replicas 来区分。7. V2 roles 支持一个角色填写一个启动命令。8. V2 roles 支持一个角色填写一个镜像。 |
|
|
volume_infos | 1. volume_infos 改为mount 。2. V2 通过 type 是否为PV_AFS,来判断挂载是否为AFS。3. volume_id 改为id 。4. dir_path 改为subdir 。5. V2 支持跨区挂载AFS。 |
|
|
commands | 1. V1:一个任务支持一个启动命令。 2. V2:支持每个角色一个启动命令。 |
|
|
enable_cache | 1. V2 无 enable_cache ,通过mount type 是否为PV_ACS判断是否开启ACS缓存。 |
| - |
priority | 1. V2 字段名称不变,位置调整至 scheduling 下,支持普通(NORMAL)、高优(HIGH)和最高(HIGHEST)。 |
|
|
enable_anomaly_detection enable_async_ckpt max_ckpt_rounds | 1. V2:无独立字段。 |
| - |
env | - |
|
|
vpc_id | 1. V2 中,字段名称不变,但结构调整至resource_pool 下。 |
|
|
acs_list | 1. V2 取消acs_list ,改为mount ,并通过type 是否为PV_ACS来判断是否开启缓存。2. bucket_path 改为subdir 。 |
|
|
fault_tolerance | 1. 该字段为 V2 新增,用于容错相关配置。 | - |
|
disable_ssh_key_setup | 1. 该字段为 V2 新增,用于控制是否禁用 worker 节点(包括master或 launcher等)之间的 SSH 免密通信。 | - |
|
升级操作指南
- SCO升级方式,详情参考帮助文档
方式一:执行 sco components upgrade
,将所有已安装组件更新至最新版本。
方式二:如仅需升级 ACP,可选择卸载后重新安装该组件,其他组件无需变更。
# 先卸载
sco components remove acp
# 然后重装
sco components install acp
说明:如果升级后执行有问题,建议先执行sco init
重新进行初始化配置。
- SCC升级方式,详情参考帮助文档
联系我们
如有疑问或需技术协助,请联系大装置内部客户服务:scoics@sensetime.com