Scaling Neural Network Verification with Tensor Parallelism and Fully Sharded Data Parallelism
Ce document adapte le parallélisme tensoriel (Tensor Parallelism) et le parallélisme de données entièrement fragmenté (Fully Sharded Data Parallelism) au cadre de vérification -CROWN afin de réduire considérablement l'utilisation de la mémoire GPU, permettant ainsi la vérification formelle de réseaux de neurones à grande échelle comme ResNet-large sur CIFAR-100 qui étaient auparavant impossibles en raison des contraintes de mémoire.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous essayiez de prouver qu'une voiture autonome ne manquera jamais de percuter quoi que ce soit, peu importe la météo ou la façon dont un piéton pourrait surgir soudainement. Vous ne pouvez pas simplement tester la voiture un million de fois ; vous avez besoin d'une « preuve » mathématique qu'elle est sûre dans chaque scénario possible. Cela s'appelle la Vérification Formelle de Réseaux de Neurones.
Le problème est que réaliser une telle preuve est extrêmement lourd pour la mémoire informatique. C'est comme essayer de résoudre un puzzle géant, mais toutes les pièces (les données et les règles) doivent tenir sur une seule petite table (une seule carte graphique). Si le puzzle est trop grand, la table déborde et la preuve échoue.
Ce document présente deux nouvelles façons de résoudre ce puzzle en utilisant plusieurs tables (GPU) travaillant ensemble, en empruntant des idées à la manière dont on entraîne les géants modèles d'IA aujourd'hui.
Voici la décomposition de leurs deux principales solutions, expliquées avec des analogies simples :
1. L'approche « Diviser le puzzle » (Parallélisme de tenseurs)
L'idée : Imaginez que vous avez un puzzle géant. Au lieu qu'une seule personne tienne l'ensemble, vous coupez le puzzle en deux. La personne A tient la moitié gauche, et la personne B tient la moitié droite. Elles travaillent toutes les deux sur leurs propres pièces et se crient les résultats mutuellement.
- Comment ça marche : Les chercheurs divisent les « poids » (les pièces du puzzle) et les « règles » (les mathématiques) entre deux GPU.
- La bonne nouvelle : Cela réduit la mémoire nécessaire sur chaque ordinateur de presque moitié (réduction d'environ 2x). C'est très efficace pour les puzzles petits ou peu profonds.
- Le bémol : Quand le puzzle devient profond (beaucoup de couches), les deux personnes doivent deviner la connexion entre leurs moitiés sans voir l'image entière. Pour gagner du temps, elles utilisent une méthode d'estimation « rapide et approximative » (appelée IBP) pour les parties centrales.
- Le résultat : La preuve finale reste sûre (elle ne dira pas qu'une voiture est sûre si elle est réellement dangereuse), mais la réponse devient un peu plus « floue » ou moins précise à mesure que le puzzle s'approfondit. C'est comme estimer la distance d'une montagne en regardant l'horizon plutôt qu'en la mesurant précisément.
2. L'approche « Bibliothèque partagée » (Parallélisme de données entièrement fragmenté - FSDP)
L'idée : Imaginez une bibliothèque où les livres sont trop grands pour tenir sur une seule étagère. Au lieu de copier le livre entier pour chaque lecteur, la bibliothèque divise le livre en pages.
- Comment ça marche : Les chercheurs répartissent les « poids » (les pages du livre) entre les GPU.
- Le tour de magie : Lorsqu'un ordinateur a besoin d'effectuer un calcul, il rassemble rapidement toutes les pages dont il a besoin auprès des autres ordinateurs, effectue le calcul, puis repose immédiatement les pages. À un instant précis, aucun ordinateur ne détient l'intégralité du livre.
- La bonne nouvelle :
- Précision parfaite : Comme le calcul est effectué exactement de la même manière que si un seul ordinateur avait tout le livre, le résultat est bit par bit identique à la version sur un seul ordinateur. Pas de « flou ».
- Économies de mémoire : Cela économise énormément de mémoire (80 à 90 % pour la configuration de base, et 34 à 39 % pour l'utilisation de pointe).
- Le bémol : Cela nécessite un peu de « communication » entre les ordinateurs pour rassembler les pages, ce qui prend un peu de temps, mais les économies de mémoire en valent la peine.
La grande surprise : Qu'est-ce qui encombre réellement la mémoire ?
Les chercheurs s'attendaient à ce que les « poids » (les pièces du puzzle ou les pages du livre) soient le problème principal. Ils se sont trompés.
Une fois qu'ils ont utilisé ces nouvelles méthodes pour libérer de l'espace pour les poids, ils ont découvert le véritable goulot d'étranglement : un type spécifique de données appelé « tenseurs alpha ».
- L'analogie : Imaginez que vous résolvez le puzzle. Les « poids » sont les pièces du puzzle, mais les « tenseurs alpha » sont les post-it sur lesquels vous devez écrire pour chaque pièce afin de suivre votre progression.
- La découverte : Dans le mode de vérification le plus avancé (où ils vérifient les accidents en utilisant une méthode appelée Branch-and-Bound), ces post-it occupent 99 % de la mémoire, et non les pièces du puzzle.
- La conclusion : Même si ils ont réussi à répartir les pièces du puzzle entre les ordinateurs, les « post-it » sont toujours trop grands pour tenir. Pour résoudre les problèmes les plus vastes (comme la vérification d'une IA complexe pour la conduite autonome), les travaux futurs devront trouver comment répartir ces post-it entre les ordinateurs également.
Résumé des résultats
- Parallélisme de tenseurs : Excellent pour économiser de la mémoire, mais rend la réponse légèrement moins précise pour les réseaux profonds.
- FSDP : Conserve une précision parfaite et économise beaucoup de mémoire. Il a réussi à vérifier un modèle complexe de reconnaissance d'images (ResNet) qui était auparavant trop volumineux pour être vérifié.
- L'avenir : La clé pour vérifier des IA encore plus grandes n'est plus seulement de diviser les poids ; il s'agit de savoir comment diviser les « post-it » (tenseurs alpha) qui suivent le processus de vérification.
En résumé, l'article montre comment utiliser plusieurs ordinateurs pour vérifier la sécurité de l'IA, mais il révèle aussi que nous avons encore un obstacle majeur de mémoire à franchir avant de pouvoir vérifier les systèmes d'IA les plus vastes et les plus complexes.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.