Журнал · Rit.work

Perplexity открыла Lily — движок локального запуска Qwen3.6-35B-A3B на Apple Silicon

Lily ускоряет обработку запросов и генерацию относительно MLX-LM за счёт специализации под одну модель, собственного Metal-кода и среды выполнения на Rust.

Дежурный по новостям
Автоматический обзор · Rit.work
2 сентября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Perplexity открыла исходный код Lily — локального движка, который компания использует для гибридных вычислений в Perplexity Computer. В тестах на Apple Silicon он обгоняет MLX-LM при запуске Qwen3.6-35B-A3B, но выигрыш получен за счёт привязки к конкретной модели и аппаратной платформе; прямого сравнения с llama.cpp в опубликованном тесте нет.

Lily ускоряет обе фазы вывода модели

Авторы отдельно измеряли обработку входного запроса (prefill) и генерацию ответа (decode). Первая метрика показывает, как быстро движок читает промпт и накопленный контекст, вторая — с какой скоростью выдаёт новые токены.

В среднем Lily обрабатывает входной запрос на 23% быстрее MLX-LM, а генерирует ответ на 35% быстрее. Результат рассчитан для контекстов от 256 до 128K токенов. Тест проводился на MacBook Pro с M5 Max, графическим процессором на 40 ядер и 128 ГБ объединённой памяти, поэтому переносить те же соотношения на другие поколения Apple Silicon без отдельного измерения нельзя.

Преимущество связано не с новым способом запуска любых LLM, а со специализацией под Qwen3.6-35B-A3B. Это разреженная модель со смесью экспертов: для каждого токена используется только часть параметров, причём разные токены направляются к разным экспертным блокам. Модель также сочетает обычное внимание с рекуррентными слоями Gated DeltaNet. Такая архитектура экономит вычисления, но создаёт неоднородную нагрузку и усложняет перемещение данных.

Lily использует разные пути выполнения для двух фаз. При обработке промпта движок повторно использует веса для множества токенов и применяет матричные операции. При генерации каждого следующего токена повторное использование весов ограничено, поэтому скорость сильнее зависит от пропускной способности памяти. Движок подбирает ядра Metal и раскладку вычислений под каждую из этих нагрузок.

MLX-LM универсальнее, Lily сокращает накладные расходы

MLX — открытая среда машинного обучения Apple, а MLX-LM добавляет готовые компоненты для запуска разных языковых моделей. Этот стек уже учитывает особенности Apple Silicon: работает с объединённой памятью, группирует вычисления экспертов, использует специализированное ядро Metal для Gated DeltaNet и оптимизирует работу с кешем внимания.

Разница заключается в уровне универсальности. MLX-LM представляет модель как набор переиспользуемых операций, которые должны поддерживать разные архитектуры и формы нагрузки. Lily объединяет структуру Qwen, выбор ядер, план выполнения и управление данными в одной специализированной среде.

  • Среда выполнения. Сеанс и цикл генерации реализованы на Rust.

  • Вычисления. Операции Qwen выполняют собственные ядра Metal; PyTorch и MLX в пути выполнения не участвуют.

  • Интерфейс. Движок предоставляет совместимый с OpenAI API метод генерации сообщений и потоковую выдачу токенов.

  • Работа с памятью. Веса с 4-битным квантованием распаковываются непосредственно во время матричных операций, а маршрутизация между экспертами остаётся на GPU.

Это объясняет выигрыш относительно MLX-LM, но не позволяет утверждать, что Lily быстрее llama.cpp. llama.cpp в описанном тесте не участвовал. Пиковое потребление памяти Lily и MLX-LM авторы также не сопоставляли, поэтому сравнение по памяти ограничивается устройством движков, а не измеренным преимуществом одного из них.

Что это меняет для команд, которые строят на локальном выводе

Lily имеет практический смысл, если конфигурация продукта уже совпадает с его узкой специализацией: приложение работает на Mac, локальной моделью выбрана Qwen3.6-35B-A3B, а задержка на последовательности вызовов влияет на время выполнения пользовательской задачи. В многошаговом процессе экономия на обработке контекста и генерации накапливается при каждом обращении к модели.

Интеграцию на уровне приложения упрощает совместимый с OpenAI API интерфейс: существующий клиент не требуется переписывать под собственный протокол Lily. Однако инфраструктурная замена MLX-LM сложнее, чем смена сервера за тем же API. Команда принимает специализированную среду на Rust, собственные ядра Metal и фиксированную архитектуру модели вместо универсального стека с поддержкой нескольких семейств LLM.

Для продукта, которому нужны разные модели или оборудование не только Apple, MLX-LM остаётся более переносимой основой из двух проверенных вариантов. Lily оправдывает привязку там, где выбранная связка Mac и Qwen уже является ограничением продукта, а ускорение локального этапа важнее возможности свободно менять модель. Сравнивать его с llama.cpp для окончательного выбора придётся отдельным испытанием на целевом устройстве и одинаковом квантованном файле модели.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Дежурный по новостям

Автоматический обзор · Rit.work

Материалы этого автора собирает наш конвейер: он следит за каналами исследовательских лабораторий, читает первоисточники и пересказывает главное по-русски. То, что пишут люди, подписано студией.

Ко всем материалам
Понравилось? Обсудим вашу задачу