Машинное обучение с помощью тензорного процессора

Опубликовано Admin - вс, 01/26/2020 - 20:48
TPU, Tensor

В 2018 году Google объявил, что собирается построить два аппаратных продукта, разработанных на базе Edge TPU (Tensor Processing Unit). Edge TPU - это специализированная интегральная микросхема Google, разработанная для обеспечения искусственного интеллекта на краю. Он обеспечивает высокую производительность при небольшом физическом и энергопотреблении, что позволяет развертывать высокоточный ИИ на границе. Edge TPU очень маленький размером не больше монеты.

Чем отличается ТПУ?

Во время Tensorflow Dev Summit 2019  была возможность получить доступ к TPU. Coral USB Accelerator разработан Google как устройство Edge, которое в настоящее время работает только с Debian 6.0+ или любым из его производных, таких как Ubuntu или Raspbian с USB 3.0.

По сравнению с обычными моделями глубокого обучения TPU поддерживает только модели Tensorflow Lite, которые 8-битные квантованы и затем скомпилированы для Edge TPU.

Сравнение TPU с GPU

Сравнивая с GPU, попытались сравнить ту же модель без квантования и обнаружили, что логический вывод происходил за 0,2 секунды, что в 10 раз медленнее, чем у TPU. Однако наблюдается значительный рост уровня точности. (С 0,77 до 0,96).

Таким образом, мы видим, что Edge TPU почти в 10 раз быстрее по сравнению с GPU, но ставит под угрозу точность. Разница обусловлена квантованием моделей, используемых в версии модели TFLite. Квантование вашей модели означает преобразование всех 32-битных чисел с плавающей запятой (например, весов и выходов активации) в ближайшие 8-битные числа с фиксированной запятой. Это делает модель меньше и быстрее.

Обработка видео в реальном времени на тензорном процессоре (ТПУ)

Coral также поддерживает вывод в реальном времени, используя скрипты захвата, присутствующие в демонстрационной папке. Поскольку плата разработки работает только с камерой Raspberry-Pi, немного доработав скрипт, чтобы он работал с веб-камерой на ноутбуке с помощью пакета imutils. По умолчанию максимальное количество объектов, обнаруживаемых в любом кадре, установлено на 3. Мы можем изменить это, изменив параметр maxobjects. Мы также изменили стиль текста и цвет текста обнаружения объекта.

Выводы

В ходе проекта удалось:

Понимать о моделях TFLite и процессе квантования
Запустите модели на основе TPU на периферийном устройстве и сравните производительность с графическим процессором.
Изменение оригинальных скриптов, предоставленных Coral TPU, чтобы он работал с камерой, отличной от RasPberry Pi.