# How Keras 3 Helped Modernise Expedia Group's Lodging Ranking Stack

DevFeed: [How Keras 3 Helped Modernise Expedia Group's Lodging Ranking Stack](<https://devfeed.tech/articles/how-keras-3-helped-modernise-expedia-group-s-lodging-ranking-stack-19734.md>)

Original publisher: [Read original article](<https://medium.com/expedia-group-tech/how-keras-3-helped-modernise-expedia-groups-lodging-ranking-stack-7fec96f052fd?source=rss----38998a53046f---4>)

Author: Conor Worthington

Published: 2026-08-11T11:01:02Z

Content type: article

Language: en

Sources: [Expedia](<https://devfeed.tech/sources/expedia.md>)

Topics: [Keras](<https://devfeed.tech/topics/keras.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Inference Performance](<https://devfeed.tech/topics/inference-performance.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [data-science](<https://devfeed.tech/tags/data-science.md>), [features](<https://devfeed.tech/tags/features.md>), [framework](<https://devfeed.tech/tags/framework.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [inference](<https://devfeed.tech/tags/inference.md>), [keras](<https://devfeed.tech/tags/keras.md>), [latency](<https://devfeed.tech/tags/latency.md>), [llms](<https://devfeed.tech/tags/llms.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mixture-of-experts](<https://devfeed.tech/tags/mixture-of-experts.md>), [model-training](<https://devfeed.tech/tags/model-training.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [recommendation-system](<https://devfeed.tech/tags/recommendation-system.md>)

## AI overview

Expedia Group describes modernising its lodging-ranking stack around Keras 3. The changes included rewriting parts of its pipelines, making model training 30% faster and reducing P99 inference latency by two-thirds. The article discusses limitations of the previous Keras 2, eager-training and combined-serving setup, along with the use of newer APIs and accelerator-oriented optimisations.

## Source excerpt

Expedia Group Technology -- DataWhat happened when we treated a framework migration as an architecture modernisation -- and cut P99 inference latency by two-thirdsSt Paul's and millennium bridge, London Expedia Group™ has always been a market leader in providing personalised search experiences for travellers. As our ranking models evolved, we saw an opportunity not just to migrate to Keras 3, but to modernise the broader stack around it so we can better serve travellers. This led us to rewrite key parts of our pipelines that made model training 30% faster and cut P99 inference latency by two-thirds. Our main focus in this blog is to discuss our improvements to lodging ranking -- our service which handles users' search requests and returns a personalised property ranking on top of a lightweight candidate generator. This service is frequently retrained to improve customer experience as we get new signals over time. Example of personalised lodging ranking on Expedia search result page for a London search As such, our velocity to make changes needs to be fast, but more importantly we need to be able to build models which are state-of-the-art, enabling customers to easily find and book the most relevant property for their trip. The problem with Keras 2, eager training and combined serving The challenge was not that the old stack was broken. It was that it had gradually become a limiting factor. On the training side, we were carrying dependencies on older components and missing out on modern Keras APIs, new optimisers, new layers and cleaner support for accelerator-oriented training. On the serving side, we had a path that was simple and operationally familiar, but not especially well suited to aggressively optimised inference for heavier ranking architectures. This blockage on utilising new layers and optimisers has become more pronounced as LLMs see blistering amounts of innovation. Naturally, these new features are only available in Keras 3 or as separate backends from ou