前言:
此白皮书介绍了如何利用Alluxio加快数据访问,实现云上分布式训练的端到端性能提速。部署Alluxio后,从云存储加载数据,缓存数据和训练都变得更加简单高效。本白皮书还展示了如何搭建一套端到端加载训练数据性能的测试框架,以及Alluxio与其他训练主流数据供给方案的性能测试比对结果。
一、问题描述
为了提高AI场景下模型训练的准确性、加快速度并降低成本,许多公司都逐步开始在云上实施分布式训练的方案。但是采用这种解决方案时,有以下两个问题需要重点解决:
1)数据的可访问性(Data Accessibility):当数据量大且存储在远端服务中时,如何获取训练数据。
2)数据的访问性能(Performance):如何同时保证元数据访问的低延迟和数据访问的高吞吐量。
二、训练中的I/O挑战
我们在云上进行模型训练时,总是希望能达到高吞吐量和高效率,但是给机器学习训练供给数据时经常会遇到下述挑战:
·低效的串行化的数据准备:如果采用传统方式(见下一章)访问云存储中的数据,往往要花费较长
的时间才能准备好训练集群所需数据。
●数据访问速度慢:传统方式获取数据和元数据速度较慢,这将直接影响总体训练效率,甚至成为训
练瓶颈。
●资源管理易出错:训练集群通常只分配了有限的存储容量,如果在训练前完整复制输入数据至训
练集群本地存储,配置和维护存储资源往往难度大且容易出错。
·数据不一致:如果复制训练数据到训练集群,通常需要额外的人工干预来确保云存储上的数据与
训练数据同步。
三、解决方案概览
Alluxio是用于数据分析和机器学习应用的开源数据编排平台。Alluxio不仅在训练作业和底层存储之间提供了一个分布式缓存层,而且还负责连接到底层存储,主动或按需获取数据,根据用户设置的策略缓存数据,并为训练框架高速提供数据。使用Alluxio来加速机器学习和深度学习训练通常包括以下三个步骤:
1)在训练集群中部署Alluxio;
2)通过将Alluxio服务挂载至训练节点的本地文件目录;
3)使用训练脚本从Alluxio服务的挂载点,访问缓存在Alluxio中以及底层存储中的数据。
本文来自知之小站
PDF报告已分享至知识星球,微信扫码加入立享3万+精选资料,年更新1万+精选报告
(星球内含更多专属精选报告.其它事宜可联系zzxz_88@163.com)
