本文主要记录了对腾讯云-TIONE平台、华为云-ModelArt等主流AI平台的产品调研。
简单点说就是提供了带训练资源的云IDE,使用形态包括Notebook、VsCode等。
TI平台将tensorflow、pytorch、spark环境等均集成到一个Notebook容器中,供用户进行使用。
sh-4.2$ conda env list
# conda environments:
#
base /opt/conda
JupyterSystemEnv * /opt/conda/envs/JupyterSystemEnv
light_py3 /opt/conda/envs/light_py3
pyspark /opt/conda/envs/pyspark
python3 /opt/conda/envs/python3
pytorch_py3 /opt/conda/envs/pytorch_py3
tf2_py3 /opt/conda/envs/tf2_py3
tf_py3 /opt/conda/envs/tf_py3
tiacc_pytorch_py3 /opt/conda/envs/tiacc_pytorch_py3
tiacc_tf_py3 /opt/conda/envs/tiacc_tf_py3
定制化开发了一套 python sdk —— tikit,应用场景覆盖数据的上传、下载,模型训练、发布等流程,使用示例如下:
from tikit.client import Client
client = Client("AKIDlaN2Z0KNJJD0hGfx8CHCyc9XknhXKXXX", "0ud8pKadccS6WheQzKQbmsoY5PWQXXX")
# 从cos(腾讯云的对象存储)下载数据
client.download_from_cos("ti-251202291", "test_csv", "./mnist_data/dataset_csv")
notebook 进行了定制化开发,提供了示例文件
集成了可视化监控功能,在notebook界面上直接看到资源的实时使用情况(22年底的时候,亲测不准)
通过安装插件,实现了Notebook里面的代码提示补全
存储配置可选择默认存储或云硬盘EVS
ModelArt 的 Notebook 集成了Git、Tensorboard、可视化资源监控功能(亲测比 腾讯的靠谱)
ModelArts 支持通过本地IDE环境(PyCharm、VSCode)通过ssh远程连接到Notebook中,进行开发,如下图:
存放数据的地方只有一个选择——对象存储(与华为云一致),TI平台的数据中心模块还集成了数据标注功能。导入数据集时,支持在弹出的悬浮窗口上直接操作对象存储。
上传完图片类型后,可新建标注任务,对图片进行标注
打完标签后的数据集,可以在先前配置好的“输出存储”找到
华为-ModelArts的数据管理分成“数据集”、“数据标注”、“数据处理”、“标注团队”四个子模块。
数据集: 存放数据的地方只有一个选择——对象存储(与腾讯云一致)。支持图片、音频、文本、表格、视频、其他五种类型(比腾讯多了音频、视频)。
支持“导入新模型”、“导入新版本”、“导入至现有版本”3种导入方式。模型来源支持从任务导入及从COS导入,支持 Savedmodel、Frozen Graph、TorchScript、Detection2、PyTorch、PMML、ONNX、MMDetection、Hugging Face,9种模型格式。
为与“模型服务”模块所需的模型文件格式对齐,腾讯TI平台内置推理代码模版,供用户上传模型文件时参考。
可对模型仓库里纳管的模型进行优化加速,但模型优化后的模型仅能支持在 TI 平台模型服务进行推理服务使用。当模型格式支持 TorchScript、Hugging Face、MMDetection、Detectron2、ONNX、Savedmodel、Frozen Graph 格式。
创建优化任务时,需要完在“优化级别”、“部署机型”、“优化模型存储”等配置。
在模型仓库中可以直接选择“发布封装”操作,创建在线服务。
创建服务时需要完成“算力规格”、“实例数量”等配置。
在“服务管理”中可进行启动/停止、更新、删除、扩缩容操作。
在“服务调用”中查看到服务的 公网/VPC访问地址,调用示例,输出示例。
在“服务调用”中也可以直接在网页上进行在线测试。
使用公网访问地址,可以直接通过互联网访问服务。
批量预测任务的创建与在线服务的创建基本一致,只是指定了输入数据和输出数据,批量完成一批数量的推理预测。
华为ModelArts对应腾讯TI的“模型管理”的模块为“AI应用管理”,对应腾讯的“模型服务”的模块为“部署上线”。
创建AI应用时模型来源有四种选择
从训练中选择:
即训练作业的输出 。(考虑后续产品迭代到 支持分布式训练的“任务式建模”后,再支持此选择)
从模板中选择:
预置了图像分类等模板,可减少用户编写 服务API定义的工作量。(考虑后续要丰富平台功能的时候再做)
从对象存储服务中选择:
即从对象存储中选择模型文件,需按照平台要求的“模型包规范”编写推理代码。(考虑代二实现)
从容器镜像中选择:
即直接指定要运行的镜像地址,需指定使用的端口号、启动命令。(考虑迭代二实现,不过也可以腾讯一样在创建在线服务的时候,支持直接选择镜像启动)
如果开启并编写了apis定义,可以在后续发布的在线服务的“调用指南”中看到相应的 输入输出参数格式。
用于把模型转换成可在昇腾人工智能芯片(Ascend)上运行的模型,暂不做深入研究。
在完成AI应用及版本、计算节点规格、计算节点个数的配置后,可以直接部署一个在线服务