Skip to content

Block reference

Every block you can place on the canvas (29 in registry version 1.0.0), with its inputs, outputs, settings, presets and the API keys it needs.

Note

Generated from the block registry by documentation/scripts/gen_reference.py — don't edit by hand. To change this page, change tuneline/registry.py or tuneline/templates.py, regenerate web/src/generated/*.json, then run the script again.

How to read this page

  • Type is the id used in pipeline YAML (type: train.sft) and in run specs; version is the block's version, which is part of the cache key.
  • Runtime says what the block needs: cpu, gpu or network (internet only). A pipeline needs a GPU when any of its blocks has runtime gpu, unless you choose a CPU-only run for a tiny model.
  • Cached blocks can be skipped on a later run when the same inputs and settings were already computed (see Running pipelines). Blocks that always run act on the outside world (publish, deploy, gate).
  • Inputs marked required must be linked before the pipeline can run; each input accepts one link. The types link to Artifact types.
  • Settings are grouped as in the inspector. Shown when is the condition under which the inspector shows a setting (and the validator checks it); hidden settings keep their default. Setting keys are what you write under with: in pipeline YAML and in tuneline run-local --set NODE.KEY=VALUE.
  • API keys are saved under Settings → API keys (see API keys and security). Required keys block the run until they are saved; optional keys are used when present.

Setting kinds:

Kind Meaning
text One line of text.
textarea Several lines of text (templates, prompts).
number A decimal number.
integer A whole number.
select One value from a fixed list of choices.
multiselect Any number of values from a fixed list (a list in YAML).
boolean On or off (true / false).
model A Hugging Face model id such as Qwen/Qwen3-4B-Instruct-2507, picked with the model picker.
dataset_version The id of one of your dataset versions (Datasets page).
eval_set The id of one of your golden sets (Playground).
model_version The id of a model version in your Registry.
rules Quality-gate rules, one per line, such as label_accuracy >= 0.9.
json A JSON value.

Text settings can contain {pipeline} (the pipeline's slug), {run} (the run number) and {app_url} (the app's address); the runner fills them in.

Contents

Category Block Type Takes Gives Runtime
Data Load dataset data.load — Dataset network
Data Clean and dedupe data.clean ChatDataset, Dataset, PreferenceDataset, VisionDataset ChatDataset, Dataset, PreferenceDataset, VisionDataset cpu
Data Format as chat data.to_chat Dataset ChatDataset cpu
Data Format as preference pairs data.to_preference Dataset PreferenceDataset cpu
Data Format as vision chat data.to_vision Dataset VisionDataset network
Data Train / validation / test split data.split ChatDataset, Dataset, PreferenceDataset, VisionDataset ChatDataset, Dataset, PreferenceDataset, VisionDataset cpu
Data Merge datasets data.merge ChatDataset, Dataset, PreferenceDataset, VisionDataset ChatDataset, Dataset, PreferenceDataset, VisionDataset cpu
Data Generate synthetic data data.synthetic ChatDataset, Dataset ChatDataset network
Data Image data (folder) data.images — ImageData cpu
Model Base model model.base — Model network
Model Registered model model.registry — Model network
Train Fine-tune (SFT) train.sft ChatDataset, Model Model gpu
Train Preference tuning (DPO / ORPO / KTO) train.preference Model, PreferenceDataset Model gpu
Train Vision fine-tune (SFT) train.vision_sft Model, VisionDataset Model gpu
Train Reinforcement tuning (GRPO) train.grpo ChatDataset, Model Model gpu
Train Train a segmenter (U-Net) train.segmenter ImageData EvalReport, VisionNet gpu
Train Train a text reader (CRNN) train.text_reader ImageData EvalReport, VisionNet gpu
Train Train an image embedder (similarity) train.embedder ImageData EvalReport, VisionNet gpu
Evaluate Evaluate on test set eval.golden ChatDataset, Model, VisionDataset EvalReport gpu
Evaluate Benchmarks (lm-eval) eval.benchmarks Model EvalReport gpu
Evaluate Prompt-injection test eval.redteam ChatDataset, Model EvalReport gpu
Evaluate Quality gate eval.gate EvalReport, Model, VisionNet Model, VisionNet cpu
Export Merge adapter export.merge Model Model gpu
Export Export GGUF export.gguf Model GGUF cpu
Export Publish and register export.hub EvalReport, Model Model network
Export Export to ONNX export.onnx VisionNet VisionNet cpu
Deploy Deploy endpoint deploy.endpoint Model Endpoint network
Deploy Ollama package deploy.ollama GGUF Endpoint cpu
Deploy Endpoint smoke test deploy.smoke_test Endpoint EvalReport network

Data

Load dataset

Type data.load · version 1.0 · runtime: network (needs internet access only) · results are cached

Reads rows from an uploaded file, the Hugging Face Hub, a URL or one of your golden sets.

Inputs

None: this block starts a branch of the pipeline.

Outputs

Output Label Type
data Rows Dataset

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
source Source (required) select upload upload (Uploaded file)
hf (Hugging Face dataset)
url (URL (CSV, JSONL, JSON, Parquet or ZIP))
eval_set (Golden set)
Always —
dataset_version_id Dataset (required) dataset_version — — source is upload —
hf_repo Dataset repository (required) text (empty) — source is hf Example: HuggingFaceH4/no_robots
hf_config Config / subset text (empty) — source is hf —
hf_split Split text train — source is hf —
url File URL (required) text (empty) — source is url —
eval_set_id Golden set (required) eval_set — — source is eval_set —

Advanced

Setting Label Kind Default Choices / range Shown when Help
hf_revision Revision text (empty) — source is hf Pin a commit for reproducible runs.
file_format File format select auto auto
jsonl
json
csv
parquet
zip
Always —
max_rows Max rows (0 = all) integer 0 0 to 100000000 Always —
shuffle_seed Shuffle before max rows (-1 = no shuffle) integer -1 -1 to 2147483647 Always —

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) optional When source is hf Private or gated Hugging Face datasets

Clean and dedupe

Type data.clean · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Drops empty and duplicate rows, filters by length and redacts personal data such as emails, phone numbers, IBANs and card numbers.

Inputs

Input Label Accepts Link
data Rows Dataset, ChatDataset, PreferenceDataset, VisionDataset required

Outputs

Output Label Type
data Clean rows Same type as the input data (one of Dataset, ChatDataset, PreferenceDataset, VisionDataset)

Settings

Setting Label Kind Default Choices / range Shown when Help
drop_empty Drop empty rows boolean true — Always —
dedupe Remove duplicates select exact none (Keep duplicates)
exact (Exact duplicates)
Always —
dedupe_on Compare columns (blank = all) text (empty) — Always Example: prompt,response
min_chars Min characters per row (0 = off) integer 0 0 to 10000000 Always —
max_chars Max characters per row (0 = off) integer 0 0 to 100000000 Always —
pii_redact Redact personal data boolean false — Always —
pii_types What to redact multiselect ["email", "phone", "iban", "card", "ip"] email
phone
iban
card
ip
ssn
url
pii_redact is true —
text_columns Columns to redact (blank = all text) text (empty) — pii_redact is true —

API keys

None.

Format as chat

Type data.to_chat · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Turns rows into chat examples. Detects messages, ShareGPT, Alpaca and prompt/completion formats, or builds prompts from your own columns with templates.

Inputs

Input Label Accepts Link
data Rows Dataset required

Outputs

Output Label Type
data Chat rows ChatDataset

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
input_format Input format select auto auto (Detect automatically)
messages (OpenAI messages)
sharegpt (ShareGPT (conversations: from/value))
alpaca (Alpaca (instruction/input/output))
prompt_completion (Prompt and completion columns)
columns (Build from columns with templates)
text (Plain text (continued pretraining))
Always —
messages_column Messages column text messages — input_format is messages or sharegpt —
prompt_column Prompt column text prompt — input_format is prompt_completion —
completion_column Completion column text completion — input_format is prompt_completion —
prompt_template User message template textarea {input} — input_format is columns Python format string over the row's columns, e.g. 'Alert: {alert_text}\nCustomer: {customer}'.
response_template Assistant message template textarea {output} — input_format is columns —
text_column Text column text text — input_format is text —
system_prompt System prompt (optional) textarea (empty) — Always Added to every example that has no system message.

Advanced

Setting Label Kind Default Choices / range Shown when Help
output_style Output style select messages messages (Chat messages)
prompt_completion (Prompt / completion)
Always —
keep_columns Keep extra columns (comma separated) text (empty) — Always For example a label column used later by evaluation.

Choices for output_style:

  • messages — Chat messages: Uses the model's chat template (recommended).
  • prompt_completion — Prompt / completion

API keys

None.

Format as preference pairs

Type data.to_preference · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Builds preference data: a prompt with a chosen and a rejected answer (DPO, ORPO, SimPO) or prompt, completion and a good/bad label (KTO).

Inputs

Input Label Accepts Link
data Rows Dataset required

Outputs

Output Label Type
data Preference rows PreferenceDataset

Settings

Setting Label Kind Default Choices / range Shown when Help
input_format Input format select auto auto (Detect automatically)
paired (prompt / chosen / rejected)
unpaired (prompt / completion / label (KTO))
Always —
prompt_column Prompt column text prompt — Always —
chosen_column Chosen column text chosen — input_format is auto or paired —
rejected_column Rejected column text rejected — input_format is auto or paired —
completion_column Completion column text completion — input_format is unpaired —
label_column Label column (true = good) text label — input_format is unpaired —
system_prompt System prompt (optional) textarea (empty) — Always —

API keys

None.

Format as vision chat

Type data.to_vision · version 1.0 · runtime: network (needs internet access only) · results are cached

Builds image + text chat examples for vision-language models. Images can be Hub image columns, URLs, or files inside an uploaded ZIP.

Inputs

Input Label Accepts Link
data Rows Dataset required

Outputs

Output Label Type
data Vision rows VisionDataset

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
input_format Input format select auto auto (Detect automatically)
messages (Messages with image parts)
columns (Image column + templates)
Always —
image_column Image column text image — Always A Hub image feature, an http(s) URL, or a file name inside the uploaded ZIP.
prompt_template User message template textarea {question} — input_format is columns —
response_template Assistant message template textarea {answer} — input_format is columns —
system_prompt System prompt (optional) textarea (empty) — Always —

Advanced

Setting Label Kind Default Choices / range Shown when Help
max_image_size Resize longest side to (px, 0 = keep) integer 1024 0 to 8192 Always —

API keys

None.

Train / validation / test split

Type data.split · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Splits rows into training, validation and test sets, optionally stratified by a label column.

Inputs

Input Label Accepts Link
data Rows Dataset, ChatDataset, PreferenceDataset, VisionDataset required

Outputs

Output Label Type
train Train Same type as the input data (one of Dataset, ChatDataset, PreferenceDataset, VisionDataset)
validation Validation Same type as the input data (one of Dataset, ChatDataset, PreferenceDataset, VisionDataset)
test Test Same type as the input data (one of Dataset, ChatDataset, PreferenceDataset, VisionDataset)

Settings

Setting Label Kind Default Choices / range Shown when Help
test_size Test share number 0.1 0 to 0.9, step 0.01 Always —
validation_size Validation share number 0.05 0 to 0.9, step 0.01 Always 0 leaves the validation output empty.
stratify_column Stratify by column (optional) text (empty) — Always —
seed Seed integer 42 0 to 2147483647 Always —

API keys

None.

Merge datasets

Type data.merge · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Concatenates two datasets of the same type, for example real and synthetic examples.

Inputs

Input Label Accepts Link
a First Dataset, ChatDataset, PreferenceDataset, VisionDataset required
b Second Dataset, ChatDataset, PreferenceDataset, VisionDataset required

Outputs

Output Label Type
data Merged Same type as the input a (one of Dataset, ChatDataset, PreferenceDataset, VisionDataset)

Settings

Setting Label Kind Default Choices / range Shown when Help
shuffle Shuffle after merging boolean true — Always —
seed Seed integer 42 0 to 2147483647 shuffle is true —

API keys

None.

Generate synthetic data

Type data.synthetic · version 1.0 · runtime: network (needs internet access only) · results are cached

Asks a strong model to write new training examples from your instructions and optional seed examples. Uses Hugging Face Inference Providers or any OpenAI-compatible API.

Inputs

Input Label Accepts Link
seed Seed examples Dataset, ChatDataset optional

Outputs

Output Label Type
data Generated chat rows ChatDataset

Settings

Setting Label Kind Default Choices / range Shown when Help
provider Generator API select hf_router hf_router (Hugging Face Inference Providers (uses your HF token))
openai_compatible (OpenAI-compatible API (uses your saved key and base URL))
Always —
model Generator model text Qwen/Qwen3-235B-A22B-Instruct-2507 — Always Any chat model your provider serves.
instructions What to generate (required) textarea Write a realistic user request and an ideal assistant answer for the task described below.\n\nTask: — Always —
num_examples Number of examples integer 100 1 to 20000 Always —
few_shot Seed examples shown per request integer 3 0 to 20 Always —
temperature Temperature number 0.8 0 to 2, step 0.05 Always —
max_tokens Max tokens per example integer 1024 64 to 16384 Always —
concurrency Parallel requests integer 4 1 to 32 Always Not part of the cache key: changing it does not re-run a cached step.
system_prompt System prompt for the trained model (optional) textarea (empty) — Always —

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) required When provider is hf_router Hugging Face Inference Providers
openai_compat_key API key for an OpenAI-compatible endpoint (judge / synthetic data) required When provider is openai_compatible OpenAI-compatible API
openai_compat_base_url Base URL for that OpenAI-compatible endpoint required When provider is openai_compatible OpenAI-compatible API

Image data (folder)

Type data.images · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Points at labelled images in a folder on the computer that runs the job: segmentation arrays (images + per-pixel class maps) or image shards with text and group labels.

Inputs

None: this block starts a branch of the pipeline.

Outputs

Output Label Type
data Image data ImageData

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
path Folder (required) text (empty) — Always Path on the machine that runs the job (inside the container for Docker workers).
Example: /data/images
format Format (required) select image_shards seg_cache (Segmentation arrays)
image_shards (Image shards)
Always —
val_split Validation split name text test — format is seg_cache Images whose meta.json split equals this are used for validation.
val_shards Validation shards (last N files) integer 2 0 to 10000 format is image_shards —

Advanced

Setting Label Kind Default Choices / range Shown when Help
pattern File pattern text *.pkl — format is image_shards —

Choices for format:

  • seg_cache — Segmentation arrays: x.npy images, y.npy class maps, optional m.npy binary masks and meta.json with a split per image.
  • image_shards — Image shards: *.pkl files of rows {png, text?, group?, negative_of?, tag?}.

API keys

None.

Model

Base model

Type model.base · version 1.0 · runtime: network (needs internet access only) · results are cached

Any open-weight model on the Hugging Face Hub that Transformers can load, text or vision. Optionally start from an existing LoRA adapter.

Inputs

None: this block starts a branch of the pipeline.

Outputs

Output Label Type
model Model Model

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
repo_id Model (required) model Qwen/Qwen3-4B-Instruct-2507 — Always Pick from the catalog or paste any Hub repository id.
modality Modality select auto auto (Detect from the model config)
text (Text only)
vision (Vision + text)
Always —

Advanced

Setting Label Kind Default Choices / range Shown when Help
revision Revision text (empty) — Always Branch, tag or commit. Blank = main.
adapter_repo Start from LoRA adapter (optional) text (empty) — Always Example: your-name/previous-adapter
trust_remote_code Trust remote code boolean false — Always Some models ship custom Python code. Only enable for repositories you trust.
attn_implementation Attention implementation select auto auto
sdpa
flash_attention_2
eager
Always Not part of the cache key: changing it does not re-run a cached step.

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) optional Always Gated models such as Llama and Gemma 2/3

Registered model

Type model.registry · version 1.0 · runtime: network (needs internet access only) · results are cached

A model version from your registry, for further training, evaluation or deployment.

Inputs

None: this block starts a branch of the pipeline.

Outputs

Output Label Type
model Model Model

Settings

Setting Label Kind Default Choices / range Shown when Help
model_version_id Model version (required) model_version — — Always —

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) required Always Your registered models live in your Hugging Face account

Train

Fine-tune (SFT)

Type train.sft · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Supervised fine-tuning with TRL: LoRA, QLoRA or full fine-tuning, with checkpoints, early stopping and live loss charts.

Inputs

Input Label Accepts Link
train Training data ChatDataset required
model Base model Model required
eval Validation data ChatDataset optional

Outputs

Output Label Type
model Fine-tuned model Model

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
method Method select qlora qlora (QLoRA (4-bit base + LoRA))
lora (LoRA (16-bit base + LoRA))
full (Full fine-tune)
Always How much of the model is trained.
epochs Epochs number 1 0.1 to 50, step 0.1 Always —
max_steps Max steps (-1 = use epochs) integer -1 -1 to 1000000, step 1 Always Stop after this many optimizer steps. Handy for quick tests.
learning_rate Learning rate number 0.0002 1e-08 to 0.1, step 1e-06 Always —
max_seq_length Max sequence length (tokens) integer 2048 64 to 262144, step 64 Always Longer examples are truncated. Memory grows with this.

LoRA adapter

Setting Label Kind Default Choices / range Shown when Help
lora_r LoRA rank (r) integer 16 1 to 512, step 1 method is lora or qlora Adapter size. 8-32 covers most tasks. vLLM serves ranks up to its --max-lora-rank (default 16).
lora_alpha LoRA alpha integer 32 1 to 1024, step 1 method is lora or qlora Scaling factor. Common choice: 2 x rank.
lora_dropout LoRA dropout number 0.0 0 to 0.5, step 0.01 method is lora or qlora —
target_modules Target layers select all-linear all-linear (All linear layers)
attention (Attention only (q, k, v, o))
custom (Custom list)
method is lora or qlora —
custom_target_modules Custom target modules text (empty) — target_modules is custom Example: q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj
use_dora Use DoRA boolean false — method is lora or qlora Weight-decomposed LoRA. Sometimes better quality, slower.
use_rslora Use rank-stabilized LoRA boolean false — method is lora or qlora Scales by alpha/sqrt(r); helps at high ranks.

Batch and memory

Setting Label Kind Default Choices / range Shown when Help
per_device_train_batch_size Batch size per GPU integer 2 1 to 512, step 1 Always —
gradient_accumulation_steps Gradient accumulation integer 8 1 to 512, step 1 Always Effective batch = batch size x accumulation x GPUs.
gradient_checkpointing Gradient checkpointing boolean true — Always Saves a lot of memory for ~20-30% more time.
completion_only_loss Train on responses only boolean true — Always Ignore the prompt tokens in the loss. Usually better for chat data.

Optimizer

Setting Label Kind Default Choices / range Shown when Help
lr_scheduler_type LR schedule select cosine cosine
linear
constant
constant_with_warmup
Always —
warmup_ratio Warmup ratio number 0.05 0 to 0.5, step 0.01 Always —
weight_decay Weight decay number 0.01 0 to 1, step 0.001 Always —
max_grad_norm Max gradient norm number 1.0 0 to 100, step 0.1 Always —
optim Optimizer select auto auto (Auto)
adamw_torch_fused (AdamW (fused))
adamw_torch (AdamW)
adamw_8bit (AdamW 8-bit)
paged_adamw_8bit (Paged AdamW 8-bit)
adafactor (Adafactor)
Always —
precision Precision select auto auto (Auto)
bf16
fp16
fp32
Always —
seed Seed integer 42 0 to 2147483647, step 1 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
logging_steps Log every N steps integer 5 1 to 10000 Always Not part of the cache key: changing it does not re-run a cached step.
eval_strategy Evaluate during training select epoch no
steps
epoch
Always Only used when the eval input is connected.
eval_steps Eval every N steps integer 100 1 to 1000000 eval_strategy is steps —
save_steps Checkpoint every N steps integer 200 1 to 1000000 Always Checkpoints let a stopped or preempted job resume.
Not part of the cache key: changing it does not re-run a cached step.
early_stopping_patience Early stopping patience (0 = off) integer 0 0 to 100 Always Stop when eval loss fails to improve this many evaluations in a row.
report_to Also log to select none none (Tuneline only)
wandb (Weights & Biases)
Always Not part of the cache key: changing it does not re-run a cached step.

Speed-ups

Setting Label Kind Default Choices / range Shown when Help
use_unsloth Use Unsloth boolean false — Always Faster, lower-memory training on one NVIDIA GPU for supported models. Current Unsloth releases need an older TRL than Tuneline uses, so until Unsloth supports TRL 1 this falls back to standard TRL (logged in the run).
use_liger_kernel Use Liger kernels boolean false — Always Fused kernels that cut memory for supported architectures.
packing Pack short examples boolean false — Always Concatenates examples to fill each sequence. Faster on short data.

Hugging Face Hub

Setting Label Kind Default Choices / range Shown when Help
push_to_hub Push the adapter to Hugging Face boolean true — Always Needed to reuse the result on another machine and to deploy it.
Not part of the cache key: changing it does not re-run a cached step.
hub_repo Repository name text {pipeline}-adapter — push_to_hub is true Created under your Hugging Face account. {pipeline} and {run} are filled in.
Not part of the cache key: changing it does not re-run a cached step.
hub_private Private repository boolean true — push_to_hub is true Not part of the cache key: changing it does not re-run a cached step.

Advanced

Setting Label Kind Default Choices / range Shown when Help
neftune_noise_alpha NEFTune noise (0 = off) number 0.0 0 to 20, step 0.5 Always —

Choices for method:

  • qlora — QLoRA (4-bit base + LoRA): Lowest memory. Good default for 7B+ models on one GPU.
  • lora — LoRA (16-bit base + LoRA): Slightly better quality, about 2-3x the memory of QLoRA.
  • full — Full fine-tune: Updates every weight. Needs ~16-18 bytes per parameter; small models only.

Choices for target_modules:

  • all-linear — All linear layers: Recommended (attention + MLP).
  • attention — Attention only (q, k, v, o)
  • custom — Custom list

Choices for optim:

  • auto — Auto: paged 8-bit AdamW for QLoRA, fused AdamW otherwise
  • adamw_torch_fused — AdamW (fused)
  • adamw_torch — AdamW
  • adamw_8bit — AdamW 8-bit
  • paged_adamw_8bit — Paged AdamW 8-bit
  • adafactor — Adafactor

Choices for precision:

  • auto — Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPU
  • bf16
  • fp16
  • fp32

API keys

Key What it is Need When Why
wandb_api_key Weights & Biases API key required When report_to is wandb Log training to Weights & Biases
hf_token Hugging Face access token (write) required When push_to_hub is true Push the adapter

Presets

Choosing a preset in the inspector replaces these settings; the rest keep their values.

Preset Values
QLoRA quick method = qlora
lora_r = 16
lora_alpha = 32
lora_dropout = 0.0
learning_rate = 0.0002
epochs = 1
per_device_train_batch_size = 2
gradient_accumulation_steps = 8
max_seq_length = 2048
lr_scheduler_type = cosine
warmup_ratio = 0.05
LoRA quality method = lora
lora_r = 32
lora_alpha = 64
lora_dropout = 0.05
learning_rate = 0.0001
epochs = 2
per_device_train_batch_size = 4
gradient_accumulation_steps = 4
max_seq_length = 4096
Full fine-tune (small models) method = full
learning_rate = 1e-05
epochs = 2
per_device_train_batch_size = 4
gradient_accumulation_steps = 4
CPU smoke test method = lora
lora_r = 8
lora_alpha = 16
max_steps = 20
epochs = 1
per_device_train_batch_size = 1
gradient_accumulation_steps = 1
max_seq_length = 256
precision = fp32
gradient_checkpointing = false

Preference tuning (DPO / ORPO / KTO)

Type train.preference · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Aligns a model with preferred answers: DPO, ORPO, SimPO or KTO with TRL. Usually run after SFT.

Inputs

Input Label Accepts Link
train Preference data PreferenceDataset required
model Model Model required
eval Validation data PreferenceDataset optional

Outputs

Output Label Type
model Aligned model Model

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
algorithm Algorithm select dpo dpo (DPO)
orpo (ORPO (no reference model))
simpo (SimPO (reference-free))
kto (KTO (unpaired good/bad labels))
Always —
beta Beta number 0.1 0 to 10, step 0.01 Always Strength of the preference signal.
max_prompt_length Max prompt length (tokens) integer 1024 32 to 131072 Always —
method Method select qlora qlora (QLoRA (4-bit base + LoRA))
lora (LoRA (16-bit base + LoRA))
full (Full fine-tune)
Always How much of the model is trained.
epochs Epochs number 1 0.1 to 50, step 0.1 Always —
max_steps Max steps (-1 = use epochs) integer -1 -1 to 1000000, step 1 Always Stop after this many optimizer steps. Handy for quick tests.
learning_rate Learning rate number 5e-06 1e-08 to 0.1, step 1e-06 Always —
max_seq_length Max sequence length (tokens) integer 2048 64 to 262144, step 64 Always Longer examples are truncated. Memory grows with this.

LoRA adapter

Setting Label Kind Default Choices / range Shown when Help
lora_r LoRA rank (r) integer 16 1 to 512, step 1 method is lora or qlora Adapter size. 8-32 covers most tasks. vLLM serves ranks up to its --max-lora-rank (default 16).
lora_alpha LoRA alpha integer 32 1 to 1024, step 1 method is lora or qlora Scaling factor. Common choice: 2 x rank.
lora_dropout LoRA dropout number 0.0 0 to 0.5, step 0.01 method is lora or qlora —
target_modules Target layers select all-linear all-linear (All linear layers)
attention (Attention only (q, k, v, o))
custom (Custom list)
method is lora or qlora —
custom_target_modules Custom target modules text (empty) — target_modules is custom Example: q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj
use_dora Use DoRA boolean false — method is lora or qlora Weight-decomposed LoRA. Sometimes better quality, slower.
use_rslora Use rank-stabilized LoRA boolean false — method is lora or qlora Scales by alpha/sqrt(r); helps at high ranks.

Batch and memory

Setting Label Kind Default Choices / range Shown when Help
per_device_train_batch_size Batch size per GPU integer 2 1 to 512, step 1 Always —
gradient_accumulation_steps Gradient accumulation integer 8 1 to 512, step 1 Always Effective batch = batch size x accumulation x GPUs.
gradient_checkpointing Gradient checkpointing boolean true — Always Saves a lot of memory for ~20-30% more time.

Optimizer

Setting Label Kind Default Choices / range Shown when Help
lr_scheduler_type LR schedule select cosine cosine
linear
constant
constant_with_warmup
Always —
warmup_ratio Warmup ratio number 0.05 0 to 0.5, step 0.01 Always —
weight_decay Weight decay number 0.01 0 to 1, step 0.001 Always —
max_grad_norm Max gradient norm number 1.0 0 to 100, step 0.1 Always —
optim Optimizer select auto auto (Auto)
adamw_torch_fused (AdamW (fused))
adamw_torch (AdamW)
adamw_8bit (AdamW 8-bit)
paged_adamw_8bit (Paged AdamW 8-bit)
adafactor (Adafactor)
Always —
precision Precision select auto auto (Auto)
bf16
fp16
fp32
Always —
seed Seed integer 42 0 to 2147483647, step 1 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
logging_steps Log every N steps integer 5 1 to 10000 Always Not part of the cache key: changing it does not re-run a cached step.
eval_strategy Evaluate during training select epoch no
steps
epoch
Always Only used when the eval input is connected.
eval_steps Eval every N steps integer 100 1 to 1000000 eval_strategy is steps —
save_steps Checkpoint every N steps integer 200 1 to 1000000 Always Checkpoints let a stopped or preempted job resume.
Not part of the cache key: changing it does not re-run a cached step.
early_stopping_patience Early stopping patience (0 = off) integer 0 0 to 100 Always Stop when eval loss fails to improve this many evaluations in a row.
report_to Also log to select none none (Tuneline only)
wandb (Weights & Biases)
Always Not part of the cache key: changing it does not re-run a cached step.

Speed-ups

Setting Label Kind Default Choices / range Shown when Help
use_unsloth Use Unsloth boolean false — Always Faster, lower-memory training on one NVIDIA GPU for supported models. Current Unsloth releases need an older TRL than Tuneline uses, so until Unsloth supports TRL 1 this falls back to standard TRL (logged in the run).
use_liger_kernel Use Liger kernels boolean false — Always Fused kernels that cut memory for supported architectures.

Hugging Face Hub

Setting Label Kind Default Choices / range Shown when Help
push_to_hub Push the adapter to Hugging Face boolean true — Always Needed to reuse the result on another machine and to deploy it.
Not part of the cache key: changing it does not re-run a cached step.
hub_repo Repository name text {pipeline}-aligned — push_to_hub is true Created under your Hugging Face account. {pipeline} and {run} are filled in.
Not part of the cache key: changing it does not re-run a cached step.
hub_private Private repository boolean true — push_to_hub is true Not part of the cache key: changing it does not re-run a cached step.

Choices for method:

  • qlora — QLoRA (4-bit base + LoRA): Lowest memory. Good default for 7B+ models on one GPU.
  • lora — LoRA (16-bit base + LoRA): Slightly better quality, about 2-3x the memory of QLoRA.
  • full — Full fine-tune: Updates every weight. Needs ~16-18 bytes per parameter; small models only.

Choices for target_modules:

  • all-linear — All linear layers: Recommended (attention + MLP).
  • attention — Attention only (q, k, v, o)
  • custom — Custom list

Choices for optim:

  • auto — Auto: paged 8-bit AdamW for QLoRA, fused AdamW otherwise
  • adamw_torch_fused — AdamW (fused)
  • adamw_torch — AdamW
  • adamw_8bit — AdamW 8-bit
  • paged_adamw_8bit — Paged AdamW 8-bit
  • adafactor — Adafactor

Choices for precision:

  • auto — Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPU
  • bf16
  • fp16
  • fp32

API keys

Key What it is Need When Why
wandb_api_key Weights & Biases API key required When report_to is wandb Log training to Weights & Biases
hf_token Hugging Face access token (write) required When push_to_hub is true Push the adapter

Presets

Choosing a preset in the inspector replaces these settings; the rest keep their values.

Preset Values
DPO with LoRA algorithm = dpo
method = lora
learning_rate = 5e-05
beta = 0.1
epochs = 1
DPO full (small models) algorithm = dpo
method = full
learning_rate = 1e-06
beta = 0.1
ORPO with QLoRA algorithm = orpo
method = qlora
learning_rate = 8e-06
beta = 0.1

Vision fine-tune (SFT)

Type train.vision_sft · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Fine-tunes a vision-language model (Qwen-VL, Gemma 3/4, Llama 3.2 Vision, SmolVLM and others) on image + text chats, for documents, receipts, IDs and screenshots.

Inputs

Input Label Accepts Link
train Training data VisionDataset required
model Vision model Model required
eval Validation data VisionDataset optional

Outputs

Output Label Type
model Fine-tuned model Model

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
method Method select qlora qlora (QLoRA (4-bit base + LoRA))
lora (LoRA (16-bit base + LoRA))
full (Full fine-tune)
Always How much of the model is trained.
epochs Epochs number 1 0.1 to 50, step 0.1 Always —
max_steps Max steps (-1 = use epochs) integer -1 -1 to 1000000, step 1 Always Stop after this many optimizer steps. Handy for quick tests.
learning_rate Learning rate number 0.0001 1e-08 to 0.1, step 1e-06 Always —
max_seq_length Max sequence length (tokens) integer 2048 64 to 262144, step 64 Always Longer examples are truncated. Memory grows with this.

LoRA adapter

Setting Label Kind Default Choices / range Shown when Help
lora_r LoRA rank (r) integer 16 1 to 512, step 1 method is lora or qlora Adapter size. 8-32 covers most tasks. vLLM serves ranks up to its --max-lora-rank (default 16).
lora_alpha LoRA alpha integer 32 1 to 1024, step 1 method is lora or qlora Scaling factor. Common choice: 2 x rank.
lora_dropout LoRA dropout number 0.0 0 to 0.5, step 0.01 method is lora or qlora —
target_modules Target layers select all-linear all-linear (All linear layers)
attention (Attention only (q, k, v, o))
custom (Custom list)
method is lora or qlora —
custom_target_modules Custom target modules text (empty) — target_modules is custom Example: q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj
use_dora Use DoRA boolean false — method is lora or qlora Weight-decomposed LoRA. Sometimes better quality, slower.
use_rslora Use rank-stabilized LoRA boolean false — method is lora or qlora Scales by alpha/sqrt(r); helps at high ranks.
finetune_vision_layers Also train the vision encoder boolean false — Always —

Batch and memory

Setting Label Kind Default Choices / range Shown when Help
per_device_train_batch_size Batch size per GPU integer 1 1 to 512, step 1 Always —
gradient_accumulation_steps Gradient accumulation integer 8 1 to 512, step 1 Always Effective batch = batch size x accumulation x GPUs.
gradient_checkpointing Gradient checkpointing boolean true — Always Saves a lot of memory for ~20-30% more time.

Optimizer

Setting Label Kind Default Choices / range Shown when Help
lr_scheduler_type LR schedule select cosine cosine
linear
constant
constant_with_warmup
Always —
warmup_ratio Warmup ratio number 0.05 0 to 0.5, step 0.01 Always —
weight_decay Weight decay number 0.01 0 to 1, step 0.001 Always —
max_grad_norm Max gradient norm number 1.0 0 to 100, step 0.1 Always —
optim Optimizer select auto auto (Auto)
adamw_torch_fused (AdamW (fused))
adamw_torch (AdamW)
adamw_8bit (AdamW 8-bit)
paged_adamw_8bit (Paged AdamW 8-bit)
adafactor (Adafactor)
Always —
precision Precision select auto auto (Auto)
bf16
fp16
fp32
Always —
seed Seed integer 42 0 to 2147483647, step 1 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
logging_steps Log every N steps integer 5 1 to 10000 Always Not part of the cache key: changing it does not re-run a cached step.
eval_strategy Evaluate during training select epoch no
steps
epoch
Always Only used when the eval input is connected.
eval_steps Eval every N steps integer 100 1 to 1000000 eval_strategy is steps —
save_steps Checkpoint every N steps integer 200 1 to 1000000 Always Checkpoints let a stopped or preempted job resume.
Not part of the cache key: changing it does not re-run a cached step.
early_stopping_patience Early stopping patience (0 = off) integer 0 0 to 100 Always Stop when eval loss fails to improve this many evaluations in a row.
report_to Also log to select none none (Tuneline only)
wandb (Weights & Biases)
Always Not part of the cache key: changing it does not re-run a cached step.

Speed-ups

Setting Label Kind Default Choices / range Shown when Help
use_unsloth Use Unsloth boolean false — Always Faster, lower-memory training on one NVIDIA GPU for supported models. Current Unsloth releases need an older TRL than Tuneline uses, so until Unsloth supports TRL 1 this falls back to standard TRL (logged in the run).

Hugging Face Hub

Setting Label Kind Default Choices / range Shown when Help
push_to_hub Push the adapter to Hugging Face boolean true — Always Needed to reuse the result on another machine and to deploy it.
Not part of the cache key: changing it does not re-run a cached step.
hub_repo Repository name text {pipeline}-vision-adapter — push_to_hub is true Created under your Hugging Face account. {pipeline} and {run} are filled in.
Not part of the cache key: changing it does not re-run a cached step.
hub_private Private repository boolean true — push_to_hub is true Not part of the cache key: changing it does not re-run a cached step.

Choices for method:

  • qlora — QLoRA (4-bit base + LoRA): Lowest memory. Good default for 7B+ models on one GPU.
  • lora — LoRA (16-bit base + LoRA): Slightly better quality, about 2-3x the memory of QLoRA.
  • full — Full fine-tune: Updates every weight. Needs ~16-18 bytes per parameter; small models only.

Choices for target_modules:

  • all-linear — All linear layers: Recommended (attention + MLP).
  • attention — Attention only (q, k, v, o)
  • custom — Custom list

Choices for optim:

  • auto — Auto: paged 8-bit AdamW for QLoRA, fused AdamW otherwise
  • adamw_torch_fused — AdamW (fused)
  • adamw_torch — AdamW
  • adamw_8bit — AdamW 8-bit
  • paged_adamw_8bit — Paged AdamW 8-bit
  • adafactor — Adafactor

Choices for precision:

  • auto — Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPU
  • bf16
  • fp16
  • fp32

API keys

Key What it is Need When Why
wandb_api_key Weights & Biases API key required When report_to is wandb Log training to Weights & Biases
hf_token Hugging Face access token (write) required When push_to_hub is true Push the adapter

Presets

Choosing a preset in the inspector replaces these settings; the rest keep their values.

Preset Values
QLoRA vision quick method = qlora
lora_r = 16
lora_alpha = 32
learning_rate = 0.0001
epochs = 1
per_device_train_batch_size = 1
gradient_accumulation_steps = 8

Reinforcement tuning (GRPO)

Type train.grpo · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

GRPO with rule-based rewards (exact answer, contains answer, format regex, valid JSON, length). Good for tasks with checkable answers. Needs prompt/completion rows where the completion is the reference answer.

Inputs

Input Label Accepts Link
train Prompts with reference answers ChatDataset required
model Model Model required

Outputs

Output Label Type
model Tuned model Model

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
rewards Rewards multiselect ["contains_answer", "format_regex"] exact_answer (Exact answer)
contains_answer (Contains the answer)
format_regex (Matches a format regex)
json_valid (Valid JSON)
length_penalty (Penalize long answers)
Always —
format_regex Format regex text (?s).*<answer>.*</answer>.* — rewards includes format_regex —
answer_regex Extract answer with regex (group 1) text <answer>(.*?)</answer> — Always —
num_generations Generations per prompt integer 8 2 to 64 Always —
max_completion_length Max completion tokens integer 512 16 to 32768 Always —
beta KL beta number 0.0 0 to 1, step 0.01 Always —
method Method select qlora qlora (QLoRA (4-bit base + LoRA))
lora (LoRA (16-bit base + LoRA))
full (Full fine-tune)
Always How much of the model is trained.
epochs Epochs number 1 0.1 to 50, step 0.1 Always —
max_steps Max steps (-1 = use epochs) integer -1 -1 to 1000000, step 1 Always Stop after this many optimizer steps. Handy for quick tests.
learning_rate Learning rate number 1e-05 1e-08 to 0.1, step 1e-06 Always —
max_seq_length Max sequence length (tokens) integer 1024 64 to 262144, step 64 Always Longer examples are truncated. Memory grows with this.

LoRA adapter

Setting Label Kind Default Choices / range Shown when Help
lora_r LoRA rank (r) integer 16 1 to 512, step 1 method is lora or qlora Adapter size. 8-32 covers most tasks. vLLM serves ranks up to its --max-lora-rank (default 16).
lora_alpha LoRA alpha integer 32 1 to 1024, step 1 method is lora or qlora Scaling factor. Common choice: 2 x rank.
lora_dropout LoRA dropout number 0.0 0 to 0.5, step 0.01 method is lora or qlora —
target_modules Target layers select all-linear all-linear (All linear layers)
attention (Attention only (q, k, v, o))
custom (Custom list)
method is lora or qlora —
custom_target_modules Custom target modules text (empty) — target_modules is custom Example: q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj
use_dora Use DoRA boolean false — method is lora or qlora Weight-decomposed LoRA. Sometimes better quality, slower.
use_rslora Use rank-stabilized LoRA boolean false — method is lora or qlora Scales by alpha/sqrt(r); helps at high ranks.

Batch and memory

Setting Label Kind Default Choices / range Shown when Help
per_device_train_batch_size Batch size per GPU integer 8 1 to 512, step 1 Always —
gradient_accumulation_steps Gradient accumulation integer 1 1 to 512, step 1 Always Effective batch = batch size x accumulation x GPUs.
gradient_checkpointing Gradient checkpointing boolean true — Always Saves a lot of memory for ~20-30% more time.

Optimizer

Setting Label Kind Default Choices / range Shown when Help
lr_scheduler_type LR schedule select cosine cosine
linear
constant
constant_with_warmup
Always —
warmup_ratio Warmup ratio number 0.05 0 to 0.5, step 0.01 Always —
weight_decay Weight decay number 0.01 0 to 1, step 0.001 Always —
max_grad_norm Max gradient norm number 1.0 0 to 100, step 0.1 Always —
optim Optimizer select auto auto (Auto)
adamw_torch_fused (AdamW (fused))
adamw_torch (AdamW)
adamw_8bit (AdamW 8-bit)
paged_adamw_8bit (Paged AdamW 8-bit)
adafactor (Adafactor)
Always —
precision Precision select auto auto (Auto)
bf16
fp16
fp32
Always —
seed Seed integer 42 0 to 2147483647, step 1 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
logging_steps Log every N steps integer 5 1 to 10000 Always Not part of the cache key: changing it does not re-run a cached step.
eval_strategy Evaluate during training select epoch no
steps
epoch
Always Only used when the eval input is connected.
eval_steps Eval every N steps integer 100 1 to 1000000 eval_strategy is steps —
save_steps Checkpoint every N steps integer 200 1 to 1000000 Always Checkpoints let a stopped or preempted job resume.
Not part of the cache key: changing it does not re-run a cached step.
early_stopping_patience Early stopping patience (0 = off) integer 0 0 to 100 Always Stop when eval loss fails to improve this many evaluations in a row.
report_to Also log to select none none (Tuneline only)
wandb (Weights & Biases)
Always Not part of the cache key: changing it does not re-run a cached step.

Hugging Face Hub

Setting Label Kind Default Choices / range Shown when Help
push_to_hub Push the adapter to Hugging Face boolean true — Always Needed to reuse the result on another machine and to deploy it.
Not part of the cache key: changing it does not re-run a cached step.
hub_repo Repository name text {pipeline}-grpo — push_to_hub is true Created under your Hugging Face account. {pipeline} and {run} are filled in.
Not part of the cache key: changing it does not re-run a cached step.
hub_private Private repository boolean true — push_to_hub is true Not part of the cache key: changing it does not re-run a cached step.

Choices for method:

  • qlora — QLoRA (4-bit base + LoRA): Lowest memory. Good default for 7B+ models on one GPU.
  • lora — LoRA (16-bit base + LoRA): Slightly better quality, about 2-3x the memory of QLoRA.
  • full — Full fine-tune: Updates every weight. Needs ~16-18 bytes per parameter; small models only.

Choices for target_modules:

  • all-linear — All linear layers: Recommended (attention + MLP).
  • attention — Attention only (q, k, v, o)
  • custom — Custom list

Choices for optim:

  • auto — Auto: paged 8-bit AdamW for QLoRA, fused AdamW otherwise
  • adamw_torch_fused — AdamW (fused)
  • adamw_torch — AdamW
  • adamw_8bit — AdamW 8-bit
  • paged_adamw_8bit — Paged AdamW 8-bit
  • adafactor — Adafactor

Choices for precision:

  • auto — Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPU
  • bf16
  • fp16
  • fp32

API keys

Key What it is Need When Why
wandb_api_key Weights & Biases API key required When report_to is wandb Log training to Weights & Biases
hf_token Hugging Face access token (write) required When push_to_hub is true Push the adapter

Train a segmenter (U-Net)

Type train.segmenter · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Trains a U-Net that labels every pixel with a class (for example document fields) and, optionally, a separate binary mask (for example tampered or defective areas).

Inputs

Input Label Accepts Link
train Segmentation arrays ImageData required

Outputs

Output Label Type
model Segmenter VisionNet
report Validation report EvalReport

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
encoder Encoder select mobilenet_v2 mobilenet_v2 (MobileNetV2)
resnet18 (ResNet-18)
resnet34 (ResNet-34)
efficientnet-b0 (EfficientNet-B0)
Always —
classes Number of classes (incl. background) integer 8 2 to 256 Always —
mask_head Extra binary mask head boolean true — Always Adds one more output trained on m.npy (for example tampered pixels).
epochs Epochs integer 14 1 to 500 Always —
batch_size Batch size integer 6 1 to 1024 Always —
learning_rate Learning rate number 0.0005 1e-06 to 0.1, step 1e-05 Always —
max_steps_per_epoch Max steps per epoch (0 = all) integer 0 0 to 1000000 Always Caps each epoch. Handy for quick tests.

Optimizer

Setting Label Kind Default Choices / range Shown when Help
pretrained Start from ImageNet weights boolean true — Always Downloads the backbone's ImageNet weights once. Usually trains faster and better.
weight_decay Weight decay number 0.0001 0 to 1, step 1e-05 Always —
warmup_steps Warmup steps integer 300 0 to 100000 Always —
amp Mixed precision (fp16) on the GPU boolean true — Always —
workers Data loader workers integer 4 0 to 64 Always Not part of the cache key: changing it does not re-run a cached step.
seed Seed integer 42 0 to 2147483647 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
checkpoint_every Checkpoint every N steps integer 400 10 to 1000000 Always A stopped run resumes from the last checkpoint when it runs again with the same settings.
Not part of the cache key: changing it does not re-run a cached step.

Advanced

Setting Label Kind Default Choices / range Shown when Help
background_weight Background class weight number 0.15 0 to 1, step 0.01 Always —
mask_pos_weight Mask positive weight number 4.0 0.1 to 100, step 0.1 mask_head is true —
shift_augment Random shifts boolean true — Always —

Choices for encoder:

  • mobilenet_v2 — MobileNetV2: Small and fast on CPU after export (about 26 MB).
  • resnet18 — ResNet-18
  • resnet34 — ResNet-34
  • efficientnet-b0 — EfficientNet-B0

API keys

None.

Train a text reader (CRNN)

Type train.text_reader · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Trains a text-line recogniser (convolutions + BiLSTM, CTC loss) on image crops with their text: handwriting, printed fields or MICR lines.

Inputs

Input Label Accepts Link
train Image shards with text ImageData required

Outputs

Output Label Type
model Text reader VisionNet
report Validation report EvalReport

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
charset Characters select latin_micr latin_micr (Letters, digits, punctuation, MICR symbols)
latin (Letters, digits, punctuation)
digits (Digits and . , - /)
Always —
height Input height (px) integer 40 16 to 128 Always —
width Input width (px) integer 1024 64 to 4096 Always —
epochs Epochs integer 10 1 to 500 Always —
batch_size Batch size integer 64 1 to 1024 Always —
learning_rate Learning rate number 0.001 1e-06 to 0.1, step 1e-05 Always —
max_steps_per_epoch Max steps per epoch (0 = all) integer 0 0 to 1000000 Always Caps each epoch. Handy for quick tests.

Optimizer

Setting Label Kind Default Choices / range Shown when Help
pretrained Start from ImageNet weights boolean true — Always Downloads the backbone's ImageNet weights once. Usually trains faster and better.
weight_decay Weight decay number 0.0001 0 to 1, step 1e-05 Always —
warmup_steps Warmup steps integer 300 0 to 100000 Always —
amp Mixed precision (fp16) on the GPU boolean true — Always —
workers Data loader workers integer 4 0 to 64 Always Not part of the cache key: changing it does not re-run a cached step.
seed Seed integer 42 0 to 2147483647 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
checkpoint_every Checkpoint every N steps integer 400 10 to 1000000 Always A stopped run resumes from the last checkpoint when it runs again with the same settings.
Not part of the cache key: changing it does not re-run a cached step.

Advanced

Setting Label Kind Default Choices / range Shown when Help
hidden LSTM size integer 192 32 to 1024 Always —
skip_tags Skip rows tagged (comma separated) text signature — Always Rows whose tag is listed are not used (for example signatures, which are not read).

API keys

None.

Train an image embedder (similarity)

Type train.embedder · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Learns an embedding where images of the same group are close and others far apart (supervised contrastive or batch-hard triplet loss). Use it to verify writers, signatures, products or documents.

Inputs

Input Label Accepts Link
train Image shards with groups ImageData required

Outputs

Output Label Type
model Embedder VisionNet
report Validation report EvalReport

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
backbone Backbone select mobilenetv3_large_100 mobilenetv3_large_100 (MobileNetV3-Large)
resnet18 (ResNet-18)
efficientnet_b0 (EfficientNet-B0)
Always —
dim Embedding size integer 128 8 to 2048 Always —
height Input height (px) integer 64 16 to 1024 Always —
width Input width (px) integer 256 16 to 2048 Always —
fit Resize select letterbox letterbox (Keep aspect, pad)
stretch (Stretch to size)
Always —
groups_per_batch Groups per batch integer 40 2 to 1024 Always —
items_per_group Images per group integer 4 2 to 64 Always —
loss Loss select supcon supcon (Supervised contrastive)
batch_hard (Batch-hard triplet)
Always —
margin Triplet margin (batch-hard) number 0.25 0.01 to 2, step 0.01 Always —
steps_per_epoch Steps per epoch integer 500 1 to 1000000 Always —
epochs Epochs integer 10 1 to 500 Always —
learning_rate Learning rate number 0.0005 1e-06 to 0.1, step 1e-05 Always —

Optimizer

Setting Label Kind Default Choices / range Shown when Help
pretrained Start from ImageNet weights boolean true — Always Downloads the backbone's ImageNet weights once. Usually trains faster and better.
weight_decay Weight decay number 0.0001 0 to 1, step 1e-05 Always —
warmup_steps Warmup steps integer 300 0 to 100000 Always —
amp Mixed precision (fp16) on the GPU boolean true — Always —
workers Data loader workers integer 4 0 to 64 Always Not part of the cache key: changing it does not re-run a cached step.
seed Seed integer 42 0 to 2147483647 Always —

Evaluation and checkpoints

Setting Label Kind Default Choices / range Shown when Help
checkpoint_every Checkpoint every N steps integer 400 10 to 1000000 Always A stopped run resumes from the last checkpoint when it runs again with the same settings.
Not part of the cache key: changing it does not re-run a cached step.

Advanced

Setting Label Kind Default Choices / range Shown when Help
temperature Temperature (supervised contrastive) number 0.1 0.01 to 1, step 0.01 Always —
include_tags Only rows tagged (comma separated, blank = all) text (empty) — Always —

Choices for backbone:

  • mobilenetv3_large_100 — MobileNetV3-Large: Small and fast (about 17 MB).
  • resnet18 — ResNet-18
  • efficientnet_b0 — EfficientNet-B0

Choices for loss:

  • supcon — Supervised contrastive: Stable from scratch: pulls each group together against every other image in the batch.
  • batch_hard — Batch-hard triplet: Hardest positive and negative per image. Can collapse (every image maps to the same point) on hard data.

API keys

None.

Evaluate

Evaluate on test set

Type eval.golden · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Generates answers for the test set and scores them: exact match, contains, label accuracy and F1, valid JSON, regex match, ROUGE-L and an optional LLM judge. Can score the base model too for comparison.

Inputs

Input Label Accepts Link
test Test data ChatDataset, VisionDataset required
model Model Model required

Outputs

Output Label Type
report Report EvalReport

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
metrics Metrics multiselect ["exact_match", "rouge_l"] exact_match (Exact match)
contains (Contains expected)
label_accuracy (Label accuracy and F1 (label regex))
json_valid (Valid JSON)
regex_match (Matches regex)
rouge_l (ROUGE-L)
llm_judge (LLM judge (1-10))
Always —
label_regex Label regex (group 1 = label) text (?i)decision:\s*([A-Za-z_\-]+) — metrics includes label_accuracy —
match_regex Regex the answer must match text (empty) — metrics includes regex_match —
max_samples Max examples (0 = all) integer 200 0 to 1000000 Always —
max_new_tokens Max new tokens integer 256 1 to 32768 Always —
temperature Temperature number 0.0 0 to 2, step 0.05 Always —
batch_size Generation batch size integer 8 1 to 512 Always Not part of the cache key: changing it does not re-run a cached step.
compare_base Also score the base model boolean true — Always Runs the same test without the adapter so you can see the gain.
judge_provider Judge API select hf_router hf_router (Hugging Face Inference Providers)
openai_compatible (OpenAI-compatible API)
metrics includes llm_judge —
judge_model Judge model text Qwen/Qwen3-235B-A22B-Instruct-2507 — metrics includes llm_judge —
judge_rubric Judge rubric textarea Score the ANSWER from 1 to 10 for correctness and helpfulness compared with the REFERENCE. Reply with only the number. — metrics includes llm_judge —

Advanced

Setting Label Kind Default Choices / range Shown when Help
backend Generation backend select transformers transformers (Transformers)
vllm (vLLM (faster; NVIDIA GPU with PyTorch 2.10+, installed on first use; otherwise Transformers))
Always Not part of the cache key: changing it does not re-run a cached step.

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) required When judge_provider is hf_router and metrics includes llm_judge LLM judge
openai_compat_key API key for an OpenAI-compatible endpoint (judge / synthetic data) required When judge_provider is openai_compatible and metrics includes llm_judge LLM judge
openai_compat_base_url Base URL for that OpenAI-compatible endpoint required When judge_provider is openai_compatible and metrics includes llm_judge LLM judge

Benchmarks (lm-eval)

Type eval.benchmarks · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Runs standard benchmarks with EleutherAI's lm-evaluation-harness to check general ability did not regress (IFEval, GSM8K, MMLU-Pro, ARC, HellaSwag and more).

Inputs

Input Label Accepts Link
model Model Model required

Outputs

Output Label Type
report Report EvalReport

Settings

Setting Label Kind Default Choices / range Shown when Help
tasks Benchmarks multiselect ["ifeval"] ifeval (IFEval (instruction following))
gsm8k (GSM8K (math))
mmlu_pro (MMLU-Pro (knowledge))
arc_challenge (ARC-Challenge)
hellaswag (HellaSwag)
truthfulqa_mc2 (TruthfulQA)
winogrande (WinoGrande)
Always —
limit Examples per benchmark (0 = all) integer 100 0 to 100000 Always —
num_fewshot Few-shot examples (-1 = benchmark default) integer -1 -1 to 25 Always —
compare_base Also score the base model boolean false — Always —

API keys

None.

Prompt-injection test

Type eval.redteam · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Hides injection strings ("ignore previous instructions...") inside test inputs and checks whether the model's answers change or leak a canary.

Inputs

Input Label Accepts Link
test Test data ChatDataset required
model Model Model required

Outputs

Output Label Type
report Report EvalReport

Settings

Setting Label Kind Default Choices / range Shown when Help
attacks_per_example Attacks per example integer 2 1 to 10 Always —
max_samples Max examples integer 50 1 to 10000 Always —
max_new_tokens Max new tokens integer 256 1 to 8192 Always —

API keys

None.

Quality gate

Type eval.gate · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · always runs (never cached)

Passes the model on only if every rule holds, for example 'label_accuracy >= 0.95'. A failed gate stops everything after it.

Inputs

Input Label Accepts Link
report Report EvalReport required
model Model Model, VisionNet required
extra_report Second report EvalReport optional

Outputs

Output Label Type
model Approved model Same type as the input model (one of Model, VisionNet)

Settings

Setting Label Kind Default Choices / range Shown when Help
rules Rules (one per line) rules exact_match >= 0.8 — Always metric op value, where op is >=, >, <=, < or ==. Metric names come from the reports; prefix with base. or delta. to use the base-model score or the gain.
on_fail When a rule fails select fail_run fail_run (Fail the run)
skip_downstream (Skip later steps, keep the run successful)
Always —

API keys

None.

Export

Merge adapter

Type export.merge · version 1.0 · runtime: gpu (needs a GPU for real models) · results are cached

Merges the LoRA adapter into the base weights and saves a standalone model.

Inputs

Input Label Accepts Link
model Model with adapter Model required

Outputs

Output Label Type
model Merged model Model

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
dtype Saved precision select bf16 bf16
fp16
fp32
Always —

Hugging Face Hub

Setting Label Kind Default Choices / range Shown when Help
push_to_hub Push the merged model to Hugging Face boolean true — Always Needed to reuse the result on another machine and to deploy it.
Not part of the cache key: changing it does not re-run a cached step.
hub_repo Repository name text {pipeline}-merged — push_to_hub is true Created under your Hugging Face account. {pipeline} and {run} are filled in.
Not part of the cache key: changing it does not re-run a cached step.
hub_private Private repository boolean true — push_to_hub is true Not part of the cache key: changing it does not re-run a cached step.

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) required When push_to_hub is true Push the merged model

Export GGUF

Type export.gguf · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Converts the model to GGUF with llama.cpp and quantizes it (Q4_K_M, Q5_K_M, Q8_0 ...) for Ollama, LM Studio and llama.cpp.

Inputs

Input Label Accepts Link
model Model Model required

Outputs

Output Label Type
gguf GGUF files GGUF

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
quantizations Quantizations multiselect ["q4_k_m", "q8_0"] f16
bf16
q8_0
q6_k
q5_k_m
q4_k_m
q3_k_m
q2_k
Always —

Hugging Face Hub

Setting Label Kind Default Choices / range Shown when Help
push_to_hub Push the GGUF files to Hugging Face boolean true — Always Needed to reuse the result on another machine and to deploy it.
Not part of the cache key: changing it does not re-run a cached step.
hub_repo Repository name text {pipeline}-gguf — push_to_hub is true Created under your Hugging Face account. {pipeline} and {run} are filled in.
Not part of the cache key: changing it does not re-run a cached step.
hub_private Private repository boolean true — push_to_hub is true Not part of the cache key: changing it does not re-run a cached step.

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) required When push_to_hub is true Push the GGUF files

Publish and register

Type export.hub · version 1.0 · runtime: network (needs internet access only) · always runs (never cached)

Pushes the adapter or merged model to your Hugging Face account with a generated model card, and records it as a new version in your model registry.

Inputs

Input Label Accepts Link
model Model Model required
report Eval report EvalReport optional

Outputs

Output Label Type
model Published model Model

Settings

Setting Label Kind Default Choices / range Shown when Help
hub_repo Repository name (required) text {pipeline} — Always —
hub_private Private repository boolean true — Always —
register Add to model registry boolean true — Always —
registry_name Registry name text {pipeline} — register is true —
card_notes Notes for the model card textarea (empty) — Always —

API keys

Key What it is Need When Why
hf_token Hugging Face access token (write) required Always Push to your Hugging Face account

Export to ONNX

Type export.onnx · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · results are cached

Exports a trained vision model to ONNX (runs on CPU with ONNX Runtime, no PyTorch), checks that ONNX and PyTorch agree and copies the file to a folder.

Inputs

Input Label Accepts Link
model Vision model VisionNet required

Outputs

Output Label Type
model Exported model VisionNet

Settings

Basics

Setting Label Kind Default Choices / range Shown when Help
out_dir Copy to folder (optional) text (empty) — Always Folder on the machine that runs the job; the file is always kept with the run too.
Not part of the cache key: changing it does not re-run a cached step.
file_name File name text {node}.onnx — Always {node} is the trainer's step id.
Not part of the cache key: changing it does not re-run a cached step.

Advanced

Setting Label Kind Default Choices / range Shown when Help
opset ONNX opset integer 17 11 to 22 Always —
verify Check ONNX against PyTorch boolean true — Always —

API keys

None.

Deploy

Deploy endpoint

Type deploy.endpoint · version 1.0 · runtime: network (needs internet access only) · always runs (never cached)

Starts an OpenAI-compatible vLLM endpoint for the model on RunPod Serverless, Hugging Face Inference Endpoints or Modal. The model must be on the Hub (push or merge it first).

Inputs

Input Label Accepts Link
model Model Model required

Outputs

Output Label Type
endpoint Endpoint Endpoint

Settings

Setting Label Kind Default Choices / range Shown when Help
provider Where to serve select runpod_serverless runpod_serverless (RunPod Serverless (scales to zero))
hf_endpoint (Hugging Face Inference Endpoints (scales to zero))
modal (Modal (one vLLM container, stops after a time limit))
Always —
name Endpoint name text {pipeline} — Always —
gpu GPU select 24GB 16GB (16 GB (T4 class))
24GB (24 GB (L4 / A10 / 4090))
48GB (48 GB (L40S / A6000))
80GB (80 GB (A100 / H100))
Always —
max_model_len Max context length integer 4096 256 to 262144 Always —
min_workers Always-on workers integer 0 0 to 10 provider is runpod_serverless or hf_endpoint —
max_workers Max workers integer 1 1 to 20 provider is runpod_serverless or hf_endpoint —
idle_timeout_s Scale down after idle (seconds) integer 300 5 to 86400 provider is runpod_serverless or hf_endpoint —
max_hours Stop after (hours) number 2 0.25 to 24, step 0.25 provider is modal —

API keys

Key What it is Need When Why
runpod_api_key RunPod API key required When provider is runpod_serverless Create the RunPod endpoint
hf_token Hugging Face access token (write) required Always Let the server download your model
modal_token_id Modal token ID required When provider is modal Create the Modal app
modal_token_secret Modal token secret required When provider is modal Create the Modal app

Ollama package

Type deploy.ollama · version 1.0 · runtime: cpu (runs on a CPU; no GPU needed) · always runs (never cached)

Writes an Ollama Modelfile for the GGUF export. On your own machine with Ollama installed it also runs 'ollama create' so the model is ready to chat.

Inputs

Input Label Accepts Link
gguf GGUF files GGUF required

Outputs

Output Label Type
endpoint Local endpoint Endpoint

Settings

Setting Label Kind Default Choices / range Shown when Help
model_name Ollama model name text {pipeline} — Always —
quantization Which file select q4_k_m q4_k_m
q5_k_m
q8_0
f16
bf16
Always —
system_prompt System prompt textarea (empty) — Always —
temperature Temperature number 0.2 0 to 2, step 0.05 Always —

API keys

None.

Endpoint smoke test

Type deploy.smoke_test · version 1.0 · runtime: network (needs internet access only) · always runs (never cached)

Sends test prompts to the endpoint and records latency and answers.

Inputs

Input Label Accepts Link
endpoint Endpoint Endpoint required

Outputs

Output Label Type
report Report EvalReport

Settings

Setting Label Kind Default Choices / range Shown when Help
prompts Test prompts (one per line) textarea Hello! What can you do? — Always —
expect_contains Answers must contain (optional) text (empty) — Always —
max_latency_ms Max latency (ms) integer 30000 100 to 600000 Always —
wait_for_ready_s Wait for cold start (seconds) integer 600 0 to 3600 Always —

API keys

Key What it is Need When Why
runpod_api_key RunPod API key optional Always Call RunPod endpoints
hf_token Hugging Face access token (write) optional Always Call Hugging Face endpoints

API key names

The key names used above, as labelled in Settings → API keys:

Key What it is
hf_token Hugging Face access token (write)
modal_token_id Modal token ID
modal_token_secret Modal token secret
runpod_api_key RunPod API key
kaggle_api_token Kaggle API token
kaggle_username Kaggle username (legacy key)
kaggle_key Kaggle key (legacy key)
openai_compat_key API key for an OpenAI-compatible endpoint (judge / synthetic data)
openai_compat_base_url Base URL for that OpenAI-compatible endpoint
wandb_api_key Weights & Biases API key