在大型電商與旅宿平台中,推薦系統的「新鮮度」往往決定使用者體驗的上限。根據 InfoQ 的報導,Airbnb 近期在其開源特徵平台 Chronon 上新增了兩項能力,讓原本以天為單位更新的推薦嵌入向量(embedding),可以在使用者行為發生後數十秒內完成更新。這項改動把嵌入向量的陳舊時間從接近兩天壓縮到一分鐘以內,典型更新延遲落在 10 到 30 秒之間,並在線上實驗中帶來可量測的商業指標提升。
背景與問題
Airbnb 的推薦系統建立在名為 JourneyFormer 的序列模型之上。這個模型使用 Transformer 編碼器,把房客的訂房紀錄、評價與瀏覽行為整理成一個向量表示,作為排序階段的輸入特徵。原本的架構採每日批次(daily batch)的方式運作:每天跑一次批次任務產生嵌入向量,寫入低延遲的特徵儲存層;當使用者發起搜尋時,線上排序系統取出最新可用的嵌入向量,再與即時查詢條件結合計算排序結果。
這個設計的優點是把計算量龐大的 Transformer 模型排除在對延遲極度敏感的線上服務路徑之外,但它也帶來明顯的代價:在每日批次執行之後才發生的使用者行為,要等到下一次批次執行才會反映到嵌入向量中。考量批次處理本身的排程與處理延遲,實際的資料陳舊程度接近兩天。對一個高度依賴使用者即時意圖的推薦系統來說,房客剛剛搜尋或瀏覽過的訊號無法立即被模型吸收,代表推薦結果可能錯過了最能反映當下需求的線索。
核心做法:Push Mode 與 NRT Model Transform
為了解決新鮮度問題,Airbnb 在 Chronon 平台上加入了兩個新能力。第一是 Push Mode,推播模式。它的運作方式是:當串流任務完成某個特徵值的寫入(commit)時,會主動發出通知,讓下游處理流程能夠針對剛更新的房客行為立即反應,而不需要輪詢或等待排程任務觸發。這把原本「定期拉取」的資料流模式,轉變成「事件驅動」的更新模式。
第二是 NRT Model Transform,近即時模型轉換。這個功能允許已經部署上線的模型,直接在串流管線中被呼叫執行推論。關鍵在於 Airbnb 重用了與批次路徑相同的 Transformer 序列編碼器,不需要為串流工作流另外實作一套獨立的推論程式碼,從而避免了線上與離線實作不一致的風險。Airbnb 基礎設施團隊的資深軟體工程師 Pengyu Hou 將這項改動描述為:讓 Chronon 能夠在串流流程中直接呼叫已部署的模型,填補事件驅動資料與模型推論之間的缺口。
整合後的管線會捕捉搜尋、房源瀏覽等事件,將這些新事件與房客既有的短期與長期序列資料結合,並在更新後的特徵狀態就緒時觸發模型推論。產生的新嵌入向量會寫入與批次系統相同的低延遲儲存層。也因此,線上排序路徑幾乎不需要修改,但它取到的向量表示變得即時許多——這個「上游更新、下游不動」的設計,是這次改造在工程上的優雅之處。
架構脈絡與成果
從更廣的特徵服務(feature serving)設計模式來看,這種做法呼應了一種「特徵更新時觸發預測更新」的架構思路:預測不必在每次使用者請求時才即時計算,而是在底層特徵改變時預先更新。另一個開源特徵平台 Feast 也記錄了類似的快取預測架構,以額外的寫入成本與管線複雜度,換取更低的服務延遲。不同的是,Chronon 把串流計算與模型轉換直接整合進特徵平台本身,並強調離線訓練與線上推論之間的一致性,這對於容易出現訓練與服務偏差(training-serving skew)的機器學習系統來說尤其重要。
效果方面,Airbnb 報告嵌入向量陳舊時間從接近兩天縮短到一分鐘以內;在離線評估中,NDCG(一種衡量排序品質、考慮結果位置權重的指標)提升了 1.67%;線上 A/B 測試中,未取消訂單量(uncancelled bookings)增加了約 0.33%。對訂房平台而言,0.33% 的訂單提升看似微小,但在 Airbnb 的流量規模下已是具實質意義的商業影響。此外,Airbnb 已將 Push Mode 與 NRT Model Transform 貢獻回公開的 Chronon 儲存庫,讓這個同時支援批次與串流計算、並致力維持訓練與生產環境一致性的開源平台,具備了完整的近即時特徵能力。
影響與限制
這項改造展示的價值不只是延遲數字的下降,更在於證明同一套模型與特徵定義可以橫跨批次與串流兩種執行模式運作,大幅降低維護兩套推論實作的工程負擔。對於正在評估即時化推薦系統的團隊而言,「讓模型住在串流管線裡」比「在線上請求路徑中即時跑模型」提供了一條兼顧延遲與新鮮度的中間路線。
不過也有需要注意的取捨。串流管線與事件驅動觸發機制會帶來額外的系統複雜度與運維成本,每次特徵更新都觸發推論也意味著更高的運算資源消耗;0.33% 的線上指標提升幅度,是否足以支撐導入近即時架構的投資,仍需依各平台的規模與場景評估。此外,NRT Model Transform 以平台能力的方式落地在 Chronon 中,對未採用 Chronon 的團隊而言,複製這個模式仍需要相當的基礎設施投入。無論如何,這個案例為「特徵平台如何從資料管理工具演進為模型執行環境」提供了一個具體且可開源驗證的參考。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。