PMetal: фреймворк для выполнения LLM на Apple Silicon
PMetal — это фреймворк для высокопроизводительного выполнения локальных LLM и тонкой настройки моделей на Apple Silicon. Он объединяет GPU-ускорение с Metal и интеграцию с Apple Neural Engine, предлагая мощный набор инструментов для работы с машинами обучения.
Проект полезен тем, кто работает с моделями машинного обучения на устройствах Apple. Он выделяется среди альтернатив благодаря поддержке специфических технологий Apple и полноценному GUI на базе Tauri и Svelte для визуального управления моделями. В дополнение, доступен также терминальный интерфейс для удобного контроля и настройки работы. Запуск GUI осуществляется командой bun install && bun tauri dev из папки crates/pmetal-gui.
PMetal ориентирован на пользователей macOS и требует Rust версии 1.91 или выше. Обрати внимание, что проект находится в стадии активной разработки, и может потребоваться усилия для настройки окружения.
Проект **PMetal** (Powdered Metal) представляет собой комплексный SDK и фреймворк для машинного обучения, разработанный специально для платформы Apple Silicon. Он написан на языке Rust и включает в себя низкоуровневые ядра Metal для GPU, интеграцию с Apple Neural Engine и высокоуровневые API для обучения моделей. Проект позволяет пользователям оставаться в экосистеме Apple при использовании высококачественных моделей машинного обучения.
Как использовать PMetal
Существует несколько способов работы с PMetal, включая графический интерфейс, терминальный интерфейс и командную строку.
Графический интерфейс (GUI)
В PMetal есть полнофункциональное настольное приложение, построенное на Tauri и Svelte, которое помогает управлять моделями, запускать их обучение и обеспечивать вывод. Вы можете использовать его, выполнив следующие команды:
cd crates/pmetal-gui
bun install && bun tauri dev
С его помощью можно управлять 19 различными страницами, включая дашборд, страницы обучения и оценки моделей, а также взаимодействовать с моделями через чат.
Терминальный интерфейс (TUI)
Для работы в терминале доступен интерфейс TUI с 20 вкладками, предоставляющим доступ ко всем основным функциям PMetal:
pmetal tui
Каждая вкладка предоставляет уникальные функции, такие как управление моделями, настройка параметров обучения, проверка данных и многие другие.
Командная строка (CLI)
PMetal также поддерживает мощный интерфейс командной строки, который позволяет выполнять уникальные команды для обучения, вывода, наложения моделей и многого другого. Примеры команд:
# Обучение с использованием LoRA
pmetal train \
--model Qwen/Qwen3-0.6B \
--dataset train.jsonl \
--output ./output \
--lora-r 16 --batch-size 4 --learning-rate 2e-4
# Вывод с использованием адаптера LoRA
pmetal infer \
--model Qwen/Qwen3-0.6B \
--lora ./output/lora_weights.safetensors \
--prompt "Explain quantum entanglement" \
--chat
Установка
PMetal доступен через предустановленные подписанные двоичные файлы на странице Releases. Также можно установить его через crates.io.
Если ты хочешь собрать проект из исходного кода, то выполни следующие команды:
git clone https://github.com/epistates/pmetal.git && cd pmetal
cargo build --release # CLI + TUI
cd crates/pmetal-gui && bun install && bun tauri build # GUI (опционально)
Поддерживаемое оборудование
PMetal автоматически определяет характеристики Apple Silicon и настраивает параметры ядра в зависимости от устройства. Поддерживаются разнообразные чипы, включая M1, M2, M3 и M4.
API и интеграция
PMetal предлагает SDK, который можно интегрировать в свои приложения на Rust. Он также имеет Python-расширения, которые позволяют использовать функции PMetal в Python-программах через PyO3.
Пример использования API на Python для обучения модели:
import pmetal
result = pmetal.finetune(
"Qwen/Qwen3-0.6B",
"train.jsonl",
lora_r=16,
learning_rate=2e-4,
epochs=3,
)
print(f"Loss: {result['final_loss']}, Steps: {result['total_steps']}")
PMetal поддерживает множество архитектур моделей и методов обучения, включая LoRA и QLoRA, а также позволяет выполнять операции над моделями, такие как слияние, оценка и дистилляция модели.
Ограничения и особенности
Хотя PMetal обладает широкими возможностями, он в первую очередь ориентирован на устройства Apple Silicon. Это ограничивает его использование на других платформах. Также, как и любой другой фреймворк, он может потребовать значительного освоения для эффективного использования всех доступных функций, особенно для начинающих пользователей в области машинного обучения.
Открыть на GitHub: Epistates/pmetal →
RepoRadar