mcpField
T
tinker-training-cost

tinker-training-cost

github.com/sundial-orgData & databases15361 installsUpdated 15w ago
Repository

About tinker-training-cost

tinker-training-cost is a command-line calculator that estimates Tinker fine-tuning costs from a JSONL dataset. It tokenizes supported chat, text, and instruction formats with the selected model's tokenizer, then applies the listed training prices.

Key features

  1. 01Tokenize JSONL datasets
  2. 02Support chat, text, and instruction records
  3. 03Use model-specific tokenizers
  4. 04Estimate costs by epochs and training rates
  5. 05List available models and prices

Use cases

  1. 01Estimate costs before a Tinker fine-tuning job
  2. 02Compare dataset costs across supported models
  3. 03Calculate token counts for training data

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sundial-org/skills --skill tinker-training-cost

After installing, type/tinker-training-costin Claude Code to confirm it loaded.

Bundled filesscripts/calculate_cost.py

Details

From the project README

Tinker Training Cost Calculator

Calculate training costs for Tinker fine-tuning jobs by tokenizing your dataset with the correct model tokenizer and applying current pricing.

Quick Start

Use the bundled script to calculate training costs:

# List available models and pricing
python scripts/calculate_cost.py --list-models

# Calculate cost for a JSONL dataset (model matches on unambiguous fragment)
python scripts/calculate_cost.py training_data.jsonl --model Qwen3-8B --epochs 3

# Output as JSON
python scripts/calculate_cost.py training_data.jsonl --model Inkling --json

The script:

  1. Loads the correct tokenizer for the selected model (via tinker-cookbook if installed, else transformers)
  2. Counts tokens in your JSONL file (supports chat, text, and instruction formats)
  3. Calculates the estimated training cost

Cost Formula

Training Cost = (total_tokens × epochs × train_price_per_million) / 1_000_000

Tinker Pricing

Prices effective July 17, 2026 (prefill/sample rose ~50%, train ~10% on that date) Source: https://tinker-docs.thinkingmachines.ai/tinker/models/

All prices in USD per million tokens. Prefill = input context (inference), Sample = output tokens (inference), Train = training tokens. Cached prefill tokens get an 80% discount. :peft:<context> = extended-context variant.

ModelPrefillSampleTrain
thinkingmachines/Inkling*$1.87$4.68$5.61
thinkingmachines/Inkling:peft:262144*$3.74$9.36$11.23
nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16*$2.49$6.225$5.478
nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16:peft:262144*$3.32$8.30$9.96
nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16*$0.57$1.44$1.276
nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16:peft:262144*$0.76$1.92$2.32
nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16*$0.195$0.495$0.44
moonshotai/Kimi-K2.6$2.205$5.49$4.84
moonshotai/Kimi-K2.6:peft:131072$5.15$12.81$15.40
Qwen/Qwen3.6-35B-A3B$0.54$1.335$1.177
Qwen/Qwen3.6-27B$1.86$5.595$4.103
Qwen/Qwen3.5-397B-A17B$3.00$7.50$6.60
Qwen/Qwen3.5-397B-A17B:peft:262144$4.00$10.00$12.00
Qwen/Qwen3.5-35B-A3B-Base$0.54$1.335$1.177
Qwen/Qwen3.5-9B (+ -Base)$0.66$1.995$1.463
Qwen/Qwen3.5-4B$0.33$1.005$0.737
Qwen/Qwen3-8B$0.195$0.60$0.44
openai/gpt-oss-120b$0.33$0.84$0.737
openai/gpt-oss-120b:peft:131072$0.78$1.94$2.33
openai/gpt-oss-20b$0.18$0.45$0.396
deepseek-ai/DeepSeek-V3.1$1.695$4.215$3.718

* Inkling and Nemotron prices reflect a limited-time 50% discount.

Checkpoint storage: $0.10 per GB per month.


Tokenization

Every model's tokenizer resolves from its Tinker model ID (verified for all models above):

from tinker_cookbook.tokenizer_utils import get_tokenizer  # preferred
tokenizer = get_tokenizer("Qwen/Qwen3-8B")

# Or with plain transformers (same IDs, minus any :peft: suffix)
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B", trust_remote_code=True)

token_count = len(tokenizer.encode("Your training text here"))
Supported JSONL Formats

Chat format (recommended):

{"messages": [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}

Text format:

{"text": "Your training text here"}

Instruction format (Alpaca-style):

{"instruction": "...", "input": "...", "output": "..."}

Quick Cost Examples

Example 1: Qwen3-8B on 1M tokens, 3 epochs
Training tokens: 1,000,000 × 3 = 3,000,000
Cost: 3.0M × $0.44/M = $1.32
Example 2: Qwen3.6-35B-A3B on 5M tokens, 2 epochs
Training tokens: 5,000,000 × 2 = 10,000,000
Cost: 10.0M × $1.177/M = $11.77
Example 3: Inkling on 2M tokens, 4 epochs
Training tokens: 2,000,000 × 4 = 8,000,000
Cost: 8.0M × $5.61/M = $44.88

Important Notes

  1. LoRA Fine-Tuning: Tinker uses Low-Rank Adaptation (LoRA), not full fine-tuning
  2. Token Counting: Always use the model's native tokenizer - different tokenizers produce different counts for the same text
  3. RL costs more than the train rate alone: rollouts are billed at sample/prefill rates on top of training tokens
  4. Multimodal inputs (Inkling images/audio) add tokens beyond text tokenization

Comments

Markdown supported