Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Convergence entre calcul scientifique et réseaux neuronaux avec la précision mixte
Le superordinateur Summit a triplé son score de performance

Le , par dourouc05

108PARTAGES

13  0 
Pour le moment, deux applications informatiques demandent une énorme puissance de calcul : le calcul scientifique (simulations industrielles et académiques) et l'entraînement de réseaux neuronaux profonds. Les deux domaines sont relativement séparés, bien qu'ils effectuent des opérations très similaires (de l'algèbre linéaire) : bon nombre de sociétés conçoivent des puces optimisées pour l'entraînement de réseaux neuronaux, mais difficilement utilisables en calcul scientifique. La différence majeure réside dans le fait que les réseaux neuronaux n'ont pas besoin d'une précision très grande pour stocker les nombres — contrairement au calcul scientifique, où quelques décimales manquantes peuvent donner des solutions totalement fausses… et on parle de simulations de centrales nucléaires, pas de reconnaissance de chats.

Sauf que… La communauté du calcul scientifique s'intéresse de plus en plus aux calculs en "précision mixte", car les possibilités d'accélération au niveau matériel sont plus grandes que pour les opérations habituelles, en pleine précision. De fait, toutes les opérations ne requièrent pas une précision absolue pour les calculs : l'idée est d'alors utiliser des opérations en précision mixte quand cela ne nuit pas au résultat final.

En pratique, une équipe jointe de l'université du Tennessee et de celle de Manchester a adapté les tests de performance utilisés pour les superordinateurs afin d'exploiter la puissance des cœurs tensoriels fournis sur les dernières puces de NVIDIA. L'algorithme itératif de résolution de systèmes linéaires de Linpack a bénéficié des possibilités de calcul mixte de ces unités, avec une technique de raffinement itératif. Cette technique de calcul a été développée dans les années 1940 et est surtout utile dans le cas de matrices denses (dont beaucoup d'éléments sont non nuls). Le résultat est alors obtenu bien plus rapidement qu'en utilisant uniquement les unités de calcul sur soixante-quatre bits de ces puces graphiques. Les cœurs tensoriels offrent la possibilité de travailler avec des nombres sur seize bits à peine, avec des accumulateurs sur trente-deux bits. Numériquement, un superordinateur peut ainsi espérer tripler son score de performance ! C'était par exemple le cas de Summit : la résolution du même système linéaire (une matrice de dix millions de lignes et autant de colonnes) prend alors vingt-cinq minutes au lieu de septante-cinq.

Reste à voir comment ces techniques pourront s'appliquer de manière plus générale, à d'autres algorithmes de calcul numérique. On aura peut-être droit à une petite révolution dans le domaine, avec une très nette amélioration de performance sans dégradation de précision !

Source : Doing The Math : The Reality Of HPC And AI Convergence.

Une erreur dans cette actualité ? Signalez-le nous !