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的並行下推聚合,操作簡單,可處理中等規模資料。使用者可根據需求靈活選擇。