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

Создание прототипа физического продукта, особенно продукта, включающего методы машинного обучения, сопряжено со многими проблемами.

В этом месяце NVIDIA анонсировала новый Jetson Xavier NX как новейшее дополнение к платформе Jetson, продемонстрировав его большую вычислительную мощность, модульность и небольшую занимаемую площадь по мощности и размеру.

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

Впечатляющая производительность

Jetson Xavier NX может похвастаться 384 ядрами CUDA, 48 тензорными ядрами и 2 механизмами Deep Learning Accelerator (DLA) на основе новой архитектуры графического процессора NVIDIA Volta, обеспечивая 21 триллион операций в секунду (TOPS) при глубинном обучении менее 15 Ватты мощности.

Мы протестировали множество моделей, максимально увеличив ресурсы графического и центрального процессора на устройстве.

Model Name         FPS
0             inception_v4  306.557182
1                 vgg19_N2   64.347013
2  super_resolution_bsd500  148.703391
3        unet-segmentation  145.107749
4          pose_estimation  236.427671
5          yolov3-tiny-416  544.657879
6         ResNet50_224x224  861.961310
7         ssd-mobilenet-v1  879.868200

Почти каждая модель показывала сотни кадров в секунду с невероятными ~ 880 кадрами в секунду для ssd-mobilenet-v1! Для контекста, модель ssd-mobilenet-v1 с использованием только TensorFlow 1.12 на карте Nvidia GeForce GTX TITAN X будет выполнять вывод со скоростью ~ 33 FPS.

Когда-то выполнение вывода на встроенном устройстве с большими моделями, такими как BERT, казалось недосягаемым. Графический процессор с как минимум 12 ГБ ОЗУ был необходим для работы BERT base и 64 ГБ ОЗУ для BERT large. Xavier NX может выполнять логический вывод на таких моделях с отличной скоростью. Тестирование базовой модели BERT на 128 длинных последовательностях:

results for 1000 iterations with batch size 1, sequence length 128:
Average Time: 9.03 ms, 110.69 batch/second, 110.69 sequences/second
95th Percentile: 9.59 ms, 104.22 batch/second, 104.22 sequences/second
99th Percentile: 9.85 ms, 101.54 batch/second, 101.54 sequences/second

И тестирование большой модели BERT с использованием 128 длинных последовательностей:

results for 1000 iterations with batch size 1, sequence length 128:
Average Time:
29.71 ms, 33.66 batch/second, 33.66 sequences/second
95th Percentile: 30.37 ms, 32.93 batch/second, 32.93 sequences/second
99th Percentile: 31.82 ms, 31.42 batch/second, 31.42 sequences/second

С NX скорость вывода не будет узким местом для многих приложений с высокими ресурсами.

Xavier NX позволяет легко запускать несколько моделей одновременно. Команда NVIDIA выпустила мульти-контейнерную демонстрацию, в которой без проблем работают 7 моделей.

Контейнер DeepStream с обнаружением людей:

  • Модель Resnet-18 с размером входного изображения 960X544X3. Модель была преобразована из TensorFlow в TensorRT.

Контейнер позы с определением позы:

  • Модель Resnet-18 с разрешением входного изображения 224X224. Модель была преобразована из PyTorch в TensorRT.

Контейнер взгляда с контейнером взгляда:

  • Модель MTCNN для распознавания лиц с разрешением входного изображения 260X135. Модель была преобразована из Caffe в TensorRT.
  • Модель ориентиров для лица NVIDIA с входным разрешением 80X80 на лицо. Модель была преобразована из TensorFlow в TensorRT.
  • Модель NVIDIA Gaze с входным разрешением 224X224 на левый глаз, правый глаз и все лицо. Модель была преобразована из TensorFlow в TensorRT.

Голосовой контейнер с распознаванием речи и обработкой естественного языка:

  • Модель Quartznet-15X5 для распознавания речи, преобразованная из PyTorch в TensorRT.
  • BERT Базовая модель языковой модели для NLP, которая была преобразована из TensorFlow в TensorRT.

Jetson Xavier NX может быстро запускать модели с использованием разных платформ одновременно. В настоящее время мы используем эту демонстрацию для создания интеллектуального помощника по зеркальному отображению, который потребует запуска многих больших моделей на видео- и аудиовходе с высокой частотой кадров. В демоверсии эти 7 моделей запускаются с использованием четырех контейнеров докеров, что делает ее отличной отправной точкой для разработки приложения с использованием облачных инструментов.

Облачные вычисления для периферийных устройств AI

Контейнеры для облачной разработки, размещенные на NVIDIA NGC, предварительно обученные модели, загружаемые из зоопарка моделей, и оптимизированные SDK позволяют разработчикам пользоваться преимуществами методологий разработки для облачных сред. Это в сочетании с программными библиотеками для ускорения большинства, если не всех задач в конвейере ИИ превращает POCing в приложение ИИ мечтой.

Подробнее о наших экспериментах с некоторыми из этих инструментов вы можете прочитать в этом сообщении.

Мощный и компактный

Еще один аспект нового Jetson Xavier NX, который нас впечатлил, - это его форм-фактор и требования к питанию. Несущая плата такая же компактная, как Jetson Nano, и имеет больше характеристик, таких как встроенный WIFI!

Вот полный список спецификаций:

Модуль Xavier NX можно использовать отдельно в более законченном продукте. Комплект экономичен по мощности, требуя всего 10 Вт и до 15 Вт для максимальной производительности.

Мы очень рады продолжить работу с этим новейшим дополнением к платформе Jetson. Если вы разрабатываете периферийное устройство, которое в значительной степени включает ресурсы искусственного интеллекта и машинного обучения, мы рекомендуем Xavier NX за его впечатляющие вычислительные возможности, вспомогательное программное обеспечение и небольшие размеры.