Inside Bento: Jupyter Notebooks at Meta

This episode of the Meta Tech Podcast is all about Bento, Meta’s internal distribution of Jupyter Notebooks, an open-source web-based computing platform. Bento allows our engineers to mix code, tex…

Pascal Hartig
2 min readintermediate
--
View Original

Overview

The article discusses Bento, Meta's internal distribution of Jupyter Notebooks, which enables engineers to combine code, text, and multimedia for various applications, including machine learning workflows. It highlights features developed on top of Jupyter, such as scheduled notebooks and serverless execution using WebAssembly.

What You'll Learn

1

How to use Bento for prototyping and machine learning workflows

2

Why integrating multimedia in Jupyter Notebooks enhances collaboration

3

How to leverage WebAssembly for running notebooks without a remote server

Key Questions Answered

What is Bento and how is it used at Meta?
Bento is Meta's internal version of Jupyter Notebooks, allowing engineers to integrate code, text, and multimedia in a single document. It supports various use cases from prototyping to complex machine learning workflows, enhancing collaboration among engineers.
What features have been built on top of Jupyter at Meta?
Meta has developed several features on top of Jupyter, including scheduled notebooks for task automation, sharing capabilities for collaboration, and the ability to run notebooks without a remote server component by utilizing WebAssembly in the browser.

Technologies & Tools

Frontend
Jupyter Notebooks
Used as the base platform for Bento, allowing integration of code, text, and multimedia.
Backend
Webassembly
Enables running notebooks without a remote server component.

Key Actionable Insights

1
Utilizing Bento can significantly streamline the development process for machine learning projects at Meta.
By allowing engineers to combine various media types in a single notebook, Bento enhances both the prototyping phase and the overall collaboration among teams.
2
Implementing scheduled notebooks can automate repetitive tasks and improve efficiency.
This feature allows engineers to set up notebooks that run at specified times, freeing them from manual execution and ensuring timely data processing.
3
Leveraging WebAssembly for serverless notebook execution can reduce infrastructure overhead.
This approach allows notebooks to run directly in the browser, eliminating the need for a remote server and simplifying deployment.