At F8, Facebook’s annual conference, we open-sourced tools and frameworks that simplify machine learning experimentation and optimization, speed up test execution times, and help solve memory-related performance issues. See the full list below, and click through to get started with our latest releases.
Ax
Ax is an accessible, general-purpose adaptive experimentation platform for managing, deploying, and automating experiments. The platform makes it easier for developers to optimize their products and infrastructure by leveraging recent advances provided by BoTorch, our library for Bayesian optimization (BO) research. Ax also lowers the barrier for BO, multiarmed bandit, and other complicated experimentation techniques, allowing researchers to take their ideas from research to production.
Read the Facebook AI blog post on Ax and BoTorch for more information.
Start using Ax.
BoTorch
BoTorch is a library for Bayesian optimization (BO) research, built on PyTorch. BoTorch significantly boosts developer efficiency by combining a modular design and use of Monte Carlo-based acquisition functions with PyTorch’s auto-differentiation feature. BoTorch’s ability to integrate with any PyTorch model allows for a high degree of flexibility and facilitates research at the intersection of BO and deep learning.
Read the Facebook AI blog post on Ax and BoTorch for more information.
Start using BoTorch.
Idb
The iOS development bridge (idb) is a command line interface for automating iOS simulators and devices. The provided API of simple primitives makes it easy to build complex worfklows. Idb also has a client-server architecture that makes it easier to distribute work between a fleet of machines so that automation on iOS can be distributed amongst a fleet of machines.
Start using idb.
Memscout
Memscout is an analysis tool that’s a companion to the jemalloc memory allocator (the default memory allocator used across Facebook’s infrastructure services). Memscout interprets the raw data in a jemalloc stats file (JSON format) for a running process and highlights relevant metrics. It scouts out allocator inefficiencies and provides insights into memory allocation patterns of the process, and then presents a breakdown of statistics that can be used to quickly diagnose memory-related performance issues.
Start using Memscout.
Mvfst
Mvfst is an implementation of the QUIC transport protocol. The goal of mvfst is to build the most flexible, performant transport protocol that applications could adapt for use cases on the internet and within the data center. Features include stream multiplexing as a transport feature, 0-RTT connection establishment, better loss recovery, security built in from the ground up, and flexible congestion control.
Start using mvfst.
For a full recap of everything announced at F8, see the keynotes from Day 1. For more about all our open source projects, visit Facebook Open Source.