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,gpuornetwork(internet only). A pipeline needs a GPU when any of its blocks has runtimegpu, 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 intuneline 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 |
autojsonljsoncsvparquetzip |
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"] |
emailphoneibancardipssnurl |
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 |
autosdpaflash_attention_2eager |
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 |
cosinelinearconstantconstant_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)bf16fp16fp32 |
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 |
nostepsepoch |
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 otherwiseadamw_torch_fused— AdamW (fused)adamw_torch— AdamWadamw_8bit— AdamW 8-bitpaged_adamw_8bit— Paged AdamW 8-bitadafactor— Adafactor
Choices for precision:
auto— Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPUbf16fp16fp32
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 = qloralora_r = 16lora_alpha = 32lora_dropout = 0.0learning_rate = 0.0002epochs = 1per_device_train_batch_size = 2gradient_accumulation_steps = 8max_seq_length = 2048lr_scheduler_type = cosinewarmup_ratio = 0.05 |
| LoRA quality | method = loralora_r = 32lora_alpha = 64lora_dropout = 0.05learning_rate = 0.0001epochs = 2per_device_train_batch_size = 4gradient_accumulation_steps = 4max_seq_length = 4096 |
| Full fine-tune (small models) | method = fulllearning_rate = 1e-05epochs = 2per_device_train_batch_size = 4gradient_accumulation_steps = 4 |
| CPU smoke test | method = loralora_r = 8lora_alpha = 16max_steps = 20epochs = 1per_device_train_batch_size = 1gradient_accumulation_steps = 1max_seq_length = 256precision = fp32gradient_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 |
cosinelinearconstantconstant_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)bf16fp16fp32 |
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 |
nostepsepoch |
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 otherwiseadamw_torch_fused— AdamW (fused)adamw_torch— AdamWadamw_8bit— AdamW 8-bitpaged_adamw_8bit— Paged AdamW 8-bitadafactor— Adafactor
Choices for precision:
auto— Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPUbf16fp16fp32
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 = dpomethod = loralearning_rate = 5e-05beta = 0.1epochs = 1 |
| DPO full (small models) | algorithm = dpomethod = fulllearning_rate = 1e-06beta = 0.1 |
| ORPO with QLoRA | algorithm = orpomethod = qloralearning_rate = 8e-06beta = 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 |
cosinelinearconstantconstant_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)bf16fp16fp32 |
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 |
nostepsepoch |
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 otherwiseadamw_torch_fused— AdamW (fused)adamw_torch— AdamWadamw_8bit— AdamW 8-bitpaged_adamw_8bit— Paged AdamW 8-bitadafactor— Adafactor
Choices for precision:
auto— Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPUbf16fp16fp32
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 = qloralora_r = 16lora_alpha = 32learning_rate = 0.0001epochs = 1per_device_train_batch_size = 1gradient_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 |
cosinelinearconstantconstant_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)bf16fp16fp32 |
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 |
nostepsepoch |
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 otherwiseadamw_torch_fused— AdamW (fused)adamw_torch— AdamWadamw_8bit— AdamW 8-bitpaged_adamw_8bit— Paged AdamW 8-bitadafactor— Adafactor
Choices for precision:
auto— Auto: bf16 on Ampere or newer, fp16 on T4/V100, fp32 on CPUbf16fp16fp32
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-18resnet34— ResNet-34efficientnet-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-18efficientnet_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 |
bf16fp16fp32 |
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"] |
f16bf16q8_0q6_kq5_k_mq4_k_mq3_k_mq2_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_mq5_k_mq8_0f16bf16 |
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 |