突围大模型 : Alluxio助力AI大模型训练制胜宝典.docx

突围大模型 : Alluxio助力AI大模型训练制胜宝典.docx

  1. 1、本文档共157页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

目录

【白皮书】

加速云端机器学习/深度学习架构和性能测试 3

【技术文章】

将数据编排技术用于AI模型训练 32

Kubernetes上的Alluxio-通过CSI插件加速AI/ML训练 43

如何用Alluxio加速云上深度学习训练? 57

【应用案例】

【知乎】多云缓存在知乎的探索:从UnionStore到Alluxio 74

【蚂蚁】Alluxio在蚂蚁集团大规模训练中的应用 108

【微软】面向大规模深度学习训练的缓存优化实践 118

【腾讯】千节点Alluxio帮腾讯游戏AI“开挂” 134

【BOSS直聘】Alluxio在BOSS直聘算法平台的落地实践 148

1

为助力企业、科研机构、高校在竞争日益白热化的AI/机器学习/大模型赛道全面胜出,在大模型的决胜局实现突围制胜。Alluxio特此发起:

《Alluxio助力大模型训练计划》

2

前言:

此白皮书介绍了如何利用Alluxio加快数据访问,实现云上分布式训练的端到端性能提速。部署Alluxio后,从云存储加载数据,缓存数据和训练都变得更加简单高效。本白皮书还展示了如何搭建一套端到端加载训练数据性能的测试框架,以及Alluxio与其他训练主流数据供给方案的性能测试比对结果。

一、问题描述

为了提高AI场景下模型训练的准确性、加快速度并降低成本,许多公司都逐步开始在云上实施分布式训练的方案。但是采用这种解决方案时,有以下两个问题需要重点解决:

1)数据的可访问性(DataAccessibility):当数据量大且存储在远端服务中时,如何获取训练数据。

2)数据的访问性能(Performance):如何同时保证元数据访问的低延迟和数据访问的高吞吐量。二、训练中的I/O挑战

我们在云上进行模型训练时,总是希望能达到高吞吐量和高效率,但是给机器学习训练供给数据时经常会遇到下述挑战:

●低效的串行化的数据准备:如果采用传统方式(见下一章)访问云存储中的数据,往往要花费较长

的时间才能准备好训练集群所需数据。

●数据访问速度慢:传统方式获取数据和元数据速度较慢,这将直接影响总体训练效率,甚至成为训

练瓶颈。

●资源管理易出错:训练集群通常只分配了有限的存储容量,如果在训练前完整复制输入数据至训

练集群本地存储,配置和维护存储资源往往难度大且容易出错。

3

●数据不一致:如果复制训练数据到训练集群,通常需要额外的人工干预来确保云存储上的数据与

训练数据同步。

三、解决方案概览

Alluxio是用于数据分析和机器学习应用的开源数据编排平台。Alluxio不仅在训练作业和底层存储之间提供了一个分布式缓存层,而且还负责连接到底层存储,主动或按需获取数据,根据用户设置的策略缓存数据,并为训练框架高速提供数据。使用Alluxio来加速机器学习和深度学习训练通常包括以下三个步骤:

1)在训练集群中部署Alluxio;

2)通过将Alluxio服务挂载至训练节点的本地文件目录;

3)使用训练脚本从Alluxio服务的挂载点,访问缓存在Alluxio中以及底层存储中的数据。

图1:训练作业通过Alluxio访问底层对象存储中的数据

下面我们将介绍该架构的基本功能和优势。

4

1.通过缓存方式更快访问共享数据

Alluxio通过在本地或靠近训练作业的节点缓存数据,从而实现I/O操作的高吞吐量,避免了因需要等待数据获取导致较低地GPU利用率。

和传统方案将整个数据集复制到每台机器上不同,Alluxio提供了一套共享的分布式缓存服务,使得数据均匀地分布在集群的各个节点上。这极大地提升了存储资源利用率,尤其是当训练数据集远大于单个节点的存储容量时。下图展示了Alluxio是如何进行分布式缓存的:

图2:Alluxio将底层对象存储中的数据进行分布式缓存

在图2中,完整的数据集存储在底层对象存储中。简单起见,我们选用两个文件(/path1/file1和/path2/file2)来代表该数据集。像/path1/file1这类小文件在Alluxio中以单个块存储,而/path2/file2这类大文件在

Alluxio中分成多个块存储。我们不在每台训练节点上存储所有文件块,而是将文件块分布式地存储在多台机器上。如图中的块A和块B存储在服务器1中,而块C存储在服务器2中。另外每个块可以在多个服务器上保存多个副本,这样既可以防止数据丢失又能提高读取并发度。图例中的块A同时在最左和最右端服务器

文档评论(0)

哈哈 + 关注
实名认证
内容提供者

嗨,朋友,我都会用最可爱的语言和最实用的内容,帮助你更好地理解和应对职场中的各种挑战!

1亿VIP精品文档

相关文档