OpenResearch

Experiment Flow

OpenResearch organizes optimization work into a tree of experiments. Every experiment is either a root (a baseline imported from GitHub) or stacked under a parent experiment as a variation.

Structure

Every project starts with a root experiment, created by importing a baseline from GitHub. This is the starting point of the tree. Child experiments stack under the parent as variations.

text
Root Experiment (baseline)
  ├── Experiment A
  │     ├── Experiment A1
  │     │     └── Experiment A1a
  │     └── Experiment A2
  └── Experiment B
  • Every experiment has a parent experiment (except the root)
  • Any experiment can have any number of child experiments stacked under it
  • Each experiment writes its own EVAL.md and code diff

Experiment

An experiment tests a variation of its parent. For example, if the parent uses Adam, children might test SGD, AdamW, and Lion. Each experiment produces an EVAL.md with results, plus an optional analysis blurb synthesizing what its own children showed.

Run lifecycle

text
Run: starting → running → done | failed | cancelled

Code storage

Each experiment has its own git branch. For root experiments, the branch is created from the GitHub import. For child experiments, the branch is forked from the parent experiment. Pressing Run auto-commits any pending changes and records the exact commit on the run.