Open source
Tuned Tensor Local: the whole loop, open source, on your machine
tt-local command is deprecated. Install @tuned-tensor/cli and use tt local. Existing projects still work. 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 @tuned-tensor/cli
tt local init --name "Support Bot" --model Qwen/Qwen3.5-2B --profile spark
# Edit tunedtensor.json, then:
tt local doctor tunedtensor.json
tt local validate tunedtensor.json
tt local run tunedtensor.jsonLocal training needs Node 22+, uv, and an NVIDIA GPU. After the run, inspect the report and verify the model:
tt local runs report <run-id>
tt local models verify local-<run-id>
tt local 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.
Current support
The supported local path is text SFT of Qwen/Qwen3.5-2B with LoRA on CUDA. Other models and training methods are not currently supported.
Local or hosted?
Both read the same tunedtensor.json behaviour spec, so a spec written for one runs on the other. Use the hosted platform when you want managed GPUs, labeling, model lineage, and auto-tune. Use tt local when you have your own hardware and want every artifact on your own disk.
The main CLI code is on github.com/tunedtensor/tuned-tensor-cli under Apache-2.0. Issues and pull requests welcome.