Skip to content

Getting Started

PMetal is a complete machine learning platform for Apple Silicon — from low-level Metal GPU kernels and Apple Neural Engine integration to high-level training APIs, a terminal TUI, and a full desktop GUI.

  • macOS on Apple Silicon (M1 or later)
  • Rust 1.85+ (for building from source or using the SDK)
  • Xcode Command Line Tools: xcode-select --install
Terminal window
# Option 1: Prebuilt binary
curl -fsSL https://github.com/Epistates/pmetal/releases/latest/download/pmetal-aarch64-apple-darwin.tar.gz | tar xz
sudo mv pmetal /usr/local/bin/
# Option 2: Install from crates.io
cargo install pmetal

See Installation for all options including building from source and GUI setup.

Fine-tune a model with LoRA in one command:

Terminal window
pmetal train \
--model Qwen/Qwen3-0.6B \
--dataset train.jsonl \
--output ./output \
--lora-r 16 --batch-size 4 --learning-rate 2e-4

PMetal automatically downloads the model from HuggingFace Hub, detects your hardware capabilities, and tunes kernel parameters for your specific chip.

Chat with your fine-tuned model:

Terminal window
pmetal infer \
--model Qwen/Qwen3-0.6B \
--lora ./output/lora_weights.safetensors \
--prompt "Explain quantum entanglement" \
--chat --show-thinking

Integrate PMetal into your own Rust applications:

use pmetal::easy;
let result = easy::finetune("Qwen/Qwen3-0.6B", "train.jsonl")
.lora(16, 32.0)
.learning_rate(2e-4)
.epochs(3)
.output("./output")
.run()
.await?;

Or from Python:

import pmetal
result = pmetal.finetune(
"Qwen/Qwen3-0.6B",
"train.jsonl",
lora_r=16,
learning_rate=2e-4,
epochs=3,
)