Configuration Templates
Copy these templates and customize for your use case.LLM Training Templates
Quick SFT (Small Model)
Best for testing and small datasets:Copy
task: llm-sft
backend: local
base_model: google/gemma-3-270m
project_name: quick-sft
data:
path: ./data.jsonl
train_split: train
valid_split: null
chat_template: tokenizer
column_mapping:
text_column: text
log: wandb
params:
epochs: 3
batch_size: 4
lr: 3e-5
Production SFT (7B Model)
For full fine-tuning with LoRA:Copy
task: llm-sft
backend: local
base_model: meta-llama/Llama-3.2-8B
project_name: production-sft
data:
path: ./conversations.jsonl
train_split: train
valid_split: validation
chat_template: tokenizer
column_mapping:
text_column: text
log: wandb
hub:
push_to_hub: false
params:
epochs: 3
batch_size: 2
gradient_accumulation: 8
lr: 3e-5
warmup_ratio: 0.1
mixed_precision: bf16
peft: true
lora_r: 32
lora_alpha: 64
lora_dropout: 0.05
use_flash_attention_2: true
packing: true
save_strategy: steps
save_steps: 500
save_total_limit: 1
DPO Preference Training
For preference alignment:Copy
task: llm-dpo
backend: local
base_model: meta-llama/Llama-3.2-1B
project_name: dpo-aligned
data:
path: ./preferences.jsonl
train_split: train
valid_split: null
chat_template: tokenizer
column_mapping:
prompt_text_column: prompt
text_column: chosen
rejected_text_column: rejected
log: wandb
params:
dpo_beta: 0.1
max_prompt_length: 128
max_completion_length: null
epochs: 1
batch_size: 2
gradient_accumulation: 4
lr: 5e-6
peft: true
lora_r: 16
lora_alpha: 32
ORPO Training
Combined SFT + preference optimization:Copy
task: llm-orpo
backend: local
base_model: google/gemma-2-2b
project_name: gemma-orpo
data:
path: ./preferences.jsonl
train_split: train
valid_split: null
chat_template: tokenizer
column_mapping:
prompt_text_column: prompt
text_column: chosen
rejected_text_column: rejected
log: wandb
params:
dpo_beta: 0.1
max_prompt_length: 128
max_completion_length: null
epochs: 3
batch_size: 2
lr: 5e-5
peft: true
lora_r: 16
Knowledge Distillation
For compressing larger models:Copy
task: llm-sft
backend: local
base_model: google/gemma-3-270m
project_name: distilled-gemma
data:
path: ./prompts.jsonl
train_split: train
valid_split: null
chat_template: tokenizer
column_mapping:
text_column: text
log: wandb
params:
use_distillation: true
teacher_model: google/gemma-2-2b
distill_temperature: 3.0
distill_alpha: 0.7
epochs: 5
batch_size: 8
lr: 1e-4
Classification Templates
Text Classification
Copy
task: text-classification
backend: local
base_model: bert-base-uncased
project_name: sentiment
data:
path: ./reviews.csv
train_split: train
valid_split: null
column_mapping:
text_column: text
target_column: target
log: wandb
params:
epochs: 5
batch_size: 16
lr: 5e-5
Multi-Class Classification
Copy
task: text-classification
backend: local
base_model: microsoft/deberta-v3-base
project_name: categorizer
data:
path: ./categories.csv
train_split: train
valid_split: validation
column_mapping:
text_column: content
target_column: target
log: wandb
params:
epochs: 10
batch_size: 8
lr: 1e-5
warmup_ratio: 0.1
Token Classification (NER)
Copy
task: token-classification
backend: local
base_model: bert-base-cased
project_name: entity-extractor
data:
path: ./ner_data.json
train_split: train
valid_split: null
column_mapping:
tokens_column: tokens
tags_column: tags
log: wandb
params:
epochs: 5
batch_size: 16
lr: 5e-5
Vision Templates
Image Classification
Copy
task: image-classification
backend: local
base_model: google/vit-base-patch16-224
project_name: image-classifier
data:
path: ./images/
train_split: train
valid_split: null
column_mapping:
image_column: image
target_column: target
log: wandb
params:
epochs: 10
batch_size: 32
lr: 5e-5
Object Detection
Copy
task: object-detection
backend: local
base_model: facebook/detr-resnet-50
project_name: detector
data:
path: ./coco_format/
train_split: train
valid_split: null
column_mapping:
image_column: image
objects_column: objects
log: wandb
params:
epochs: 20
batch_size: 8
lr: 1e-4
Vision-Language Model (VQA)
Copy
task: vlm:vqa
backend: local
base_model: google/paligemma-3b-pt-224
project_name: vlm-vqa
data:
path: ./vqa_data.jsonl
train_split: train
valid_split: null
column_mapping:
image_column: image
text_column: text
prompt_text_column: prompt
log: wandb
params:
epochs: 3
batch_size: 2
lr: 5e-5
gradient_accumulation: 4
peft: true
lora_r: 16
lora_alpha: 32
Advanced Templates
Hyperparameter Sweep
Copy
task: llm-sft
backend: local
base_model: google/gemma-3-270m
project_name: sweep-experiment
data:
path: ./data.jsonl
train_split: train
valid_split: validation
chat_template: tokenizer
column_mapping:
text_column: text
log: wandb
params:
use_sweep: true
sweep_backend: optuna
sweep_n_trials: 20
sweep_metric: eval_loss
sweep_direction: minimize
# Base parameters (sweep will vary these)
epochs: 3
batch_size: 4
lr: 3e-5
peft: true
lora_r: 16
Sentence Transformers
Copy
task: sentence-transformers:pair_score
backend: local
base_model: sentence-transformers/all-MiniLM-L6-v2
project_name: embeddings
data:
path: ./pairs.csv
train_split: train
valid_split: null
column_mapping:
sentence1_column: sentence1
sentence2_column: sentence2
target_column: score
log: wandb
params:
epochs: 3
batch_size: 8
lr: 3e-5
Usage
Save any template asconfig.yaml and run:
Copy
aitraining --config config.yaml