Google edge tpu что такое
Google анонсирует чип и программное обеспечение для граничных узлов, которые обещают трансформировать корпоративные приложения Интернета вещей и помочь Google в борьбе с основными конкурентами Amazon и Microsoft.
На технологической конференции Cloud Next компания Google объявила, что сделано еще два шага (в сфере аппаратного и программного обеспечения) в направлении оснащения функциями анализа и машинного обучения граничных сетей и даже отдельных устройств Интернета вещей. Это позволит лучше справляться с огромными объемами данных, генерируемыми растущим числом устройств Интернета вещей.
Первым шагом стало расширение функционала программной платформы Cloud IoT для граничных сетей. Вторым – создание крошечного чипа, который можно интегрировать непосредственно в устройства Интернета вещей и обрабатывать собранные ими данные перед отправкой.
Граничные вычисления – описывающие архитектуру, в которой специализированный компьютер размещается в непосредственной близости от оконечных узлов Интернета вещей и выполняет анализ и обработку данных, инициированные этими узлами, без передачи информации в ЦОД – представляют собой весьма перспективную модель, особенно в сценариях с предъявлением жестких требований к задержке.
Впрочем, директор по исследованиям Интернета вещей компании 451 Research Кристиан Рено, считает, что технические преимущества граничных вычислений вторичны по сравнению с гораздо более важным человеческим фактором – управляющие внедрением операционных технологий на производственных и транспортных предприятиях, которые желают извлечь выгоду из технологий Интернета вещей, весьма некомфортно чувствуют себя, перенося важный управленческий и аналитический функционал в облако, пусть даже и частное.
Таким образом, адаптируя свой программный стек Интернета вещей к граничным устройствам, компания Google устраняет потенциально серьезные входные барьеры и делает свою продукцию более привлекательной с точки зрения управления корпоративным Интернетом вещей. Предложение Google вполне соответствует политике конкурирующих Microsoft и Amazon, которые уже перенесли свои платформы Интернета вещей к границе сети.
Укрепить позиции Google в конкурентной борьбе обещает анонсированный на Cloud Next процессор Edge TPU, ускоряющий машинное обучение с помощью программного обеспечения искусственного интеллекта TensorFlow.
«В зависимости от эффективности Edge TPU это может помочь нам не только догнать, но и обогнать конкурентов с технической точки зрения», – подчеркнул Рено.
Миниатюрный заказной чип Edge TPU разрабатывался специально для переноса моделей машинного обучения Google TensorFlow Lite на граничные устройства. Идея заключается в том, чтобы использовать устройства Интернета вещей для анализа и выдачи важных прогнозов.
На сайте Google говорится, что новый чип может быть использован для обеспечения профилактического обслуживания, выявления аномалий, реализации машинного зрения, роботизации и распознавания голоса.
Разработчики, желающие заполучить его, могут обратиться к Google.
Осталось посмотреть, будет ли Edge TPU работать так, как заявлено, и насколько высоким окажется спрос на него.
Компания Google представила сопроцессор Edge TPU, предназначенный для аппаратного ускорения работы натренированных нейросетевых моделей. Инженеры компании также разработали два готовых устройства на базе процессора — одноплатный компьютер, а также USB-модуль для подключения к другим компьютерам.
Поскольку обучение нейросетевых алгоритмов требует больших вычислительных ресурсов, часто этот этап проводят на облачных или локальных серверах, которые позволяют быстро тренировать алгоритм на большом объеме данных. Но даже применение уже обученной нейросетевой модели на устройствах пользователей может представлять собой проблему. С одной стороны, устройства не всегда подключены к интернету и могут передавать обработку данных на облачные сервера, а с другой, многие распространенные компьютеры не обладают достаточной мощностью для того, чтобы проводить обработку данных нейросетевыми алгоритмами в реальном времени. Из-за этого многие технологические компании стали разрабатывать специализированные вычислительные устройства для аппаратного ускорения работы нейросетевых алгоритмов.
Google также занимается разработкой подобных устройств. На конференции I/O в 2016 году компания представила первое поколение своего тензорного процессора (TPU), а на двух последующих конференциях представляла его новые версии. Google использует их только в своем облачном сервисе, предназначенном для обучения и выполнения нейросетевых алгоритмов. Теперь компания представила отдельный сопроцессор Edge TPU для аппаратного ускорения уже обученных алгоритмов в конечных устройствах. Он представляет собой интегральную схему специального назначения (ASIC), оптимизированную для эффективного выполнения нейросетевых алгоритмов.
Компания не раскрывает технических подробностей сопроцессора, но в качестве примера рассказала, что он сможет в реальном времени проводить обработку видео высокого разрешения с частотой 30 кадров в секунду, используя для этого несколько часто применяемых нейросетевых моделей. В качестве основного предназначения сопроцессора Google видит умные датчики, которые смогут не только собирать данные для передачи их более мощному устройству, но и самостоятельно проводить первичную обработку и принимать решения.
Сейчас появилось несколько интересных и недорогих платформ, которые можно использовать в задачах машинного обучения, и было бы интересно сравнить производительность этих платформ, а также сравнить их с высокопроизводительными системами.
Аппаратное обеспечение
Основные устройства, которые меня интересуют - это новые NVIDIA Jetson Nano (128CUDA) и Google Coral Edge TPU (USB-ускоритель), а также я буду тестировать i7-7700K + GTX1080 (2560CUDA), Raspberry Pi 3B + старую рабочую лошадку, MacBook Pro 2014 года, содержащую i7–4870HQ (без ядер с поддержкой CUDA).
Программное обеспечение
Результаты производительности
Никто не любит ждать и, скорее всего, большинству из вас будут интересны именно результаты, так что сразу публикую их здесь:
Прогноз с использованием квантованной модели tflite для ЦП выбивается из общего ряда, но классификация выполняется правильно, так что я думаю, что это какая-то проблема в библиотеке, и я уверен, что это не влияет на производительность.
Для наглядности покажу результаты на графиках:
Рис. 1. Линейная шкала, FPS | Рис. 2. Логарифмическая шкала, FPS |
Рис.3. Линейная шкала, время вывода (250x) |
Анализ
На первом графике видны три результата, которые существенно превосходят все остальные попытки. Два из них достигнуты с помощью USB-ускорителя Google Coral Edge TPU, а третий был получен с помощью полноценной NVIDIA GTX1080 при поддержке Intel i7–7700K. Кстати, если присмотреться, то видно, что GTX1080 на самом деле был побит Google Coral. Задумайтесь, эта плата GTX1080 потребляет порядка 180 Вт, что на порядки больше по сравнению с потреблением Coral 2.5 Вт.
Следующее, что мы видим, это то, что результаты NVIDIA Jetson Nano совсем не впечатляют. Хотя эта плата имеет графический процессор с поддержкой CUDA, она на самом деле не намного быстрее, чем старый i7–4870HQ. Но в этом-то и заключается подвох: «не намного быстрее», это все же быстрее, чем четырехъядерный процессор с Hyper-Threading и потребляемой мощностью 50 Вт. Конечно, это процессор не последнего поколения, зато и среднее потребление Jetson Nano не превышает 12,5 Вт, т.е. мы получили снижение мощности на 75% при увеличении производительности на 10%.
Показатели Raspberry Pi не впечатляют, но он, собственно, и не предназначен для таких вычислений.
NVIDIA Jetson Nano
Хотя Jetson Nano не выдает впечатляющих скоростей FPS при работе с классификатором MobileNetV2, но, как я уже говорил, это не значит, что он бесполезен. Это недорогая плата с небольшим энергопотреблением и, возможно, самым важным ее свойством является то, что она позволяет запустить TensorFlow-gpu (или любую другую платформу ML), как и на "большом" компьютере, который вы использовали раньше. Пока ваш скрипт не использует особенности архитектуры ЦП, вы можете использовать тот же код, что и на GPU i7 + CUDA, и даже использовать плату для обучения модели!
Рис. 4. Внешний вид NVIDIA Jetson Nano
Google Coral Edge TPU
Я очень люблю хорошо спроектированные и высокоэффективные электронные устройства, так что возможно я не совсем объективен. Но эта вещь . Эта вещь близка к абсолюту!
Рис. 5. Чип, используемый в Google Coral Edge
Edge TPU - это «ASIC» (специализированная интегральная схема), предназначенный для ускорения вывода. Edge TPU передает и обрабатывает данные только в одном направлении, обратные связи в нем не реализованы.
Рис. 6. USB-ускоритель для NN
Ниже на рис. 7 представлена блок-схема Edge TPU.
Рис. 7. Блок-схема Edge TPU
Сеть, подобная MobileNetV2, состоит в основном из сверточных уровней и уровней активации. Свертка описывается следующей формулой:
Что означает не что иное, как умножение каждого элемента (пикселя) изображения на каждый пиксель ядра, а затем сложение этих результатов, чтобы создать новое «изображение» (карту объектов). Именно для выполнения этой функции и предназначен Edge TPU. Одновременное умножение и сложение может выполняться на безумных скоростях. При этом в ускорителе нет никакого «CPU», он просто делает эту операцию всякий раз, когда вы закачиваете порцию данных в буферы слева.
Именно поэтому Coral выигрывает при сравнении показателя производительность/ ватт, это просто набор микросхем, предназначенный для выполнения необходимых побитовых операций без характерных для CPU/ GPU накладных расходов.
Рис. 8. Внутренняя схема Google Cloud TPU
Почему MobileNetV2?
Я мог бы привести множество причин, по которым MobileNetV2 является хорошей моделью, но главная причина в том, что это одна из предварительно скомпилированных моделей, которые Google сделал доступными для использования в Edge TPU.
Какие еще модели доступны на Edge TPU?
Раньше были доступны только MobileNet и Inception в разных версиях, но недавно Google выпустил обновление, которое позволяет скомпилировать пользовательские модели TensorFlow Lite. Скорее всего, это предел, и ничего более сложного запустить не получится. С Jetson Nano все по-другому, эта плата позволяет запустить все, что вы можете себе представить.
Raspberry Pi + Coral
Почему Coral оказывается намного медленнее, когда подключен к Raspberry Pi? Ответ прост и понятен: Raspberry Pi имеет только порты USB 2.0, в то время как у остальных компьютеров порты USB 3.0. Мы видим, что в зависимости от платформы, к которой подключен ускоритель Coral, скорость вывода меняется и можем заключить, что узким местом является скорость передачи данных, а не Edge TPU.
Заключение
Я был просто поражен мощью Google Coral Edge TPU. Но для меня самыми интересными были результаты NVIDIA Jetson Nano в сочетании с USB-ускорителем Coral. При совсем небольшой потребляемой мощности и цене эта связка показала результаты, сравнимые с результатами мощного настольного компьютера.
Одноплатные компьютеры (SBC) являются революционными устройствами. Самый известный SBC, несомненно, Raspberry Pi. Он дешевый, размером с кредитную карту, и, тем не менее, выполняет те же задачи, что и настольный компьютер, что делает его популярным среди любителей и разработчиков.
Что такое Google Coral Dev Board?
Что делает Coral Dev Board уникальным?
Компания Google разработала Coral Dev Board для быстрого создания прототипов оборудования для машинного обучения. Первое, что делает его уникальным, это Краевой модуль ТПУ,
Плата содержит разъемы для USB, LAN, HDMI, SD-карты, аудио и питания. Это означает, что вы можете использовать одну базовую плату для создания прототипов устройств перед развертыванием на специальном оборудовании.
Что такое сопроцессор Google Edge TPU?
Краевой ТПУ представляет собой небольшую специализированную интегральную микросхему (ASIC), разработанную для обеспечения высокопроизводительной интерпретации машинного обучения. Его небольшой размер и низкие требования к энергопотреблению делают его идеальным для встраивания в аппаратные продукты IoT для распознавания изображений и текста.
Добавление этого чипа в SBC значительно сокращает время, необходимое нейронной сети для обработки данных. В настоящее время Edge TPU доступен только в составе платы Coral Dev Board или в качестве внешнего USB-процессора.
Каковы характеристики Coral Dev Board?
Спецификации для Краевой модуль ТПУ являются следующими:
- ЦПУ: NXP i.MX 8M SOC (четырехъядерный Cortex-A53, Cortex-M4F)
- GPU: Интегрированная графика GC7000 Lite
- сопроцессор: Google Edge TPU
- баран: 1 ГБ LPDDR4
- Флэш-память: 8GB eMMC
- связь: Wi-Fi 2 × 2 MIMO (802.11b / g / n / ac 2,4 / 5 ГГц) Bluetooth 4.1
- Размеры: 48 х 40 х 5 мм
Плата имеет собственный набор спецификаций:
Поскольку его дизайн поддерживает сложную обработку данных, он является одним из самых мощных альтернатив Raspberry Pi
Пи передозировка? Вот 5 альтернатив Raspberry Pi
Что может сделать Coral Dev Board?
Спецификации ничего не значат, если оборудование бесполезно. Приведенное выше видео показывает, насколько мощным может быть Coral Dev Board. В этом примере используется модуль камеры для представления новых объектов в нейронной сети TensorFlow Lite в режиме реального времени.
Этот вид интеллектуальной технологии обычно зависит от подключения к Интернету или использования внешних услуг, которые могут представлять угрозу безопасности. Используя возможности машинного обучения на борту, нейронные сети можно использовать в автономном режиме и в тех местах, где подключение к Интернету может быть невозможно.
Поможет ли мне «Коралловый Девелопмент» заменить мой Raspberry Pi?
TensorFlow работает на Raspberry Pi, но на самом деле он не предназначен для этого. Coral Dev Board предлагает силу, с которой Пи просто не может конкурировать. К счастью, есть решение в форме Raspberry Pi, совместимого USB-ускоритель с интегрированным процессором Edge TPU.
Это позволяет любому, у кого есть Pi, и некоторые ноу-хау машинного обучения
6 полезных учебных пособий и курсов по машинному обучению для понимания основ
6 полезных учебных пособий и курсов по машинному обучению для понимания основ
Там никогда не было лучшего времени, чтобы погрузиться в машинное обучение. Вот шесть полезных ресурсов, которые помогут вам узнать о машинном обучении.
Прочитайте больше
разрабатывать с использованием TensorFlow Lite.
Где купить Coral Dev Board
Конечно, эта новая технология слишком дорога для любителей?
Удивительно, но нет. Coral Dev Board стоит всего $ 149,99, что является конкурентом аналогичных плат для разработки высшего класса. USB-ускоритель еще дешевле, что делает его отличной альтернативой для тех, кто не хочет покупать совершенно новую плату для разработки. Есть планы продавать SOM отдельно, вместе с картой ускорения PCI TPU, хотя в настоящее время они недоступны для покупки.
Вы можете выбрать компоненты с веб-сайта Google Coral:
Новая Жара
Каким бы захватывающим это ни было, доска Coral Dev не заменит Raspberry Pi. TensorFlow будет работать на Pi, но не в реальном времени. Coral Dev Board является мощным, но не предназначен для использования на рабочем столе или для обучения.
Raspberry Pi по-прежнему является лучшим выбором для начинающих любителей электроники, которые хотят делать потрясающие проекты DIY Raspberry Pi
Raspberry Pi Проекты для начинающих
Raspberry Pi Проекты для начинающих
Эти 10 проектов Raspberry Pi для начинающих отлично подходят для ознакомления с аппаратными и программными возможностями Pi и помогут вам быстро приступить к работе!
Прочитайте больше
,
Узнайте больше о: Coral Dev Board, Google TensorFlow, Нейронных сетях.
Читайте также: