Разработчики llama.cpp устранили критическую проблему производительности при работе с архитектурой AMD Strix Halo. Ошибка приводила к резкому падению скорости вычислений в операциях flash-attention, что негативно сказывалось на инференсе LLM. Патч оптимизирует использование вычислительных блоков процессора, восстанавливая стабильную пропускную способность при работе с плотными матрицами.
Проблема была связана с неэффективным распределением нагрузки в ядре flash-attention, которое приводило к «эффекту обрыва» (cliff) — резкому снижению производительности при достижении определенных параметров контекста. В архитектуре Strix Halo, сочетающей мощные CPU-ядра и интегрированную графику, это приводило к тому, что модель начинала работать значительно медленнее, чем на менее производительном железе.
Исправление включает корректировку логики планирования потоков и управления кэшем для специфических особенностей архитектуры AMD. Это позволяет более эффективно использовать аппаратные ресурсы при выполнении операций с матрицами, характерных для трансформеров. Обновление уже доступно в основной ветке проекта и рекомендуется для всех пользователей, работающих с локальным инференсом на базе процессоров AMD нового поколения.
Ключевые факты
- Патч устраняет деградацию производительности flash-attention на чипах AMD Strix Halo.
- Проблема проявлялась как резкое падение скорости (dense cliff) при выполнении операций инференса.
- Оптимизация затрагивает управление потоками и кэширование данных на уровне ядра llama.cpp.
- Исправление обеспечивает стабильную работу LLM на интегрированной графике AMD нового поколения.