Ранее в этом году Google наконец-то выпустила оборудование TPU, которым вы можете владеть под брендом Coral. Однако это не самые популярные обучающие сети облачных TPU, такие как BigGAN со скоростью 100+ петафлоп / с в течение недели или даже самый дешевый 180 TFlop / s v2 TPU, который вы можете арендовать по запросу за 4,50 доллара в час. Это устройства TPU, предназначенные для работы на грани, то есть для предоставления решений глубокого обучения в полевых условиях на небольших устройствах без Интернета. Итак, насколько хороши ТПУ, которыми вы можете владеть?
Спецификации всех актуальных продуктов TPU, которые вы можете купить, составляют 4 ТОПа. Единицы измерения не являются обычными 32-битными числами с плавающей запятой, потому что tenorflow-lite, который работает на этих устройствах, использует 8-битную фиксированную точку. Вы также не найдете пропускной способности памяти, как на облачных TPU или графических процессорах, на уровне 600+ ГБ / с. Пограничные TPU подключаются через USB 3.0 или одну линию mPCIe (поколение 2), то есть 640 или 500 МБ / с. Конечно, поскольку на граничном TPU есть только 8 МБ SRAM, это означает, что на передачу модели на устройство тратится не более 16 мс, а в модели, использованной в этом посте, это заняло всего 10 мс. Вы не пропустите память, потому что эти устройства не предназначены для обучения с нуля. Зато на этом устройстве можно обучить последний слой модели! Основным вариантом использования Edge TPU является логический вывод, и я буду проводить его тестирование.
Самое автономное устройство USB3.0« Coral Edge TPU » вышло в марте этого года, и это то, с чем мне пришлось поиграть. Это один из прототипов продуктов Coral, хотя на бумаге он имеет те же характеристики, что и их производственные платы mPCIe. USB 3.0 - это просто, но если бы я не хотел иметь дело с внешним ключом, ключ M.2 Accelerator A + E мог бы заменить мою карту Wi-Fi изнутри:
Так что же внутри краевого ускорителя TPU размером 30 мм x 65 мм за 75 долларов? Может быть, это ускоритель mPCIe Accelerator 30 мм x 22 мм за 35 долларов с USB-адаптером и радиатором? Можно ли безопасно открыть пластиковую + металлическую защелку?
Пластиковая оболочка снимается без особых усилий благодаря очень жесткому радиатору. А радиатор можно снять, открутив 4 винта.
Ответ на первый вопрос - нет, не буквально, но платы очень похожи:
Две микросхемы, контактирующие с радиатором, вероятно, являются TPU и памятью, а более крупный - TPU. После того, как я собрал Edge TPU, я провел небольшое собственное тестирование скорости, хотя тесты Google говорят о 10-20-кратном ускорении по сравнению с процессором.
Пример коралла для обнаружения можно запускать как на CPU, так и на TPU. Компьютер, к которому я подключаю TPU, - это мой Acer Chromebook 11, работающий под управлением Galium OS 2.1, что достаточно похоже на debian, так что не возникнет проблем с установкой tf-lite и среды выполнения Edge TPU. Модели MobileNetV2 SSDLite для обнаружения имеют размер менее 7 МБ и работают с изображениями 300x300. На TPU одно изображение запускается за 20 мс (время копирования модели +10 мс на первой итерации). На моем ноутбуке с процессором Intel Celeron 2,16 ГГц 2014 года размер одного изображения составляет 1500 мс. На другом ПК с процессором Intel Xeon 2,5 ГГц (который, по прогнозам cpubenchmark.net, в 15 раз быстрее), одно изображение занимает 130 мс (при 210 Вт!). Согласно cpubenchmark.net, лучший доступный процессор будет в 3 раза быстрее, чем этот: по-прежнему медленнее, чем периферийный TPU, который намного дешевле в $ $ $ и мощности!
Я думаю, что немного более захватывающим является обнаружение данных с камеры в режиме реального времени на моем ноутбуке. На Celeron этот пример работает со скоростью менее 1 кадра в секунду. На TPU он работает со скоростью 20 кадров в секунду: в реальном времени! И только четверть времени тратится на логический вывод на TPU, остальное - на изменение размера изображений и рисование на выходе, что должно быть выполнено на процессоре. Хотя я установил максимальную рабочую частоту TPU, я не приблизился к рабочему пределу TPU, поэтому нагрев не проблема: радиатор TPU не горит на ощупь.
Эти примеры было легко использовать / настраивать уже через несколько минут после установки в Linux. Все, что вам нужно для работы с этим устройством, - это apt-get install исполняющей среды TPU, pip install tf-lite, а затем сразу переходить к примерам. Модели в этих примерах были скомпилированы заранее. Более точным тестом скорости было бы обучить модель с нуля, выполнить это на GPU и CPU, затем преобразовать в tf-lite и выполнить это на CPU и TPU.
В целом я в восторге от этого устройства. Я думаю, это удивительно, что сеть обнаружения объектов 300x300 работает на нетбуке с 2014 года в реальном времени с модификацией 75 долларов (35 долларов, если я получу плату M.2). Конечно, Edge TPU не заменит графические процессоры для обучения или даже для оценки модели. Но я вижу большой потенциал в плате 10 USD / TOP, 0,5 Вт / TOP. Это как минимум в 10 раз дешевле на OP, чем на GPU! И гораздо меньше энергоемких. Для путешествующих демок это было бы здорово. Пока интересующие вас операции находятся в этой таблице, это может быть полезным чипом для программирования, когда приоритетом являются маломощные и легкие системы.