TensorFlow est un cadre d'apprentissage profond open-source développé par l'équipe Google Brain et publié publiquement en novembre 2015. Il offrait un moyen de définir des réseaux de neurones sous forme de graphes computationnels d'opérations tensorielles et de les entraîner efficacement sur des CPU, des GPU et les puces TPU de Google, et il est devenu l'un des deux cadres dominants d'apprentissage profond de la fin des années 2010, aux côtés de PyTorch.
Historique
TensorFlow a succédé à DistBelief, un système interne antérieur, moins flexible, que Google utilisait pour l'entraînement de réseaux de neurones à grande échelle. Sa publication open-source en 2015, suivie d'une version stable 1.0 en 2017, a rendu les outils d'apprentissage profond à grande échelle de Google accessibles pour la première fois aux chercheurs et aux entreprises externes, et a contribué à populariser l'apprentissage profond comme discipline d'ingénierie grand public au-delà des laboratoires académiques. La conception originale de TensorFlow utilisait un graphe computationnel statique de type définir-puis-exécuter : un utilisateur construisait d'abord le graphe complet des opérations, puis l'exécutait, une approche qui permettait une optimisation agressive des performances et un déploiement facile, mais rendait le débogage et l'itération sur l'architecture des modèles plus lourds que l'approche par graphe dynamique introduite par PyTorch en 2016. Google a répondu avec TensorFlow 2.0 en 2019, qui a rendu l'exécution dynamique et immédiate par défaut et a intégré Keras, une API de plus haut niveau et plus conviviale, comme interface principale.
Écosystème
Au-delà de la bibliothèque d'entraînement principale, l'écosystème de TensorFlow comprenait TensorFlow Lite pour le déploiement mobile et IA de périphérie, TensorFlow.js pour exécuter des modèles dans un navigateur web, TensorFlow Extended pour les pipelines de production en apprentissage automatique, et TensorBoard, un outil de visualisation largement utilisé pour surveiller l'entraînement. Keras, initialement un projet indépendant, est devenu étroitement intégré à TensorFlow comme API de haut niveau recommandée, abaissant la barrière pour les nouveaux venus afin de définir et d'entraîner des modèles sans écrire directement de code de graphe de bas niveau.
Déclin dans la part de recherche et statut actuel
Malgré la domination précoce de TensorFlow, le modèle d'exécution dynamique plus convivial pour les chercheurs de PyTorch a entraîné un glissement constant de la recherche académique vers PyTorch à la fin des années 2010 et au début des années 2020, et vers 2022, la majorité des nouveaux articles dans les grandes conférences d'apprentissage automatique utilisaient PyTorch plutôt que TensorFlow. TensorFlow a conservé une empreinte plus forte dans certains contextes de production et de déploiement mobile, en partie grâce à sa maturité et aux outils soutenus par Google, et est resté largement utilisé dans les systèmes industriels construits avant ce glissement, ainsi qu'au sein de Google lui-même. Au milieu des années 2020, TensorFlow est généralement considéré comme le cadre qui a contribué à établir l'entraînement de réseaux de neurones à grande échelle comme pratique d'ingénierie courante et qui a formé de nombreux systèmes d'apprentissage profond précoces influents, même si PyTorch et, pour l'entraînement à très grande échelle, la bibliothèque JAX de Google sont devenus des choix plus importants pour le développement de nouveaux modèles de langage de grande taille et modèles de fondation au sein de Google et dans tout le domaine.