Суть проекта: узкая специализация ради скорости
Perplexity открыла исходный код Lily — локального inference-движка, лежащего в основе функции Hybrid Compute в Perplexity Computer. Это не универсальный фреймворк, а узкоспециализированный runtime, оптимизированный исключительно под одну модель (Qwen3.6-35B-A3B) и одно железо (Apple Silicon). В вычислительном конвейере полностью отсутствуют PyTorch и MLX: загрузку чекпоинта, цикл генерации и выполнение ядров берет на себя Rust-слой, а вычисления происходят через hand-written Metal-ядра.
Архитектура Qwen3.6-35B-A3B и вызовы
Модель использует гибридную архитектуру: 35 млрд параметров, из которых активируется ~3 млрд на токен. Она сочетает 256 экспертов (выбирается 8 + 1 общий), 10 слоев с Grouped-Query Attention (GQA) и 30 слоев с Gated DeltaNet. Такая сложность требует нестандартного подхода к управлению памятью и маршрутизации запросов, что стандартные стеки (MLX) делают с оговорками на универсальность.
Технические оптимизации: Prefill и Decode
Lily достигает высокой производительности за счет глубокой интеграции с Metal 4. Ключевые решения:
- Prefill (загрузка контекста): Дезквантизация 4-bit весов (сжатие с 70 ГБ до 19.4 ГБ) встроена в grouped GEMM. Это дало прирост +77.4% на промптах 512 токенов. Маршрутизация экспертов (MoE) выполнена полностью на GPU, убрав синхронизацию с CPU, что ускорило процесс на +89%.
- Decode (генерация токенов): Оптимизировано перемещение данных. Упаковка GQA и фиксированная структура внимания позволили увеличить пропускную способность кэша ключей с 33.8 до 47.9 ГБ/с. На длинных контекстах (128K токенов) ускорение достигло +40.2%.
Результаты бенчмарков
Тестирование проводилось на Mac с чипом M5 Max (40 ядер, 128 ГБ памяти) против самого быстрого пути генерации в MLX-LM. Lily превзошла конкурента во всех метриках:
| Метрика | Lily (tokens/s) | MLX-LM (tokens/s) | Ускорение |
|---|---|---|---|
| Prefill (среднее, 256-128K) | 4,156 | 3,388 | 1.23x |
| Decode (среднее, 256-128K) | 170.0 | 126.4 | 1.35x |
| Prefill (контекст 4K) | 5,749.9 | 4,737.5 | ~1.21x |
| Decode (контекст 4K) | 186.6 | 140.9 | ~1.32x |
Качество генерации не пострадало: перплексия Lily выше всего на 0.04%, а совпадение с эталонным токеном составляет 96.35%.
Требования и доступность
Для запуска требуется macOS 15+ и минимум 24 ГБ (рекомендуется 32 ГБ) объединенной памяти, так как 4-bit чекпоинт весит 19.4 ГБ. Код проекта доступен в репозитории pplx-garden. Это решение демонстрирует тренд на создание «узких» runtime-систем, которые выигрывают у универсальных фреймворков за счет полного контроля над аппаратными ресурсами Apple Silicon.
Источник: MarkTechPost ↗
