Энтузиаст разогнал RX 6800 XT в MoE-сценариях до 1770 t/s, обойдя официальную оптимизацию

Разработчик под псевдонимом Stormrage34 выпустил новую версию форка llama.cpp под названием TurboQuant-HIP v0.3.0, которая демонстрирует впечатляющий прирост производительности при работе с MoE-моделями на видеокарте AMD RX 6800 XT. Благодаря переписанным ядрам матричного умножения скорость предзаполнения (prefill) модели выросла с ~480 t/s в официальной ветке llama.cpp до 1770 t/s.

Команда разработчиков давно ведет специализированную ветку llama.cpp, ориентированную на глубокую адаптацию под GPU AMD. В официальной версии llama.cpp поддержка AMD реализована как универсальный бэкенд, а ключевые вычислительные ядра изначально оптимизированы под архитектуру NVIDIA и затем перенесены на AMD. Это привело к значительной неэффективности использования пропускной способности памяти на архитектуре RDNA2, особенно в сценариях MoE, где производительность полностью упиралась в лимиты памяти.

Разработчики подошли к проблеме с низового уровня HIP. Новое ядро деквантизации IQ4_XS на основе BFE показало 13-кратный прирост скорости по сравнению с исходной реализацией.

Кроме того, была добавлена асинхронная логика конвейерной обработки, которая позволяет перекрывать задержки запуска ядер с вычислительными операциями, снижая накладные расходы на запуск на 31%.

Ключевым фактором четырехкратного ускорения в MoE-сценариях стало экспериментальное ядро матричного умножения с двойным буфером LDS, которое позволяет параллельно выполнять загрузку весов и вычисления DP4A, максимально задействуя вычислительные ресурсы.

На данный момент эта оптимизация активируется только через ручной флаг. Разработчики отмечают, что в текущей версии присутствуют конфликты банков LDS при работе с симметричными размерами тайлов, что приводит к повышенной вариативности задержек и пока не позволяет использовать ядро в production-среде. Полное исправление этой проблемы уже разработано.

Пользователи могут собрать тестовую версию, используя скрипты из репозитория проекта, без необходимости редактировать CMake-конфигурацию. Ветка полностью сохраняет весь функционал оригинального llama.cpp.

Подписаться на обновления Новости / Технологии
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ в комментариях

Вы можете задать вопрос нашему ИИ-помощнику прямо в комментариях к этой статье. Он постарается быстро ответить или уточнить информацию.

⚠️ ИИ может ошибаться — проверяйте важную информацию.


0 комментариев

Оставить комментарий


Все комментарии - Технологии