AI News HubLIVE
站内改写1 分钟阅读

用于实时AI的滚动聚合

滚动聚合对实时AI系统至关重要,能够以低延迟捕捉最新趋势和模式,用于行为变化检测和异常检测。本文介绍了三种计算滚动聚合的方法:平铺窗口聚合、增量视图(Feldera)和并行下推聚合(RonDB),并比较了它们的计算复杂度和延迟。Hopsworks平台同时支持左移(预计算)和右移(按需计算)两种方式,为不同场景提供灵活性。

来源Hacker News AI作者: LexSiga

滚动聚合是实时AI系统中最重要的输入数据之一,它们能够以压缩表示形式捕捉最近的行为趋势和模式,使交互式AI系统满足最低延迟要求。滚动聚合在实时机器学习系统(如信用卡欺诈检测和个性化推荐)以及交互式智能体(如压缩用户历史或近期活动摘要)中都有广泛应用。

滚动聚合计算的是持续滑动窗口上的统计量。与传统的平铺窗口或跳跃窗口不同,滚动聚合在每次新事件到达时立即输出结果,避免了窗口长度或水印带来的延迟。文章回顾了滚动聚合的发展历程:从平铺窗口聚合(如Airbnb的Chronon)到基于增量视图的流处理(如Feldera),再到最近以RonDB为代表的原生数据库并行聚合。

平铺窗口聚合通过将窗口分解为多个固定时间块(如24小时)并预先计算这些块的统计量,在收到请求时组合这些块并计算未对齐的头尾事件,从而降低计算开销。这种方法对于某些聚合(如最小值、最大值)效果良好,但对于均值等需要额外状态维护的聚合则复杂一些。

Feldera提供了一种更高效的方法:采用增量视图技术,使得每次更新的计算成本恒定在O(1),不受窗口大小影响。这意味着无论窗口中有多少事件,计算一个滚动聚合所需的机器周期保持不变,从而实现了亚毫秒级的新鲜度。

RonDB则通过并行下推技术,将聚合计算从应用服务器转移到数据库节点内部。这样,数据库不仅能返回数据行,还能直接返回聚合结果,避免了大量网络传输。基准测试显示,对于表达式聚合和过滤聚合,RonDB在100,000行规模下仍能保持2毫秒左右的延迟,且可通过增加数据节点线性扩展吞吐量。

总之,Hopsworks平台同时提供左移(预计算)和右移(按需计算)两种滚动聚合方案。左移方案集成Feldera的增量视图,适合需要最大规模且亚毫秒级新鲜度的场景;右移方案使用RonDB的并行下推聚合,操作简单,可处理中等规模数据。用户可根据需求灵活选择。