华为云AI开发平台ModelArts开发环境中如何选择存储_云淘科技

不同存储的实现都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高使用效率。

表1 云上开发环境中各种存储使用场景说明

存储类型

建议使用场景

优点

缺点

EVS云硬盘块存储

比较适合只在开发环境中做数据、算法探索,性能较好。

块存储SSD,可以理解为一个磁盘,整体IO性能比NFS要好,可以动态扩充,最大可以到4096GB。

云硬盘EVS作为持久化存储挂载在/home/ma-user/work目录下,该目录下的内容在实例停止后会被保留,存储支持在线按需扩容。

缺点是只能在单个开发环境中使用 。

并行文件系统(PFS)

适合直接使用PFS桶作为持久化存储进行AI开发和探索场景。

1. 数据集的存储。将承载数据集的OBS并行文件系统挂载至Notebook中,在训练时直接使用。本地数据上传请参考如何上传文件到OBS?

2. 代码的存储。在Notebook调测完成,可以直接指定对应的对象存储路径作为启动训练的代码路径,方便临时修改。

3. 训练观测。可以将训练日志等输出路径进行挂载,在Notebook中实时查看和观测,特别是利用TensorBoard,Notebook功能完成对训练输出的分析。

说明:

实例运行后,支持将多个PFS动态挂载至Notebook容器中使用。动态挂载请参考动态挂载OBS并行文件系统。

PFS是一种经过优化的高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载。在需要使用对象存储服务场景下,推荐使用PFS挂载。

说明:

建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地存储读取,以获取更好的读写与吞吐性能。

缺点是小文件频繁读写性能较差,例如直接作为存储用于模型重型训练,大文件解压等场景慎用。

OBS对象存储

新版Notebook不支持直接存储在OBS桶或挂载OBS桶。

在开发环境中做大规模的数据上传下载时,可以通过OBS桶做中转。

存储成本低,吞吐量大,但是小文件读写较弱。建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地读取。

对象存储语义,和Posix语义有区别,需要进一步理解。

本地存储

重型训练任务首选

运行所在虚拟机或者裸金属机器上自带的SSD高性能存储,文件读写的吞吐量大,建议对于重型训练任务先将数据准备到对应目录再启动训练。

默认在容器/cache目录下进行挂载,/cache目录可用空间请参考开发环境中不同Notebook规格资源“/cache”目录的大小。

缺点是存储生命周期和容器生命周期绑定,每次训练都要下载数据。

SFS弹性文件服务器

目前只支持在专属资源池中使用;针对探索、实验等非正式生产场景,建议使用这种。开发环境和训练环境可以同时挂载一块SFS存储,省去了每次训练作业下载数据的要求,一般来说重IO读写模型,超过32卡的大规模训练不适合。

实现为NFS,可以在多个开发环境、开发环境和训练之间共享,如果不需要重型分布式训练作业,特别是启动训练作业时,不需要额外再对数据进行下载,这种存储便利性可以作为首选。

缺点性能比EVS云硬盘块存储低。

如何使用

在开发环境中如何使用云硬盘EVS块存储?

在创建Notebook实例时选择云硬盘存储,Notebook运行过程中可以动态扩充云硬盘EVS容量。

在开发环境中如何使用OBS并行文件系统?

Notebook运行过程中可以动态挂载OBS并行文件系统。

父主题: 管理Notebook实例

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家