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 →
RepoRadar