Open source
Tuned Tensor Local: the whole loop, open source, on your machine
Results and launch details reflect the date of this post. Command examples use the current TT CLI; see the CLI guide for local and cloud workflows.
tt-local tool has been replaced by tt, the unified local agent and CLI. Install @tuned-tensor/cli and use the commands below. Local workflows need no Tuned Tensor access token. See the current local training guide.License
Apache-2.0
Cloud required
None
Training
Your GPU
The whole loop on your machine
The local workflow runs fine-tuning jobs on a machine you control. It is part of the main tt CLI, which is free, Apache-2.0 licensed, and published on npm as @tuned-tensor/cli, with the source on GitHub.
It needs no hosted account, no Docker, and no managed database. Specs, datasets, model artifacts, progress, and reports stay on local disk.
01 · Spec
Read the behaviour spec from tunedtensor.json.
02 · Compile
Turn spec examples into a training dataset.
03 · Baseline
Evaluate the original Hugging Face base model.
04 · Fine-tune
Train locally with uv, Transformers, and PEFT.
05 · Evaluate
Score the tuned artifact on held-out examples.
06 · Report
Write a baseline-vs-tuned comparison to run-report.json.
Getting started
Install the CLI and create a local project:
npm install -g --ignore-scripts @tuned-tensor/cli
tt init --name "Support Bot" --model Qwen/Qwen3.5-2B --profile spark
# Edit tunedtensor.json, then:
tt doctor tunedtensor.json
tt validate tunedtensor.json
tt pipeline run --spec tunedtensor.jsonLocal training needs Node.js 22.19+, uv, and a supported NVIDIA CUDA host. After the run, inspect the report and verify the model:
tt runs report <run-id>
tt models verify local-<run-id>
tt models serve local-<run-id> --spec tunedtensor.jsonSee the local training guide for the supported model, configuration, evaluation, and serving options.
Scoring without a cloud
Evaluation runs locally against the base model and the tuned artifact. Use exact match for text outputs or per-field scoring for JSON outputs.
{
"evaluation": {
"scoring": {
"mode": "json_fields",
"fields": ["triage", "priority", "should_process"]
}
}
}json_fields reports per-field accuracy, valid-JSON rate, and schema match rate. For the structured-output tasks Tuned Tensor targets, that is usually the right mode: a run that gets the schema right but one field wrong scores very differently from one that stops emitting JSON.
Support at launch
At launch, the supported local path was text SFT of Qwen/Qwen3.5-2B with LoRA on CUDA. See the current model recommendations for the supported models and hardware today.
One TT interface for local and cloud work
Use tt for local training on your hardware, or tt cloud for cloud runs, labeling, and model management. Keep your behaviour spec in tunedtensor.json and select the models and options supported by the execution mode. The web dashboard displays cloud progress, metrics, and results.
Local commands need no Tuned Tensor token. Save one optional access token with tt auth login for both cloud access and the managed agent model through Tuned Tensor's OpenRouter proxy. To use your own OpenRouter account and model, use /login openrouter and /model openrouter/<model-id> in TT. Agent provider and execution location are independent choices.
The main CLI code is on github.com/tunedtensor/tuned-tensor-cli under Apache-2.0. Issues and pull requests welcome.