TensorFlow (MAJ)
TensorFlow est un framework open source développé par les chercheurs de Google pour exécuter des charges de travail d'apprentissage automatique, d'apprentissage profond et d'autres analyses statistiques et prédictives. Comme d'autres plateformes similaires, il est conçu pour rationaliser le processus de développement et d'exécution d'applications analytiques avancées pour les utilisateurs tels que les scientifiques des données, les statisticiens et les modélisateurs prédictifs.
Le logiciel TensorFlow traite des ensembles de données qui sont disposés comme des nœuds de calcul sous forme de graphe. Les arêtes qui relient les nœuds d'un graphe peuvent représenter des vecteurs ou des matrices multidimensionnels, créant ainsi ce que l'on appelle des tenseurs. Comme les programmes TensorFlow utilisent une architecture de flux de données qui fonctionne avec des résultats intermédiaires généralisés des calculs, ils sont particulièrement ouverts aux applications de traitement parallèle à très grande échelle, les réseaux neuronaux en étant un exemple courant.
Le cadre comprend des ensembles d'API de haut niveau et de bas niveau. Google recommande d'utiliser les API de haut niveau dans la mesure du possible afin de simplifier le développement de pipelines de données et la programmation d'applications. Cependant, savoir comment utiliser les API de bas niveau - appelées TensorFlow Core - peut s'avérer utile pour l'expérimentation et le débogage des applications, explique l'entreprise ; cela donne également aux utilisateurs un "modèle mental" du fonctionnement interne de la technologie d'apprentissage automatique, selon les termes de Google.
Les applications TensorFlow peuvent être exécutées sur des unités centrales classiques ou des unités de traitement graphique (GPU) plus performantes, ainsi que sur les propres unités de traitement tensoriel (TPU) de Google, qui sont des dispositifs personnalisés expressément conçus pour accélérer les tâches TensorFlow. Les premières TPU de Google, présentées publiquement en 2016, ont été utilisées en interne en conjonction avec TensorFlow pour alimenter certaines applications et certains services en ligne de l'entreprise, notamment l'algorithme de recherche RankBrain et la technologie de cartographie Street View.
Début 2018, Google a poursuivi ses efforts externes en matière de TensorFlow en mettant la deuxième génération de TPU à la disposition des utilisateurs de Google Cloud Platform pour l'entraînement et l'exécution de leurs propres modèles d'apprentissage automatique. Les charges de travail basées sur TensorFlow sont facturées à la seconde ; le service Cloud TPU a initialement été lancé en tant que programme bêta avec seulement des "quantités limitées" de dispositifs disponibles pour l'utilisation, selon Google.
Origines et versions de TensorFlow
TensorFlow a suivi les traces d'un cadre Google fermé appelé DistBelief, que l'entreprise utilisait en interne pour réaliser des applications non supervisées d'apprentissage de caractéristiques et d'apprentissage profond basées sur des réseaux neuronaux extrêmement vastes et sur l'algorithme de rétropropagation.
DistBelief, dont Google a révélé les détails pour la première fois en 2012, était un banc d'essai pour les implémentations de l'apprentissage profond qui comprenait la reconnaissance avancée d'images et de la parole, le traitement du langage naturel, les moteurs de recommandation et l'analyse prédictive.
TensorFlow diffère de DistBelief à plusieurs égards. Comme TensorFlow a été conçu pour fonctionner indépendamment de l'infrastructure informatique de Google, son code est plus facilement transférable pour des utilisations extérieures. Il s'agit également d'un cadre d'apprentissage automatique plus général qui n'est pas aussi étroitement axé sur les réseaux neuronaux que DistBelief l'était. En outre, il a été conçu pour permettre une configuration plus rapide et pour fonctionner avec les API de haut niveau.
Google a publié TensorFlow en tant que technologie open source en 2015 sous une licence Apache 2.0. Depuis, le framework a gagné de nombreux adeptes au-delà de Google. Par exemple, l'outil TensorFlow est pris en charge en tant que module complémentaire dans les suites de développement de l'apprentissage automatique et de l'IA d'IBM, de Microsoft et d'autres.
Au début de l'année 2017, TensorFlow a atteint le statut de version 1.0.0. Cette version a ajouté un débogueur spécialisé, un compilateur spécifique au domaine pour les graphes TensorFlow, des images de conteneurs Docker pour la version 3 du langage de programmation Python et une API Java expérimentale. Quatre autres versions ont suivi au cours de l'année 2017 ; une version TensorFlow Lite optimisée pour une utilisation sur des appareils mobiles et embarqués a également été introduite en tant qu'aperçu pour les développeurs. En février 2018, TensorFlow en était à la version 1.6.0.
Applications de TensorFlow
Pour la plupart, les applications TensorFlow sont des projets d'IA avancés et à grande échelle dans les domaines de l'apprentissage automatique et de l'apprentissage profond. En alimentant le système d'apprentissage automatique RankBrain de Google, TensorFlow a été utilisé pour améliorer les capacités de recherche d'informations du moteur de recherche phare de l'entreprise.
Google a également utilisé le cadre pour des applications telles que la génération automatique de réponses aux courriels, la classification d'images et la reconnaissance optique de caractères, ainsi qu'une application de découverte de médicaments sur laquelle l'entreprise a travaillé avec des chercheurs de l'université de Stanford.
Les directeurs techniques et ingénieurs
de Google discutent le développement
et les usages de TensorFlow (Anglais)
Parmi les autres entreprises répertoriées sur le site web de TensorFlow en tant qu'utilisateurs du cadre de travail figurent Airbnb, Coca-Cola, eBay, Intel, Qualcomm, SAP, Twitter, Uber et le développeur de Snapchat, Snap Inc. Un autre utilisateur est STATS LLC, une société de conseil en sport qui utilise des modèles d'apprentissage profond basés sur TensorFlow pour analyser des éléments tels que les mouvements des joueurs pendant les matchs de sport professionnel.
L'apprentissage profond basé sur TensorFlow a également fait partie d'expériences et de tests impliquant l'une des innovations proposées à plus grande échelle aujourd'hui, à savoir les voitures auto-conduites.
Des utilisations à plus petite échelle ont également été trouvées. Par exemple, une petite ferme japonaise utilise TensorFlow pour trier les concombres en fonction de leur texture.
