结合Apache Ignite探索机器学习

简介: Apache Ignite新版本发布,支持机器学习和深度学习!

此前的文章中,我们讨论过Apache Ignite机器学习网格。当时仅有测试版。在随后的版本2.4中,机器学习得以运用。新版本对部分内容进行了更新,支持基于分区的数据集以及遗传算法。Apache Ignite提供了多种可独立运行的机器学习示例,将入门学习变得简易。在本系列的后续文章里,我们将利用Ignite支持的机器学习算法对部分开源数据集进行分析。

简介

我们将在本部分对机器学习网格进行简单的回顾,图1展示了机器学习网格的结构。

figure1

图1:机器学习网格

首先,Apache Ignite所呈现的机器学习能力相当实用,可在Ignite内直接构建预测模型。基于此,用户在不采取高代价ETL(Extract-Transform-Load)过程或数据传输的情况下,获取高规模高性能的预测模型。

在Ignite出现之前,机器学习模型得训练和部署在不同的系统上。例如,用户需要将数据移出Ignite,接着使用其它工具对数据进行训练,这样模型才能部署到不同的系统中。此方法存在如下缺点:

  • 需要一个花费昂贵的ETL 进程,特别是针对大型数据集。
  • 在进行ETL时会对数据进行快照。之后,实时系统中的数据也许会发生改变,所以需要将已训练的数据存放至训练集中。

其次,现今多数系统需处理大量的数据,这些数据通常会超过单个服务器容量。分布式计算很好的解决了这个问题,但一些平台并非为数据存储和操作而设计,它们仅适合训练。所以,研发人员需要考虑如何在生产环境中解决由部署所引发的复杂问题。

Ignite所呈现的机器学习能力致力于解决如下问题:

  • 结合Ignite处理数据,能避免因不同系统之间转换而导致的ETL昂贵问题。
  • Ignite能够提供分布式计算,实现对数据的存储及操作。
  • Ignite更新了部分机器学习算法,此举对分布式计算进行了优化,并且可充分利用Ignite进行并置处理。
  • Ignite能作为流式数据的接收器,允许机器学习实时应用。

机器学习通常是一个迭代过程,上下文可能会在算法运行时发生改变。因此,为了避免工作损失和延迟,Ignite支持了基于分区的数据集,使其能够应对节点故障问题。

基于分区的数据集

Apache Ignite目前能够支持基于分区的数据集。这是一个位于机器学习算法和存储计算之间的抽象层。它使用类似于MapReduce的操作进行计算。
在Ignite中,对键值对(K-V)使用散列算法,以确定值存在集群中。实际上,值是部分存储的。在图2中,我们可以看到两个节点集群,它们分别对应两个分区(P1和P2)。

figure2

图2:基于分区的数据集


机器学习算法通常采用迭代的方式,并且需要上下文以及数据。此部分体现于图2中的C和D。

如果某个节点失效,Ignite可重新进行分区并找到上下文,如图3所示。例如,节点2中有分区1的备份数据(图中灰色部分),若节点1失效,我们则可用节点2中的数据覆盖节点1。数据可从集群或者本地ETL(用D*标示)中恢复。

figure3

图3:节点2中分区1的备份数据

算法及应用

接着,我们将会简述Ignite所支持的机器学习算法

_2

表1:机器学习算法


机器学习库中包含多种遗传算法,此部分在另一篇博文中进行了探讨。

总结

最新版本的Apache Ignite有着许多重要的特性。基于分区的数据集在节点失效的情况下,通过保存上下文使得机器学习算法正常运行。机器学习算法支持海量用例。遗传算法的加入也为处理复杂数据提供了新的机会。

数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

以上为译文

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Introduction to Machine Learning with Apache Ignitet》,作者:Akmal Chaudhri ,译者:Elaine,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

相关文章
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
143 0
|
存储 缓存 监控
Java一分钟之-Apache Ignite:分布式内存计算平台
【5月更文挑战第21天】Apache Ignite是一款开源的分布式内存计算平台,涉及内存数据网格、流处理和计算服务。本文关注其常见问题,如数据丢失、分区不均、内存管理和网络延迟。为保证数据一致性,建议使用适当的數據模式和备份策略,实现数据持久化。优化内存配置和监控网络可提升性能与稳定性。提供的Java代码示例展示了如何创建分区缓存并设置备份。正确配置和管理Ignite是构建高可用、高性能应用的关键,持续监控集群状态至关重要。
426 0
|
存储 机器学习/深度学习 Apache
Apache Hudi与机器学习特征存储
Apache Hudi与机器学习特征存储
166 0
|
存储 机器学习/深度学习 分布式计算
Apache Hudi在Hopsworks机器学习的应用
Apache Hudi在Hopsworks机器学习的应用
220 0
|
机器学习/深度学习 存储 分布式计算
Hadoop生态系统中的机器学习与数据挖掘技术:Apache Mahout和Apache Spark MLlib的应用
Hadoop生态系统中的机器学习与数据挖掘技术:Apache Mahout和Apache Spark MLlib的应用
|
消息中间件 机器学习/深度学习 SQL
《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(1)
《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(1)
306 0
|
存储 SQL 机器学习/深度学习
《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(2)
《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(2)
283 0
|
机器学习/深度学习 存储 人工智能
《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(3)
《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(3)
304 0
|
15天前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
194 14
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
9月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
675 33
The Past, Present and Future of Apache Flink

推荐镜像

更多