Facebook open-sources Ax and BoTorch to simplify AI model optimizationMay 1, 2019
At its F8 developer conference, Facebook today launched Ax and BoTorch, two new open-source AI tools.
BoTorch, which, as the name implies, is based on PyTorch, is a library for Bayesian optimization. That’s a pretty specialized tool. Ax, on the other hand, is the more interesting launch, as it’s a general-purpose platform for managing, deploying and automating AI experiments. Both tools, though, are part of the same overall work at Facebook, which focuses on what the company calls “adaptive experimentation.” Indeed, Ax interfaces with BoTorch and, internally, Facebook has used the two tools for tasks that vary from optimizing Instagram’s back-end infrastructure to improving the response rates of user surveys.
At its core, BoTorch — and Bayesian optimization in general — is all about making model optimizing easier and faster for data scientists to get to a production-ready model. Typically, this involves a lot of trial and error and is often more an art than a science. “It takes the art out of it. It automates it,” Joe Spisak, Facebook AI’s product manager for PyTorch, said. “And our goal is to consume the latest research.”
BoTorch is not the first Bayesian optimization tool. Facebook, however, argues that these existing libraries are difficult to extend and customize — and that they didn’t meet Facebook’s needs.
Ax then takes these capabilities and provides all the management functions around BoTorch’s ability to find the optimal configuration for these models, and allows developers to focus on getting their services production-ready. At Facebook, Ax interfaces with A/B testing and simulation tools, for example, and because the whole purpose of these tools is to automatically optimize the system, there’s very little user involvement needed. As it runs the experiments, Ax can automatically pick the best optimization strategy. That could be Bayesian optimization, bandit optimization (another classic optimization strategy) or another algorithm. Indeed, it’s worth noting that Ax is framework-agnostic. While it uses BoTorch, researchers can also plug in their own code using the services PyTorch and NumPy interfaces.
Open-sourcing tools at Facebook has become pretty standard at this point. PyTorch itself is a good example for this. Spisak also noted that for BoTorch, the team decided to open-source the tool because it wanted to collaborate with the top researchers in the field (and it did so by working with Cornell University for this first release, for example). “How do we collaborate? How do we build an open community around what we’re doing? You can’t do that in closed source. It has to be open source,” he said.