思路
- 定时任务不停调用 convert
- 训练|评估结束时调用 convert
key: 用户无感知;不出错
技术点
convert 支持远程 repo.
修改 convert。
技术点
convert 自启动。
主要是用 __init__
包导入来做。
技术点
- 问题: 如何避免多个执行单元执行 convert
- 回答: 不能用普通单例模式。多进程的可能性比较多,普通单例模式难以保全。打算用系统级的文件锁。这样的话,对于分布式训练,应该也没有问题。
技术点
convert 工具对目录结构有要求,见这里
而我们的模型,并不一定自动会满足这个要求。
两者存在冲突。
所以,打算修改 aim, 使它对目录下的所有 tensorboard 数据,都进行关联。
技术点
结束时,要调一下 convert, 别让数据丢失。
实现:
- init-container
- slurm 拼命令
- 注意,如果 命令不存在,也不要导致命令出错。
数据准备
哪个模型,会产生 tensorboard 数据?
3.137 环境,有 gpu-model.zip:1.0 模型。
/data/nfs/apulis/pvc/aiplatform-ailab-data/1.org/orgadmin-user-group/ai-arts/17062/train-4758cbff-cc5a-4e1c-96ab-b3b4deb539f7
另一方面,凯杰之前有给过文件: tb.tar
涉及项目
- ai-arts aistudio-v1.7.1-tensorboard-logs
- init-container aistudio-v1.7.1-tensorboard-logs
- aim aistudio-v1.7.1-tensorboard-logs
自测
可用镜像:
harbor.apulis.cn:8443/algorithm/apulistech/aimstack-sdk:aistudio-v1.7.0-rc2-mmopenlab
模型
aim-model: 1.0
但是环境上面没有卡…
只好用 utility model 了
select engine from studio_model_versions where id = 37;
pvc://aiplatform-model-data-pvc/models/apulis/orgadmin-user-group/318/37
update studio_model_versions engine set engine = 'harbor.apulis.cn:8443/algorithm/apulistech/aimstack-sdk:aistudio-v1.7.0-rc2-mmopenlab' where id = 37;