[控场AI]
· 4 分钟阅读· 2,169 字

Keras 3 如何帮助 Expedia 现代化其排序系统

Keras 3 如何帮助 Expedia 现代化其排序系统

Expedia借助Keras 3的多后端能力重构核心排序系统,折射出企业ML框架选型的新趋势。

Expedia正借助Keras 3对其核心旅游搜索排序技术栈进行现代化改造。Keras 3最核心的革新在于多后端支持——同一套模型代码可无缝运行于TensorFlow、PyTorch和JAX之上,这对拥有历史技术债的大型企业而言,意味着大幅降低框架迁移成本、解除对单一框架的依赖锁定。对Expedia这类在线旅游平台,排序系统直接影响转化率与营收,现代化改造的核心目标是加快实验迭代速度并提升模型可维护性。这一案例同时折射出深度学习框架竞争的新阶段:企业选型的权重正从单纯的性能比拼,向开发者体验、迁移友好性与生态兼容性转移。

一条推文背后的工程升级

近日,一条关于 Keras 3 帮助 Expedia 现代化其排序(ranking)技术栈的信息在技术圈流传。虽然原始素材仅是一则简短的分享链接,但它指向了一个当下机器学习工程领域颇具代表性的话题:大型企业如何借助新一代深度学习框架,重构其核心业务的推荐与排序系统。

对于 Expedia 这样的在线旅游平台而言,排序系统几乎是命脉所在——用户搜索酒店、机票时看到的结果顺序,直接影响转化率与营收。因此,任何对排序技术栈的现代化改造,都是牵一发而动全身的工程决策。

Keras 3 助力 Expedia 排序系统现代化

为什么是 Keras 3

Keras 3 是 Keras 框架的一次重大重写,其最大亮点在于多后端支持:同一套模型代码可以在 TensorFlow、PyTorch 和 JAX 之间自由切换。这一特性对大型企业尤为关键,因为它意味着团队不再被单一框架锁定,可以根据训练效率、部署环境或团队技术偏好灵活选择底层引擎。

对 Expedia 这类拥有历史技术债的公司来说,框架迁移往往成本高昂。Keras 3 提供的兼容性和统一 API,理论上能显著降低从旧有系统迁移的摩擦,让工程团队在保留业务逻辑的同时,逐步替换底层实现。

排序系统现代化的典型痛点

企业级排序系统在长期迭代中通常会积累几类问题:训练与推理代码分裂、框架版本陈旧难以升级、实验迭代速度慢、以及新模型架构难以快速落地。这些问题在旅游、电商等高频交易场景中会被进一步放大。

借助现代化框架重构排序栈,核心目标往往是提升实验迭代速度与模型可维护性,让数据科学家能够更快地尝试新的排序算法,并将其安全地推向生产环境。

Keras 3 于2023年底正式发布(此前经历较长时间的预览期),是对原 Keras 的彻底重构而非渐进升级。原有的 tf.keras 与 Keras 独立版本长期并存造成社区碎片化,Keras 3 通过引入统一的后端抽象层(backend abstraction layer)来解决这一问题——开发者只需调用 keras.layers、keras.Model 等统一 API,底层计算图的构建与执行则委托给选定的后端。切换后端只需设置环境变量 KERAS_BACKEND=torch 或 KERAS_BACKEND=jax,无需修改模型代码本身。这种设计在工程实践中意味着:模型研发阶段可用 JAX 的 jit 编译获得极致训练速度,部署阶段切换到 TensorFlow Serving 成熟的推理基础设施,而同一份模型定义代码全程保持不变。

企业级推荐排序系统通常采用**Learning to Rank(LTR)**范式,常见方法分为 Pointwise(对每个候选项独立打分)、Pairwise(比较两两相对顺序)和 Listwise(直接优化整个列表的排列质量)三类。Expedia 这类旅游平台面临的特殊挑战在于排序信号的异构性:酒店排名需要同时融合用户历史行为、价格弹性、库存状态、季节性模式等差异极大的特征,传统基于 GBDT(梯度提升决策树)的 LTR 方案在特征交叉与序列行为建模上存在天花板,这也是推动其向深度学习排序架构迁移的核心动因之一。

框架选型对工程团队的意义

Keras 3 的价值不仅在于技术特性,更在于它为团队协作提供的统一语言。当研究团队偏好 JAX 的高性能、而生产团队依赖 TensorFlow 的成熟部署生态时,一套可跨后端运行的代码能极大缓解协作摩擦。

这也反映出深度学习框架竞争进入了新阶段:单纯比拼性能已不够,开发者体验、迁移成本与生态兼容性成为企业选型的关键考量。Expedia 的案例(如原文所述)正是这一趋势的一个注脚。

JAX 由 Google Research 开发,其核心优势在于函数式编程风格与 jit(即时编译)、vmap(向量化映射)、grad(自动微分)的可组合性,在大批量矩阵运算和分布式训练场景下往往比 PyTorch 和 TensorFlow 有更高的硬件利用率,因此在学术研究和追求极致训练效率的场景中颇受青睐。TensorFlow 则在生产部署生态(TF Serving、TFLite、TF.js)的成熟度上具有明显优势。PyTorch 凭借动态图和丰富的社区生态,已成为工业界 ML 研发的主流选择。Keras 3 的多后端策略本质上是在这三个各有侧重的生态之间架设桥梁,让企业得以按需取用,而不必为框架选型做非此即彼的赌注。

对行业的参考价值

需要说明的是,本文所依据的原始素材信息有限,仅为一则指向 Expedia 工程分享的链接,具体的技术细节、性能提升数据与迁移实践尚需查阅完整原文。

尽管如此,这类企业实践对广大 ML 工程团队仍有借鉴意义:在框架快速演进的当下,选择一个具备多后端能力、迁移友好的框架,可能是应对未来不确定性的稳妥策略。对于正在评估技术栈升级的团队而言,Expedia 的路径值得持续关注。

分享:

相关推荐