Skip to main content

What Whitney runs

Whitney exposes provider-neutral training primitives rather than a managed recipe endpoint. Your application owns datasets, batching, reward functions, advantage construction, loss construction, evaluation, and the decision to advance the optimizer. Whitney owns authentication, provider provisioning, operation sequencing, leases, checkpoint references, sampler synchronization, usage reconciliation, artifact signing, and cleanup. There is no managed job submit route, hosted evaluator, dataset upload product, or inference API. Implement evaluation in your own stack using Whitney sampling primitives. See Evaluation.

Optimizer contract

Optimizer steps use explicit AdamW fields in the JSON control plane:
Do not depend on provider defaults. Set every field you care about in caller code.

Checkpoints and artifacts

  • Only LoRA tuning is admitted by current capability rows.
  • A resume checkpoint is provider-bound and model-bound. Resume creates a new session and run rather than reattaching a live provider client.
  • save_state, save_weights_for_sampler, and export_lora are distinct operations with different purposes.
  • Full-weight export and cross-provider checkpoint portability are not part of the current contract.
LoRA is the default export. With a customer Hugging Face write token, Whitney can push an adapter to your repository. Without one, retrieve a signed download URL.

Sampling and cost

The first sampler sync or sample on Modal may provision a separate sampler GPU and can be cold. Tinker routes sampling through its provider fleet. Shared Modal volume storage cost cannot be attributed to one run and is reported as unavailable accounting data, never as zero. Tinker provider billing may settle after primitive completion. Provisional usage remains visible until completed-hour reports arrive. Use GET /v1/training/sessions/{session_id}/cost for pending, settled, or unavailable — Whitney does not fabricate a settled dollar amount.

Failure and recovery

Treat provider-terminal operation failures as terminal. Cancel the run, close the session, and create a new session and run from a durable checkpoint when the error permits recovery. Provider-independent wall-clock, idle, startup, and stuck-operation limits remain active even when a session has no dollar ceiling.