背景
近些年,以深度学习为代表的人工智能取得了飞速发展,正应用于各行各业。随着深度学习的广泛应用,众多领域产生了大量高效人工智能模型方面的需求,与此同时,企业数据规模正在以前所未有的速度迅速增长,计算和存储不匹配而影响运行效率的问题日益凸显,计算与存储分离架构也逐渐成为主流。
存储方面,更倾向于将大规模的数据放在成本低廉的S3上。从数据访问角度看,一方面受限于网络传输速度,GPU加速带来的好处是有限的,因此加速数据访问将变得更加重要。另一方面,S3只是对象存储,没有真实目录,元数据操作会很慢,更不能提供rename等操作的原子性。
CurveFS助力AI训练加速
CurveFS可以解决AI场景下的问题。CurveFS作为面向云原生设计的高性能共享文件系统:
- 在易用性方面,CurveFS提供了完备的POSIX兼容性,可以像操作本地文件系统一样使用,无感知对接各种应用
- 在性能方面,CurveFS提供了多级缓存(内存缓存和本地磁盘缓存,TODO: 独立缓存集群),并且为AI训练场景提供了预读命令。在AI训练时,可以使用命令预先把数据加载到本地缓存。实际训练时,数据都是从内存缓存和本次磁盘缓存中获取,可以大大提供数据读取效率。
- 成本方面,CurveFS数据最终存储到价格最低廉的S3上
- 云原生方面,CurveFS兼容多个公有云厂商(阿里云、网易云、AWS等)
测试说明
-
此前,基于ImageNet-2012,resnet50训练模型,商汤开源的训练框架做过一次CephFS和CurveFS的对比测试,CurveFS可以大大加速AI训练
-
用户测试
-
按照CurveFS部署文档搭建CurveFS集群,以及挂载客户端
示例架构如下:
-
将训练数据导入CurveFS集群
-
使用【待补充warmup】预加载缓存数据
-
进行训练