Google lance TensorFlow Lite, une version de sa solution d’apprentissage automatique optimisée pour les mobiles et les systèmes embarqués

Apprentissage automatique (Machine Learning)

Google a présenté mardi TensorFlow Lite en tant qu’aperçu développeur, une version de TensorFlow optimisée pour les appareils mobiles dans un premier temps, et pour les systèmes embarqués dans de futures versions.

TensorFlow est le logiciel d’apprentissage automatique que Google a placé en code source ouvert en novembre 2015.

De façon simplifiée, l’apprentissage automatique consiste à concevoir un modèle avec un but précis (reconnaître un oiseau sur une photographie, prédire quels ascenseurs risquent de tomber bientôt en panne,..) et à l’entraîner avec des données jusqu’à obtenir la précision souhaitée. L’inférence est l’utilisation de ce modèle précalculé pour effectuer une prédiction.

Aujourd’hui, la quasi-totalité de l’apprentissage automatique est traitée dans le nuage informatique.

Exécuter une partie de cette tâche sur un appareil mobile Android ou iOS réduit considérablement la latence d’inférence. Dans ce modèle, l’entraînement du modèle est toujours effectué dans le nuage, car il nécessite des capacités de calculs énormes et de vastes ensembles de données.

TensorFlow Lite

Un modèle entraîné TensorFlow est converti avec le TensorFlow Lite Converter dans un format de fichier optimisé Tensor Flow Lite Model File : .tflite. Ce fichier est déployé sur un appareil mobile, où il est exécuté par un interpréteur d’une taille de 70 ko à vide et 300 ko en utilisation.

Cet interpréteur exploitera l’Android Neural Networks API pour l’accélération matérielle, si disponible, ou sera exécuté sur le processeur sinon.

Les développeurs peuvent choisir l’une des deux interfaces de programmation (API) disponibles : Java ou C++. L’API C++ charge le fichier TensorFlow Lite Model File et exécute l’interpréteur. L’API Java est une simple bibliothèque d’enveloppe de l’APÏ C++.

Actuellement, trois types de modèles sont disponibles et optimisés pour appareils mobiles : MobileNet (vision par ordinateur), Inception v3 (reconnaissance d’image) ou Smart Reply (conversations textuelles).

Architecture de TensorFlow Lite
Architecture de TensorFlow Lite

Il existe bien déjà une interface de programmation TensorFlow Mobile, que Google recommande d’utiliser en production. Toutefois, TensorFlow Lite est le successeur de TensorFlow Mobile, qu’il remplacera à terme.