MLHPC 2016 | Quantification des communications pour la formation parallèle aux données des réseaux de neurones profonds

Mettez en œuvre les algorithmes de quantification des communications existants sur l'infrastructure HPC et développez nos propres algorithmes de quantification adaptative pour résoudre leurs lacunes. Nous avons également développé notre propre implémentation allreduce. Comparez les données existantes et les nouveaux algorithmes de quantification de communication parallèle de données et MPI_Allreduce entre eux. Étudier la faisabilité d'une formation parallèle aux données sur l'infrastructure HPC

Le SGD 1 bit peut obtenir une bonne reconstruction et une erreur plus faible, mais par rapport à la quantification de seuil, son coût de calcul est plus élevé et le taux de compression ne peut pas atteindre plus de 32 fois. La vitesse de quantification du seuil est très rapide, mais différents modèles doivent définir différents seuils, et il est difficile de choisir un bon seuil, et l'utilisation du seuil \ (\ tau \) car la valeur de reconstruction est sous-optimale. Si le seuil est fixé relativement petit, une grande quantité de données peut être transmise en raison de l'existence d'une compensation d'erreur

La quantification adaptative utilise un rapport fixe \ (\ pi \) pour indiquer le rapport de mise à jour du gradient à envoyer à chaque itération. La première étape, la quantification adaptative, consiste à déterminer le seuil positif \ (\ tau ^ + \) et le seuil négatif \ (\ tau ^ - \) qui respectent le rapport requis pour l'itération actuelle . En supposant qu'il y ait \ (k \) des valeurs non négatives dans le vecteur de gradient , nous n'avons qu'à envoyer la plus grande valeur \ (\ frac {k} {\ pi} \) , donc le seuil positif \ (\ tau ^ + \) Il s'agit de la valeur \ (\ frac {k} {\ pi} \) dans le vecteur de gradient . En général, nous pouvons trouver l' élément \ (\ frac {k} {\ pi} \) dans le temps \ (O (N) \) grâce à une sélection efficace et à d'autres algorithmes efficaces . La détermination du seuil négatif est similaire au seuil positif, sauf que la plus petite valeur \ (\ frac {k} {\ pi} \) dans le vecteur de gradient est sélectionnée . Notez que les seuils positifs et négatifs sont déterminés par le même rapport \ (\ pi \) . De même, la quantification adaptative nécessite l'utilisation de techniques de compensation d'erreurs pour empêcher la convergence du modèle. Dans la phase de reconstruction à la réception, la quantification adaptative calcule une valeur moyenne pour les éléments supérieurs au seuil positif \ (\ tau ^ + \) et inférieurs au seuil négatif \ (\ tau ^ - \) , et utilise ces deux moyennes comme vecteurs de reconstruction Éléments dans.

L'auteur a constaté que l' MPI_Allreduceinterface d' origine ne fonctionnait pas bien lors de la transmission de données compressées et qu'elle MPI_Allreducedégénérerait en une mise en œuvre de doublage récursif lors de l'utilisation d'opérations définies par l'utilisateur . Par conséquent, il a utilisé la méthode de MPI_Sendsomme d' origine MPI_Recvpour implémenter un algorithme de communication d'agrégation similaire à Ring Allreduce.

Je suppose que tu aimes

Origine www.cnblogs.com/littleorange/p/12684063.html
conseillé
Classement