Google a publié nouvelles API et outils pour leur Boîte à outils Coral AI. La nouvelle version apporte la parité entre les SDK C ++ et Python et inclut une utilisation plus efficace de la mémoire. D’autres mises à jour incluent des modèles pré-entraînés supplémentaires et la disponibilité générale du pipeline de modèles.

Le chef de produit Coral Carlos Mendonça a fourni un aperçu de la version sur le blog TensorFlow. Les nouvelles API exposent Objet interpréteur TensorFlow Lite et fournissent également des méthodes pratiques pour les tâches d’inférence courantes d’apprentissage automatique (ML). Une famille supplémentaire de modèles de détection d’objets pré-entraînés, MobileDets, a été ajouté au modèle “jardin”. Les API incluent également des mises à jour pour réglage fin sur l’appareil de modèles pré-formés. Finalement, pipelining modèle— la possibilité de partitionner de grands modèles sur plusieurs périphériques pour l’inférence distribuée — est passée de la version bêta à la disponibilité générale. Selon Mendonça, l’objectif de l’équipe dans cette version était de:

[R]efactor nos API et les rendre plus modulaires, réutilisables et performantes, tout en éliminant les abstractions d’API inutiles et en faisant apparaître davantage d’API natives TensorFlow Lite avec lesquelles les développeurs sont familiers.

Parce que la formation des modèles ML nécessite souvent des ressources de calcul considérables et du matériel spécialisé tel que Unités de traitement graphique (GPU) ou Unités de traitement par tenseurs (TPU), les développeurs se tournent souvent vers le cloud pour se former. Cependant, dans de nombreuses applications Internet des objets (IoT), le cloud n’est souvent pas un bon choix pour inférence— l’utilisation d’un modèle entraîné au moment de l’exécution; par exemple, pour détecter des objets dans une image. Au lieu de cela, l’inférence sur un local ou bord l’appareil peut être nécessaire en raison de problèmes de confidentialité ou de latence du réseau, ou dans des scénarios où le réseau n’est pas fiable ou indisponible.

Étant donné que ces périphériques périphériques ont souvent des ressources de calcul et d’alimentation limitées, ce qui entraîne de longues durées d’exécution pour l’inférence, les fabricants ont commencé à expédier des accélérateurs d’inférence de faible puissance. La plate-forme Coral de Google en est une, basée sur un ASIC personnalisé, le Bord TPU. La plate-forme Coral comprend également un SDK logiciel basé sur TensorFlow Lite. Les développeurs peuvent entraîner des modèles dans le cloud avec TensorFlow, les exporter vers TensorFlow Lite, les compiler avec le compilateur Edge TPU, puis les déployer sur des appareils de périphérie avec un accélérateur Coral. Coral prend également en charge le réglage fin des modèles sur l’appareil, si le modèle est un réseau neuronal conçu pour prendre en charge la formation sur la dernière couche.

La dernière mise à jour du logiciel Coral remodèle les SDK précédents en deux nouvelles bibliothèques: libcoral, une bibliothèque C ++, et PyCoral, un package Python. Les deux bibliothèques encapsulent les API TensorFlow Lite et fournissent des méthodes pratiques, telles qu’un appel unique pour configurer l’interpréteur TensorFlow et des assistants pour gérer la sortie du modèle. Les deux SDK offrent une prise en charge améliorée des systèmes multi-accélérateurs, y compris les étiquettes de périphérique et le pipeline de modèles. Le pipelining de modèles améliore les performances d’exécution en partitionnant les modèles volumineux sur plusieurs accélérateurs; la nouvelle version inclut un algorithme de partitionnement basé sur le profilage qui surveille la latence pendant l’exécution pour optimiser les partitions.

Un inconvénient de la plateforme Coral est qu’elle ne prend en charge que TensorFlow Lite, et en particulier uniquement modèles qui ont été quantifiés 8 bits. D’autres fabricants de matériel proposent des solutions d’accélérateur comparables qui prennent en charge plusieurs sources de modèles. Par exemple, Cartes AIoT de LG inclure le LG Neural Engine qui prend en charge les deux TensorFlow Lite et Caffe, tandis que Cartes Jetson de NVIDIA utiliser un approche conteneurisée pour prendre en charge plusieurs cadres.

Le code source du nouveau libcoral et PyCoral bibliothèques est disponible sur GitHub.

.

Leave a Reply