论文阅读:Data Platform for Machine Learning

高级数据库技术

要求:

论文选择范围:(sigmod2019+VLDB2019+ICDE2019)

对论文主题、相关研究、模型、算法、实验方案设计、实验结果深入研究,有源码的可以进行源码演示。

要求:(1) 有PPT,对论文要提出鉴赏思路,有改进方案。

精度论文:Data Platform for Machine Learning

摘要部分

说明了MLdp是一个专门管理机器学习数据集的系统,不同于普通数据处理程序,MLdp包括数据的追踪,丰富的语义和数据格式,多样化的集成框架和访问模式,快速的实验和模型训练,数据隐私和安全性。当前的ML服务很少关注数据的管理,大都注重于算法。把沉重的数据任务交给了个人去管理。而MLdp为各个数据提供了一个灵活的数据模型,版本控制,并且与当前流行的ML框架结合起来,维护数据的来源帮助用户跟踪关系。并且重点关注了数据探索,特征工程,模型培训,模型评估等、

本文主要贡献:

  1. 认识到需求,并提出ML数据平台的要求。

  2. 通过采取以下措施,分享我们在建设多边基金的经验

    现有数据库技术对新问题的影响。

  3. (3)呼吁各国政府采取行动,以制定新的解决办法,以及

    我们的社区对未来的挑战。

1 介绍部分

文章首先介绍了机器学习的重要性,进而延伸到了数据是机器学习的关键。文章主要结构:第二部分证明ML数据管理系统的必要性。第三节讨论MLDP数据模型和用框架集成的数据接口,数据物理层设计和分布式服务。第四部分强调了未来的扩展,呼吁大家加强平台的建设,最后总结一下。

2 必要性证明

文章首先说了机器学习的几个阶段,而现在很多解决方案重点关注与培训,试验,评估和生命周期的部署。如图1所示,是常见的机器学习工作流程,但是由于缺少数据系统,ML工程师还要过多的将注意力放在数据的格式和不同阶段控制问题上。而在打的工程中不同的团队人员在下图中负责不同的工作,这种工作依赖性特别强,若是一个地方出问题,整条链路就是断开了。

在这里插入图片描述

基于上图和相关分析我们知道了数据集管理系统的需求性,他可以制定合法的使用规则,体用高级的数据访问接口,让ML工程师将注意力更多的关注ML中。实现这些这些目标的技术挑战主要分为:支持工程团队,支持机器学习流程,支持各种ML框架和ML数据。

2.1机器学习团队

文章首先介绍了机器学习团队包括ML工程师,数据科学家,软件工程师和法律团队,数据系统需要支持他们的工作。ML工程师负责给问题寻找最佳的模型,数据专家负责对数据和特征进行分析,软件工程师负责将前两位的成果部署出来,法律顾问负责从数据的隐私和条款上进行维护,现在平台没有提供一个很好地集成平台来管理这些事件。此外数据共享是一个很重要的问题,以前的服务中数据被封装后用户不知道数据的修改历程,由于数据在项目的生命周期中不断发展,因此设计版本控制是十分有必要的。

2.2 机器学习的生存周期

机器 学习的开发周期是具有高度迭代和实验性的,当第一批数据被特征注释后,ML工程师就开始探索小鬼摸的训练实验,根据实验结果暂停和重启之前的注释工作,只有经历了很多次实验后才能将数据,ML模型特征和训练的ML模型混合在一起。为了实现这个相互交织的阶段人物,ML数据平台需要提供以下的支持:

  1. (1)一个概念性的数据模型来描述缓慢变化的数据资产和不稳定的特征。

    (2)数据连续注入的简单机制。

    (3) 有效的数据和特征工程的特定领域语言。

    (4)混合型数据存储,适合于大数据量的稳定原始资产和高并发更新的混合型数据存储

    在不稳定的数据上,采用物理数据布局设计,以实现支持数据版本化,并为增量更新、版本间的三角跟踪和ML训练访问模式。

    (5) 与主要的ML框架集成的数据访问接口,允许在内部和外部进行无处不在的数据访问。数据中心以及在边缘地区。

    6)明确的版本管理,确保可复制性的ML实验。

    (7) 追踪数据的来源和出处

    8)数据探索和发现的工具集和编程接口。

不同数据特征进行混合ML实验很常见,但现在平台依赖用户的自带数据存储系统,缺乏轻松重现训练的支持。用户需要手动追踪数据和模型的关系,很复杂。例如在源数据集中发现错误的话,需要识别所有依赖的还有派生的数据,通知他们重新进行标签和训练。

此外ML实验在数据中心进行计算之前,首先要进行探索,因此需要支持服务器的远程访问,并且在个人点脑桑训练和在数据中心训练不应该差异过大,嘴周参照其他数据平台,分布式计算也可以缩短数据的训练距离。

2.3 机器学习框架和数据

现在的机器学习框架在不同领域有不同优势,所以平台需要装多个框架,甚至一个框架的不同版本。数据平台应该为常见ML框架提供I/O数据访问接口如TFRecordReader for TensorFlow。数据访问接口可以通过格式进行检索,此外数据类型也是一种关键检索。ML数据具有三个维度,多样性,体积,速度。通常原始数据容量很大,变化缓慢。例如图片原始数据变化缓慢,但是特征会根据不同模型的需求变化的变换的非常快。所以数据系统需要再这三个方面支持的很好。

综上所述MLDP不只是一个数据存储,如下图:还需要对机器学习的任务如注释,探索,数据和特征工程技工辅助工作。MLdp作为一个数据接口,提供了抽象的数据接口。包括数据模型、数据访问接口和数据寿命等。ML的周期管理。MLdp还与主要的

ML框架的数据访问层,允许ML流水线进行注重试验和评估,将责任留给数据访问和管理的数据访问和管理,并向MLdp报告。

在这里插入图片描述

2.4 相关工作

略。。。。。

3 系统架构和设计

MLdp提供用于客户端数据访问的REST api和客户sdk,以及用于服务器端数据处理的领域特定语言(DSL)。该服务由控制平面和数据平面api组成,以帮助数据管理和数据消费。图3显示了MLdp的高级组件。由于篇幅限制,我们将不涵盖所有的组成部分。相反,讨论将集中于涵盖第2节中提到的以下关键需求的设计:

一个概念数据模型,自然地描述原始数据资产与来自原始数据的特性/注释,

一个版本控制方案,以确保数据集的不可变快照上的ML实验的再现性,数据访问接口可以与ML框架无缝集成,以及其他数据处理系统中,

一种混合的数据存储设计,既适用于具有高并发更新的连续数据注入,也适用于变化缓慢的管理数据,

一种存储布局设计,支持不同版本之间的增量跟踪、分布式培训的数据并行性、高效搜索和数据探索的索引以及支持设备或数据中心上的培训的1/O流

一个分布式缓存来加速ML训练任务。

在这里插入图片描述

3.1 数据模型

MLDP针对概念数据模型提出了数据集,注释,分割和包四个对象。如下图所示:在这里插入图片描述

数据集是ML训练的主要对象,注释是描述相关数据集中实体的标签,而分割是分配训练集和验证集合。一个数据可以由多个注释和分割。从数据集中规范注释和分割的好处很多,这里就不一一列举了。包是提供了数据集注释分割的概念师徒,与 数据库中的视图一样,例如可以在imagenet和其他数据集中连个定义一个室内图像包。

对上述的四个对象提供了版本管理和数据生命周期管理。具体方法参照第六页右部分。

MLDP以表格形式便是数据,要求数据实体是主键,还在注释和分割中定义了外检,用来关联实体。。。。等等物理层的设计。

3.2 数据接口

MLPD提供高级数据接口(DSL)和低级数据接口。我们发现训练的时间并没有特征提取的时间久。本文将展示一些高级接口的用法:(已经和python集成到一起)

视图匹配和索引

我们聚举了两个例子,一个是根据json描述文件将一个路径中原始文件创建成为human_**数据集。

在这里插入图片描述

另外一个是使用用户提供的ML模型创建标签,并将它发布成为最新的注释版本。

。。。。。先忽略

3.3 存储层和数据布局设计

MLdp的设计得益于数据库系统中的许多关键知识。在本节中,我们将讨论MLdp的存储层设计,以满足以下支持ML生命周期的要求在数据管理阶段支持高速更新和在训练阶段支持高吞吐量读取的混合数据存储。一个可伸缩的物理数据布局,可以支持不断增长的数据量,并有效地记录和跟踪同一对象的不同版本之间的增量。分区索引,支持动态范围查询、点查询和高效的分布式训练按需流。

4 以后的工作

MILdp的启动是由使用以前可用的ML解决方案的经验教训所驱动的,这些经验教训导致了数据竖井。随着数据竖井带来的复杂性和限制开始成为ML项目的瓶颈,我们也需要构建一个与ML工作流集成的数据平台,并在生命周期的所有步骤中提供统一的数据抽象。到目前为止,我们已经讨论了MLdp的许多重要设计方面、设计目标以及它们背后的基本原理。然而,这个系统还远未完成。在本节中,我们将提出未来的工作,这些工作分为以下几个方面:数据可发现性、系统改进和生态系统集成。对于这三个领域中的每一个,我们都将强调以最大化ML团队的生产力为目标的战略特性。

4.1 发现新数据

4.2系统性能的提升

为了提高ML团队的生产力,系统改进的两个方面是:1)减少数据延迟和增加。2)减少人在循环中的时间。正如3.4节中所讨论的,MLdp的缓存服务提供了一个基本的基于对象的读缓存来减少数据距离。DSL的声明式编程范式将允许1)用户专注于他们的业务逻辑,而无需处理大规模数据处理的麻烦;2)并行数据处理的系统优化。

4.3生态系统集成

4.3生态系统集成正如第3.2节中所讨论的,许多框架都定义了自己的数据格式,如TensorFlow中的TFRecord和MXNet中的RecordIO等。将MLdp与主要的ML框架进行更深入的集成,以便用户应用程序在更高的APl级别上保持兼容性,这是一项正在进行的工作。目标是对用户应用程序进行最少的代码更改,以便数据迁移到MLdp是顺利的。有两个设计方面的考虑。首先要考虑的是将MLdp数据以MLdp自己的格式存储,并使用格式连接器将其转换为目标格式。TFRecord,在运行时。第二个需要考虑的是将MLdp数据存储为本机目标格式,即,TFRecord。在这种情况下,我们只需要一个轻量级的连接器,它直接将磁盘上的数据保存到内存中的TFRecords中。

5 总结

机器学习在过去十年中重新出现并蓬勃发展。它结合了所有四种科学范式——理论科学、实验科学、计算科学和数据密集型科学。[10]机器学习是对数学模型的研究,它利用计算的进步来学习大量数据中的模式,并重复这个实验,直到我们得到满意的结果。数据是第四范式的核心,它对收敛速度起着至关重要的作用。根据过去的经验,我们注意到现有的ML解决方案并没有将良好集成的数据系统提供到机器学习工作流中。简单存储系统或分布式文件系统被用作被动数据存储,导致数据竖井,使ML工作流中的每一步都暴露在物理数据依赖中。随后,创新的速度会受到相互交织的物理依赖的阻碍。此外,竖井为提供数据管理的整体解决方案设置了障碍。在本文中,我们提出了一个以ML数据生命周期管理和ML工作流集成为设计中心的专用ML数据平台。它的数据模型通过数据共享和版本控制实现协作,通过独立的数据演化实现创新,通过最低限度的模式需求实现灵活性。它的数据接口设计旨在提供无处不在的数据访问,包括易于发现、易于使用和互操作性。我们相信,具有这些属性的数据系统将为组织提供更快的ML创新。仍然有许多挑战需要解决,包括但不限于声明性ML数据语言、系统内部优化、ML框架集成等。最后,我们希望像MLdp这样的系统可以为进一步探索如何支持数据系统的机器学习需求提供一个基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值