Революция на Apple Silicon: GRPO без CUDA
Разработчики представили MLX-GRPO — специализированный фреймворк для обучения LLM, который полностью опирается на экосистему Apple MLX. В отличие от индустриального стандарта, требующего NVIDIA GPU и CUDA, этот проект работает нативно на Metal-бэкенде Mac. Ключевая особенность — реализация алгоритма Group-based Relative Policy Optimization (GRPO) с использованием цепочек рассуждений (Chain-of-Thought), что позволяет эффективно дообучать модели на локальных устройствах.
Технические детали и архитектура
Система построена на современных стандартах Python-разработки: управление зависимостями через pyproject.toml и запуск через быстрый CLI-инструмент uv. Фреймворк включает полный пайплайн: от предобработки датасетов до определения функций вознаграждения. Поддерживается конвертация любых моделей из Hugging Face в формат MLX с возможностью квантования, что критически важно для работы с ресурсоемкими архитектурами на потребительском железе.
Конфигурации и производительность
Проект предлагает три готовых профиля конфигурации, адаптированных под разные задачи. Ниже приведено сравнение параметров для тестирования и продакшена:
| Профиль | Генерации (num_generations) | Макс. токенов (max_new_tokens) | Назначение |
|---|---|---|---|
| smoke_test.toml | 4 | 64 | Быстрая итерация и отладка |
| default.toml | 8 | 128 | Базовое тестирование |
| production.toml | 64 | 512 | Полноценное обучение (DeepSeek-style) |
Практическое применение и инструменты
Для валидации алгоритма используется датасет GSM8K, ориентированный на многошаговую математическую логику. Фреймворк позволяет гибко настраивать функции вознаграждения, проверяя не только правильность ответа, но и его формат (например, количество тегов XML). Инференс доступен в режимах генерации, интерактивного чата и стриминга. Запуск обучения сводится к одной команде:
uv run mlx-grpo.py --config configs/default.toml
Разработчики также внедрили механизм воспроизводимости через глобальный PRNG, что позволяет фиксировать seed для стабильных результатов между запусками. Лицензия проекта — MIT, что делает его открытым для коммерческого и исследовательского использования.
Источник: Github ↗
