Учёные представили llada.cpp: ускорение диффузионных LLM на смартфонах в 17–42 раза
Группа исследователей представила llada.cpp — первый фреймворк, ориентированный на мобильные нейропроцессоры (NPU) для ускорения диффузионных больших языковых моделей (dLLM). Работа опубликована на arXiv и описывает методы, позволяющие эффективно использовать NPU в смартфонах.
Диффузионные LLM обещают быструю генерацию за счёт параллельного устранения шума из нескольких токенов, что важно для мобильных устройств с низкой задержкой. Однако циклы денойзинга создают значительную вычислительную нагрузку. Мобильные NPU обеспечивают высокую пропускную способность при матричных операциях, но их эффективное применение осложняется несколькими факторами: уменьшение рабочих нагрузок на блок, сложности с кешированием KV-кэша при ревизии токенов и ограниченная видимая память NPU, ведущая к частому переназначению и передаче данных.
llada.cpp решает эти проблемы с помощью трёх ключевых техник. Первая — Multi-Block Speculative Decoding: она заполняет уменьшающуюся нагрузку на поздних этапах декодирования текущего блока спекултивными токенами будущих блоков. Вторая — Dual-Path Progressive Revision: позволяет сохранять зафиксированные токены доступными для изменений до стабилизации, а нестабильные токены обновляются через CPU без остановки интенсивных вычислений на NPU. Третья — Swap-Optimized Memory Runtime: оптимизирует размещение данных в видимой NPU памяти и перекрывает операции переноса данных с вычислениями.
Фреймворк реализован как сквозное решение и протестирован на различных аппаратных платформах и нагрузках dLLM. Результаты показывают, что llada.cpp снижает задержку генерации модели LLaDA-8B в 17–42 раза по сравнению с базовым выполнением на CPU с повторным использованием KV-кэша, при этом качество генерации не ухудшается.
Разработка открывает путь к более быстрой и энергоэффективной работе современных языковых моделей непосредственно на смартфонах, что может повлиять на развитие мобильных приложений, требующих обработки естественного языка в реальном времени.





