Nouvelles Du Monde

DeepMind crée une nouvelle IA qui résout un problème de multiplication matricielle vieux de 50 ans – IT Pro – Actualités

DeepMind crée une nouvelle IA qui résout un problème de multiplication matricielle vieux de 50 ans – IT Pro – Actualités

Ce que cette IA a fait, c’est découvrir un algorithme plus rapide que l’algorithme le plus rapide que nous connaissons pour un problème très spécifique. A la connaissance des auteurs, l’algorithme de Strassen est l’algorithme le plus rapide pour Matrices 4 par 4 sur un corps fini multiplier. C’est un problème très spécifique, en particulier la partie “à travers un champ fini”, qui exclut la multiplication matricielle sur des nombres entiers, par exemple, et pour autant que j’ai pu voir rapidement, ils n’ont pas démontré pourquoi ce problème particulier est si pertinent.

Comment arrivez-vous à la conclusion que des améliorations n’ont été obtenues qu’avec des matrices 4×4 ? Cet exemple est donné car il est relativement simple et aucun humain n’a été capable de trouver une meilleure méthode depuis 50 ans alors que l’IA réussit, c’est tout un exploit en soi. Je reçois également de l’article original qu’ils ont apporté des améliorations, par exemple aux tenseurs 5x5x5 (98-> 96), 3x4x5 (48-> 47), 4x4x5 (64-> 63) et 4x5x5 (80-> 76). De plus, la dimension n’est pas si importante, il s’agit de la méthode qui peut être largement utilisée.

Un deuxième point, et peut-être plus important, est que cette IA recherche spécifiquement des algorithmes de multiplication matricielle de dimension constante sur un champ fixe. L’algorithme de Strassen, qu’ils ont mentionné plus tôt comme un exemple important sur lequel ils avaient trouvé une amélioration, fonctionne pour la multiplication matricielle de dimension variable sur n’importe quel champ. Cela signifie que les algorithmes trouvés par cette IA ne sont applicables que dans une mesure très limitée,

Toute matrice peut être divisée en blocs, même si elle n’est pas carrée. Par exemple, une matrice A 8×4 et une multiplication de matrice B 4×8 peuvent être divisées en 4x4A0, 4x4A1 et 4x4B0, 4x4B1. Le résultat est alors 4x4A0 x 4x4B0 + 4x4A1 x 4x4B1. Ceci est également appelé mosaïque et est très important lors de la mise en œuvre sur GPU en raison du degré élevé de parallélisation.

et il est probable que pour toute application pour laquelle un algorithme efficace de multiplication matricielle est à trouver, il faudra recycler l’IA (bien que certaines dimensions et certains champs soient bien sûr plus importants que d’autres, par exemple des matrices 3 par 3 sur la les nombres rationnels sont courants dans les cas impliquant le monde physique en 3D).

Cela va encore plus loin, l’IA doit être entraînée pour chaque nouveau type de matériel. Je pense que c’est inévitable, car une implémentation sur des cœurs de tenseur peut atteindre des performances très différentes d’une implémentation sur des cœurs cuda. D’une part, c’est formidable, car les performances sont immédiatement validées par rapport à une implémentation réelle et vous êtes toujours sûr d’en tirer le meilleur parti. D’autre part, cela demande plus de travail.

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ADVERTISEMENT