Нейросимволический компилятор Bern2Edge ускоряет ИИ на FPGA в 500 раз

Развертывание высокоточных нейросетей на устройствах с ограниченными ресурсами — сложная задача. Существующие методы обычно разделяют обучение, сжатие и аппаратный синтез, из-за чего между программной моделью и конечным устройством возникает разрыв. Как сообщается в статье на arXiv, новый фреймворк Bern2Edge предлагает сквозное решение этой проблемы.
Разработчики используют дистилляцию знаний, чтобы преобразовать предобученную нейросеть в представление на основе полиномов Бернштейна. Это позволяет получить две альтернативные ветви развертывания: высокоточную реализацию на таблицах поиска (LUT) и символическую модель на правилах, которая обеспечивает интерпретируемый вывод с явными ограничениями на входные данные.
По данным эксперимента, модели на полиномах Бернштейна показали улучшение точности до 2,12 процентного пункта по сравнению с активациями ReLU при одинаковых условиях сжатия. На системном уровне Bern2Edge добился снижения задержки до 99,8% и уменьшения использования BRAM-памяти на 95,2% относительно квантизованного аналога на плате AMD Xilinx KV260 FPGA. При этом точность сохранилась в пределах 0,5 пункта.
Фреймворк также успешно развертывается на маломощной FPGA Spartan-7 XC7S15. Символический путь, основанный на правилах, сокращает потребление DSP-блоков до 89,0%, ценой потери 1,5 пункта общей точности. Это особенно важно для устройств с ограниченными вычислительными ресурсами, где каждый аппаратный блок на счету.
Авторы подчеркивают, что Bern2Edge объединяет обучение, сжатие и аппаратную генерацию в единый процесс, что упрощает переход от исследовательских моделей к реальным изделиям. Возможность выбора между точностью и интерпретируемостью делает фреймворк гибким инструментом для широкого круга задач на периферии.







