Jacob Garcia · Hugging Face Model Foundry

Meta Sine Foundry Lab

Interactive five-shot adaptation laboratory. This showcase backs up the trained artifacts, measured evaluation, and complete runnable source.

Explore every file View the full foundry

Verified project card

# Meta-Sine Foundry

Meta-Sine Foundry learns an initialization that can specialize to a new sinusoid
from five observations and a handful of gradient steps. Tasks vary in amplitude and
phase. A first-order MAML learner, an ordinary model trained on pooled tasks, and an
untrained architecture-matched control receive the same adaptation rule at test time.

Evaluation covers 200 seeded tasks and reports mean query MSE before adaptation,
after one support-set update, and after five updates. The benchmark tests rapid
adaptation, not whether the meta-learner has discovered a universal regression prior.

## Verified results

Each architecture has 1,761 parameters. Evaluation used 200 unseen tasks, five
support points per task, and the same `0.01` inner learning rate.

| Initialization | 0 updates MSE | 1 update MSE | 5 updates MSE |
| --- | ---: | ---: | ---: |
| First-order MAML | 3.1180 | 1.8105 | 0.7417 |
| Pooled pretraining | 3.1389 | 3.6318 | 3.7822 |
| Random initialization | 4.4218 | 4.4110 | 4.6232 |

After five updates, the meta-learned initialization reduced mean query error by
80.39% versus pooled pretraining and 83.96% versus random initialization. Pooled and
random controls worsened under the meta-learned step size, which is part of the
measured adaptation advantage rather than a claim that they could not be retuned.

## Reproduce

```powershell
uv run python projects/meta-sine-foundry/train.py
```

Evaluation snapshot

{
  "benchmark": "Five-shot sinusoid adaptation",
  "parameters_per_model": 1761,
  "heldout_tasks": 200,
  "support_points": 5,
  "inner_learning_rate": 0.01,
  "summary": {
    "first_order_maml": {
      "after_0_steps": {
        "mean_query_mse": 3.117979406230152,
        "median_query_mse": 1.982047975063324
      },
      "after_1_steps": {
        "mean_query_mse": 1.8104612239636482,
        "median_query_mse": 1.1625203490257263
      },
      "after_5_steps": {
        "mean_query_mse": 0.7417217132728546,
        "median_query_mse": 0.5038593411445618
      }
    },
    "pooled_pretraining": {
      "after_0_steps": {
        "mean_query_mse": 3.1389036064594986,
        "median_query_mse": 2.0017887353897095
      },
      "after_1_steps": {
        "mean_query_mse": 3.6318348409608006,
        "median_query_mse": 2.1371556520462036
      },
      "after_5_steps": {
        "mean_query_mse": 3.782225738260895,
        "median_query_mse": 2.0923590660095215
      }
    },
    "random_initialization": {
      "after_0_steps": {
        "mean_query_mse": 4.421784645207226,
        "median_query_mse": 3.5967257022857666
      },
      "after_1_steps": {
        "mean_query_mse": 4.410966412443668,
        "median_query_mse": 3.4736127853393555
      },
      "after_5_steps": {
        "mean_query_mse": 4.623183687664568,
        "median_query_mse": 3.3137409687042236
      }
    }
  },
  "training_history": [
    {
      "training_iteration": 100,
      "meta_query_mse": 3.0043764114379883
    },
    {
      "training_iteration": 200,
      "meta_query_mse": 3.339918851852417
    },
    {
      "training_iteration": 300,
      "meta_query_mse": 3.105837821960449
    },
    {
      "training_iteration": 400,
      "meta_query_mse": 3.5703954696655273
    },
    {
      "training_iteration": 500,
      "meta_query_mse": 2.299532890319824
    },
    {
      "training_iteration": 600,
      "meta_query_mse": 1.4675642251968384
    },
    {
      "training_iteration": 700,
      "meta_query_mse": 1.9454426765441895
    },
    {
      "training_iteration": 800,
      "meta_query_mse": 0.8894341588020325
    },
    {
      "training_iteration": 900,
      "meta_query_mse": 0.714055061340332
    },
    {
      "training_iteration": 1000,
      "meta_query_mse": 1.2726192474365234
    },
    {
      "training_iteration": 1100,
      "meta_query_mse": 0.9396852850914001
    },
    {
      "training_iteration": 1200,
      "meta_query_mse": 1.015036702156067
    },
    {
      "training_iteration": 1300,
      "meta_query_mse": 0.5529529452323914
    },
    {
      "training_iteration": 1400,
      "meta_query_mse": 0.5807578563690186
    },
    {
      "training_iteration": 1500,
      "meta_query_mse": 0.599169135093689
    },
    {
      "training_iteration": 1600,
      "meta_query_mse": 0.6174056529998779
    },
    {
      "training_iteration": 1700,
      "meta_query_mse": 0.7034826278686523
    },
    {
      "training_iteration": 1800,
      "meta_query_mse": 0.3562796413898468
    },
    {
      "training_iteration": 1900,
      "meta_query_mse": 0.5737505555152893
    },
    {
      "training_iteration": 2000,
      "meta_query_mse": 0.7230871319770813
    }
  ]
}

Backed-up artifact tree

  • README.md
  • __pycache__/app.cpython-311.pyc
  • __pycache__/model.cpython-311.pyc
  • __pycache__/tasks.cpython-311.pyc
  • __pycache__/train.cpython-311.pyc
  • app.py
  • artifacts/meta-sine-foundry/evaluation.json
  • artifacts/meta-sine-foundry/first_order_maml.safetensors
  • artifacts/meta-sine-foundry/pooled_pretraining.safetensors
  • artifacts/meta-sine-foundry/random_initialization.safetensors
  • data/heldout_tasks.parquet
  • model.py
  • requirements.txt
  • tasks.py
  • train.py