在ModelArts Notebook中连接DLI Spark集群并进行机器学习建模
798
2022-05-28
在开发场景下,单人占用单张GPU卡存在利用率低的情况,所以多人共用一个GPU实例是一个普遍接受的方案。在ModelArts中,我们可以多人共用一个notebook实例,从而提升资源的ROI。
但是ModelArts的Notebook实例是基于容器化方案提供的,如果实例异常或者重启,会将整个环境恢复到初始状态。虽然可以通过镜像保存等功能进行环境配置固化,但是在多人共用的场景下可行性较差。
本文将介绍一些多人共用Notebook的注意点和使用建议。
Notebook实例的特点:
基于容器化构建:
环境修改重启后失效,需要通过镜像保存来固化。
可以通过注册自定义镜像的方式创建自有环境。
异常情况下实例会重启。异常场景包括:CPU打满、内存占满、挂载目录容量超过限额等。
节点网络:可以访问外网,可以配置ssh登陆。
挂载目录情况“
目录“/home/ma-user/work”是单独挂载的EVS盘,提供较高的访问性能,且存储内容会持久化存储。
目录“/cache”是挂载节点的NVMe SSD盘,提供超高的访问性能,但是重启后会重置,容量限额500G
SSH&VS Code配置:
建议打开对应配置,多人可以通过VS Code来使用,或者直接通过ssh以命令行方式使用。
相关配置参考博客: https://bbs.huaweicloud.com/blogs/280541
Conda环境配置:
建议每人创建自己的conda env以便进行环境隔离。建议把conda的环境和缓存改到“/home/ma-user/work”目录下,以便重启后可以快速恢复对应环境。
路径的设置可以通过编辑“/home/ma-user/.condarc”来实现。添加或修改配置"env_dirs"和"pkgs_dirs"来设置环境和缓存路径,按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找。
配置命令如下:
mkdir -p /home/ma-user/work/envs/ mkdir -p /home/ma-user/work/pkgs/ conda config --add envs_dirs /home/ma-user/work/envs/ conda config --add pkgs_dirs /home/ma-user/work/pkgs/
之后,我们可以使用clone的方式创建一个自己的env,然后再切换到对应的env安装自己需要的包:
conda create -n my_env_name --clone python-3.7.10
参考文档:
https://blog.csdn.net/qq_38262728/article/details/88744268
https://blog.csdn.net/ljx0951/article/details/104121844
https://blog.csdn.net/javastart/article/details/102563461
Notebook监控配置:
因为部分异常情况会导致容器重启,所以我们需要找到实例重启的元凶。
建议启动实例后进行实例状态的监控,这样我们就知道是哪个命令导致出错的。如果我们能要求所有用户都在启动命令里增加自己名字信息(比如大家以自己的名字为目录,命令以绝对路径启动),就可以方便的找到责任人。
针对内存和CPU的监控参考博客: https://bbs.huaweicloud.com/blogs/351255
针对/cache目录使用情况的监控,可以使用如下命令来定期查看。
while :; do date; du -hs /cache/*; sleep 300; done
镜像服务
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。