Google: благодаря OpenCL механизм логического вывода в TensorFlow ускорится вдвое
Google выпустила для своей платформы TensorFlow на Android новый механизм логического вывода, работающий на мобильных ускорителях через OpenCL. Он доступен в последней версии библиотеки TensorFlow Lite, и компания утверждает, что движок обеспечивает двукратное превосходство по скорости по сравнению с существующим модулем на основе OpenGL при исполнении моделей ИИ «разумного размера».
Khari Johnson / VentureBeat
OpenGL развивается уже три десятилетия как не привязанный к платформе API для рендеринга 2D и 3D. Вычислительные шейдеры были добавлены в версии OpenGL ES 3.1, но команда TensorFlow заявила, что из-за обратной совместимости этот API не позволяет реализовать в полной мере потенциал графических процессоров. С другой стороны, OpenCL с самого начала разрабатывался как стандарт для вычислений с использованием различных ускорителей и лучше подходит для реализации механизма логического вывода на мобильных ускорителях. Это заставило команду TensorFlow провести исследование и в конечном итоге перейти на движок на основе OpenCL.
Скорость логического вывода при исполнении модели MNASNet 1.3 на некоторых устройствах Android (ЦП, OpenGL и OpenCL)
Благодаря поддержке FP16 и других особенностей ГП в новом механизме логического вывода TensorFlow некоторые старые ускорители вроде Adreno 305 2012 года теперь смогут работать в полную силу. В некоторых случаях прирост оказывается более чем двукратным. Например, при работе поисковой нейронной системы MNASNet 1.3 через новую библиотеку TensorFlow задержки были уменьшены со 100 мс на Vivo Z3 с движком на основе OpenGL до 25 мс с новой версией на базе OpenCL. В другом тесте с алгоритмом обнаружения объектов SSD MobileNet v3 на Huawei Mate 20 также сократил задержки с почти 100 мс до менее чем 25 мс.
Скорость логического вывода при исполнении модели SSD MobileNet v3 на некоторых устройствах Android (ЦП, OpenGL и OpenCL)
Google отметила, что OpenCL не является частью стандартного дистрибутива Android, что делает новую библиотеку недоступной для некоторых пользователей. В качестве временной меры TensorFlow Lite теперь проверяет наличие OpenCL и, если API недоступен, переключается на движок на базе OpenGL.
© 3DNews