fine-tuning, delivered as files

Your JSONL in. A fine-tuned GGUF out.

Upload a file of chat examples. We fine-tune an open model on an RTX 4090 and send back GGUFs that run in Ollama, LM Studio or llama.cpp. From $5.

See a real report, from a 120-line test dataset on Qwen3 8B.

What arrives, for Qwen3 8B
FileSizeOpens in
qwen3-8b-q4_k_m.ggufabout 5 GBOllama, llama.cpp, LM Studio
qwen3-8b-q8_0.ggufabout 9 GBsame, higher precision
Modelfiletextollama create
adapter.zip40 to 200 MBLoRA adapter, for your own merge
report.htmltextyour browser
metrics.jsontextthe report, as JSON
Usually the same dayfrom $5e-mail + panel

What you get

Six files in the panel, plus an e-mail. We delete the dataset and the files 14 days after delivery.

Open a real report.html

FileWhat it is
<model>-<job>-q4_k_m.ggufThe tuned model, 4-bit. About 5 GB for an 8B model. Opens in Ollama, llama.cpp or LM Studio.
<model>-<job>-q8_0.ggufThe same model, 8-bit. About 9 GB for 8B. Closer to full precision.
ModelfilePoints Ollama at the GGUF and carries your system prompt. ollama create mine -f Modelfile, then ollama run mine.
adapter.zipThe LoRA adapter, 40 to 200 MB, if you want to merge it into the base weights yourself.
report.htmlValidation loss before and after, a loss curve, and up to 20 held-out prompts answered by the base model and by yours, side by side.
metrics.jsonThe same numbers, as JSON.

How it works

You upload a file, pick a model, and pay. Hyperparameters are fixed.

  1. Upload your JSONL

    Up to 200 MB, one JSON object per line. The browser counts tokens, names the package, and checks every line before anything is sent, reporting up to 10 bad lines by number.

  2. Pick a model and 1 to 3 epochs

    The models table shows what is available today. Sequence length is 2048, or 1024 for Qwen3 32B.

  3. Pay by card

    A Stripe checkout. The button names the package and the price in USD, VAT included, and you get an invoice. The price is fixed before payment.

  4. The GPU checks the file again

    If a line fails, the job page lets you fix the file and upload it again once, free, on the same package. A bigger package needs a new job.

  5. Training runs on an RTX 4090

    The panel shows the phase, the step count, the loss and the time of the last update, refreshed every 30 seconds. 5% of your examples, at most 500, are held out for validation.

  6. Files by e-mail and in the panel

    Most jobs come back the same day. Package S takes a few hours, M about a day, L two to three days. Download links need your sign-in, and we delete the dataset and the files 14 days after delivery.

Models

Open models from 8B to 32B. Qwen3 8B is the default, Bielik is the Polish pick, Qwen3 32B is the large tier. A model we paused today says so in the last column.

ModelParametersLanguagesLicencePriceNote
Qwen3 8B
Qwen/Qwen3-8B
8.2 BEnglish, Polish, multilingualApache 2.0baseDefault pick. Strong general model, 119 languages.
Qwen3 14B
Qwen/Qwen3-14B
14.8 BEnglish, Polish, multilingualApache 2.0baseBetter quality than 8B, fits 4090 in 4-bit at seq 2048.
Bielik 11B v3 Instruct
speakleash/Bielik-11B-v3.0-Instruct
11 BPolishApache 2.0baseBest open Polish model (SpeakLeash).
Llama 3.1 8B Instruct
meta-llama/Llama-3.1-8B-Instruct
8 BEnglish, multilingualLlama 3.1 Community LicensebaseDerivatives must carry 'Built with Llama'. Gated on Hugging Face.
Mistral Nemo 12B Instruct
mistralai/Mistral-Nemo-Instruct-2407
12.2 BEnglish, multilingualApache 2.0base128k context, good for long documents. Gated on Hugging Face.
Gemma 3 12B IT
google/gemma-3-12b-it
12.2 BEnglish, multilingualGemma Terms of UsebaseText only in our pipeline. Gated on Hugging Face.
Qwen3 32B
Qwen/Qwen3-32B
32.8 BEnglish, Polish, multilingualApache 2.0x2.5Large tier, x2.5 price. Runs on 4090 in 4-bit at seq 1024.

Pricing

Training tokens are the tokens in your dataset times the number of epochs, 1 to 3. Three packages.

One price per package. The estimate below names yours before you pay.
PackageTraining tokensTurnaroundPrice
Package Sup to 20Ma few hours$5
Package Mup to 100Mabout a day$13
Package Lup to 500M2 to 3 days$39

Qwen3 32B multiplies the price by 2.5. Secure cloud, a datacenter GPU instead of community hosts, adds 50%. Keep the GPU in the EU is a Secure option at the same price, and files are stored in the EU.

Estimate your package

Choose a file or drop it hereStays in your browser. Up to 200 MB.
One example per line, as in the file.
Epochs
Training tokens = dataset tokens x epochs.
Worked example, replaced by your numbers when you choose a file or paste a sample
A 12.4 MB file is about 3.4M dataset tokens. At 2 epochs that is 6.9M training tokens.
Package S, $5
Estimated from size (bytes / 3.6). The exact count runs in the panel after upload, before you pay.

Questions we get

What does the JSONL need to contain?

One JSON object per line, up to 200 MB. Use {"messages":[...]}, {"prompt","completion"} or {"instruction","input","output"}. The browser checks every line before upload and reports up to 10 bad lines by number.

What if the GPU rejects my file?

The job page names the line. Fix the file and upload it again once, free, on the same package. If the corrected file needs a bigger package, start a new job.

Do I choose hyperparameters?

No, every job runs QLoRA with LoRA rank 16, alpha 32, dropout 0, learning rate 0.0002, batch size 8, warmup 3%, and a checkpoint every 200 steps. Sequence length is 2048, or 1024 for Qwen3 32B. 5% of the examples, at most 500, are held out for validation.

What if my dataset needs more tokens than the package covers?

The estimate names the package before you pay, and that price is fixed. Above package L, 500M training tokens, the form will not take payment. If the GPU counts more tokens than the package covers, the job stops with both numbers and you upload a shorter file once, free.

Where does training run, and who can see my data?

Files sit in Cloudflare R2 with EU jurisdiction. Community GPUs are RunPod community hosts, so no personal data there. Secure is a datacenter GPU in the EU or US at +50%, with a processing agreement in the terms, and Keep the GPU in the EU costs the same.

What if no GPU is found?

If no GPU is found within 24 hours of payment, the job fails and we e-mail you. A refund is paid on request.

How do I run the result?

Nothing to unzip for Ollama: ollama create mine -f Modelfile, then ollama run mine. llama.cpp and LM Studio open the GGUF directly. The adapter is there if you prefer to merge it yourself.

Which quantizations do I get?

q4_k_m and q8_0, both included in every job, plus the unquantized LoRA adapter.

Can I run the same dataset again with another model or more epochs?

Yes. Start a new job and pay the listed price. There is no half-price rerun.

How do I sign in?

With a link sent to your e-mail. There is no password. Download links work only while you are signed in.