Skip to main content
Glama

start fine tuning bakeoff

start_fine_tuning_bakeoff

Start a bake-off to prove a fine-tuned model beats its base model on a held-out split via perplexity and optional judged win-rate, no deployment needed. Billable GPU work begins.

Instructions

Start a held-out bake-off that proves a succeeded supervised fine-tune against its base model (teacher-forced NLL/perplexity wins, optionally a judged win-rate) on an ephemeral GPU box — quality proof without deploying the model. POST /v1/fine_tuning/jobs/{id}/bakeoff (API-key scope: platform:write). SPENDS MONEY: this starts billable work on the workspace wallet. Returns: 202 {trigger_run_id} — the comparison is queued; poll GET /v1/fine_tuning/jobs/{id}/bakeoff for status and verdict. Notes: MONEY: metered GPU-box minutes (plus judge calls) bill to the wallet under the bakeoff:: ledger prefix; a wallet HOLD for the whole cost ceiling (max 3 hours × up to 2 GPUs at the reference GPU rate, with markup) is placed before starting — 402 ("…Top up and try again.") if the wallet cannot hold it; only metered minutes are actually billed and the hold is released at the end. Requires OWNER/ADMIN minting user (403). Rate limited per workspace: 20 starts per 60s → 429. 404 "Run not found". 400 for: a spec-draft job, a job not SUCCEEDED, no held-out split ("A comparison needs a held-out split the model didn't train on — this run has none."), a comparison already queued/running, comparison compute or orchestration not configured on the platform, a base model whose parameter count can't be parsed from its name, or a base model over 75B parameters. Invalid JSON body → 400. Feature-flag gated (404 when fineTuning is off). Scopes not enforced on this route today.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe fine-tuning job id (must be method "supervised", status SUCCEEDED, and have a validation/held-out split).
judge_criterion_idNoOptional id of a calibrated (aligned, request-unit) workspace criterion; adds a judged pass-rate comparison (base vs tuned, up to 100 generated answers per side) next to the objective NLL signal. Must be a string if present (400 otherwise). The body may be empty.
Install Server

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Extensive disclosure far beyond annotations: billable wallet spend with a pre-placed cost-ceiling hold, 402 if the hold fails, OWNER/ADMIN requirement (403), rate limiting (429), a thorough 400 taxonomy, feature-flag gating, scopes-not-enforced, and the 202 queued-run lifecycle with polling follow-up. Annotations (readOnlyHint=false, idempotentHint=false) are consistent with this mutating, non-idempotent, non-destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but well-ordered: purpose front-loaded, then HTTP shape, then the money warning, then auth/rate/error conditions. The length is justified for a spend-incurring operation with complex failure modes, though the cost warning appears twice ('SPENDS MONEY' and the Notes ledger/hold detail), creating minor redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and delivers: 202 {trigger_run_id}, queued status, and polling guidance. Combined with the full error taxonomy, auth requirement, rate limit, and cost-ceiling hold behavior, an agent has everything needed to decide, call, and follow up correctly. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents id and judge_criterion_id, including the judged pass-rate comparison details. The description adds only summary-level phrasing ('optionally a judged win-rate') and does not meaningfully extend what the schema provides, matching the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (start), resource (held-out bake-off), and scope (proves a succeeded supervised fine-tune against its base model via NLL/perplexity and optionally a judged win-rate on an ephemeral GPU box). This distinguishes it from siblings like get_fine_tuning_bakeoff (which polls status) and create_fine_tuning_job (which creates the job being baked off).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context for when to use it: proving a SUCCEEDED supervised fine-tune on a held-out split without deploying the model, with explicit preconditions and a detailed 400-condition list. It routes the agent to the GET bakeoff endpoint for status/verdict, but never explicitly names get_fine_tuning_bakeoff as the sibling alternative, so differentiation is implicit rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/omnia-v/errorbar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server