Skip to content

Training Overview

PMetal supports 12+ training methods across CLI, GUI, TUI, and the Rust/Python SDK. All methods support callback-based cancellation, JSONL metrics logging, and adaptive learning rate control.

MethodCLIGUITUILibrary
SFT (Supervised Fine-Tuning)trainYesYeseasy::finetune()
LoRAtrainYesYeseasy::finetune()
QLoRA (4-bit)train --quantization nf4YesYeseasy::finetune()
DoRAtrain --doraYesYeseasy::finetune()
DPO (Direct Preference)easy::dpo()
SimPOeasy::simpo()
ORPOeasy::orpo()
KTOeasy::kto()
GRPO (Reasoning)grpoYesYesGrpoTrainer
DAPO (Decoupled GRPO)grpo --dapoYesYesDapoTrainer
Knowledge DistillationdistillYesYesDistiller
TAIDTaidDistiller
ANE Trainingtrain (auto)YesAneTrainingLoop

Library-only methods: GSPO, PPO, Online DPO, Diffusion Training.

Packs multiple sequences into single batches for 2–5× throughput. Enabled by default with proper attention masking.

Trade compute for memory on large models. Configurable layer grouping (default: 4 layers per block).

EMA-based anomaly detection with automatic spike recovery, plateau reduction, and divergence detection.

OptimizerDescription
AdamWStandard with configurable weight decay
Metal Fused AdamWGPU-accelerated parameter updates
Schedule-FreeMemory-efficient, no LR schedule needed
8-bit AdamMemory-efficient for large models
LoRA+Differentiated LR for A and B matrices

constant, linear, cosine, cosine_with_restarts, polynomial, wsd

  • NEFTune — Noise-augmented fine-tuning for improved generation quality
  • Checkpoint Management — Save/resume with best-loss rollback
  • Tool/Function Calling — Chat templates with native tool definitions
  • Distributed Training — mDNS auto-discovery, Ring All-Reduce

Auto-detected:

FormatStructure
ShareGPT{"conversations": [{"from": "human", "value": "..."}]}
Alpaca{"instruction": "...", "input": "...", "output": "..."}
OpenAI/Messages{"messages": [{"role": "user", "content": "..."}]}
Reasoning{"problem": "...", "thinking": "...", "solution": "..."}
Simple{"text": "..."}
ParquetStandard text columns or reasoning formats