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. Это ограничивает его использование на других платформах. Также, как и любой другой фреймворк, он может потребовать значительного освоения для эффективного использования всех доступных функций, особенно для начинающих пользователей в области машинного обучения.
Радар проекта: 68 из 100 — крепкий проект
- Импульс 4 ≈ 7 звёзд в месяц
- Темп разработки 100 1151 коммит за 12 недель
- Зрелость 76 проекту 10 месяцев, 17 релизов
- Сообщество 33 3 участника, 27 форков
- Свежесть 93 последний коммит — 12 дней назад
- Быстрый старт 75 есть: команда установки, сайт/демо, примеры
- Готовность к продакшену 65 релиз v0.7.1, автосборка
- Безопасность и доверие 85 своя лицензия (не из открытых), SECURITY.md, организация
- Документация 100 README 36.5 тыс. знаков, 64 раздела, папка docs
- Экосистема 53 3 подписчика на обновления, 20 тем
Как считаем
Только открытые данные GitHub на 14.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.
- Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
- Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
- Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
- Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
- Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
- Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
- Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
- Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
- Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
- Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.
Открыть на GitHub: Epistates/pmetal →
RepoRadar