Mise à l'échelle en parallélisme de données
Données
| Appareils | 64 |
|---|---|
| Débit par appareil | 2 000 |
| Efficacité de mise à l'échelle | 90 % |
Mise à l'échelle en parallélisme de données
Estimez le débit réel d'entraînement réparti sur des appareils en parallélisme de données à partir du débit par appareil et de l'efficacité de mise à l'échelle, avec le débit linéaire idéal et l'accélération obtenue par rapport à un seul appareil.
Données
Grappe de calcul
Résultats
Saisissez une valeur pour afficher les résultats.
Détails
La mise à l'échelle en parallélisme de données
Le parallélisme de données est la façon la plus courante d'entraîner un modèle plus vite : répliquer le modèle sur de nombreux accélérateurs, donner à chaque copie une part du lot et moyenner leurs gradients à chaque étape. Dans un monde idéal, le débit augmenterait en proportion exacte du nombre d'appareils. En pratique, il n'en est rien, car la moyenne des gradients qui maintient les copies synchronisées coûte un temps croissant avec la grappe. Ce calcul sépare le débit linéaire idéal du chiffre réaliste après cette perte, et indique l'accélération qui en résulte.
Idéal et réel
Le débit idéal est ce que donnerait une mise à l'échelle parfaite : chaque appareil apporte pleinement son débit autonome, sans surcoût. Le débit réel est cet idéal réduit par une efficacité de mise à l'échelle — une fraction unique comprise entre zéro et un qui absorbe toutes les imperfections du fonctionnement parallèle. Une efficacité de 0,9 signifie que la grappe délivre quatre-vingt-dix pour cent du maximum théorique : un entraînement à 64 appareils se comporte alors comme 57,6 appareils à mise à l'échelle parfaite.
La formule
Avec un nombre d'appareils , un débit par appareil et une efficacité de mise à l'échelle , le débit idéal , le débit réel et l'accélération par rapport à un seul appareil valent
IAS=d⋅v=I⋅E=d⋅EL'accélération n'est que le nombre d'appareils pondéré par l'efficacité, car un appareil seul tourne à et la grappe tourne à .
Exemple chiffré
Soit 64 appareils, soutenant chacun 2 000 échantillons par seconde isolément, avec une efficacité de mise à l'échelle mesurée de 0,9 :
IAS=64×2000=128000=128000×0.9=115200=64×0.9=57.6La grappe traite 115 200 échantillons par seconde — une accélération de 57,6× sur un seul appareil, et non les 64× qu'impliquerait une mise à l'échelle parfaite. La différence d'environ 13 000 échantillons par seconde est le prix du maintien en synchronisation des copies.
Limites
Le modèle condense toutes les causes de perte de mise à l'échelle en un seul nombre d'efficacité fourni par l'utilisateur ; il ne prédit pas ce nombre à partir de la bande passante d'interconnexion, de la taille du modèle ou du lot. L'efficacité est en outre rarement constante — elle baisse en général à mesure que des appareils s'ajoutent, car la réduction globale des gradients croît tandis que le calcul par appareil reste fixe — : une valeur mesurée à une taille de grappe ne doit pas être supposée valable à une autre. Un parallélisme de données pur est supposé ici ; les conséquences de cette réplication sur le lot sont traitées par le Taille de lot effective, et le surcoût propre au découpage d'un modèle en étages de pipeline par le Bulle du parallélisme de pipeline.
Questions fréquentes (FAQ)
Qu'est-ce que l'efficacité de mise à l'échelle ?
L'efficacité de mise à l'échelle est le rapport entre le débit qu'une grappe atteint réellement et celui qu'elle atteindrait si chaque appareil ajouté apportait pleinement son débit autonome. Une efficacité de 0,9 signifie que 64 appareils se comportent comme 57,6 appareils idéaux.
Elle regroupe en une seule fraction comprise entre zéro et un toutes les causes de mise à l'échelle imparfaite — communication des gradients, attentes de synchronisation et charge inégale — et constitue la manière courante d'indiquer la qualité de parallélisation d'un entraînement.
Pourquoi la mise à l'échelle n'est-elle pas linéaire ?
Chaque étape d'optimisation en parallélisme de données nécessite une réduction globale (all-reduce) qui échange et moyenne les gradients entre tous les appareils, et cette communication croît avec la grappe tandis que le calcul utile par appareil reste fixe.
Ajoutez les barrières de synchronisation, les retardataires qui freinent le groupe et un rapport calcul sur communication qui se réduit à mesure que les appareils se multiplient, et l'appareil marginal contribue moins que le premier. Il en résulte une mise à l'échelle sous-linéaire, traduite ici par une efficacité inférieure à un.
Comment améliorer l'efficacité de mise à l'échelle ?
Les leviers habituels consistent à augmenter le calcul effectué entre deux communications — lots par appareil plus grands ou accumulation de gradient — pour amortir le coût fixe de la réduction globale sur davantage de travail, et à employer des interconnexions plus rapides ou des algorithmes collectifs tenant compte de la topologie pour réduire la communication elle-même.
Recouvrir la communication des gradients par la passe arrière et limiter les retardataires par un partage équilibré des données aident également. Une efficacité qui se maintient à mesure que les appareils s'ajoutent est le signe d'une configuration parallèle bien réglée.
Mentions légales
Il s'agit d'un modèle au premier ordre qui résume la perte de mise à l'échelle en une seule fraction d'efficacité fournie par l'utilisateur. Il ne déduit pas cette fraction de la bande passante d'interconnexion, de la taille du modèle ou du lot, et suppose un parallélisme de données pur. Mesurez l'efficacité sur votre propre grappe plutôt que de supposer une valeur fixe.