Airbnb built an ML library for humans who still read feature weights
Aerosolve exists because Airbnb wanted machine learning models that engineers can debug by reading feature weights and splines rather than treating them as oracles.

What it does
Aerosolve is Airbnb’s machine learning toolkit for training and scoring models built on sparse, human-readable features like search keywords or listing locations. It uses a Thrift-based feature representation that groups attributes into families, and it separates lightweight Java inference code from Scala training pipelines. The library is built specifically for ranking and pricing problems where understanding why a model scores something a certain way matters as much as the score itself.
The interesting bit
Instead of chasing raw predictive power with dense neural nets, Aerosolve gives you a transform language to cross and quantize features on the fly, then feeds them into a “linear” model that behaves more like a wide, bushy decision tree. For continuous features, its spline model trains at high resolution and only smooths itself out if the fit stays good—deliberately staying jagged to warn you when a feature looks unexpectedly complex and possibly overfit.
Key highlights
- Thrift-based
FeatureVectorstructure pairs a single context (e.g., a search session) with hundreds of items to score, saving space and enabling pairwise ranking loss. - A decoupled feature transform language lets you pre-compute corpus transforms and apply context changes at runtime without touching the model code.
- The linear model supports hinge, logistic, and ranking losses, but gains complexity through crosses and quantization rather than hidden layers.
- The spline model projects piecewise linear functions into simpler curves after each iteration, flagging buggy or overfit features by refusing to simplify when the error spikes.
- Lightweight Java core for inference, with Scala handling the training heavy lifting.
Caveats
- The library is explicitly designed for sparse, interpretable features; the README warns it is ’not as interpretable’ with dense inputs like raw pixels or audio samples.
- Several included models—such as the maxout neural network and boosted stumps—are labeled experimental or are primarily used to generate transforms for the main interpretable models.
Verdict
Grab this if you work on search ranking, pricing, or recommendation systems where feature debugging and rapid iteration beat black-box accuracy. Skip it if your problem is dominated by dense, unstructured data like images or sound where interpretability is already off the table.
Frequently asked
- What is airbnb/aerosolve?
- Aerosolve exists because Airbnb wanted machine learning models that engineers can debug by reading feature weights and splines rather than treating them as oracles.
- Is aerosolve open source?
- Yes — airbnb/aerosolve is open source, released under the Apache-2.0 license.
- What language is aerosolve written in?
- airbnb/aerosolve is primarily written in Scala.
- How popular is aerosolve?
- airbnb/aerosolve has 4.8k stars on GitHub.
- Where can I find aerosolve?
- airbnb/aerosolve is on GitHub at https://github.com/airbnb/aerosolve.