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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте