Skip to main content
QUICK REVIEW

[论文解读] StreamLearner: Distributed Incremental Machine Learning on Event Streams: Grand Challenge

Christian Mayer, Ruben Mayer|arXiv (Cornell University)|Jun 26, 2017
Data Stream Mining Techniques参考文献 21被引用 4
一句话总结

StreamLearner 是一个分布式复杂事件处理系统,通过使用模块化 API 将机器学习专业知识与 CEP 解耦,实现了在实时事件流上可扩展的、增量式的机器学习。它支持增量 K-均值和马尔可夫模型等模型的在线训练,在多线程和共享内存环境下的表现具有出色的可扩展性,最高可实现每秒 500 个事件的吞吐量。

ABSTRACT

Today, massive amounts of streaming data from smart devices need to be analyzed automatically to realize the Internet of Things. The Complex Event Processing (CEP) paradigm promises low-latency pattern detection on event streams. However, CEP systems need to be extended with Machine Learning (ML) capabilities such as online training and inference in order to be able to detect fuzzy patterns (e.g., outliers) and to improve pattern recognition accuracy during runtime using incremental model training. In this paper, we propose a distributed CEP system denoted as StreamLearner for ML-enabled complex event detection. The proposed programming model and data-parallel system architecture enable a wide range of real-world applications and allow for dynamically scaling up and out system resources for low-latency, high-throughput event processing. We show that the DEBS Grand Challenge 2017 case study (i.e., anomaly detection in smart factories) integrates seamlessly into the StreamLearner API. Our experiments verify scalability and high event throughput of StreamLearner.

研究动机与目标

  • 解决来自智能设备的高速事件流中模糊且不断演化的模式(例如异常)检测的挑战。
  • 将增量机器学习集成到复杂事件处理(CEP)中,实现在无需从头开始重新训练的情况下在线适应模型。
  • 设计一种分布式、数据并行的架构,支持动态扩展,并对流数据实现低延迟处理。
  • 通过通用 API 实现现有增量机器学习算法(例如 K-均值、马尔可夫模型)与 CEP 流水线的无缝集成。
  • 在智能制造环境中,针对真实世界的异常检测工作负载,展示系统的可扩展性和高吞吐量。

提出的方法

  • 使用模块化、通用的 API 将机器学习训练与推理从 CEP 逻辑中解耦,抽象分布式处理和增量模型更新。
  • 实现一种流水线架构,包含拆分器、工作者和合并器组件,以在多个线程上实现事件流的数据并行处理。
  • 应用带有滑动窗口语义的增量 K-均值聚类,动态适应新事件到达和旧事件过期时的聚类中心。
  • 使用滑动窗口的马尔可夫模型计算转移概率,并将低概率状态序列识别为异常。
  • 通过归一化减少乘法运算次数,优化马尔可夫模型中的概率计算,提升长序列下的效率。
  • 通过合并器组件基于时间戳排序确保输出一致性,保持事件的单调顺序,以正确维护流语义。

实验结果

研究问题

  • RQ1如何高效地将增量机器学习集成到分布式复杂事件处理系统中,以实现实时模式检测?
  • RQ2为支持在事件流上可扩展、数据并行的增量模型训练,需要哪些架构和编程模型抽象?
  • RQ3现有增量机器学习算法(例如 K-均值、马尔可夫模型)在多大程度上可适配到具有低延迟要求的分布式 CEP 流水线中?
  • RQ4当窗口大小、聚类数量和工作线程数量变化时,系统在吞吐量和延迟方面的可扩展性如何?
  • RQ5所提出的系统是否能在保持低同步开销和一致输出顺序的同时,实现高吞吐量(例如每秒 500 个事件)?

主要发现

  • 在使用 DEBS Grand Challenge 2017 数据集的笔记本系统上,StreamLearner 达到了每秒 500 个事件的最大绝对吞吐量。
  • 在笔记本上从 1 个线程扩展到 9 个线程时,吞吐量提高了 2.5 倍,表明在中等至大窗口大小下具有出色的可扩展性。
  • 在共享内存基础设施上,跨线程扩展时吞吐量最高可提升 60%,但高线程数时收益递减。
  • 窗口尺寸越大,吞吐量越低,因为计算开销增加,但多线程的相对优势随窗口尺寸增大而提升。
  • 聚类数量增加会降低吞吐量,因为计算复杂度提高,但吞吐量在达到饱和点前会随着线程数增加而提升。
  • 优化后的马尔可夫模型概率计算将乘法次数从 $N(W-N)$ 减少到 $N+2(W-N)$,显著提升了长转移序列的效率。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。