В чем разница между Tensorflow XLA и Tensorflow Lite / Android NNAPI?

Tensorflow появился вместе с компилятором XLA, который компилирует внутренний тензорный поток C ++, ориентированный на LLVM. Насколько я понимаю, XLA - это шаг к поддержке универсальных ускоренных устройств при условии наличия поддержки LLVM -> Device.

Совсем недавно был выпущен Tensorflow lite, заменивший Tensorflow Mobile, и, похоже, именно здесь работа сосредоточена на нацеливании на встроенные и мобильные устройства с очевидным акцентом на встроенные DSP и графические процессоры как дополнительные процессоры, распространенные в этих средах. Tensorflow lite, по-видимому, передает операции Android NNAPI (API нейронной сети) и поддерживает подмножество OP tenorflow.

Возникает вопрос: в каком направлении Google собирается поддерживать устройства, не основанные на CUDA? И есть ли варианты использования XLA, выходящие за рамки того, что я описал?


person David Parks    schedule 06.12.2018    source источник
comment
Я не уверен, что XLA уделяет большое внимание поддержке ускоренных устройств. Хотя переносимость на новое оборудование упоминается в Почему мы создали XLA?, я думаю, что это в основном о производительности времени / памяти, а также о простоте интеграции (для AOT). TF Lite больше ориентирован на минимизацию ресурсов, на самом деле это еще одна реализация, хотя я полагаю, что Lite и XLA могут как-то сойтись. Поддержка платформы Wrt, хотя официально поддерживаются только CPU и CUDA (ну и Cloud TPU), для компиляции доступна поддержка SyCL и ROCm.   -  person jdehesa    schedule 11.12.2018
comment
В любом случае, если вы хотите узнать о планах на будущее, возможно, вы сможете получить более авторитетные ответы в одной из рассылки списки.   -  person jdehesa    schedule 11.12.2018


Ответы (1)


Работаю на XLA. Компилятор XLA имеет три бэкэнда: для CPU, GPU и TPU. CPU и GPU основаны на LLVM и имеют открытый исходный код, а TPU - с закрытым исходным кодом.

Я не знаю, каковы планы на XLA для мобильных устройств, поэтому не могу это комментировать.

Преимущество, которое вы получаете, используя XLA с вашей моделью TF, вместо того, чтобы выполнять модель напрямую, заключается в том, что XLA объединяет для вас множество операций. См., Например, этот пост.

person dimvar    schedule 17.12.2018