Airbnb为其开源特征平台Chronon新增了推送模式(Push Mode)与近实时(NRT)模型转换能力,能够在房客产生行为后的数秒内更新基于序列推荐的嵌入向量。该优化将嵌入的滞后时间从近两天缩短到不到一分钟,通常10至30秒即可完成更新。Airbnb同时披露:离线NDCG指标提升1.67%,在线A/B测试中未取消订单量增长约0.33%。
该方案构建在Airbnb基于JourneyFormer的序列推荐器之上,该推荐器使用Transformer编码器表示房客的预订、评论和浏览历史。此前编码器作为日批处理任务运行,生成的嵌入向量保存在低延迟存储中,排序系统在搜索时检索最新嵌入并与实时查询结合,使Transformer处于对延迟敏感的在线推理路径之外。但日批处理任务之后发生的活动可能要到下一次运行才能反映在嵌入向量中,叠加处理延迟,实际滞后时间接近两天。
Airbnb通过为Chronon增加两项能力解决数据新鲜度问题:推送模式让流式处理在特征值提交后主动发送通知,下游可以响应房客行为变更,无需轮询或等待定时任务;近实时模型转换让已上线模型直接在流式处理流水线内运行,并复用相同的Transformer序列编码器,避免为流处理工作流单独实现推理。
新流水线采集搜索、房源浏览等事件,把新事件和房客已有的短期、长期序列数据合并,当特征状态更新完成后触发模型推理,生成的嵌入向量写入和批处理系统共用的低延迟存储。因此在线排序路径基本保持不变,但检索到的表示变得更加及时。Airbnb基础设施高级软件工程师Pengyu Hou表示,近实时模型转换能力让Chronon可以直接在流式处理路径内部调用已经部署好的模型。
该方法遵循了一种更广泛的特征服务模式,即预测可以在底层特征变化时更新,而不是在每个用户请求时计算。Airbnb已将推送模式与近实时模型转换功能贡献给公共Chronon代码库。Chronon同时支持批处理和流式计算,并提供旨在保持训练与生产推理一致性的在线特征服务。
扫码查看视频号
咨询
咨询