Apple выпустила MLX, эффективный фреймворк машинного обучения, адаптированный для Apple Silicon, и MLX Data, гибкий пакет для загрузки данных.
Оба продукта были выпущены исследовательской группой Apple по машинному обучению. API MLX на языке Python во многом повторяет NumPy, но имеет несколько отличий.
Композитные преобразования функций: MLX имеет составные преобразования функций для автоматического дифференцирования, автоматической векторизации и оптимизации вычислительных графов.
Ленивые вычисления: Вычисления в MLX ленивы. Массивы материализуются только тогда, когда это необходимо.
Мультиустройство: Операции могут выполняться на любом из поддерживаемых устройств (CPU, GPU, ...).
Динамическое построение графов: Графы вычислений в MLX строятся динамически. Изменение формы аргументов функций не вызывает медленной компиляции, а отладка проста и интуитивно понятна.
Идея заключается в том, чтобы упростить обучение и развертывание ML-моделей для исследователей, использующих оборудование Apple. MLX — это NumPy-подобный фреймворк, предназначенный для эффективного и гибкого машинного обучения на процессорах Apple.
Дизайн MLX вдохновлен такими фреймворками, как PyTorch, Jax и ArrayFire. Заметным отличием этих фреймворков от MLX является унифицированная модель памяти. Массивы в MLX находятся в общей памяти, что позволяет выполнять операции с массивами MLX на любом поддерживаемом типе устройств без копирования данных. MLX Data (Github) — это пакет для загрузки данных, не зависящий от фреймворка и обладающий гибкими возможностями.
С помощью MLX и MLX Data пользователи могут выполнять такие задачи, как обучение языковой модели — трансформера и ее тонкая настройка с помощью LoRA, генерация текста с помощью Mistral, генерация изображений с помощью Stable Diffusion и распознавание речи с помощью Whisper. Пример того, как начать работу с MLX и Mistral, приведен в этом руководстве.
В этом видеоролике показана производительность модели Llama v1 7B, реализованной в MLX и работающей на M2 Ultra, что подчеркивает возможности MLX на устройствах Apple Silicon.
Более подробную информацию можно найти на Github для MLX и в документации Apple.
Компания также работает над LLM-фреймворком под названием Ajax и собственным чат-ботом, а также вкладывается в обучение ИИ, чтобы не отстать от ChatGPT и сервисов генеративного ИИ в целом.
