AI驱动的实时决策系统,第四范式OpenMLDB数据库入选顶会VLDB

8 月 27 日 机器之心
AI驱动的实时决策系统,第四范式OpenMLDB数据库入选顶会VLDB

机器之心专栏

机器之心编辑部

第四范式与新加坡国立大学及英特尔的最新联合研究成果——基于持久内存优化的 AI 实时决策系统数据库 OpenMLDB(Open Source Machine Learning Database)被国际数据库顶级会议 VLDB 2021 录用。


VLDB (Very Large Data Base) 是数据库研究人员、厂商、应用开发者,以及用户广泛参与的年度国际会议,它与 SIGMOD、ICDE 被公认为数据管理与数据库领域的三大国际顶尖学术会议。

OpenMLDB(Open Source Machine Learning Database)是第四范式自研的开源机器学习数据库。此次被录用的论文由第四范式 AI 基础技术研发团队和新加坡国立大学及 Intel 合作发表,题为《Optimizing In-memory Database Engine For AI-powered On-line Decision Augmentation Using Persistent Memory》。

  • 论文全文链接:http://vldb.org/pvldb/vol14/p799-chen.pdf


论文相关的开源项目:


  • 机器学习数据库 OpenMLDB:https://github.com/4paradigm/openmldb

  • 持久化跳表数据结构 pskiplist:https://github.com/4paradigm/pskiplist

  • 整合了 pskiplist 的持久内存存储引擎:https://github.com/4paradigm/pmemstore


注:论文中的特征工程数据库 FEDB,目前已更名为机器学习数据库 OpenMLDB,并对外开源(https://github.com/4paradigm/OpenMLDB),下文将使用 OpenMLDB 作为描述名称。

人工智能驱动的实时决策系统

随着人工智能的蓬勃发展,越来越多的在线实时决策系统采用 AI 技术帮助决策。典型的应用包括实时信用卡反欺诈、个性化推荐等。一个典型的由 AI 驱动的实时决策系统包含两个子系统:线下训练和在线预估。如图 1 所示,我们把海量的历史数据放入左侧的线下训练系统中,这套系统会帮我们从历史数据中提取特征,并训练出超高维的 AI 模型。然后我们把训练好的模型部署到在线预估系统中。在线预估系统需要根据用户的实时行为(比如刷卡交易)提取出用户历史行为信息,并导入 AI 模型进行实时打分,从而进行预测。整个在线预估系统对实时性有很高的要求,一般延迟要求为毫秒级。本文主要关注在线预估系统的数据库存储引擎部分(图 1 中的 OpenMLDB)的性能优化,也是整个在线预估链路中的性能瓶颈。

图 1. 典型的由 AI 驱动的在线实时决策系统架构

特征和特征抽取
 

图 2. 信用卡反欺诈特征样例

如图 2 所示,我们以信用卡反欺诈应用为例。当刷卡行为产生时,POS 机会产生一条记录。单从这条记录是无法准确判断本次刷卡是一次正常的刷卡还是一次盗刷。在人工智能系统中,除了利用这条新的刷卡记录外,我们还需要根据新记录提取背后隐藏的信息用来做模型训练。所有这些信息一起就是我们的特征,而这个特征抽取的过程就是特征工程。

如图 2 所示,通过 Card ID, 我们可以通过查询特征数据库了解这张卡的信息和与之关联的账户信息。还可以通过基于时间窗口的计算,进一步了解这张卡的最近 10 秒、1 分钟、5 分钟、10 分钟的信用卡消费总额最多的三个店铺等信息。这些特征需要从用户近期的历史数据中实时抽取。一般来说,特征抽取数量越多,模型预测约准确。

特征抽取是一个昂贵的操作。首先特征抽取涉及多个数据库查询操作。以反欺诈为例,一个用户的一次刷卡行为,会触发上千次的数据库查询请求。与此同时,这些特征中很多的实时特征,比如计算最近一条刷卡记录和最新刷卡记录的金额差,必须等新的用户刷卡数据产生并传输到后端系统后才能开始抽取,无法进行数据预计算。与此同时,大部分的实时特征都会涉及在不同维度进行大量的时间窗口查询。这些特征抽取的工作负载特点和传统的 OLTP、OLAP 或 HTAP 负载有很多不同。

我们选取了两种目前最先进的主流商用内存数据库(DB-X 和 DB-Y),使用典型的实时特征抽取负载进行性能测试。如图 3 所示,随着时间窗口数的增加,DB-X 和 DB-Y 的查询延迟显著上升,且当窗口数大于 4 之后,两种数据库的查询性能均已经超过 100 毫秒,完全无法满足我们的性能需求。而且在真实业务场景下,时间窗口数远远大于 4。基于以上结果,需要我们设计一个新的专门针对人工智能特征抽取的数据库引擎。

图 3. 主流商用数据库在实时特征提取负载上的性能表现

针对人工智能负载优化的机器学习数据库

为了能高效的抽取实时特征,我们设计了机器学习数据库。如图 4 所示, OpenMLDB 包括
 

图 4. 机器学习数据库 OpenMLDB 架构图

特征抽取执行引擎(FEQL)和存储引擎两部分。FEQL 使用 llvm 对查询语句进行编译优化,并对多窗口类型的查询进行了优化处理,从而使特征抽取的语句解析执行效率大大增加。FEQL 除了支持类似 SQL 的语法,还针对特征抽取操作定义了特别的语法。

如图 5 所示,FEQL 允许在同条 SQL 语句中定义多个时间窗口,在语法解析和优化的过程中,FEQL 可以最大程度的复用不同窗口内提取的结果。比如当我们需要提取 10 秒、1 分钟、5 分钟、30 分钟、1 小时、5 小时内用户在各个时间段消费的总额度,我们可以在一个 FEQL 中定义 6 个时间窗口,执行器在运行 FEQL 的时候,可以只取最大窗口(5 小时)的全部数据再分别处理,而不是重复的提取 5 个窗口的数据,从而大大提升特征提取操作中多窗口 TopN 操作的效率。

图 5. OpenMLDB 进行多窗口特征抽取的例子

在存储引擎部分,如图 6 所示,OpenMLDB 采用了两层的内存跳表数据结构。在第一层跳表中存储了特征的主键,而在第二层中存储了主键对应的各个时间窗口。当我们在查询某个主键下多个时间窗口范围内的数据,只需要先在第一层跳表中定位到对应的主键,再继续在第二层中查询时间窗口即可。
 

图 6. OpenMLDB 存储引擎的两层跳表结构

图 7. DRAM 版本 OpenMLDB 和主流数据库的性能对比

如图 7 所示,图中 D-FEDB(即 D-OpenMLDB)表示 DRAM 版本的 OpenMLDB。我们在 DRAM 版本 OpenMLDB、商用内存数据库 DB-X 和 DB-Y 上变换时间窗口个数和特征主键数目,并运行典型的特征抽取查询对比性能。如图所示,DRAM 版本的 OpenMLDB 的性能远远高于传统商业数据库,最高可达 84x 的性能提升。 

基于持久内存优化的 OpenMLDB

DRAM 内存版本 OpenMLDB 可以很好的满足特征抽取实时性的要求,但在实际的部署过程中,我们仍然发现以下痛点。

1.内存消耗巨大,硬件成本高

为了保证线上服务性能,OpenMLDB 的索引和数据均存放在内存中。以信用卡反欺诈场景为例,我们的测试数据存储了最近 3 个月的 10 亿条刷卡记录信息用来做特征抽取。这部分数据已经占用了超过 3 TB 的内存空间。当我们考虑多副本的情况,数据规模超过 10 TB 。而当我们需要更多的历史数据做特征抽取(比如一年甚至三年),其需要的硬件成本是十分高昂的。

2.恢复时间

OpenMLDB 作为实时在线决策系统数据库,当节点离线时(比如系统故障或者例行维护),OpenMLDB 需要把海量数据从磁盘读入内存,再重构内存数据结构。整个过程需要耗费若干个小时,会严重影响线上服务质量。

3.长尾延时

传统的内存数据库为了保证数据的一致性,都会周期性的通过日志或者快照把数据从易失性的 DRAM 内存写到低速的磁盘或闪存中。当系统负载高时,这种同步操作很容易造成一部分上层查询产生超长的延时,我们称之为长尾延时。

我们引入持久内存为解决以上痛点提供新思路。持久内存具有低成本、大容量、数据持久化的特性。低成本大容量的内存特性有助于解决 OpenMLDB 高硬件成本的问题。数据持久化则带来了两个好处:1) 大幅缩短节点离线以后的恢复时间,保障线上服务质量;2) 由于内存数据持久化特性,因此数据库不再需要通过低速磁盘设备做日志和快照的持久化工作,因此可以有效解决长尾延迟的问题。

持久内存有两种工作模式:Memory Mode 和 App Direct Mode。在 Memory Mode 下,持久内存会被当做内存的一部分对用户透明。该模式的好处是用户程序无需修改即可使用大内存容量,但是无法使用持久化特性以及做精细化的优化。在 App Direct Mode 下,持久内存会以独立块设备的形式被系统感知。程序员通过英特尔提供的 PMDK 库来编程使用。此种模式下,应用可以享受大容量特性的同时,还可以利用内存数据持久化的特性。
 

图 8. 使用不同内存模式的 OpenMLDB

如图 8 所示,最左边的版本是原始的基于 DRAM 内存的 OpenMLDB,其查询数据的过程都在 DRAM 内存中完成,但是会通过写入外存(SSD/HDD)上的日志和快照进行持久化。如果使用 Memory Mode(图 8 中间图),则使用大容量的持久内存直接替换 DRAM 内存,但是无法受益于数据持久化特性。因此,如图 8 右图,我们用 App Direct Mode 重构了 OpenMLDB 下层的存储引擎,用 PMDK 实现了基于持久内存的双层链表结构,移除了传统的日志和快照机制。

开发基于持久内存的存储引擎的主要挑战是保证数据持久化的正确性和高效性。OpenMLDB 的底层数据结构双层链表运行在多线程环境中,存在大量的多线程并发读写操作,为了更高效率的并发读写,在 DRAM 环境下通常会使用 Compare-and-swap(CAS)技术。CAS 是一种通过硬件实现并发安全的常用技术,底层通过利用 CPU 的 CAS 指令对缓存或总线加锁来实现多处理器之间的原子操作。但是当我们应用 CAS 到持久内存上时,会带来数据一致性的问题。
 

图 9. Compare-and-swap (CAS) 操作在持久内存上的一致性问题

如图 9 所示,一个典型的场景是当一条新的信用卡刷卡记录 T1 在 Thread 1 上通过 CAS 插入 OpenMLDB,紧接着另外一个线程 Thread 2 基于新的记录 T1 抽取特征 F1。由于 CAS 和 CPU 的 flush 指令相互独立,传统的基于 DRAM 的 CAS 并没有持久化语义,如果系统按照图 9 的顺序持久化 F1 和 T1(即图 9 中的 flush 指令),而在两个 flush 命令中间掉电,重启之后在系统上新的信用卡记录 T1 会丢失,但基于 T1 计算出的特征 F1 却存在,这在一致性上显然是不正确的。

为了解决持久内存上数据一致性的问题,我们提出了 Persistent-Compare-And-Swap(PCAS)技术。首先我们使用 flush-on-read 的规则解决正确性问题。当每次读取一个内存数据时,我们先进行 flush 以保证读取的数据是持久化过的。但是过多的持久化 flush 操作会带来额外的性能损耗,特别是无必要的持续的 flush 那些本来没有修改过的 「干净」数据。为了高效的判断数据是否「干净」,我们使用了一种特殊的指针,称为智能指针。在 x86 下 64 位 CPU 中支持 8 字节 CAS 原子操作的内存地址是必须保证 8 字节对齐的,由于内存访问的基本单元是一个字节,8 字节对齐意味着 CAS 地址的低 3 位始终为 0。如图 10 所示,智能指针巧妙的利用了使用 CAS 时内存地址始终为 0 的低 3 位来标记数据是否为 dirty。有了智能指针,我们只需要在每次修改数据后,对未 flush 的数据的指针标记 dirty 位。然后在后续的读取时,只有当 dirty 位被标记,则执行 flush 指令进行持久化,从而避免了不必要的持久化开销。
 

图 10. 持久化 CAS(PCAS)和智能指针

如图 11 所示,我们利用 PCAS 技术对持久内存跳表的指针做了优化。为了进一步减少在持久内存上写的量,我们只把跳表最后一层和数据放在持久内存上。为此,我们也设计了一套新的重构流程,以保证在掉电后系统可以根据最后一层跳表信息重构出整个跳表。我们也在实验中会考察不同层级的持久化策略带来的性能影响。

图 11. 基于智能指针的持久化跳表结构

图 12. 实验所用的数据库缩写和系统配置

持久内存优化实验和结论

我们使用一个真实的反欺诈应用数据进行测试,该数据包含了 3 个月的 10 亿条刷卡记录信息,实际部署中大概需要 10 TB 的内存空间。我们对比了 DRAM 版本的 OpenMLDB 以及各种持久内存版本的 OpenMLDB 变种,图 12 给出了测试中各种数据库系统的配置。该实验得出以下结论。

1.长尾延迟 TP-9999 比较(图 13):基于持久内存进行持久化数据结构设计的 OpenMLDB 舍弃了原有纯内存方案的基于外存储设备的持久化机制,实现了长尾延迟(TP-9999)接近 20% 的改善。

图 13. OpenMLDB 基于 DRAM 和持久内存的性能比较

2.数据恢复时间比较(图 14):在服务中断情况下实现数据快速恢复,服务恢复时间减少 99.7%,全面降低对线上服务质量的影响,在测试场景中,其数据恢复时间从原来的六个小时缩短至一分钟左右。

图 14. OpenMLDB 基于 DRAM 和持久内存的恢复时间比较

3.硬件成本比较(图 15):我们对比了 10 TB 信用卡反欺诈业务部署在不同集群上的对比,显示了在论文实验中使用的机器配置,在 10 TB 数据的业务场景中,基于持久内存的 OpenMLDB 的硬件成本仅为基于纯内存版本的 41.6%。

图 15. OpenMLDB 基于 DRAM 和持久内存的硬件成本比较

总结

本文分析了目前人工智能驱动的实时决策系统面临的挑战以及解决方案,着重描述了:

  1. 总结了 AI 驱动的实时决策系统的架构和负载,我们发现现有的商用内存数据库并不能满足这类应用高实时性的要求。

  2. 设计了针对人工智能在线实时决策系统的机器学习数据库 OpenMLDB,在执行引擎和存储引擎上进行了针对性的优化以满足实时决策的性能需求。

  3. 为了解决在线预估系统内存消耗大、离线后恢复慢、长尾延迟的痛点,我们基于持久内存重新设计了 OpenMLDB 的存储引擎,并且提出了持久化 CAS (PCAS) 和智能指针的技术。

  4. 实验显示,相比较于基于 DRAM 的 OpenMLDB,基于持久内存的 OpenMLDB 可以减少 19.7% 的长尾时延,缩短 99.7% 的恢复时间,与此同时,降低 58.4% 的成本。


数据智能技术实践论坛——从数据到知识的「智变」


8月27日15:00-17:00,百分点科技与机器之心联合举办 「数据智能技术实践论坛」全程线上直播,四位业界专家与学者详细解读多模态数据融合治理、计算机视觉、基于知识图谱的认知智能、知识图谱构建等领域的技术进展和实践心得。
  • 演讲一:融合创新——计算机视觉技术与产业化发展之道

  • 演讲二:从「治」理到「智」理,多模态数据管理PAI应用方法论

  • 演讲三:从知识图谱到认知智能

  • 演讲四:知识图谱技术及行业应用实践

直播设有QA环节,欢迎加群交流答疑。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

VLDB是面向数据管理和数据库研究人员、供应商、从业人员、应用程序开发人员等用户的重要国际年度论坛。VLDB 2019会议将以研究报告,教程,演示和研讨会为特色。由于它们是21世纪新兴应用程序的技术基石,因此它将涵盖数据管理,数据库和信息系统研究中的问题。 官网地址:http://dblp.uni-trier.de/db/conf/vldb/

SIGMOD2021数据库顶会今年来到西安。最新组委会公布了一系列最佳论文。其中来自MIT和TU Darmstadt获得数据管理最佳论文,来自Graz University of Technology的学者获得数据科学最佳论文,苹果获得工业界最佳论文。

ACM SIGMOD会议将于2021年6月20—25日在陕西西安举行。本次会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起的国际性学术会议,位列于数据管理方向的三大顶级会议之首,旨在全球范围内为数据管理领域的研究者、开发者以及用户提供一个探索最新学术思想和研究方法、交流开发技巧、工具以及经验的平台,引导和进一步促进数据库学科的发展。

数据管理:最佳论文

Bao: Making Learned Query Optimization Practical. Ryan Marcus (MIT & Intel Labs), Parimarjan (MIT), Hongzi Mao (MIT), Nesime Tatbul (MIT & Intel Labs), Mohammad Alizadeh (MIT), Tim Kraska (MIT)

地址:

https://www.zhuanzhi.ai/paper/ea63feec9528078e87d807bd9d41b72c

最近将机器学习技术应用于查询优化的努力由于大量的训练开销、无法适应变化和糟糕的尾部性能而没有显示出多少实际收益。基于这些困难,我们引入了Bao (Bandit优化器)。Bao通过提供每个查询优化提示,利用了现有查询优化器中内置的智慧。Bao结合了现代树卷积神经网络和Thompson 抽样,一种被广泛研究的强化学习算法。因此,Bao会自动从错误中学习,并适应查询工作负载、数据和模式的变化。通过实验,我们证明了Bao可以快速学习提高端到端查询执行性能的策略,包括针对几个包含长时间运行查询的工作负载的尾部延迟。在云环境中,我们证明了与商业系统相比,Bao可以提供更低的成本和更好的性能。

  1. DFI - The Data Flow Interface for High-Speed Networks. Lasse Thostrup (TU Darmstadt), Jan Skrzypczak (Zuse Institute), Matthias Jasny (TU Darmstadt), Tobias Ziegler (TU Darmstadt), Carsten Binnig (TU Darmstadt)

在本文中,我们提出数据流接口(DFI)作为一种方法,使数据处理系统更容易利用高速网络,而无需处理RDMA的复杂性。通过提高抽象级别,DFI消除了网络通信的复杂性,使开发人员更容易声明地表示应该如何有效地路由数据以完成给定的分布式数据处理任务。正如我们在实验中所显示的,DFI能够支持各种以数据为中心的应用,这些应用程序具有高性能和低复杂性。

数据科学:最佳论文

切片发现(Slice finding)——最近一项关于调试机器学习(ML)模型的工作——旨在找到top-K数据切片,其中训练模型的表现明显比整个训练/测试数据差。这些切片可用于获取问题子集的更多数据、添加规则或以其他方式改进模型。与决策树相比,一般的切片查找问题允许重叠的切片。结果搜索空间是巨大的,因为它涵盖了特征的所有子集及其不同的值。因此,现有的工作主要依赖于启发式,并专注于适合单个节点内存的小数据集。在本文中,我们从算法和系统的角度从整体上解决了切片查找的这些可扩展性限制。我们利用切片大小、错误和结果分数的单调性来促进有效的剪枝。此外,我们提出了一个优雅的基于线性代数的枚举算法,它允许在现有的ML系统上快速枚举和自动并行化。对不同的真实世界回归和分类数据集的实验表明,有效的剪枝和高效的稀疏线性代数使精确枚举成为可能,甚至对于具有许多特征、相关性和超出单节点内存的数据集。

https://dl.acm.org/doi/10.1145/3448016.3457323

工业界:最佳论文

FoundationDB是一个十多年前创建的开源事务性键值存储。它是第一个将NoSQL架构的灵活性和可伸缩性与ACID事务(又名NewSQL)的强大功能结合起来的系统。FoundationDB采用了一种解耦的架构,将内存中的事务管理系统、分布式存储系统和内置的分布式配置系统解耦。可以独立地配置和配置每个子系统,以实现所需的可伸缩性、高可用性和容错特性。FoundationDB独特地集成了一个确定性仿真框架,用于在无数可能的故障下测试系统的每个新特性。这种严格的测试使FoundationDB极其稳定,并允许开发人员快速引入和发布新特性。FoundationDB提供了一个最小的、精心选择的特性集,它使得一系列不同的系统(从半关系数据库、文档和对象存储,到图形数据库等等)被构建为顶层。FoundationDB是苹果、Snowflake和其他公司云基础设施的基础,因为它在存储用户数据、系统元数据和配置以及其他关键信息方面具有一致性、健壮性和可用性。

https://dl.acm.org/doi/10.1145/3448016.3457559

数据管理:最佳论文提名

成为VIP会员查看完整内容
0
12

大数据时代下,面对不断膨胀的数据信息、复杂多样的应用场景、异构的硬件架构和参差不齐的用户使用水平,传统数据库技术很难适应这些新的场景和变化. 机器学习技术因其较强的学习能力,逐渐在数据库领域展现出了潜力和应用前景. 论文首先给出一个高效、高可靠、高可用、自适应性强的数据库系统需要涵盖的方面,包括数据库运维、数据存储、查询优化等.其次,讨论机器学习算法与数据库技术结合过程中可能面临的挑战,包括训练数据少、训练时间长、泛化能力有限、适应性差四个方面.然后,综述数据库技术与机器学习结合的现状以及具体技术.其中,重点介绍数据库自动调参、查询基数估计、查询计划选择、索引和视图自动选择五个方向.自动调参技术包括启发式算法、传统机器学习、深度强化学习三类.启发式算法从离散的参数空间中通过抽样探索最优子空间,可以有效提高调参效率,但是难以保证在有效资源限制内找到合适配置;传统机器学习算法在经过降维的参数空间中学习系统状态到指定负载模板的映射关系,一定程度上提升模型的适应性;深度强化学习在高维参数空间中迭代的学习调优策略,并利用神经网络提升对高维数据的处理能力,有效降低训练数据的需求.查询基数估计包括面向查询和面向执行计划两类.面向查询方法利用卷积神经网络学习表数据、查询条件、连接条件之间的关系,然而在不同场景下需要大量训练而且泛化能力差;面向执行计划方法在物理算子层面做级联的代价估计,一定程度上提高对不同查询的适应能力.查询计划选择包括深度学习和强化学习两类.深度学习方法融合数据库估计器的代价值和数据特征,提高对每种计划代价估计的精度,但是结果严重依赖估计器的表现;强化学习基于最终目标迭代生成查询计划,降低方法对查询代价的依赖性.自动索引推荐包括分类器、强化学习、遗传算法三类.分类算法根据离散的表特征分析不同索引的创建开销和效率,通过结合遗传算法,提高对复合索引的推荐效率;强化学习进一步提供增量式索引推荐的效率,实现在线索引选择.自动视图选择包括启发式算法、概率统计、强化学习三类.启发式算法通过在视图构建的有向无环图上做贪心探索,提高选择效率,然而适应性差;基于概率统计的算法将视图选择形式化成一个0-1选择问题,有效降低图的探索开销;强化学习方法将视图的创建和删除统一成动态选择过程,基于强化学习的训练策略进一步提高选择效率.最后,从八个方面展望机器学习将给数据库带来的革命性突破。

成为VIP会员查看完整内容
0
33

随着科技的不断进步发展,智能对话系统因其巨大的潜力和商业价值将会成为下一代人机交互的风口,不少公司都纷纷开始研究人机对话系统,希望人与机器之间能够通过自然对话进行交互。笔者所在的达摩院 Conversational AI团队(即云小蜜团队),早在三年前就研发打造了面向开发者的智能对话开发平台 Dialog Studio,并将我们的技术通过阿里云智能客服的产品矩阵,赋能各行各业和政府机构进行智能服务的全方位升级。目前Dialog Studio平台已经在阿里云智能客服(政务12345热线、中移动10086、金融、医疗等)、钉钉(通过钉钉官方智能工作助理服务几百万企业)、集团内(淘宝优酷等十几个BU)、淘宝天猫商家以及Lazada东南亚6国得到了大规模应用。

成为VIP会员查看完整内容
0
19

特定领域的知识库(KB)从各种数据源精心整理而来,为专业人员提供了宝贵的参阅咨询。由于自然语言理解和人工智能的最新进展,会话系统使这些KBs很容易被专业人员访问,并且越来越受欢迎。尽管在开放域应用程序中越来越多地使用各种会话系统,但特定于域的会话系统的需求是完全不同的,而且具有挑战性。在本文中,我们针对特定领域的KBs提出了一个基于本体的对话系统。特别是,我们利用领域本体中固有的领域知识来识别用户意图,并利用相应的实体来引导对话空间。我们结合了来自领域专家的反馈来进一步细化这些模式,并使用它们为会话模型生成训练样本,减轻了会话设计人员的沉重负担。我们已经将我们的创新集成到一个对话代理中,该代理关注医疗保健,这是IBM Micromedex产品的一个特性。

https://dl.acm.org/doi/abs/10.1145/3318464.3386139

成为VIP会员查看完整内容
0
23

【导读】分布式机器学习Distributed Machine Learning是学术界和工业界关注的焦点。最近来自荷兰的几位研究人员撰写了关于分布式机器学习的综述,共33页pdf和172篇文献,概述了分布式机器学习相对于传统(集中式)机器学习的挑战和机遇,讨论了用于分布式机器学习的技术,并对可用的系统进行了概述,从而全面概述了该领域的最新进展

​论文地址: https://www.zhuanzhi.ai/paper/161029da3ed8b6027a1199c026df7d07

摘要 在过去的十年里,对人工智能的需求显著增长,而机器学习技术的进步和利用硬件加速的能力推动了这种增长。然而,为了提高预测的质量并使机器学习解决方案在更复杂的应用中可行,需要大量的训练数据。虽然小的机器学习模型可以用少量的数据进行训练,但训练大模型(如神经网络)的输入随着参数的数量呈指数增长。由于处理训练数据的需求已经超过了计算机器计算能力的增长,因此需要将机器学习的工作负载分布到多台机器上,并将集中式的学习任务转换为分布式系统。这些分布式系统提出了新的挑战,首先是训练过程的有效并行化和一致模型的创建。本文概述了分布式机器学习相对于传统(集中式)机器学习的挑战和机遇,讨论了用于分布式机器学习的技术,并对可用的系统进行了概述,从而全面概述了该领域的最新进展。

1. 引言

近年来,新技术的快速发展导致了数据采集的空前增长。机器学习(ML)算法正越来越多地用于分析数据集和构建决策系统,因为问题的复杂性,算法解决方案是不可行的。例如控制自动驾驶汽车[23],识别语音[8],或者预测消费者行为[82]。

在某些情况下,训练模型的长时间运行会引导解决方案设计者使用分布式系统来增加并行性和I/O带宽总量,因为复杂应用程序所需的训练数据很容易达到tb级的[29]。在其他情况下,当数据本身就是分布式的,或者数据太大而不能存储在一台机器上时,集中式解决方案甚至都不是一个选项。例如,大型企业对存储在不同位置的[19]的数据进行事务处理,或者对大到无法移动和集中的天文数据进行事务处理[125]。

为了使这些类型的数据集可作为机器学习问题的训练数据,必须选择和实现能够并行计算、数据分布和故障恢复能力的算法。在这一领域进行了丰富多样的研究生态系统,我们将在本文中对其进行分类和讨论。与之前关于分布式机器学习([120][124])或相关领域的调查([153][87][122][171][144])相比,我们对该问题应用了一个整体的观点,并从分布式系统的角度讨论了最先进的机器学习的实践方面。

第2节深入讨论了机器学习的系统挑战,以及如何采用高性能计算(HPC)的思想来加速和提高可扩展性。第3节描述了分布式机器学习的参考体系结构,涵盖了从算法到网络通信模式的整个堆栈,这些模式可用于在各个节点之间交换状态。第4节介绍了最广泛使用的系统和库的生态系统及其底层设计。最后,第5节讨论了分布式机器学习的主要挑战

2. 机器学习——高性能计算的挑战?

近年来,机器学习技术在越来越复杂的应用中得到了广泛应用。虽然出现了各种相互竞争的方法和算法,但所使用的数据表示在结构上惊人地相似。机器学习工作负载中的大多数计算都是关于向量、矩阵或张量的基本转换——这是线性代数中众所周知的问题。优化这些操作的需求是高性能计算社区数十年来一个非常活跃的研究领域。因此,一些来自HPC社区的技术和库(如BLAS[89]或MPI[62])已经被机器学习社区成功地采用并集成到系统中。与此同时,HPC社区已经发现机器学习是一种新兴的高价值工作负载,并开始将HPC方法应用于它们。Coates等人,[38]能够在短短三天内,在他们的商用现货高性能计算(COTS HPC)系统上训练出一个10亿个参数网络。You等人[166]在Intel的Knights Landing(一种为高性能计算应用而设计的芯片)上优化了神经网络的训练。Kurth等人[84]证明了像提取天气模式这样的深度学习问题如何在大型并行高性能计算系统上进行优化和快速扩展。Yan等人[163]利用借鉴于HPC的轻量级概要分析等技术对工作负载需求进行建模,解决了在云计算基础设施上调度深度神经网络应用程序的挑战。Li等人[91]研究了深度神经网络在加速器上运行时对硬件错误的弹性特性,加速器通常部署在主要的高性能计算系统中。

与其他大规模计算挑战一样,加速工作负载有两种基本的、互补的方法:向单个机器添加更多资源(垂直扩展或向上扩展)和向系统添加更多节点(水平扩展或向外扩展)。

3. 一个分布式机器学习的参考架构

avatar

图1 机器学习的概述。在训练阶段,利用训练数据和调整超参数对ML模型进行优化。然后利用训练后的模型对输入系统的新数据进行预测。

avatar

图2 分布式机器学习中的并行性。数据并行性在di上训练同一个模型的多个实例!模型并行性将单个模型的并行路径分布到多个节点。

机器学习算法

机器学习算法学习根据数据做出决策或预测。我们根据以下三个特征对当前的ML算法进行了分类:

反馈、在学习过程中给算法的反馈类型

目的、期望的算法最终结果

方法、给出反馈时模型演化的本质

反馈 训练算法需要反馈,这样才能逐步提高模型的质量。反馈有几种不同类型[165]:

包括 监督学习、无监督学习、半监督学习与强化学习

目的 机器学习算法可用于各种各样的目的,如对图像进行分类或预测事件的概率。它们通常用于以下任务[85]: 异常检测、分类、聚类、降维、表示学习、回归

每一个有效的ML算法都需要一种方法来迫使算法根据新的输入数据进行改进,从而提高其准确性。通过算法的学习方式,我们识别出了不同的ML方法组: 演化算法、随机梯度下降、支持向量机、感知器、神经网络、规则机器学习、主题模型、矩阵分解。

avatar

图3所示:基于分布程度的分布式机器学习拓扑

4. 分布式机器学习生态系统

avatar

图4所示。分布式机器学习生态系统。通用分布式框架和单机ML系统和库都在向分布式机器学习靠拢。云是ML的一种新的交付模型。

5 结论和当前的挑战

分布式机器学习是一个蓬勃发展的生态系统,它在体系结构、算法、性能和效率方面都有各种各样的解决方案。为了使分布式机器学习在第一时间成为可行的,必须克服一些基本的挑战,例如,建立一种机制,使数据处理并行化,同时将结果组合成一个单一的一致模型。现在有工业级系统,针对日益增长的欲望与机器学习解决更复杂的问题,分布式机器学习越来越普遍和单机解决方案例外,类似于数据处理一般发展在过去的十年。然而,对于分布式机器学习的长期成功来说,仍然存在许多挑战:性能、容错、隐私、可移植性等。

成为VIP会员查看完整内容
A Survey on Distributed Machine Learning.pdf
0
76

题目: Machine Learning Meets Big Spatial Data

简介: 生成数据量的激增推动了可伸缩的机器学习解决方案的兴起,从而可以有效地分析此类数据并从中提取有用的见解。同时,近年来,空间数据已经变得无处不在,例如GPS数据。大空间数据的应用涉及广泛的领域,包括跟踪传染病,模拟气候变化,吸毒成瘾等等。因此,通过提供对现有机器学习解决方案的空间扩展或从头开始构建新的解决方案,人们付出了巨大的努力来支持这些应用程序内部的有效分析和智能。在这个90分钟的教程中,我们全面回顾了机器学习和大空间数据交汇处的最新技术。我们涵盖了机器学习三个主要领域中的现有研究工作和挑战,即数据分析,深度学习和统计推断,以及两个高级空间机器学习任务,即空间特征提取和空间采样。我们还强调了该领域未来研究中存在的开放性问题和挑战。

嘉宾介绍: Ibrahim Sabek是明尼苏达大学计算机科学与工程系的博士候选人。 他获得了理学硕士学位。 他于2017年在同一部门获得博士学位。他的研究兴趣在于大空间数据管理,空间计算和可伸缩机器学习系统之间的交叉领域。 易卜拉欣已获得ACM SIGSPATIAL 2018最佳论文奖的提名,并获得了ACM SIGMOD学生研究竞赛(SRC)2017决赛阶段的资格。在博士期间,他与NEC Labs America和Microsoft Research(MSR)合作 )。 易卜拉欣在ACM TSAS,IEEE ICDE,ACM SIGSPATIAL,IEEE TMC等顶级研究机构发表了许多论文,并在VLDB和ACM SIGMOD上展示了他的工作。

Mohamed F.Mokbel是卡塔尔计算研究所的首席科学家,也是明尼苏达大学的教授。 他目前的研究兴趣集中于大空间数据和应用程序的系统和机器学习技术。 他的研究工作已获得VLDB十年最佳论文奖,四个会议最佳论文奖和NSF职业奖。 除了在其他社区的一线场所(包括IEEE ICDM和ACM CCS)的教程之外,穆罕默德还在VLDB / SIGMOD / ICDE / EDBT会议上提供了六篇教程。 这些教程都不会与本教程建议重叠。 穆罕默德(Mohamed)是ACM SIGPATIAL的当选主席,目前是分布式和并行数据库期刊的主编,并且是ACM Books,ACM TODS,VLDB Journal,ACM TSAS和GoeInformatica期刊的编辑委员会成员。

成为VIP会员查看完整内容
0
23
小贴士
相关论文
Barbara Schütt,Markus Steimle,Birte Kramer,Danny Behnecke,Eric Sax
0+阅读 · 11月25日
Davood Mazinanian,Mohammad Bajammal,Ali Mesbah
0+阅读 · 11月23日
Tsun-Hsuan Wang,Alexander Amini,Wilko Schwarting,Igor Gilitschenski,Sertac Karaman,Daniela Rus
0+阅读 · 11月23日
Zechen Bai,Zhigang Wang,Jian Wang,Di Hu,Errui Ding
10+阅读 · 4月27日
Meta-Transfer Learning for Zero-Shot Super-Resolution
Jae Woong Soh,Sunwoo Cho,Nam Ik Cho
34+阅读 · 2020年2月27日
Credibility-based Fake News Detection
Niraj Sitaula,Chilukuri K. Mohan,Jennifer Grygiel,Xinyi Zhou,Reza Zafarani
3+阅读 · 2019年11月2日
A Meta-Learning Framework for Generalized Zero-Shot Learning
Vinay Kumar Verma,Dhanajit Brahma,Piyush Rai
3+阅读 · 2019年9月10日
Hao Fang,Hao Cheng,Maarten Sap,Elizabeth Clark,Ari Holtzman,Yejin Choi,Noah A. Smith,Mari Ostendorf
5+阅读 · 2018年4月26日
Xiangyu Zhao,Liang Zhang,Zhuoye Ding,Dawei Yin,Yihong Zhao,Jiliang Tang
12+阅读 · 2018年1月5日
Ying Zeng,Yansong Feng,Rong Ma,Zheng Wang,Rui Yan,Chongde Shi,Dongyan Zhao
7+阅读 · 2017年12月11日
Top