Laya-MLX: нативный MLX-движок для типизированных решений на Apple Silicon

Laya-MLX: нативный MLX-движок для типизированных решений на Apple Silicon

Laya-MLX — это нативный MLX-движок для типизированных решений на Apple Silicon. Он призван упростить задачи принятия быстрых, коротких решений с задержкой всего 7–14 мс без текстовой генерации, PyTorch или облачного API.

Проект может быть полезен разработчикам, которым нужно быстро и локально выполнять решения на языке, а также тем, кто работает в сфере обслуживания клиентов. В отличие от традиционных решений, здесь используется только локальная инференция, что позволяет избежать зависимостей от внешних сервисов и снижает задержки.

Запуск довольно простой: достаточно установить через pip pip install laya-mlx, загрузить модель и делать предсказания в Python 3.11+ на macOS 14+. Однако стоит учесть, что проект предназначен только для Apple Silicon, и работа на других платформах или версиях macOS не гарантируется.

Проект Laya-MLX представляет собой решение для быстрого и эффективного выполнения "типизированных решений" с использованием машинного обучения. Он оптимизирован для работы на процессорах Apple Silicon и позволяет выполнять локальное инференс без необходимости в популярном инструменте PyTorch или облачных API.

Основная особенность Laya-MLX заключается в способности обрабатывать запросы, требующие выбора, оценки или вероятности, без необходимости в декодировании токенов. Это достигается путем использования двунаправленного кодировщика, который генерирует ответы на основе состояния и вопроса. Проект поддерживает несколько предобученных моделей, которые можно использовать для различных типов задач.

Установка и запуск

Чтобы начать работу с Laya-MLX, достаточно установить пакет через pip:

pip install laya-mlx

Далее можно загрузить модель и попробовать ее на примере:

import laya_mlx as laya

agent = laya.load("aac6fef/laya-mlx")
result = agent.predict(
    "I was billed twice. Please refund the duplicate.",
    {
        "department": {
            "type": "choice",
            "instructions": "Who should handle this?",
            "criteria": ["billing", "technical", "sales"],
        }
    },
)
print(result["answers"]["department"])

Для работы на компьютерах Apple с macOS 14+ и версией Python 3.11 и выше. При первом запуске происходит загрузка модели, а дальнейшие запросы выполняются локально.

Функциональные возможности

  • Поддержка нескольких моделей, включая английскую и многоязычную.
  • Быстрая обработка запросов с медианным временем ответа около 13.4 мс для короткого вопроса.
  • Поддержка командной строки для предсказаний и экспорта моделей.
  • Демо-версия игры Snake для демонстрации возможностей системы.

Ограничения

Вы можете столкнуться с некоторыми ограничениями, такими как:

  • Модели ориентированы на работу с данными формата FP16, что может влиять на точность.
  • Производительность сильно зависит от используемого оборудования, особенно от GPU и доступной памяти.
  • Несмотря на поддержку многопоточной обработки, размер пакетных запросов ограничен по умолчанию до 16 вопросов на один проход.

В целом, Laya-MLX является многообещающим инструментом для разработчиков, интересующихся локальными решениями на базе машинного обучения, особенно в контексте обработки типизированных решений. Интересно, что он позволяет значительное ускорение по времени выполнения по сравнению с традиционными решениями.

Открыть на GitHub: mizorewww/laya-mlx →

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

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

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