Layer fusion techniques are critical to improving the inference efficiency of deep neural networks (DNN) for deployment. Fusion aims to lower inference costs by reducing data transactions between an accelerator's on-chip buffer and DRAM. This is accomplished by grouped execution of multiple operations like convolution and activations together into single execution units - fusion groups. However, on-chip buffer capacity limits fusion group size and optimizing fusion on whole DNNs requires partitioning into multiple fusion groups. Finding the optimal groups is a complex problem where the presence of invalid solutions hampers traditional search algorithms and demands robust approaches. In this paper we incorporate Explainable AI, specifically Graph Explanation Techniques (GET), into layer fusion. Given an invalid fusion group, we identify the operations most responsible for group invalidity, then use this knowledge to recursively split the original fusion group via a greedy tree-based algorithm to minimize DRAM access. We pair our scheme with common algorithms and optimize DNNs on two types of layer fusion: Line-Buffer Depth First (LBDF) and Branch Requirement Reduction (BRR). Experiments demonstrate the efficacy of our scheme on several popular and classical convolutional neural networks like ResNets and MobileNets. Our scheme achieves over 20% DRAM Access reduction on EfficientNet-B3.
Методы слияния слоёв являются критически важными для повышения эффективности вывода глубоких нейронных сетей (ГНС) при развёртывании. Слияние направлено на снижение затрат вывода путём уменьшения передачи данных между буфером на кристалле ускорителя и DRAM. Это достигается путём группировки нескольких операций, таких как свёртка и активация, в единые блоки выполнения — группы слияния. Однако ёмкость буфера на кристалле ограничивает размер группы слияния, и оптимизация слияния на всей ГНС требует разделения на несколько групп слияния. Поиск оптимальных групп является сложной задачей, при которой наличие недопустимых решений затрудняет традиционные алгоритмы поиска и требует надёжных подходов. В данной работе мы интегрируем объяснимый искусственный интеллект, в частности методы объяснения графов (Graph Explanation Techniques, GET), в слияние слоёв. Для недопустимой группы слияния мы определяем операции, в наибольшей степени ответственные за недопустимость группы, а затем используем эти знания для рекурсивного разделения исходной группы слияния с помощью жадного древовидного алгоритма для минимизации доступа к DRAM. Мы объединяем нашу схему с распространёнными алгоритмами и оптимизируем ГНС для двух типов слияния слоёв: Line-Buffer Depth First (LBDF) и Branch Requirement Reduction (BRR). Эксперименты демонстрируют эффективность нашей схемы на нескольких популярных и классических сверточных нейронных сетях, таких как ResNets и MobileNets. Наша схема достигает более чем 20% снижения доступа к DRAM на EfficientNet-B3.
Основная проблема, которую решает данное исследование, — это оптимизация слияния слоёв (Layer Fusion) глубоких нейронных сетей. Слияние слоёв — это метод ускорения вывода, который объединяет несколько операционных слоёв ГНС (таких как свёртка и ReLU) в единый блок выполнения, снижая количество передач данных между кэшем на кристалле нейроускорителя и DRAM, тем самым уменьшая задержку вывода и потребление энергии.
Узкие места производительности: По мере увеличения размера и глубины моделей ГНС доступ к DRAM становится основным узким местом производительности и энергопотребления
Требования развёртывания: При развёртывании ГНС на граничных устройствах и мобильных платформах ограничения пропускной способности памяти и энергопотребления особенно критичны
Аппаратные ограничения: Ёмкость кэша на кристалле ограничена, требуется интеллектуальное группирование операций для максимизации эффекта слияния
Низкая эффективность поиска: Традиционные алгоритмы поиска (такие как эволюционные алгоритмы, локальный поиск) неэффективны при работе с недопустимыми группами слияния
Случайное разделение: Существующие методы обычно случайно разделяют недопустимые группы слияния, не гарантируя оптимальность затрат доступа к DRAM
Отсутствие интерпретируемости: Невозможно определить конкретные операции, вызывающие недопустимость группы слияния, что затрудняет целевую оптимизацию
Авторы предлагают интегрировать методы объяснимого искусственного интеллекта в оптимизацию слияния слоёв, используя методы объяснения графов (GET) для определения ключевых операций, вызывающих недопустимость группы слияния, а затем применяя жадный древовидный алгоритм для интеллектуального разделения с целью минимизации затрат доступа к DRAM.
Первое применение методов объяснения графов к оптимизации слияния слоёв: Инновационное объединение объяснимого искусственного интеллекта и оптимизации аппаратного обеспечения
Предложение рекурсивного алгоритма разделения деревьев: Разработка рекурсивной схемы разделения на основе жадной стратегии, способной интеллектуально обрабатывать недопустимые группы слияния
Проверка на различных методах слияния: Валидация схемы на двух различных методах слияния слоёв — LBDF и BRR
Значительное улучшение производительности: Достижение более чем 20% снижения доступа к DRAM на EfficientNet-B3
Для заданного вычислительного графа G глубокой нейронной сети и ёмкости кэша на кристалле β целью оптимизации слияния слоёв является поиск оптимальной схемы разделения Φ такой, что:
min_Φ Σ_{φn∈Φ} F_D(φn)
s.t. ∀φn ∈ Φ | F_β(φn) < β
где F_D вычисляет стоимость доступа к DRAM, F_β вычисляет требования к памяти, а требования к памяти каждой группы слияния φn не должны превышать ёмкость кэша β.
Остаточные соединения в современных ГНС делают простое удаление рёбер неспособным разделять группы слияния. Алгоритм использует топологическую сортировку и рекурсивную проверку для обеспечения правильной обработки вложенных пропускных соединений.
Использование механизма кэширования для сохранения результатов разделения и вычисления затрат, избегая повторных вычислений и повышая эффективность поиска.
Результаты BRR и LBDF при кэше 128 КБ показывают, что методы, усиленные GET, превосходят базовые методы почти на всех сетях, особенно достигая улучшения более 10% на сложных сетях, таких как MobileNetV2.
Эксперименты показывают, что поиск с бюджетом 1k с использованием GET может превзойти производительность базового метода с бюджетом 4k, что доказывает высокую эффективность метода.
Первое применение методов объяснения графов в области оптимизации аппаратного обеспечения, предоставляющее новый подход к решению классической проблемы слияния слоёв.
Упрощение модели аппаратного обеспечения: В настоящее время рассматриваются только ограничения ёмкости кэша, не охватываются более сложные характеристики аппаратного обеспечения
Ограничение типов слияния: BRR имеет ограниченную поддержку современных структур сетей (таких как модули SE)
Вычислительные затраты: Обучение GNN и выполнение GET увеличивают затраты предварительной обработки
Высокая инновационность: Первое применение методов объяснимого искусственного интеллекта к оптимизации аппаратного обеспечения, открывающее новое направление исследований
Полнота метода: От моделирования проблемы до разработки алгоритма и экспериментальной проверки формируется полный цикл
Достаточность экспериментов: Комплексная проверка на различных сетях, методах слияния и алгоритмах поиска
Высокая практическая ценность: Прямое применение в реальных сценариях развёртывания
Статья ссылается на важные работы в нескольких областях, включая слияние слоёв, графовые нейронные сети и объяснимый искусственный интеллект:
Sze et al. (2017): Обзор эффективной обработки глубокого обучения
Ying et al. (2019): Оригинальная статья GNNExplainer
Luo et al. (2020): Метод PGExplainer
Shan et al. (2021): Технология RG-Explainer
Общая оценка: Это высококачественная междисциплинарная исследовательская статья, успешно применившая методы объяснимого искусственного интеллекта к проблеме оптимизации аппаратного обеспечения. Метод является инновационным, а эксперименты достаточно полными. Хотя существует место для улучшения в теоретическом анализе и аппаратной верификации, её инновационность и практическая ценность придают ей важное значение в области оптимизации систем глубокого обучения.