1.3.1 概念介绍
Region
Region/endpoint是物理上数据中心的划分,以下是Cloud-ML当前已经上线的集群:
Region | endpoint | 中文名称 | 控制台名称 |
---|---|---|---|
cnbj2 | https://cnbj2.cloudml.api.xiaomi.com | 武清机房 | 武清 |
Org
Xiaomi Cloud-ML实现了基于Org的多租户隔离,所有资源归属于固定的Org,用户可以在生态云登录或者创建Org,每个Org都有资源的Quota限额。
个人开发者可以使用默认的Org,团队开发者可以使用“团队管理”功能创建Org,访问Xiaomi Cloud-ML服务时带上特定的Org和AKSK即可。
AKSK
Xiaomi Cloud-ML服务支持生态云的AKSK认证体系,用户请求服务时需要使用Access key和Secret key进行签名,用于服务的认证和授权。
注意每对AKSK标示了Org的身份,每个Org有独立的Quota限额和操作权限,团队开发者需要使用正确的AKSK来访问Xiaomi Cloud-ML服务。
Quota
Xiaomi Cloud-ML服务包含了TrainJob等多种资源,创建资源时可申请CPU、内存和GPU物理资源,对于TrainJob数量、CPU、内存、GPU总量都有固定的Quota配额,开发者可向管理员申请提高Quota配额。
Fds
Fds是小米分布式文件存储服务,Cloud-ML的数据存储依赖于fds,用户提交的训练代码也保存在fds。文档地址:http://docs.api.xiaomi.com/fds/
TrainJob
Train job代表了一个训练任务,类似Hadoop或者Spark中的计算任务。用户提交任务时可以指定Memory、CPU和GPU限制,提交后平台会调度到合适的服务器运行,运行过程中的日志可以通过API获得,训练结果后模型保存在分布式存储中。
API
Xiaomi Cloud-ML对外提供RESTful API接口,可以使用任意的HTTP客户端来访问train job、model service、dev environment等资源,使用时用户需要严格参考API文档使用正确的参数。
Python SDK
Xiaomi Cloud-ML提供了Python SDK,是基于Python实现的HTTP客户端,封装了访问Xiaomi Cloud-ML服务的参数,可以更方便地访问Xiaomi Cloud-ML服务。
命令行工具
cloudml命令行工具是访问Xiaomi Cloud-ML最方便的工具,基于Python SDK实现,在Mac、Linux或Windows操作系统可通过命令来提交train job、部署model service、创建dev environment等。