Configuring machine learning experiments with Fiddle

March 16, 2025 — April 16, 2025

computers are awful
faster pussycat
how do science
premature optimization
provenance
python
Figure 1

Fiddle is the successor to gin, AFAICT, at Google for configuring ML experiments. It uses a code-based config system, where we define Python functions that change the configuration. It’s a slightly different approach. I’m not sure how to use it for things like hyperparam search, but it looks fine.

It generates a CLI via Google’s absl system. The keyword is Flag Support.

Docs are sparse; see:

Fiddle Config Best Practices were not obvious to me at first, but this is what I have learned:

This should keep configuration separate from implementation for modularity, testability, and reusability. Business logic remains agnostic to the configuration system.

I wonder if this pairs well with other Google infrastructure such as their metadata store?