Для более качественного контента, пожалуйста, обратите внимание на публичный аккаунт WeChat «AI Frontline», (ID: ai-front)
Вообще говоря, история вычислений — это непрерывный поиск идеальной системной архитектуры. За последние несколько десятилетий системные архитекторы постоянно отходили от централизованных конфигураций, в которых вычислительные ресурсы расположены в распределенных архитектурах дальше от пользователей, а вычислительные ресурсы ближе к отдельным пользователям.
В ранних системах использовалась высокоцентрализованная модель для предоставления повышенных вычислительных мощностей и возможностей хранения данных пользователям, разбросанным по всему предприятию. В 1980-х и 1990-х годах, с появлением недорогих персональных компьютеров и появлением локальных сетей, а затем Интернета, эти централизованные архитектуры были заменены. В этой новой модели персональные компьютеры берут на себя все больше вычислительных задач.
С появлением ноутбуков, планшетов и смартфонов эта высокораспределенная архитектура в конечном итоге превратилась в мобильные вычисления. Однако с ростом вычислительных потребностей системные архитекторы начали переносить вычислительные задачи на облачные вычисления, чтобы они могли воспользоваться преимуществами почти неограниченных вычислительных мощностей и ресурсов хранения облачных вычислений, а также высокой надежностью и низкой стоимостью. В результате в последние годы предприятия начали переходить к более централизованному подходу, основанному на облачных вычислениях. Например, смартфон отправляет все в облако для обработки и хранения, а когда данные нужны, передает их обратно на мобильное устройство.
Поэтому предприятия теперь используют облачные вычисления для расширенных вычислений и анализа. Предприятия используют облачные вычисления для запуска приложений уровня предприятия, таких как Oracle, а затем используют ПК для интерпретации и анализа результатов вычислений, возвращаемых облачными вычислениями. По мере того, как методы машинного обучения становятся все более распространенными в компаниях, а предприятия переходят на более высокие уровни искусственного интеллекта, похоже, что ресурсы облачных вычислений будут играть все более важную роль в каждом бизнесе. Сегодня облачные вычисления предоставляют мощные преимущества, которые позволяют компаниям упростить капиталовложения и управлять эксплуатационными расходами, связанными с ИТ-инфраструктурой. Каждой умной фабрике нужны эти ресурсы для управления несколькими системами машинного зрения, а каждому умному городу нужны облачные вычисления для координации светофоров, управления трафиком и оптимизации энергоэффективности тысяч уличных фонарей.
Однако не все приложения должны работать в облаке. На самом деле, по мере того как разработчики добавляют все больше и больше интеллектуальных возможностей в приложения, работающие на периферийных устройствах, им необходимо, чтобы периферийные устройства более быстро реагировали на изменяющиеся условия окружающей среды. Например, когда беспилотный автомобиль въезжает в умный город и встречает красный сигнал светофора, он немедленно связывается с облаком, чтобы определить, стоит ли останавливаться. Он должен действовать срочно. Точно так же, когда система безопасности в умном доме обнаруживает объект, движущийся в доме, она должна полагаться на ресурсы устройства, чтобы определить, является ли движущийся объект грабителем, вломившимся в дом, или собакой в доме.
Это требует независимого принятия решений и быстрого определения нового класса периферийных интеллектуальных устройств. Используя такие технологии, как распознавание голоса или лица, эти новые устройства смогут настраивать свои функции по мере изменения окружающей среды. И, применяя методы машинного обучения и искусственного интеллекта, эти устройства смогут обучаться и изменять свои операции на основе постоянно собираемых данных.
Однако использование облачных вычислений сильно отличается от интеллектуальной системы, использующей облачные вычисления только для обработки и хранения. Машинное обучение обычно включает в себя два типа вычислительных рабочих нагрузок. Во время обучения система изучает новые возможности из существующих данных. Например, система изучает возможности распознавания лиц с мобильных телефонов и анализирует тысячи изображений лиц. Поэтому обучение требует больших вычислительных ресурсов и требует оборудования, способного обрабатывать большие объемы данных. Другой тип вычислительной рабочей нагрузки применяет возможности системы к новым данным путем выявления шаблонов и выполнения задач. Это позволяет системе со временем учиться и развивать свой интеллект. Системы, работающие на пограничных устройствах, не могут делать выводы в облаке. Вместо этого им необходимо использовать встроенные вычислительные ресурсы для постоянного расширения своего интеллекта.
Масштабы этой рыночной возможности трудно сказать, но ее не следует недооценивать. Потенциальные области применения включают не только потребительские приложения, такие как смарт-телевизоры, которые могут определять, когда пользователь выходит из комнаты, и автоматически выключаться, но и решения машинного зрения нового поколения для умных заводов будущего. Очевидно, что одним из самых популярных рынков для решений для периферийных вычислений является автомобильная промышленность. Быстрая эволюция автомобилей от преимущественно механических устройств к все более электронным платформам привела к этому сдвигу. Процесс начался с быстрой эволюции развлекательных систем от панелей радио и записывающих устройств до сложнейших информационно-развлекательных систем. Затем появились усовершенствованные системы помощи водителю (ADAS), направленные на повышение безопасности вождения. Аналитики Research and Markets прогнозируют, что с 2016 по 2021 год рынок ADAS будет расти со совокупным годовым темпом роста 10,44%.
Недавние события на рынке мобильной связи ускорили это изменение. Смартфоны привнесли в автомобиль новые функции и приложения, а разработка стандартизированного интерфейса MIPI для мобильных процессоров помогла снизить стоимость интеграции этих функций в автомобиль. Современные сложные автомобильные развлекательные системы предоставляют не только информацию, но и развлечения; решения ADAS предлагают широкий спектр функций безопасности, включая автоматическое торможение, определение полосы движения, обнаружение слепых зон и автоматическую параллельную парковку.
Для достижения этой цели все больше и больше производителей интегрируют системы машинного зрения в автомобили для наблюдения за водителем и дорожными условиями внутри автомобиля. Эти встроенные системы технического зрения отслеживают движения головы и тела водителя на предмет признаков сонливости или отвлечения внимания, в то время как количество наружных камер, поддерживающих автоматическую парковку, помощь при движении задним ходом, обнаружение слепых зон, мониторинг дорожных знаков и предотвращение столкновений, продолжает расти. Новые приложения, такие как системы предупреждения о выходе из полосы движения, сочетают видеовход с алгоритмами определения полосы движения для определения положения автомобиля на дороге. В результате автопроизводители теперь устанавливают множество камер в каждый автомобиль. Разработчики предполагают, что для создания этих новых функций ADAS им потребуются фронтальные камеры для экстренного торможения, определения полосы движения, распознавания дорожных знаков, а также боковые и задние камеры для обнаружения слепых зон, помощи при парковке и системы предупреждения о боковом движении.
Одним из узких мест, с которыми сталкиваются автопроизводители при создании этих систем, является ввод-вывод. Вообще говоря, современные процессоры имеют два порта для камеры. Однако многим системам ADAS требуется до 8 камер для соответствия требованиям к качеству изображения. В идеальном мире дизайнеры должны использовать решение, которое позволяет им совместно работать над ресурсами, объединяя несколько видеопотоков с нескольких камер или объединяя несколько видеопотоков с нескольких камер, или на камере перед передачей данных процессору приложения в один поток, на входе выполняются различные функции обработки изображений. Фактически, общей чертой большинства решений ADAS является функция обзора с высоты птичьего полета, которая собирает данные с нескольких камер и предоставляет водителю живое видео с высоты 20 футов над автомобилем.
На приведенной выше блок-схеме показано, как разработчики могут использовать одну FPGA ECP5 для создания функциональной подсистемы с высоты птичьего полета, для которой ранее требовалось несколько процессоров Arm (см. рисунок ниже).
В прошлом дизайнеры использовали один процессор для управления каждым дисплеем. Теперь дизайнеры могут заменить несколько процессоров одной ПЛИС, агрегировать все входящие данные с каждой камеры, сшивать изображения, выполнять предварительную и постобработку и отправлять изображения в системный процессор, как показано на рисунке ниже.
Типичный вид с высоты птичьего полета, собранный из данных с нескольких камер.
Эти новые возможности зрения и датчиков подготовили почву для внедрения автономных транспортных средств. Например, выходящий в этом году Cadillac SuperCruise является одним из первых в отрасли приложений для вождения без помощи рук. Новая технология обещает сделать водителей более безопасными, постоянно анализируя состояние водителя и дороги, точные базы данных лидара предоставляют подробную информацию о дороге, а усовершенствованные камеры, датчики и GPS позволяют в реальном времени отражать динамические дорожные условия.
Ожидается, что в промышленном секторе искусственный интеллект и периферийные приложения будут играть все более важную роль в умных фабриках. Поскольку концепция Индустрии 4.0 была впервые предложена в 2011 году, новое поколение умных заводов будет объединять передовую робототехнику, машинное обучение, программное обеспечение как услугу и Интернет вещей для улучшения организаций и максимального повышения производительности.
Индустрия 1.0 знаменует собой механизацию заводов с помощью гидравлических и паровых двигателей; Индустрия 2.0 отражает массовое производство продуктов, работающих на электричестве, определяемое интеграцией компьютеров и автоматизации производителями; а грядущая Индустрия 4.0 принесет киберфизические системы (кибер-физические системы). системы) в производство для мониторинга физических процессов на умных фабриках и использования ресурсов ИИ для принятия децентрализованных решений. Эта эволюция будет способствовать цифровой трансформации отрасли за счет внедрения больших данных и аналитики, конвергенции ИТ и Интернета вещей, последних достижений в области робототехники и развития цифровых производственных цепочек. Кроме того, эти физические системы станут частью IIoT, взаимодействуя друг с другом и с операторами.
Чем умный завод для Индустрии 4.0 отличается от существующих заводов? Это обеспечит почти универсальную совместимость и более высокий уровень связи между машинами, устройствами, датчиками и людьми. Во-вторых, высокий приоритет будет отдан прозрачности информации, поскольку система будет создавать виртуальную копию физического мира на основе данных датчиков для создания контекстуальной информации. Кроме того, принятие решений на умных фабриках будет сильно децентрализовано, что позволит киберфизическим системам работать максимально автономно. Наконец, новая разработка этой фабрики обеспечит высокий уровень технической помощи, а системы смогут помогать друг другу решать проблемы, принимать решения и помогать людям с задачами, которые могут быть очень сложными или опасными.
Действительно ли дизайнерам нужно внедрять эти новые возможности искусственного интеллекта в периферийные устройства? Традиционно разработчики методов глубокого обучения в центрах обработки данных в значительной степени полагались на высокопроизводительные графические процессоры для удовлетворения высоких вычислительных требований. А дизайнеры, использующие ИИ для периферийных устройств, не могут позволить себе такой роскоши. Все, что им нужно, — это вычислительно эффективная система, способная достигать точных целей, соблюдая при этом строгие ограничения по мощности и выбросам углекислого газа, обычно встречающиеся на потребительских рынках.
Будь то система безопасности для умного дома, автоматическая система освещения для умного города, автономное решение для езды на велосипеде нового поколения или умная система технического зрения для умного завода, все они требуют экономичных вычислительных машин, которые могут обрабатывать цифровые видеопотоки высокой четкости в режиме реального времени. Им также требуется твердотельная память большой емкости, интеллектуальные камеры или датчики, а также расширенные алгоритмы анализа.
Как правило, процессоры в этих системах должны выполнять множество задач: от получения изображения и коррекции объектива до обработки и сегментации изображения. В некоторых приложениях проектировщики могут использовать различные типы процессоров для удовлетворения этих потребностей: от микропроцессоров, графических процессоров (GPU) и цифровых сигнальных процессоров (DSP) до полевых программируемых логических матриц (FPGA) и специализированных стандартных процессоров (ASSP). ). Каждая процессорная архитектура имеет свои уникальные сильные и слабые стороны. В некоторых случаях разработчики объединяют несколько типов процессоров в гетерогенные вычислительные среды. В других случаях они могут интегрировать несколько типов процессоров в одно устройство.
Растет спрос на решения, которые используют поддержку приложений и масштабы производства, мобильные процессоры и совместимые с MIPI датчики и дисплеи, а также используют искусственный интеллект, машинное обучение и нейронные сети, чтобы сделать периферийные устройства интеллектуальными. В машинном обучении нейронные сети для таких приложений, как распознавание изображений, требуют огромных объемов данных и различных вычислительных мощностей для разработки структур данных и присвоения весов. Поэтому неудивительно, что машинное обучение для таких приложений часто используется в центрах обработки данных.
После того, как модель обучена и перенесена во встроенную систему, устройство должно принимать решения быстрее и эффективнее. В большинстве случаев разработчикам требуется решение, которое сочетает в себе вычислительную эффективность с низким энергопотреблением и компактными размерами.
В отрасли существует общее мнение, что для машинного обучения требуется узкоспециализированное аппаратное ускорение, но требования зависят от задачи. Например, разработчики оборудования для обучающих приложений сосредотачиваются на высокоточных вычислениях с использованием 32-разрядных операций с плавающей запятой. На границе сети разработчики, выполняющие логические выводы, более склонны жертвовать точностью ради увеличения скорости обработки или снижения энергопотребления. В некоторых случаях приложения, использующие вычисления с фиксированной запятой, могут обеспечить почти такую же точность логического вывода, что и приложения с плавающей запятой, потребляя при этом меньше энергии.
В данном случае ПЛИС ECP5 использовалась для реализации ускорителя сверточной нейронной сети (CNN) для приложения распознавания лиц на периферийном устройстве.
В некоторых случаях процессоры, которые могут поддерживать эту гибкость конструкции, предлагают явные преимущества в таких типах приложений. Например, FPGA сочетают в себе обширные встроенные ресурсы DSP с высокопараллельными фабриками, чтобы обеспечить конкурентные преимущества с точки зрения энергопотребления, занимаемой площади и стоимости. Блоки DSP в FPGA ECP5 компании Lattice Semiconductor могут выполнять математические вычисления с фиксированной запятой при меньшей мощности/частоте, чем графические процессоры, использующие операции с плавающей запятой.
Тем временем отраслевые исследования нейронных сетей продолжаются. Совсем недавно Lattice Semiconductor заключила партнерское соглашение с разработчиком высокопроизводительных программных процессоров для встраиваемых приложений, чтобы разработать решение для логического вывода на основе нейронной сети для приложений распознавания лиц. Решение реализовано на FPGA ice40 5k с менее чем 5000 LUT. Используя процессор RISC-V с открытым исходным кодом и специальный ускоритель, эта установка значительно снижает энергопотребление и улучшает время отклика.
Пограничные вычисления — это огромная проблема для разработчиков систем на основе ИИ. Потребность будет расти по мере того, как дизайнеры будут становиться все более изощренными, что позволит быстрее и точнее реагировать на изменяющиеся условия окружающей среды. Чтобы удовлетворить этот растущий спрос, компаниям необходимо найти разработчиков для использования различных технологий.
Оригинальная ссылка:
AI Redefines Performance Requirements At The Edge
https://www.nextplatform.com/2018/05/09/ai-redefines-performance-requirements-at-the-edge/