Углубляемся в FPGA и то, как они используются в облаке.

ПЛИС существуют с 1980-х годов, но в последнее время они возрождаются. В прошлом году большинство крупных облачных провайдеров, таких как Amazon, Microsoft, Aliyun, Baidu и Huawei, объявили о FGPA. предложения. Почему внезапно возник интерес к ПЛИС? Это продолжение части 1, в которой мы исследовали некоторые ключевые преимущества, способствующие внедрению. Во второй части мы рассмотрим, как FPGA используются для улучшения рабочих нагрузок глубокого обучения.

Повторное введение в ПЛИС

Для ленивых ... Я имею в виду, занят, чтобы ознакомиться с частью 1 этой статьи? Не беспокойтесь, мы сделаем здесь краткий обзор. Программируемые пользователем вентильные матрицы (FPGA), которые были впервые изобретены в 1980-х, в последнее время начали возвращаться. Поскольку требования к вычислениям становятся все более сложными, вычислительные процессоры общего назначения, такие как только ЦП, больше не являются оптимальным выбором для работы. Введите ПЛИС. Вот некоторые ключевые ценностные предложения для ПЛИС:

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

По этим и другим причинам FPGA приобрели популярность. Во второй части мы рассмотрим искусственный интеллект и посмотрим, какую роль играют FPGA в этой 4-й промышленной революции.

Рабочие нагрузки искусственного интеллекта с ПЛИС

Еще одна область, в которой в настоящее время изучается использование FPGA, - это область искусственного интеллекта (AI). Вот некоторые ключевые драйверы для внедрения FPGA в AI:

  • Гибкость. ПЛИС идеально подходят для адаптации к быстро меняющимся рабочим нагрузкам машинного обучения, поскольку вы можете перепрограммировать микросхему для большей оптимизации в зависимости от рабочей нагрузки, которую вам необходимо выполнить.
  • Задержка. ПЛИС хорошо подходят для чувствительных к задержкам выводов в реальном времени, которые требуются в таких задачах, как автономное вождение, распознавание речи, обнаружение аномалий и т. Д.
  • Точность. ПЛИС позволяют повысить точность для определенных слоев в ваших глубоких нейронных сетях (DNN). Например, графические процессоры NVIDIA Pascal и Volta позволяют использовать как 8-, так и 16-битные целочисленные значения. Для DNN, отвечающего за оценку пола человека, вам просто нужны два значения: мужской или женский (скоро будет третье), поэтому 16- и 8-битные целые числа будут излишними. С помощью FPGA разработчик DNN может моделировать каждый уровень в сети с помощью 2 битов вместо 16 или 8 битов, что оказывает значительное влияние на эффективность и производительность тераопераций в секунду, как показано на диаграмме на рисунке 4.

Теперь, когда мы рассмотрели преимущества высокого уровня, давайте перейдем к конкретному примеру, где FPGA используются для значительного повышения производительности глубокого обучения.

AI в реальном времени

Одним из лучших примеров применения FPGA для глубокого обучения является искусственный интеллект в реальном времени. Поскольку существует бесчисленное множество определений ИИ, я уверен, что существует множество определений ИИ в реальном времени, но в этой статье мы определим его просто как систему искусственного интеллекта, которая может обрабатывать и передавать данные так быстро, как они есть. дюйм, со сверхмалой задержкой. Это относится к обработке потоков данных в реальном времени, таких как поисковые запросы, видео или потоки датчиков. Как это достигается с помощью ПЛИС? Обычно для повышения производительности процессоры DNN часто используют высокую степень пакетирования. Хотя он очень эффективен для архитектур, основанных на обучении и пропускной способности, он менее эффективен для ИИ в реальном времени. В случае больших пакетов первый запрос в пакете должен дождаться завершения всех запросов. Project Brainwave на базе FPGA от Microsoft может обрабатывать сложные модели с интенсивным использованием памяти, такие как долговременная краткосрочная память (LSTM), без использования пакетной обработки для увеличения пропускной способности. Отсутствие пакетной обработки означает, что оборудование может обрабатывать запросы по мере их поступления, обеспечивая аналитику в реальном времени для систем машинного обучения. Чтобы продемонстрировать это, они запустили большую модель Gated Recurrent Unit (GRU) в 5 раз больше, чем Resnet-50, без дозирования и достигли рекордной производительности. Даже после усреднения времени обработки одного запроса в пару сотен микросекунд (да, микро, а не милли), Microsoft по-прежнему рассчитывает значительно повысить производительность архитектуры.

Почему не просто ASIC для ИИ?

Вы можете спросить, а как насчет ASIC с глубоким изучением, таких как TPU от Google? Конечно, они будут работать лучше и не потребуют от вас заниматься логикой и программированием ПЛИС? Да, как правило, ASIC предварительно запрограммированы, что позволяет вам сосредоточиться непосредственно на вашей глубокой рабочей нагрузке, а не на логике процессора. Но с этим чипом с фиксированной функцией, если вы обнаружите, что вам нужна какая-либо оптимизация на уровне чипа, поскольку TPU не оптимизирован для вашей конкретной рабочей нагрузки, тогда вам не повезло. FPGA дает Microsoft возможность быстро продолжить оптимизацию FPGA. Они признали, что ASIC, такие как TPU от Google, могут обеспечить чрезвычайно быстрый ускоритель машинного обучения при более низких затратах на единицу, но процесс разработки может быть долгим, дорогостоящим и привести к созданию чипа с фиксированными функциями, который не может адаптироваться по мере развития алгоритмов глубокого обучения. Microsoft заявляет:

«Мы можем быстро внедрить исследовательские инновации в аппаратную платформу (обычно за несколько недель), что очень важно в этом быстро меняющемся пространстве»

где Google анонсировал TPU первого поколения в мае 2016 года и второе поколение с обновленной логикой годом позже, в мае 2017 года. И снова, в зависимости от рабочей нагрузки, облака, в котором вы работаете, и вашей способности программировать FPGA, лучший процессор для ваших нужд относительно. Пока еще рано, но похоже, что Microsoft не одинока в своем подходе, поскольку большинство облачных провайдеров предпочли пойти по пути FPGA вместо использования ASIC. Если вы хотите глубже погрузиться в тему FPGA и TPU в центрах обработки данных, я рекомендую прочитать эти опубликованные статьи под названием Могут ли FPGA превзойти графические процессоры в ускорении глубоких нейронных сетей следующего поколения? и Анализ производительности тензорного процессора в центре обработки данных.

Заключение

Хотя я подробно описал использование FPGA с искусственным интеллектом и SDN в Части 1, преимущества выходят далеко за рамки этих двух вариантов использования. Некоторые удивительные успехи были достигнуты во многих отраслях благодаря использованию ПЛИС для ускорения рабочих нагрузок. Некоторые примеры включают, но не ограничиваются:

  • Геномика. Использование FPGA для снижения затрат, энергопотребления и требований к памяти при обработке генома позволяет сократить время анализа генома до минут.
  • Аэрокосмическая промышленность и оборона. Использование радиационно-устойчивых ПЛИС наряду с интеллектуальной собственностью для обработки изображений, генерации сигналов и частичной реконфигурации для программно определяемых радиостанций.
  • Авто. ПЛИС являются движущей силой (каламбур) инноваций нового поколения в области безопасности и автономных систем вождения и бортовой информационно-развлекательной системы.
  • Бытовая электроника. Конвергентные мобильные телефоны (телефоны, которые могут быть ПК), цифровые плоские дисплеи, домашние сети и домашние телеприставки - все они питаются от FPGA.
  • Финансы. ПЛИС , позволяющие значительно улучшить моделирование и анализ рисков, анализ транзакций для обеспечения безопасности и высокочастотную торговлю.
  • Обработка видео и изображений. ПЛИС, снижающие единовременные затраты на разработку, гамма-коррекцию, фильтрацию 2D / 3D, повторную выборку цветности.
  • Интернет-поиск. Кластер 1 600 FPGA запущен в производство, предназначенный для ускорения извлечения функций документов для поисковой системы.

Я надеюсь, что вы перестанете восхищаться FPGA (насколько это возможно) и их потенциалом для ускорения всех видов приложений и рабочих нагрузок. От клиентов до поставщиков облачных услуг, использующих FPGA для рекордных инноваций, ясно, что в 1985 году Росс Фриман был законодателем моды не только на стильные усы и прически, но и на нечто великое.

Если вам понравилась эта статья, нажмите кнопку хлопки 👏 .

Хотите узнать больше о Джамале Робинсоне или хотите работать вместе? Свяжитесь с ним в Twitter или LinkedIn.