Hackathon resources
-
Getting Started
Slack - Join the hackathon’s Slack channel to connect, ask questions, and form teams
Project proposals - team leaders should submit their project proposals using the instructions here
Gather - Add the Gather Town event to your calendar
Accelerated discovery forum - create an account to join the discussion forums
Bayesian optimization - Watch the Accelerate ‘23 training workshop on Bayesian optimization below
-
Orientation Modules
Please complete the following orientation assignments in preparation for the hackathon to familiarize the tools and concepts you’ll need. You will need to create a GitHub account to access these resources. If you are already familiar with git and GitHub, you may skip directly to “Intro to GitHub Classroom”. When prompted, please select an identifier from the list that’s given. In addition to these orientation modules, we also recommend that you familiarize yourself with Markdown syntax if this is new to you.
📝 Intro to Git and GitHub 📝 Intro to GitHub Classroom For those looking for a refresher on Python programming or to implement a simple BO example, see the following GitHub Classroom assignments:
📝 Python Refresher 📝 Simple Bayesian optimization script -
Bayesian optimization
Bayes Rule by 3Blue1Brown – explanation of the fundamental concept behind Bayesian methods
A Visual Exploration of Gaussian Processes - An explanation of a commonly used predictive model in Bayesian optimization with visualizations and mathematical rigor
Exploring Bayesian Optimization - An overview of active learning and Bayesian optimization with visualizations and mathematical rigor
Bayesian Optimization Book - For those that REALLY want to understand BO, this is a self-contained, comprehensive deep dive that builds up basic principles from “scratch” and delves into advanced topics. The book is free and open-source.
-
Python
Programming expertise is not required, but at least beginner Python programming experience is recommended for participation in code-focused projects of the hackathon. For those looking for a brief, interactive refresher on Python programming, see the GitHub Classroom assignment from the first section on this page. For those without prior Python experience, we recommend you complete an introductory Python course in preparation for the hackathon. Some resources are listed below:
If you have no prior programming experience, you may wish to start with the Python Beginners Guide for Non-programmers by Python Software Foundation.
-
BO Tools
Use of the tools listed on this page is not a requirement. A diverse set of packages and implementations is encouraged. Likewise, multiple teams using the same package is not a problem, in part because implementations can remain private during the course of the hackathon.(?) If you’d like to see a specific tool listed here, please navigate to the “Improve this page” link at the bottom of the page and open a pull request. See also the Acceleration Consortium’s curated list of optimization tools.
-
BayBE
This hackathon is co-organized by Merck KGaA. You may consider using an internal Merck tool that was recently open-sourced, called the Bayesian optimization BackEnd (BayBE). This tool focuses on real-world experimental campaigns in the physical sciences with support for integrating domain knowledge through custom parameter encodings and built-in chemical encodings. In addition, it allows for custom surrogate models, mixed variable types, and transfer learning.
-
Adaptive Experiment (Ax) Platform
The Ax Platform is a tool developed by Meta’s Adaptive Experimentation team. It is a user-friendly, modular, and actively developed general-purpose Bayesian optimization platform with support for simple and advanced optimization tasks. It is a high-level wrapper to the widely used BoTorch library, also developed by Meta, which is built on PyTorch.
-
Honegumi
Honegumi (pronounced “ho neh goo mee”, also referred to as “honey gummy”), deriving from the Japanese word for skeletal framework, is a package for interactively creating API tutorials with a focus on optimization packages. You use an interactive grid to select Bayesian optimization characteristics specific to your task and watch the corresponding template dynamically appear. “Open in Colab” and “Open in GitHub” links are also dynamically generated for each template. Honegumi pairs particularly well with LLMs to adapt the templates to real-world tasks.
-
Hugging Face Spaces
The pre-packaged benchmark functions will be available on Hugging Face Spaces, which makes it easy to deploy and use our benchmark tasks through a web GUI, or more relevant to the hackathon - programmatically via a straightforward API. For those who are planning to develop their own benchmark as a hackathon project (Topic #2), we recommend hosting the final benchmark through this same interface. Start by watching the Hugging Face Spaces overview below, which shows how you can get one running in just a few minutes.
To make this more concrete, see our implementation of the Branin function being run via the Hugging Face Spaces interface, which can be set up in just a few minutes. To see how to use it programmatically, click on the “Use with API” button at the bottom of the page (button marked in red in the image below).
-
Guidelines
Submission - The hackathon’s workflow for submissions, including project topics and proposal instructions