Hawk: фреймворк для создания безошибочных NPU-ядер с помощью LLM

Разработка высокопроизводительных ядер для нейропроцессоров (NPU) остаётся одной из ключевых проблем индустрии. Инженерам приходится вручную учитывать неявные аппаратные ограничения и жёсткую иерархию памяти. Большие языковые модели (LLM) могли бы автоматизировать этот процесс, но они терпят неудачу из-за отсутствия знаний о специфике NPU.

Наивное копирование фрагментов кода из похожих NPU-ядер может пройти компиляцию, но часто приводит к сбоям во время выполнения и снижению производительности. Причина — слепое нарушение аппаратных ограничений, невидимых для LLM.

Для решения этой проблемы группа исследователей разработала Hawk — фреймворк, использующий знания об аппаратуре без необходимости дополнительного обучения. Он состоит из трёх модулей: синтеза знаний времени выполнения, поиска с учётом узких мест и дистилляции знаний на основе эффектов.

Модуль синтеза знаний использует тройное представление, связывающее контекст ошибки с исполняемой семантикой. Модуль поиска применяет двумерную парадигму, проецируя запросы в ортогональные синтаксическое и аппаратно-согласованное семантические пространства. Модуль дистилляции с помощью LLM непрерывно очищает знания, удаляя ошибки и объединяя избыточность на основе эмпирических результатов выполнения.

Эксперименты на реальных NPU-нагрузках показали, что Hawk повышает точность генерации с 49,4% до 80,0% и достигает ускорения выполнения до 2,2 раза по сравнению с существующими методами. Работа опубликована в архиве препринтов arXiv.