斯坦福博士论文揭秘:如何构建可扩展、高效且安全的机器学习数据系统

斯坦福博士论文关注机器学习数据系统,通过优化存储、预处理和安全等方面,实现可扩展、高效且安全的数据流水线。

原文标题:【斯坦福博士论文】可扩展、高效且安全的机器学习数据系统

原文作者:数据派THU

冷月清谈:

这篇斯坦福博士论文深入探讨了如何为端到端机器学习训练流水线构建数据系统,以应对日益增长的数据规模和计算需求。论文首先分析了超大规模数据中心中深度学习推荐模型(DLRM)训练工作负载的系统瓶颈,提出了构建分布式存储和数据处理系统的必要性。随后,论文介绍了Meta部署的两个项目:Tectonic-Shift和RecD,分别通过Flash缓存和数据去重技术,显著提高了DLRM数据系统的存储和预处理效率。为了进一步简化跨领域系统优化,论文提出了cedar,一个通用的预处理框架,能够高效地执行端到端机器学习数据预处理作业。最后,论文关注机器学习数据流水线中的数据安全问题,提出了ShEF框架,利用FPGA构建受信执行环境,从而实现高吞吐量和安全的分布式存储,保护用户敏感数据。

怜星夜思:

1、论文中提到,RecD 通过数据去重提升了效率,在其他领域,比如自然语言处理,这种思路是否也能应用?具体可以怎么做?
2、论文中提到的ShEF框架,利用FPGA实现了数据安全,这种方案的成本如何?相比于纯软件的加密方案,优势和劣势分别是什么?
3、cedar 框架的通用性和可组合性听起来很吸引人,但在实际应用中,如何保证这些通用算子在不同硬件和软件环境下都能达到最佳性能?

原文内容

来源:专知
本文约1000字,建议阅读5分钟
文的重点是如何为端到端的机器学习训练流水线构建数据系统。


机器学习(ML)从业者正在部署数据中心级别的集群,以提供训练和服务越来越大、更强大机器学习模型所需的巨大的计算资源。这些集群可以包含成百上千个专用加速器(例如,GPU),通过专用的高带宽互联(例如,NVLink、RoCE或InfiniBand)进行互联。然而,继续扩展机器学习系统的能力不仅仅需要加速机器学习的核心计算内核(例如,基于梯度的优化或推理执行)。它还需要扩展端到端的机器学习流水线,包括以足够的速度存储和处理艾字节级的数据,以满足大规模机器学习工作负载的摄取需求。

本论文的重点是如何为端到端的机器学习训练流水线构建数据系统。这些系统生成、存储和处理数据,以支持数据中心级的机器学习训练集群。因此,它们必须是可扩展的、高效的和安全的。首先,机器学习数据系统需要具备可扩展性;它们不仅需要存储艾字节级的数据,还需要提供足够的摄取吞吐量,以确保加速器不会因为输入数据的延迟而被阻塞。虽然扩展性可以消除因训练加速器未充分利用而产生的数据停顿,但仅仅将运行在通用存储设备和CPU上的数据系统扩展以满足专用加速器的巨大数据需求,可能需要庞大的数据中心容量。因此,确保端到端机器学习数据流水线中的系统高效运行至关重要,从而使得整体的机器学习基础设施能够继续扩展。最后,机器学习模型现在广泛部署在用户面向的应用程序中,从社交媒体到电子商务。因此,机器学习数据系统必须具备安全性,以保护最终用户的敏感数据。

我们首先旨在理解端到端机器学习训练流水线的系统瓶颈和设计空间,重点关注深度学习推荐模型(DLRM)训练工作负载,因为它们对数据的需求极大,并且在现代网络应用程序中非常普遍。为此,我们首先提出了一项研究,首次探索了构成机器学习数据存储和摄取流水线的系统,重点是超大规模数据中心Meta。我们提出了分布式存储和数据处理系统的必要性,以防止训练数据的停顿。接着,我们展示并描述了支持Meta数据中心级DLRM训练集群的各种数据系统——批处理引擎、分布式文件系统和分散的预处理系统。然而,简单的分离存储并不足够,因为存储和预处理可能消耗比实际GPU本身多出2倍以上的资源。为了应对这一挑战,我们将我们的特征描述提炼为可行的研究机会,以构建更高效的数据系统。

基于这些机会,我们接下来展示了Meta部署的两个项目,以提高DLRM数据系统的效率。首先,Tectonic-Shift解决了高效存储艾字节级训练数据集的挑战。传统上,数据集存储在一个名为Tectonic的硬盘(HDD)支持的分布式文件系统中,这对于以读为主的机器学习训练作业提供了较差的I/O效率。为了提高Tectonic的I/O效率,我们构建了一个名为Shift的Flash缓存层。Shift智能地利用训练作业规格提供的预测信息,将数据集中的热门部分缓存到I/O高效的SSD中,从而将数据集所需的存储资源减少了29%。其次,我们展示了如何利用数据本身的表示来提高端到端训练系统效率,在一个名为RecD的项目中,RecD利用了深度学习推荐模型数据集在训练样本之间存在大量重复特征值的洞察——在Meta的数据集中,最多有89%的字节是重复的。RecD是一套互相关联的优化方案,涉及数据生成、存储、预处理和训练系统,通过去重减少了由于重复值带来的系统开销。因此,RecD分别提高了存储、预处理和训练效率,提升幅度分别为3.71倍、1.79倍和2.48倍。

虽然这些工作优化了Meta DLRM训练流水线的效率,但将效率优化扩展到各个领域,从语言到视觉也是非常重要的。为了减轻在各个领域和机器学习流水线中导航复杂系统优化空间的负担,我们引入了cedar。cedar允许机器学习从业者使用通用和可组合的运算符库,轻松定义端到端的机器学习数据预处理作业。然后,cedar系统地应用多种性能优化,以高效地将作业执行,并为训练加速器提供数据流。在此过程中,cedar能够将机器学习预处理性能提高最多1.87倍到10.65倍,超越现有最先进的机器学习数据系统。

最后,我们解决了在机器学习数据流水线中保护敏感用户数据的挑战。当前的硬件安全机制,例如英特尔的SGX或NVIDIA的保密计算,能够在处理过程中强制执行数据机密性和完整性保证。然而,这些当前的解决方案并未涵盖整个流水线,并且无法强制执行存储层所需的丰富安全属性,例如GDPR。幸运的是,FPGA越来越多地被部署到数据中心基础设施中,以加速存储和网络等操作。我们构建了ShEF,一个开源框架,使得加速器设计者能够在这些FPGA中构建、定制和部署受信执行环境(TEEs)。我们展示了如何通过ShEF在分布式、FPGA启用的存储节点上创建一个加密的、符合GDPR的存储层。因此,ShEF能够实现高吞吐量和安全的分布式存储,迈出了保护端到端机器学习数据流水线安全的重大步伐。ShEF还提供了关于如何为现代数据中心加速器(不仅仅是FPGA)构建受信执行环境的宝贵经验。



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


我更倾向于从数据增强的角度来看这个问题。数据增强在NLP中很常见,但同时也引入了大量的相似样本,是不是可以反过来利用RecD的思想,识别并删除那些过度相似的增强样本,从而提高模型的泛化能力?

纯软件加密方案的优势是灵活性高,易于部署和维护,成本也相对较低。劣势在于性能开销较大,可能会成为系统瓶颈。FPGA方案则可以提供更高的性能和安全性,但需要专业的硬件知识和开发经验。选择哪种方案,需要综合考虑成本、性能、安全性和易用性等因素。

从学术角度来说,可以研究针对特定 NLP 任务的数据去重算法,例如,在机器翻译任务中,可以针对重复出现的短语或句子进行优化。此外,还可以探索将数据去重与模型压缩相结合的方法,进一步提高效率。

我猜 cedar 框架可能会采用类似于 JIT (Just-In-Time) 编译的技术,在运行时根据具体的硬件和软件环境,动态生成优化的代码。这样可以最大限度地利用硬件的特性,提高性能。不过,这也会增加框架的复杂性。

我觉得通用性和最佳性能之间本身就存在矛盾。cedar 框架可能需要在两者之间做出权衡。可以考虑提供一些针对特定硬件优化的算子,供用户选择。同时,提供通用的、可组合的算子,方便用户快速构建原型和进行实验。关键在于提供足够的灵活性和可扩展性。

这确实是个挑战。一种可能的思路是,cedar 框架需要具备智能的性能调优能力,能够根据不同的硬件和软件环境,自动选择最佳的算子实现和参数配置。这可能需要结合机器学习技术,对不同环境下的性能进行建模和预测。

FPGA方案初期投入可能比较高,毕竟硬件成本摆在那里。但长期来看,如果能够充分利用FPGA的并行计算能力,在性能和能耗上可能会优于纯软件方案。优势在于硬件级别的安全性和加速,劣势在于开发和维护的复杂性,以及对硬件的依赖。

我觉得 RecD 的核心在于发现并消除重复数据。在 NLP 领域,文本数据也存在大量的冗余,例如重复的短语、句子甚至段落。可以尝试使用文本去重技术,比如SimHash或者MinHash,来识别和消除这些冗余,从而减少存储空间和计算量。另外,对于知识图谱等结构化数据,也可以考虑节点和关系的去重。

抛开技术细节,我觉得最关键的是trade-off,安全永远是和成本成正比的。如果数据极其敏感,需要最高级别的保护,那么FPGA方案可能是更好的选择。如果对性能要求不高,或者预算有限,那么纯软件加密方案可能更合适。