Tuned Tensor

Quickstart

Fine-tune a small open model on a compatible NVIDIA GPU and see whether it beat the baseline. No Tuned Tensor account.

Prerequisites

  • Node.js 22.19 or newer
  • uv
  • A Linux host with a compatible NVIDIA GPU
curl -fsSL https://tunedtensor.com/install.sh | sh
tt --version

Or npm install -g --ignore-scripts @tuned-tensor/cli. See the TT CLI docs for uninstall and source installs.

The CLI is Apache-2.0 — github.com/tunedtensor/tuned-tensor-cli. See the TT CLI reference for every command.

Step 1: Create a behaviour spec

Scaffold a project. This writes tunedtensor.json and local-runner.json:

mkdir support-adapter && cd support-adapter
tt init \
  --name "Support Adapter" \
  --model Qwen/Qwen3.5-2B \
  --profile spark

Replace both placeholder examples with different, representative input/output pairs. See the spec file guide for fields.

{
  "name": "Support Adapter",
  "description": "Handles billing, account, and technical support questions",
  "base_model": "Qwen/Qwen3.5-2B",
  "system_prompt": "You are a helpful customer support agent for Acme SaaS...",
  "guidelines": [
    "Keep responses under 150 words",
    "Always acknowledge the user concern before providing a solution"
  ],
  "constraints": [
    "Never promise refunds without directing to the refund policy",
    "Do not invent pricing"
  ],
  "examples": [
    {
      "input": "How do I cancel my subscription?",
      "output": "I understand you would like to cancel. Go to Settings > Billing > Cancel Plan."
    },
    {
      "input": "I was charged twice this month",
      "output": "I am sorry about the double charge. Please contact billing@acme.com."
    }
  ]
}

Step 2: Preflight and run

tt doctor tunedtensor.json
tt validate tunedtensor.json
tt models prefetch tunedtensor.json
tt run tunedtensor.json

Commands discover local-runner.json beside the spec. Use --config /path/to/local-runner.json to select another configuration. The run evaluates the baseline, trains a LoRA adapter, then evaluates the tuned model on the same cases.

Step 3: Inspect the report

tt runs list
tt runs report <run-id>

The report compares aggregate pass rate and score, then lists per-example improvements and regressions. It is evidence on those cases, not a guarantee of production improvement.

Step 4: Verify and serve

tt models verify local-<run-id>
tt models serve local-<run-id> --config local-runner.json

Activation is optional and requires a passing generalRegression gate; without that suite, tt models activate fails closed. tt serve active also fails if nothing is activated — it does not silently serve the protected base model. Pass --spec tunedtensor.json when the server should enforce the spec instructions.

Optional: ask the local agent

The /login flow currently requires the published 0.13.1-beta.1 CLI. Opt in with curl -fsSL https://tunedtensor.com/install.sh | TT_VERSION=beta sh. Then open the shell, save a provider key, pick a model, and ask about the run:

tt
› /login openai
› /model openai/gpt-5.6-sol
› What happened in my latest training run?

See Agent for /login, /model, /approve, and the coding-agent skill.

Next steps