Perplexity открыла код Lily - движка для локальных моделей на Mac
Локальный запуск больших моделей на Mac до сих пор держался на универсальных библиотеках вроде MLX, которую пишет сама Apple. Perplexity пошла другим путём и собрала движок под одну конкретную модель и одно семейство чипов, пожертвовав универсальностью ради скорости. Заодно компания расписала, сколько процентов дал каждый приём и какие идеи не сработали вовсе.
Что Lily делает в маковском агенте
1 сентября Perplexity запустила на Mac режим гибридных вычислений, в котором задача агента Perplexity Computer делится между облаком и компьютером пользователя. Облако берёт на себя рассуждения, веб-поиск и планирование. Локальная модель работает с личными файлами и чувствительными данными — именами, адресами, учётками, — которые не должны уходить наружу.
Режим доступен подписчикам Pro, Max и Enterprise на любом Mac с чипом Apple, macOS 15 и минимум 24 ГБ общей памяти. Локально запускаются три модели, и Lily отвечает за самую тяжёлую из них — Qwen3.6-35B-A3B. Вся конструкция теряет смысл, если домашняя половина работает заметно медленнее облачной, поэтому скорость здесь не спортивный интерес, а условие работоспособности.
Прибавка к MLX-LM в цифрах
Замеры Perplexity снимала на MacBook Pro с M5 Max — сорок ядер GPU и 128 ГБ общей памяти. Сравнивали с MLX-LM, штатным способом гонять модели на маковском железе.
Чтение присланного текста (стадия prefill, когда модель разбирает промпт перед ответом) ускорилось в среднем в 1,23 раза, с 3388 до 4156 токенов в секунду. Печать самого ответа выросла в 1,35 раза, со 126,4 до 170 токенов. На промпте в четыре тысячи токенов пики доходят до 5749,9 и 186,6 соответственно.
Качество при этом почти не поехало. Расхождение по перплексии — мере того, насколько уверенно модель предсказывает текст, — составило 0,04%, а самый вероятный токен совпадает с версией MLX-LM в 96,35% позиций.
Пять приёмов основного прироста
Qwen3.6 построена по схеме смеси экспертов. Из 256 подсетей на каждый токен включаются восемь, поэтому из 35 млрд параметров реально считаются три. Такая нерегулярность и стала полем для оптимизации. Lily выиграла на пяти решениях:
- распаковка 4-битных весов прямо внутри вычислительного ядра, без промежуточной выгрузки в память — плюс 77,4% на промпте в 512 токенов;
- раздача токенов по экспертам целиком на стороне GPU, без обращений к процессору — плюс 89% там же;
- передача только что сгенерированного токена от шага к шагу внутри GPU, минуя процессор;
- объединение запросов к общему кешу внимания вместо восьми отдельных чтений — плюс 23,8% на контексте в 32 тысячи токенов;
- отдельная раскладка внимания для длинного контекста — плюс 40,2% на 128 тысячах.
Спекулятивное декодирование не взлетело
Отдельный раздел инженерного блога Perplexity отдан под то, что не сработало. Для корпоративного анонса жанр редкий, и он же самый полезный. Спекулятивное декодирование, когда маленькая модель заранее набрасывает несколько токенов, а большая их проверяет, замедлило одиночную генерацию на 18%. Проверка шла пачками по две-пять строк, неудобная форма для этого железа, а строки ещё и тянули за собой разные подсети экспертов и заставляли перечитывать лишние веса.
Не дали эффекта попытки сократить число запусков GPU, склеить фазы и расширить рабочие плитки. Движок упёрся в скорость чтения весов из памяти. На матричных умножениях он выбирает 97,9% доступной полосы, на векторных 90,3%, и если убрать из ядра всю арифметику, скорость меняется на 0,2%.
Порог входа — 32 гигабайта памяти
Сжатый до четырёх бит вариант Qwen3.6-35B-A3B весит 19,4 ГБ вместо 70 ГБ в исходной точности. Формально гибридный режим стартует с 24 ГБ памяти, но реалистичный пол для самой Lily — Mac с 32 ГБ и выше, а показанные цифры сняты на конфигурации за несколько тысяч долларов.
Публичное демо лежит в репозитории pplx-garden. Внутри рантайм на Rust, собственные вычислительные ядра под Metal и HTTP-интерфейс, совместимый с API OpenAI , с потоковой выдачей токенов. Ни PyTorch, ни MLX в исполнении не участвуют. Возможности демо урезаны до минимума — жадная генерация, одна модель, одно семейство чипов.
Что с этим делать владельцу Mac
Владельцу Mac на чипе Apple с 32 ГБ памяти Lily даёт способ поднять 35-миллиардную модель локально и бесплатно, без подписки. Демо разворачивается из репозитория и отдаёт привычный эндпоинт, к которому цепляются существующие клиенты. Сам режим гибридных вычислений требует Pro, Max или Enterprise, а оплату этих тарифов из России стабильной не назовёшь. Для тех, кто держит модель на своей машине ради приватности документов и переписки, разница между 126 и 170 токенами в секунду — это разница между «работает» и «можно пользоваться».
Ставка против универсальных библиотек
Perplexity прямо говорит, что Lily проигрывает MLX в универсальности и выигрывает только на одной связке модели и железа. Компания обещает расширить движок на другие модели, версии чипов и обслуживание нескольких запросов сразу. Пока этого не произошло, Lily остаётся доказательством тезиса, а не заменой MLX для всех желающих. Проверочная точка — появятся ли в pplx-garden вторая модель и поддержка чипов прошлых поколений до конца года.