Les TPU (Tensor Processing Units) sont des circuits intégrés spécifiques aux applications (Application-Specific Integrated Circuit ou ASIC) et développés spécifiquement par Google qui permettent d'accélérer les charges de travail de machine learning (ML) et d'intelligence artificielle (IA). Que vous entraîniez des modèles de base complexes pendant des semaines ou que vous exécutiez une inférence à grande échelle, les TPU offrent des ressources de calcul évolutives et spécialisées, optimisées pour des frameworks tels que JAX et PyTorch.
Les Cloud TPU sont conçus pour gérer les charges de travail d'IA les plus exigeantes. Voici les principaux avantages :
Optimisation pour les calculs matriciels : les TPU sont spécialement conçus avec des unités de multiplication matricielle (MXU) pour exécuter les opérations matricielles massives fondamentales pour les algorithmes de ML avec une efficacité exceptionnelle.
Mémoire à haut débit (HBM) : la mémoire à haut débit intégrée vous permet d' entraîner et de diffuser des modèles plus volumineux, et d'utiliser efficacement des tailles de lot plus importantes.
Évolutivité massive avec les tranches : les puces TPU peuvent être connectées en groupes appelés tranches. Les tranches permettent à vos charges de travail d'évoluer jusqu'à des milliers de puces TPU pour des tâches d'entraînement massives.
Quand utiliser les TPU ?
Les TPU sont optimisés pour des charges de travail spécifiques, telles que les suivantes :
- Modèles dominés par les calculs matriciels
- Modèles sans opérations PyTorch/JAX personnalisées dans la boucle d'entraînement principale
- Modèles dont l'entraînement prend des semaines ou des mois
- Modèles volumineux avec lots efficaces de grande taille
- Modèles avec des embeddings très volumineux, courants dans les charges de travail de recommandation et de classement avancées
Les TPU ne sont pas adaptés aux charges de travail suivantes :
- Les programmes algébriques linéaires qui nécessitent des ramifications fréquentes ou qui contiennent de nombreuses opérations algébriques au niveau des éléments
- Les charges de travail qui nécessitent une arithmétique de haute précision
- Les charges de travail de réseau de neurones qui contiennent des opérations personnalisées dans la boucle d'entraînement principale
Options de provisionnement pour Google Cloud
Vous pouvez accéder aux TPU et les provisionner à l'aide des produits suivants Google Cloud , en fonction de vos besoins opérationnels.
Compute Engine
Compute Engine vous permet de créer et de gérer des VM ou des tranches TPU individuelles, ce qui vous permet de gérer entièrement le cycle de vie des VM TPU. Google vous recommande d'utiliser Compute Engine plutôt que l'ancienne API Cloud TPU pour provisionner vos ressources TPU.
Pour en savoir plus, consultez Ressources Cloud TPU dans Compute Engine.
Google Kubernetes Engine
Google Kubernetes Engine (GKE) fournit un environnement Kubernetes multilocataire entièrement géré pour orchestrer des charges de travail d'IA à grande échelle. GKE est compatible avec la gestion du cycle de vie des nœuds TPU et des pools de nœuds, y compris la création, la configuration et la suppression de VM TPU.
Pour en savoir plus, consultez À propos des TPU dans GKE.
Cloud TPU
L'API Cloud TPU, y compris la Google Cloud CLI et les bibliothèques clientes Cloud pour Cloud TPU, n'est plus en cours de développement. Pour provisionner et gérer les ressources TPU, Google vous recommande d'utiliser Compute Engine ou GKE, en fonction de vos besoins en matière d'orchestration et de charge de travail.
Pour en savoir plus, consultez Migrer depuis l'API Cloud TPU.
Versions de TPU compatibles dans Compute Engine
Compute Engine est compatible avec les versions de TPU suivantes :
- TPU7x (Ironwood)
- TPU v6e (Trillium)
- TPU v5p
Pour en savoir plus sur chaque version de TPU, consultez Machines TPU.
Étape suivante
- En savoir plus sur les ressources Cloud TPU dans Compute Engine
- En savoir plus sur le matériel TPU