TensorFlow a annoncé ce 30 septembre lors du TensorFlow Dev Summit la mise à disposition de la version finale de TensorFlow 2.0. Piloté par la communauté, pensé pour être plus souple, plus puissant et plus convivial, il fournit un écosystème complet d’outils pour les développeurs, les entreprises et les chercheurs désireux d’améliorer leurs connaissances en matière de machine learning et de créer des applications évolutives à moteur ML.
Retrouvez l’article publié par TensorFlow sur Medium ici.
TensorFlow 2.0 facilite beaucoup le développement d’applications ML. Grâce à une intégration étroite de Keras dans TensorFlow, à une exécution rapide par défaut et à une exécution des fonctions Pythonic, TensorFlow 2.0 rend l’expérience de développement d’applications aussi familière que possible pour les développeurs Python.
Pour que les chercheurs repoussent les limites du ML, TensorFlow a beaucoup investi dans les API de low-level de TensorFlow. Ils exploitent désormais tous les ops utilisées en interne et fournissent des interfaces pour des concepts cruciaux tels que les variables et les points de contrôle. Cela permet aux utilisateurs de construire sur les composants internes de TensorFlow sans avoir à reconstruire TensorFlow.
Pour pouvoir exécuter des modèles sur diverses exécutions, y compris le cloud, le Web, les navigateurs, Node.js, les systèmes mobiles et intégrés, TensorFlow a normalisé le format de fichier SavedModel. Cela permet d’exécuter des modèles avec TensorFlow, de les déployer avec TensorFlow Serving, de les utiliser sur des systèmes mobiles et embarqués avec TensorFlow Lite, de s’entraîner et de se lancer sur navigateur ou dans Node.js avec TensorFlow.js.
Pour les scénarios d’entraînement hautes performances, les développeurs peuvent utiliser la Distribution Strategy API pour diffuser la formation avec un minimum de modifications de code et obtenir des performances exceptionnelles. Il prend en charge l’entraînement distribué avec Model.fit de Keras et prend également en charge les boucles de formation personnalisées. Le Multi-GPU support est également désormais disponible. Pour en savoir plus sur l’utilisation des GPU sur Google Cloud, cliquez ici. La prise en charge du Cloud TPU est prévue dans une prochaine version.
TensorFlow 2.0 offre de nombreuses améliorations de performances sur les GPU.
TensorFlow 2.0 offre des performances d’entraînement jusqu’à trois fois plus rapides en utilisant une précision mixte sur les GPU Volta et Turing avec quelques lignes de code, utilisées par exemple dans ResNet-50 et BERT. TensorFlow 2.0 est étroitement intégré à TensorRT et utilise une API améliorée pour offrir une meilleure convivialité et de hautes performances lors de l’inférence sur les GPU NVIDIA T4 Cloud sur Google Cloud.
“Le machine learning sur les GPU et les systèmes NVIDIA permet aux développeurs de résoudre des problèmes qui semblaient impossibles il y a quelques années”, a déclaré Kari Briski, Senior Director of Accelerated Computing Software Product Management chez NVIDIA.
“TensorFlow 2.0 est doté de nombreuses fonctionnalités d’accélération GPU exceptionnelles et nous sommes impatients de voir les incroyables applications d’IA que la communauté va créer avec ces outils mis à jour.”
Un accès efficace aux données d’entraînement et de validation est essentiel pour la création de modèles dans TensorFlow. Des jeux de données TensorFlow ont été introduits, offrant une interface standard à une multitude de jeux de données contenant une variété de datasets tels que des images, du texte, des vidéos, etc.
Bien que le modèle de programmation traditionnel basé sur Session soit toujours maintenu, TensorFlow recommande d’utiliser un développement Python standard avec une exécution rapide. Le tf.function decorator peut être utilisé pour convertir son code en graphiques pouvant être exécutés à distance, en série et optimisés pour des performances optimales. Ceci est complété par Autograph, qui peut convertir directement le flux de contrôle Python normal en flux de contrôle TensorFlow. La version TensorFlow 2.0 comprend également un script de conversion automatique pour aider les utilisateurs à démarrer.
Cette version finale de TensorFlow 2.0 a été réalisée en collaboration avec de nombreux utilisateurs de Google et de la communauté TensorFlow pour tester ses fonctionnalités. À titre d’exemple, l’équipe de Google News a lancé dans TensorFlow 2.0 un modèle de compréhension du langage basé sur le BERT, qui a considérablement amélioré la couverture des reportages.
TensorFlow 2.0 fournit des API faciles à utiliser avec la flexibilité nécessaire pour mettre en œuvre rapidement de nouvelles idées. Le modèle d’entraînement et de service était parfaitement intégré à l’infrastructure existante.
En outre, le machine learning n’est pas réservé aux seuls développeurs Python. Grâce à TensorFlow.js, les développeurs JavaScript ont accès à la formation et à la déduction. TensorFlow continue d’investir dans Swift en tant que langage permettant de créer des modèles avec la bibliothèque Swift for TensorFlow.