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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Глубокое обучение и предельные краевые вычисления

Развертывание сетей 5G и краевые (пограничные) вычисления

Yole Développement: исследование рынка MEMS

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

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

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

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

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

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

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

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

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

Выпуск 9(6733) от 06 мая 2021 г.
РУБРИКА: ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

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

До недавнего времени основная сфера применения средств ИИ и машинного обучения (МО) была ограничена центрами обработки данных (ЦОД) или специализированными приложениями систем военного и авиакосмического назначения. Затем они начали мигрировать в сферу краевых вычислений, которая сама только начинает принимать форму, движимая растущим объемом данных и необходимостью обрабатывать эти данные ближе к их источнику.


Совершенствование запоминающих устройств

Очевидной целью на всех этих рынках является оптимизация перемещения данных. В современных системах генерируется так много данных, что они превосходят возможности традиционных фон-неймановских подходов. Разработчики, не желая отказываться от проверенных архитектур, ищут способы сократить объемы перемещения данных между памятью и процессорами. Два решения, которые могут позволить сделать это, – ​вычисления в оперативной памяти (in-memory compute) и вычисления в непосредственной близости к оперативной памяти (near-memory compute). Значительное влияние на повышение эффективности таких решений может оказать использование ИИ.

Примером таких подходов является заявление корпорации Samsung о добавлении средств МО в этажерку (стек) памяти с высокой пропускной способностью (HBM) (рис. 1). Данная разработка проводилась с целью замены существующих схем ДОЗУ без ущерба для любой из вычислительных экосистем. При этом использовались существующие алгоритмы МО, и одной из задач новой технологии было повышение эффективности их использования. Ранее иногда было невозможно запустить модель МО, потому что она требовала слишком большой пропускной способности памяти. Но за счет введения вычислительного блока в память пропускную способность удалось существенно повысить. Такой подход позволяет сократить общую потребляемую мощность системы на 70 % без -какой-либо дополнительной оптимизации. Особая ценность разработки – ​добавление уровня «интеллектуальности» в процесс перемещения данных. Это, в свою очередь, может быть сопряжено с другими технологическими усовершенствованиями, позволяющими достичь еще большей эффективности отношения «потребляемая мощность/производительность». Здесь возможно улучшение на порядок, но применение других технологий может еще увеличить это отношение.



Источник: Samsung

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

* TensorFlow – нейронная сеть, учащаяся решать задачи путем позитивного усиления и обработки данных на различных уровнях (узлах), что помогает находить верный результат.

** PIM (processor-in-memory) – процессор в памяти, или вычисляющее ОЗУ (computational RAM, C-RAM): процессор, тесно интегрированный в память, как правило, на одном кремниевом кристалле, либо оперативная память с интегрированными вычисляющими элементами. Главная цель объединения процессорного компонента и компоненты памяти – уменьшение времени ожидания и увеличение пропускной способности.

*** BLAS (basic linear algebra subroutines) – библиотека базовых подпрограмм линейной алгебры, набор подпрограмм для выполнения базовых операций над векторами и матрицами.

**** Диспетчер памяти (memory manager) – блок операционной системы, управляющий распределением физической или виртуальной памяти. Иногда, при наличии особенностей в архитектуре памяти, он может быть реализован в виде надстройки над ОС.

***** Драйвер устройства (device driver) – системная программа, обеспечивающая интерфейс между логическим уровнем представления устройства в ОС и его физической реализацией.


Специалисты корпорации Rambus отмечают, что совершенствование памяти необходимо осуществлять по нескольким направлениям, в т. ч. и с точки зрения архитектуры. Проектировщики должны думать о том, как правильно формировать кристаллы ИС, чтобы они в действительности были больше ориентированы на реальные алгоритмы. Такая тенденция наблюдается в течение последних четырех или пяти лет. Уже реализованы некоторые действительно точные архитектуры – ​например, систолические матрицы и более целенаправленные реализации. Системы памяти очень важны в общем потреблении энергии, и одна из задач разработчиков – ​сделать доступ к памяти более энергоэффективным. Действительно, «системы-на-кристалле» (SoC) тратят от 25 до 40 % своего баланса потребляемой мощности только на собственный физический уровень. Энергия также тратится и на различные перемещения данных (рис. 2) – ​в целом около 2/3 потребляемой мощности, и это только для HBM2 (high bandwidth memory DRAM – ​ДОЗУ с высокой пропускной способностью). Для графических DDR (GDDR) на перемещение данных тратится еще больше энергии, поэтому там требуется более высокая скорость передачи данных.



Источник: Rambus

Рисунок 2. На перемещение данных приходится 62,6 % потребляемой мощности


Оптимизация сетей

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

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

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

Специалисты начинают рассматривать МО как проблему оптимизации. Исторически МО использовалось для распознавания образов, будь то контролируемое, неконтролируемое или стимулированное (по алгоритму типа «кнут и пряник») обучение. Идея состоит в том, что распознается некий образ из имеющихся данных, а затем он используется для классификации других объектов. Однако есть и другие варианты использования, такие как смарт-NIC-карта (сетевая интерфейсная карта – ​network interface card). Это делается в случаях, когда не найдена топология сети, определяющая способы максимизации возможностей программно-определяемых сетей. Т. е. речь идет уже не только о проблемах распознавания образов, а о более широких применениях.

Хотя реализации подобного подхода достаточно специфичны, на нескольких рынках начинают формироваться общие концепции, различающиеся в зависимости от сегмента рынка. Это, по мнению специалистов фирмы Flex Logix, – ​сфера «корпоративных краевых вычислений» для медицинской визуализации и т. п. вещей. Заказчики нуждаются в высокой пропускной способности, высокой точности, низкой стоимости и низкой потребляемой мощности. Требуется архитектура, в 3–10 раз лучшая, чем архитектура графических процессоров. Нужна более тонкая детализация, предполагающая замену одного большого матричного умножителя на одномерные тензорные процессоры. Благодаря модульности их можно комбинировать разнообразными способами для реализации различных сверточных и матричных приложений. Для этого также требуется программируемая схема соединений процессоров, которую Flex Logix уже разработала. Наконец, вычисления осуществляются очень близко к памяти, что сводит к минимуму время ожидания и потребляемую мощность. Все вычисления происходят в СОЗУ, а затем, для хранения весовых коэффициентов, используется ДОЗУ.


ИИ в сфере краевых вычислений

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

Это особенно актуально в сфере краевых вычислений, где многие устройства используют батарейное питание, а также в локальных (on-premises) и близких к источникам данных (near-premises) ЦОД, где критическим фактором является быстродействие. Решения, как правило, сильно индивидуализированы, неоднородны и часто включают в себя несколько кристаллов ИС в одном модуле. Таким образом, вместо одного «облака» гиперразмерных вычислений, где все обрабатывается в одном или нескольких гигантских ЦОД, существуют уровни обработки, выделяемые на основе того, какой объем данных и как быстро должен быть обработан.

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

Таким образом, добавляется еще один уровень сложности. Первоначально требовалась максимально высокая емкость СОЗУ для размещения на кристалле как можно большего числа элементов активации и весовых коэффициентов. Появлялось много новых запросов, связанных с ИИ. Затем возникла необходимость объединения со специализированными компонентами обработки, такими как память и вычислительные технологии, и потребовались некоторые дополнительные настройки помимо максимальной плотности размещения элементов или минимальных токов утечки. Появились примитивные математические блоки, ЦОС-процессоры, RISC-процессоры, а затем и специализированные нейросетевые блоки. Все эти компоненты составляют процессорное решение, включающее в себя скалярное, векторное и матричное умножение, а также связанные с ним архитектуры памяти. Первые подобные процессоры предполагали наличие внешнего интерфейса памяти (LPDDR или DDR), и многие системы были построены на этой основе. С появлением уникальных архитектур с высокой пропускной способностью памяти изменился способ загрузки и хранения данных из внешних интерфейсов памяти и их размеры. Затем клиенты стали добавлять собственные расширения, и это будет продолжаться по мере появления новых ниш. Эти новые ниши будут стимулировать спрос как на большее число типов оборудования, так и на дальнейшее расширение технологий базового уровня, которые могут быть адаптированы к конкретному варианту использования.

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


Ограничения ИИ в оконечных устройствах

ИИ сам по себе не является фиксированной технологией. Различные части решения ИИ постоянно меняются по мере адаптации и оптимизации технологии, поэтому результаты обработки обычно представляются в виде распределений и вероятностей соответствия требованиям, что особенно затрудняет определение точности и надежности ИИ, поскольку метрики для каждой реализации и каждого варианта использования различны. Это одна из причин, по которой специалисты в области микроэлектроники относятся к технологии ИИ с повышенным вниманием и осторожностью. Например, средства ИИ и МО в автомобиле с вспомогательным вождением должны принимать входные данные и решения в реальном масштабе времени. Система ИИ должна иметь возможность взвешивать ценность данных, причем эта оценка может отличаться от той, которую дадут системы других транспортных средств. Если эти автомобили не взаимодействуют между собой, проблемы нет. Но если они обмениваются информацией – ​это совсем другое дело.

Все возможные взаимодействия должны быть понятны в деталях. Многие блоки и системы автомобильной электроники и узлы автомобилей легко настраиваются даже «на лету» – ​на основе данных, получаемых от датчиков. Данные поступают от датчиков в процессоры. От автомобиля к ЦОД и обратно перемещаются огромные объемы данных, которые нужно отслеживать – ​ведь если -что-то пойдет не так, должна быть возможность поднять данные и выяснить причину сбоя.

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


Заключение

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


Sperling Ed. New Uses for AI. Semiconductor Engineering, April 1, 2021: https://semiengineering.com/new-uses-for-ai/


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

Выпуск 22(6746) от 11 ноября 2021 г. г.
Выпуск 21(6745) от 28 октября 2021 г. г.