Машинное обучение для компьютерной архитектуры

машинное обучение
Машинное обучение для компьютерной архитектуры

Видео введение:Машинное обучение для компьютерной архитектуры

Одним из ключевых факторов, влияющих на недавние достижения в области машинного обучения (ML), стала разработка пользовательских ускорителей, таких как Google TPU и Edge TPU, которые значительно увеличили доступную вычислительную мощность, открыв такие возможности, как AlphaGo, RankBrain, WaveNets и диалоговая игра. Это дополнение может повысить производительность обучения и логического вывода нейронных сетей, открывая новые возможности для широкого спектра приложений в области зрения, языка, понимания и беспилотных автомобилей.

Чтобы поддерживать эти достижения, экосистема аппаратных ускорителей должна продолжать внедрять инновации в архитектурный дизайн и адаптироваться к быстро развивающимся моделям и приложениям машинного обучения. Это требует оценки множества различных точек проектирования ускорителя, каждая из которых может не только увеличить вычислительную мощность, но и раскрыть новые возможности. Эти точки проектирования обычно параметризуются различными аппаратными и программными факторами (например, объемом памяти, количеством вычислительных блоков на разных уровнях, параллелизмом, сетями взаимосвязей, конвейерной обработкой, отображением программного обеспечения и т. д.). Это сложная задача оптимизации, поскольку пространство поиска экспоненциально велико1, а целевая функция (например, меньшая задержка и/или более высокая энергоэффективность) требует больших вычислительных ресурсов для оценки путем моделирования или синтеза, что затрудняет определение возможных конфигураций ускорителя.

В разделе «Аполлон: исследование переносимой архитектуры» мы представляем результаты наших исследований по проектированию пользовательских ускорителей на основе машинного обучения. В то время как недавняя работа продемонстрировала многообещающие результаты в использовании ML для улучшения низкоуровневого процесса планирования этажа, в котором аппаратные компоненты пространственно размещаются и соединяются в кремнии, в этой работе мы сосредоточимся на объединении ML в высокоуровневую спецификацию системы и этап архитектурного проектирования. , который является ключевым фактором, влияющим на общую производительность чипа, устанавливает элементы конструкции, управляющие высокоуровневыми функциями. Наше исследование показывает, как алгоритмы машинного обучения могут облегчить исследование архитектуры и предложить высокопроизводительные архитектуры для ряда глубоких нейронных сетей в различных областях, от классификации изображений, обнаружения объектов, оптического распознавания символов и семантической сегментации.

Архитектурные поисковые пространства и рабочие нагрузки

Цель архитектурного исследования состоит в том, чтобы найти допустимый набор параметров ускорителя для набора рабочих нагрузок, чтобы минимизировать ограничения желаемой целевой функции (например, средневзвешенное значение во время выполнения) при дополнительном наборе определяемых пользователем ограничений. Однако многообразие для поиска архитектуры обычно содержит множество точек, для которых невозможно преобразовать программное обеспечение в аппаратное обеспечение. Некоторые из этих точек проектирования известны априори, и пользователь может обойти их, сформулировав их как ограничения оптимизации (например, в ограничении бюджета области 2 общий размер памяти не должен превышать заранее заданного предела). Однако из-за взаимодействия архитектуры и компилятора, а также из-за сложности пространства поиска некоторые ограничения могут быть неправильно сформулированы при оптимизации, поэтому компилятор может оказаться не в состоянии найти допустимое сопоставление программного обеспечения для целевого оборудования. Эти недостижимые точки нелегко сформулировать в задачах оптимизации, и обычно они неизвестны до тех пор, пока не будет пройден весь компилятор. Таким образом, одна из основных задач исследования архитектуры состоит в том, чтобы эффективно избегать невыполнимых точек для эффективного исследования пространства поиска с минимальным количеством архитектурных симуляций с точностью до цикла.

На рисунке ниже показано общее архитектурное пространство поиска целевого ускорителя машинного обучения. Ускоритель состоит из двумерного массива элементов обработки (PE), каждый из которых выполняет набор арифметических вычислений в режиме одной инструкции и нескольких данных (SIMD). Основным архитектурным компонентом каждого PE является процессорное ядро, включающее несколько вычислительных каналов для SIMD-операций. Каждое PE имеет общую память (PE Memory) между всеми своими вычислительными ядрами, в основном для хранения активаций модели, частичных результатов и выходных данных, в то время как отдельное ядро ​​имеет память в основном для хранения параметров модели. Каждое ядро ​​имеет несколько вычислительных каналов с несколькими модулями умножения-накопления (MAC). Результаты расчета модели для каждого цикла либо сохраняются в PE-памяти для дальнейших вычислений, либо выгружаются обратно в DRAM.

Стратегия оптимизации

В этом исследовании мы исследуем четыре стратегии оптимизации в контексте исследования архитектуры:

1. Случайный выбор: пространство поиска архитектуры выбирается случайным образом и равномерно.

2. Визирь: используйте байесовскую оптимизацию для исследования пространства поиска, где оценка целевой функции является дорогостоящей (например, аппаратное моделирование, выполнение которого может занять несколько часов). Используя набор выборочных точек из пространства поиска, байесовская оптимизация формирует суррогатную функцию, обычно представляемую гауссовым процессом, которая аппроксимирует многообразие пространства поиска. Руководствуясь значением суррогатной функции, алгоритм байесовской оптимизации решает, следует ли искать компромисс между разведкой и эксплуатацией, из многообещающих областей в многообразии (эксплуатация) или из областей, которые не видны в пространстве поиска. исследование). Затем алгоритм оптимизации использует эти новые точки выборки и дополнительно обновляет суррогатную функцию, чтобы лучше моделировать целевое пространство поиска. Vizier делает улучшения прогнозирования своей основной функцией сбора данных. Здесь мы используем Vizier (безопасный), вариант оптимизации с ограничениями, который направляет процесс оптимизации, чтобы не предлагать испытания, которые не удовлетворяют заданным ограничениям.

3. Эволюционный: выполните эволюционный поиск, используя популяцию из k особей, где геном каждой особи соответствует серии дискретных конфигураций ускорителя. Новые особи создаются путем выбора двух родителей для каждой особи из популяции с использованием турнирного отбора, рекомбинации их геномов с некоторой степенью кроссовера и мутации рекомбинированного генома с некоторой вероятностью.

4. Оптимизация черного ящика на основе популяции (P3BO). Было показано, что использование набора методов оптимизации, включая эволюционные и модельные, повышает эффективность и надежность выборки. Выборочные данные обмениваются между методами оптимизации в ансамбле, и оптимизатор взвешивает их в соответствии с историей своей производительности для создания новых конфигураций. В нашем исследовании мы используем вариант P3BO, где гиперпараметры оптимизатора динамически обновляются с помощью эволюционного поиска.

Встраивание пространства поиска ускорителя

Чтобы лучше визуализировать эффективность каждой стратегии оптимизации при навигации в пространстве поиска ускорителя, мы используем t-распределенное стохастическое соседнее встраивание (t-SNE) для сопоставления исследуемых конфигураций с двумерным пространством в пределах горизонта оптимизации. Цель (вознаграждение) для всех экспериментов определялась как пропускная способность (выводов/сек) на регион ускорителя. На рисунке ниже оси x и y представляют компоненты t-SNE пространства вложения (вложение 1 и вложение 2). Маркеры в виде звезды и круга показывают невозможные (нулевое вознаграждение) и возможные проектные баллы соответственно, а размер допустимых баллов соответствует их вознаграждению.

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

По сравнению с методами случайной выборки стратегия оптимизации Vizier по умолчанию обеспечивает хороший баланс между исследованием пространства поиска и поиском точек проектирования с более высоким вознаграждением (1,14 против 0,96). Однако этот метод имеет тенденцию застревать в невозможных областях, и хотя он находит некоторые точки с наибольшей выгодой (обозначенные красными крестиками), он находит несколько возможных точек на последней итерации исследования.

С другой стороны, эволюционные стратегии оптимизации находят допустимые решения на ранней стадии оптимизации и собирают вокруг них кластеры допустимых точек. Следовательно, этот метод в основном перемещается по допустимым областям (зеленые круги) и эффективно избегает недопустимых точек. Кроме того, эволюционный поиск смог найти больше вариантов дизайна с наибольшей наградой (красный крест). Это разнообразие решений с высокой отдачей дает разработчикам гибкость в изучении различных архитектур с различными компромиссными решениями.

Наконец, оптимизация на основе населения (P3BO) исследует пространство проектирования более целенаправленно (регионы с высокими баллами вознаграждения), чтобы найти лучшее решение. Стратегия P3BO находит проектную точку с наивысшим вознаграждением в области поиска с более жесткими ограничениями (например, большое количество недопустимых точек), демонстрируя свою эффективность в навигации в области поиска с большим количеством недопустимых точек.

Исследование архитектуры при различных проектных ограничениях

Мы также исследуем преимущества каждой стратегии оптимизации при различных ограничениях бюджета площади (6,8 мм 2 , 5,8 мм 2 и 4,8 мм 2 ). Следующие графики-скрипки показывают полное распределение максимально достижимого вознаграждения между изученными стратегиями оптимизации в конце оптимизации (после 10 прогонов по 4К каждый). Более широкий раздел представляет собой более высокую вероятность наблюдения возможных архитектурных конфигураций для конкретного заданного вознаграждения. Это означает, что мы склонны создавать оптимизированные алгоритмы увеличенной ширины в точках с более высоким вознаграждением (более высокой производительностью).

Двумя наиболее эффективными стратегиями оптимизации для исследования архитектуры являются развитие и P3BO, обе из которых обеспечивают решения с высокой отдачей и надежностью при многократном запуске. Глядя на различные проектные ограничения, мы видим, что по мере ужесточения ограничения бюджета области стратегия оптимизации P3BO обеспечивает более эффективное решение. Например, когда ограничение бюджета площади было установлено на 5,8 мм 2 , P3BO обнаружил, что расчетная точка с вознаграждением (пропускная способность/ускоряющая площадь) 1,25 превзошла все другие стратегии оптимизации. Та же тенденция наблюдалась, когда ограничение бюджета площади было установлено на 4,8 мм2, с немного лучшим вознаграждением, полученным при нескольких запусках с более высокой надежностью (меньшей изменчивостью).

Скрипичный график показывает полное распределение максимально достижимого вознаграждения по 10 стратегиям оптимизации после оценки на испытаниях 4K при бюджете площади 6,8 мм2. Алгоритмы P3BO и Evolutionary позволяют создавать более высокопроизводительные конструкции (более широкие секции). Оси x и y представляют собой среднее геометрическое ускорения (вознаграждения) изучаемого оптимизированного алгоритма и эталонного ускорителя соответственно.

в заключении

В то время как Apollo сделал первые шаги к лучшему пониманию пространства проектирования ускорителей и созданию более эффективного оборудования, изобретение ускорителей с новыми возможностями остается неизведанной и новой территорией. Мы считаем, что это исследование — захватывающий путь к дальнейшему изучению основанных на машинном обучении методов архитектурного проектирования и совместной оптимизации (например, компиляторов, сопоставлений и планирования) в вычислительных стеках, что ведет к новым возможностям для разработки нового поколения. Эффективный ускоритель для функций. применение.

Инструкции по обновлению: Приоритет отдается обновлению общедоступной учетной записи WeChat «Блог дождливой ночи», а блог будет обновлен позже, а затем будет распространен на различные платформы.Если вы хотите узнать больше заранее, обратите внимание на Публичный аккаунт WeChat «Блог дождливой ночи».

Источник блога:Блог Дождливой ночи