Aravind Anchala
← All projects

Training & Post-Training

Planned

Distributed Fine-Tuning and Post-Training Orchestrator

Reproducible, gated distributed fine-tuning and post-training runs.

This system is planned. The case study describes the intended design; metrics are targets or planned, not measured results.

Problem

Fine-tuning runs are often one-off notebooks: hard to reproduce, expensive to rerun, and promoted to production without a consistent evaluation gate.

Why this matters

Post-training (SFT, preference optimization, distillation) is where model quality is won. Reproducible, gated, distributed orchestration is core infrastructure for any lab shipping model updates safely and repeatably.

Constraints

  • Reproducible runs from a versioned config and dataset snapshot.
  • Ephemeral, cost-capped compute (no idle GPU clusters).
  • Every promotion must pass an eval gate.
  • No leakage between training and evaluation sets.

Architecture

Interface

  • Run spec / CLI
  • Experiment metadata

Orchestration

  • SchedulerRay on K8s
  • Checkpoint manager

Compute

  • Distributed workersephemeral GPU
  • Object storage

Gate

  • Eval + regression
  • Model registry
A control API accepts a versioned run spec, schedules distributed workers on ephemeral Kubernetes, checkpoints to object storage, then runs an eval gate that must pass before a model is registered.

Data flow

Run spec + data snapshot enter the scheduler, workers train and checkpoint to object storage, the eval gate scores the result, and only passing models are written to the registry.

Control plane vs data plane

Control: Scheduler, run specs, experiment metadata, and the promotion gate.

Data: Distributed training workers, checkpoint read/write, and object storage.

Core capabilities

  • Declarative job specs with pinned data, config, and seeds.
  • Distributed execution with checkpoint/resume.
  • Automatic eval + regression comparison against a baseline.
  • Artifact and metadata tracking for every run.

Staff-level tradeoffs

  • Ephemeral clusters over always-on GPUs.

    Keeps cost bounded for a portfolio-scale project; the orchestration logic is the interesting part, not idle hardware.

  • Eval gate is mandatory before registration.

    Prevents 'it trained, ship it'. Promotion requires beating a baseline on a held-out set.

Tech stack

ML / Data

  • Python
  • PyTorch
  • Ray

Backend

  • Control API
  • Go / Python

Infrastructure

  • Kubernetes
  • Terraform
  • object storage

Tracking

  • experiment metadata
  • model registry

Metrics

Run reproducibility
Planned
Config + data snapshot pinned
Promotion gate
Planned
Must beat baseline on held-out eval
Idle GPU cost
Target
$0 (ephemeral clusters)
Checkpoint resume
Planned
Resume after worker loss

Metrics are labeled measured, target, or planned. Nothing here is an achieved result unless it is marked measured.

Failure modes

  • Worker crash mid-run

    Resume from the latest checkpoint rather than restarting the run.

  • Eval gate fails

    Model is not registered or promoted; run is marked failed with the diff.

  • Missing data snapshot

    Run refuses to start rather than training on an unpinned dataset.

What's next

  • Implement the run-spec schema and a minimal single-node path first.
  • Add distributed checkpoint/resume, then the eval gate.