ВЫБОР РЕДАКЦИИ

Машинное обучение открывает новые возможности FPGA

Экономические аспекты развития технологий искусственного интеллекта

Новые тенденции использования машинного обучения при проектировании и обработке изображений

Комплексное автомобильное ПО: стратегия развития

Перспективы развития микроконтроллеров с краевым искусственным интеллектом

Проблемы разработки программно-управляемого аппаратного обеспечения

Искусственный интеллект – перспективы развития

Наступление эры искусственного интеллекта реального масштаба времени

Искусственный интеллект и увеличение интереса к краевым вычислениям

Бесшовная связь – становой хребет Четвертой промышленной революции

Использование биометрии в Сухопутных войсках США

Вопросы развития краевых вычислений

Материалы Симпозиума SEMI по промышленной политике

Современное состояние и перспективы развития рынка САПР

Teraki совершает «квантовый скачок» в сфере больших данных

Бум стартапов во Франции

Материалы Симпозиума SEMI по промышленной политике

Вопросы развития краевых вычислений

О перспективах рынка потребительской электроники

Средства искусственного интеллекта учатся распознавать звуки

Превосходство КНР в области искусственного интеллекта: правда или миф?

Некоторые проблемы развития памяти с высокой пропускной способностью

Корпорация Tachyum активизирует работу с правительственными клиентами

Повышение способности искусственного интеллекта к самостоятельному обучению при помощи ReRAM

Искусственный интеллект: основные опасности и способы заработка на зрелых технологиях

Технология, которая ускорит навигацию роботов

LF Energy и Sony CSL планируют сотрудничество в проекте микросетей с открытым исходным кодом

Новые области применения искусственного интеллекта

Машинное обучение открывает новые возможности FPGA

Машинное обучение открывает новые возможности FPGA

Выпуск 16 (6715) от 20 августа 2020 г.
РУБРИКА: МИКРОЭЛЕКТРОНИКА

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


Оптимизация моделей формирования логического вывода

Все наборы инструментальных средств FPGA работают на абстрактном уровне, взаимодействуя со стандартными системами обу-чения модели в «облаке». Параметры (или веса), созданные на верхнем уровне в процессе обучения, закладываются в одну из популярных моделей – ​ResNet, MobileNet или YOLO. Эти параметры – ​просто числа, которые могут быть сохранены в файле данных. Следующий уровень – ​структура собственно сети. Слои сокращения и слияния представляют собой оптимизацию обученной сети. Иногда этого можно добиться с помощью программных примитивов, но в отдельных случаях требуется прибегнуть к изменению аппаратных средств.

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

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

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

Метод представляется особенно эффективным с точки зрения ускорительных плат ЦОД, которые могут потребоваться для решения задач формирования логического вывода или обучения. По заявлению корпорации Intel, сейчас реконфигурация ускорителей занимает около 100 мс и специалисты фирмы работают над уменьшением этого времени до десятков миллисекунд. Результатом становится возможность быстрой перенастройки ускорителя.


Стратегии в области FPGA

В то время как многочисленные стартапы заняты изучением широкого спектра способов решения проблем машинного обучения, поставщики FPGA исследуют различные подходы к их формированию и использованию, причем некоторые решения могут быть на первый взгляд даже непохожими на FPGA. Многие FPGA благодаря использованию процессорных ядер обеспечивают возможность программирования как аппаратной, так и программной части. Такие ядра могут быть созданы или из структуры FPGA, или сформированы как жесткие макросы. Подобные опции используются для поддержки различных стратегий в области FPGA. Отраслевые аналитики подчеркивают, что два крупнейших поставщика FPGA – ​Xilinx и Intel – ​реализуют стратегии, серьезно отличающиеся друг от друга.

Ассортимент продукции Intel шире. С одной стороны, корпорация предлагает процессоры Xeon, которые могут использоваться в ЦОД для реализации метода «грубой силы» (решение «в лоб»). С другой – ​реализуется нейроморфный исследовательский проект, призванный расширить спектр решений Intel. FPGA, предлагаемые корпорацией, в основном используют традиционные ресурсы. На сегодняшний день у Intel нет топологических (физических) блоков, специализированных на задачах машинного обучения.

Постоянная проблема машинного обучения – ​доступ к памяти. Его влияние на FPGA такое же, как и у любого другого решения. Одна из тактик Intel – ​использовать память с высокой пропускной способностью (high-bandwidth memory, HBM). Во многих FPGA корпорации используются разнообразные HBM. Это помогает в случаях рекуррентных нейронных сетей (нейронных сетей с обратной связью – ​recurrent neural networks, RNN). В настоящее время такой подход подразумевает двухмерную интеграцию HBM в непосредственной близости от FPGA и их соединение на подложке с помощью Intel EMIB.

Корпорация Xilinx пошла в другом направлении, добавив блок машинного обучения в структуру каждой FPGA своего семейства Versal. Эти блоки обеспечивают изделиям Xilinx большую эффективность за счет гибкости структуры. Подобные блоки управляются ПО, что устраняет некоторые проблемы, связанные проектированием аппаратного обеспечения.

Корпорация Achronix использует гомогенный подход, хотя и настроила свои блоки цифровой обработки сигнала так, чтобы работа средств машинного обучения лучше обеспечивалась ресурсами. Зрелые ЦОС-блоки корпорации были оптимизированы под более традиционные средства обработки сигналов, такие как фильтры, и потому ориентированы на восьмиразрядные целые числа. Средства машинного обучения имеют тенденцию работать с меньшими блоками данных – ​особенно в случае краевых вычислений, – ​поэтому новые ЦОС-блоки оптимизированы под восьмибитные целые числа. При этом Achronix поставляет как корпусированные FPGA, так и встраиваемые FPGA в качестве СФ-блоков для интеграции в «системы-на-кристалле» (SoC).

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



Источник: Lattice

Рисунок 1. Приложение SensAI на основе ИИ корпорации Lattice

* Пример разработки (reference design) – служит для облегчения работы разработчиков аппаратуры, которые могут заимствовать подходящие решения из поставляемых изготовителем библиотек примеров. Часто приводится в фирменных технических описаниях.

** CNN (convolutional neural network) – сверточная нейронная сеть.



Источник: Microchip

Рисунок 2. Механизм нейронной сети VectorBlox от Microchip. СФ-блок CNN обрабатывает всю свертку; MXP выполняет предварительную и постобработку, а также активацию и объединение ресурсов; ядро Mi-V (реализация SiFive) может осуществлять управление и обрабатывать другое ПО

* ALU (arithmetic-logic unit) – арифметико-логическое устройство, часть процессора, включающая набор его арифметических

и логических команд, а также команды сдвигов и сравнений.

** MXP (metallic crosspoint) – контактный коммутационный элемент.

*** CNN (convolutional neural network) – сверточная нейронная сеть.

**** AXI (ARM eXtended Interface) – расширенный интерфейс фирмы ARM.


Тем временем корпорация Microchip представила новые инструментальные средства VectorBlox (рис. 2) для собственных FPGA семейства PolarFire. Данная стратегия позволяет отказаться от проектирования аппаратного обеспечения как одного из требований при реализации машинного обучения на FPGA. Вместо этого на FPGA создается специализированный блок с использованием СФ-блока, разработанного специалистами корпорации, а остальная информация о модели обрабатывается как программное обеспечение и преобразуется в двоичный файл большого размера, часто именуемый BLOB (binary large object – ​большой двоичный объект).

Используя BLOB, специалисты корпорации Microchip могут одновременно управлять несколькими моделями. Хотя возможность чистого параллелизма обеспечивается за счет создания более чем одного специализированного блока («движка»), один такой блок также может обрабатывать несколько моделей либо последовательно, либо квазиодновременно.

«Движок» извлекает информацию о модели из хранящегося в памяти BLOB. При наличии нескольких двоичных файлов указательное устройство показывает, какой BLOB используется в данное время. Система ссылок на использующиеся части модели позволяет не загружать BLOB целиком. Переключение BLOB похоже на изменение местоположения указательного устройства. При каждом запуске контактного коммутационного элемента (metallic crosspoint, MXP) осуществляется извлечение сведений о слое из BLOB. Благодаря этому время перехода между несколькими нейронными сетями становится практически нулевым.

Квазипараллельная обработка происходит с помощью квантования времени («карусели», последовательного циклического предоставления ресурсов). Если какие-либо видеоданные обрабатываются одновременно более чем одной моделью, каждая модель производит обработку полного кадра, одна за другой. Как только все модели обработают данный кадр, цикл начнется снова – ​со следующего кадра.

Корпорация Flex Logix скрывает структуру своих FPGA. Внутри компании широко используются программируемые матрицы, но в продаваемой продукции конфигурация FPGA фиксируется. Это означает, что заказчики и пользователи не могут использовать фирменную продукцию в качестве FPGA. Flex Logix буквально перешагивает грань между решениями «программируемая FPGA» и «прибор со свойствами, предназначенными для машинного обучения», предлагая своего рода гибрид ASIC/FPGA. Пользователи только программируют модель нейронной сети, не затрагивая никаких элементов более низкого уровня, точно так же, как клиенты Intel не пишут микрокоды или алгоритмы кэширования. На фирменной блок-схеме мы видим расположение встроенной FPGA (eFPGA) на кристалле. Однако eFPGA используется только инструментальными средствами более высокого уровня для обслуживания реализуемой модели. Пользователь не имеет независимого доступа к данному блоку (рис. 3).



Рисунок 3. Блок InferX корпорации Flex Logix. Входящая в него еFPGA недоступна для общего использования

* GPIO – устройство ввода–вывода общего назначения.

** LPDDR4 – DDR-память 4-го поколения с малой потребляемой мощностью.


Не так давно в сообществе основных разработчиков FPGA появился новичок – ​корпорация Efinix. Несмотря на то что потенциально она ориентирована на производительность и потребляемую мощность, требующиеся в краевых применениях, в настоящее время основное внимание уделяется стандартным FPGA, для которых разработана архитектура Trion (рис. 4). Представители корпорации не объявляют о своих планах или разработках, связанных с машинным обучением. Тем не менее руководство Efinix отмечает, что «управление конвейером и разрядной шиной хорошо подходит для машинного обучения».



Источник: Efinix

Рисунок 4. Архитектура Trion фирмы Efinix


Краткие выводы о подходах, используемых поставщиками FPGA

Инструментальные средства корпорации Intel могут создавать так называемую «оболочку», охватывающую не только аппаратные аспекты FPGA, но и плату, на которой эта матрица размещена. Подобная оболочка действует в качестве инструментальных средств разработки встраиваемого ПО, которые используются инструментальными средствами более высокого уровня. Эти инструментальные средства могут быть ориентированы на все поддерживаемые корпорацией Intel решения – ​как аппаратные, так и программные. Все изменения, даже осуществленные на более высоком уровне, воздействуют на поток двоичных данных. Все возможности изменения на программном уровне зависят от примитивов, доступных в механизме искусственного интеллекта. Изменения в сроках реализации модели осуществляются в соответствии с поддерживаемыми примитивами. Они поддерживают частичную реконфигурацию.

Корпорация Xilinx выбирает в качестве целевой аудитории ученых по данным с их необходимыми инструментальными средствами, абстрагируя проектирование модели до уровня, не требующего использования HDL (языка описания аппаратного обеспечения). Для более крупных проектов аппаратный поток двоичных данных отделяется от параметров, которые могут быть загружены непосредственно из памяти. Возможна частичная реконфигурация.

Корпорация Achronix использует две модели проектирования. Одна использует то, что специалисты Achronix называют «оверлеями», реализующими модель на базовом аппаратном шаблоне. Этим достигается абстрагирование аппаратного обеспечения для ученых по данным. Вторая модель называется «ориентированный граф» (орграф) – ​в рамках ее реализации специализированный граф компилируется в аппаратное обеспечение.

Корпорация Lattice разделяет свои проектные файлы слоями, нейронами и весами, находящимися вне потока битов.

Корпорация Microchip начинает с создания СФ-блока машинного обучения, соответствующего размеру приложения. Этот аппаратный аспект в основном обрабатывается инструментальными средствами. Затем разработчик сосредотачивается на модели, используя для обработки деталей сети отдельный BLOB. Также поддерживается проектирование заказных сетей инженерами по аппаратному обеспечению.

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


Заключение

По мнению отраслевых специалистов, успех FPGA в массово производимых приложениях (появление которых ожидается в течение следующих нескольких лет) вполне возможен. Их успешность будет проверена в рамках нового цикла реализации стандартизированных специализированных продуктов (ASSP), готовящихся к продаже. Новые ASSP будут ориентированы на конкретные конфигурации. Правда, когда все это произойдет, промышленность уже продвинется дальше – ​отрасль развивается очень быстро.

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


Moyer Bryon. ML Opening New Doors for FPGAs. Semiconductor Engineering, June 24, 2020: https://semiengineering.com/fpgas-hide-hardware-for-machine-learning/


ЧИТАЙТЕ ТАКЖЕ

Выпуск 24/25 (6748/6749) от 23 декабря 2021 г. г.
Выпуск 24/25 (6748/6749) от 23 декабря 2021 г. г.