L'infrastructure d'apprentissage automatique en expansion de Facebook
Chez The Next Platform, nous avons tendance à surveiller de près la façon dont les principaux hyperscalers font évoluer leur infrastructure pour prendre en charge des charges de travail à grande échelle et toujours plus complexes.
Il n'y a pas si longtemps, les services de base étaient des transactions et des opérations relativement standard, mais avec l'ajout de la formation et de l'inférence par rapport à des modèles complexes d'apprentissage en profondeur, ce qui nécessite une approche à deux mains du matériel, la pile matérielle hyperscale a dû accélérer son rythme pour suivre le rythme des nouvelles exigences de performance et d'efficacité de l'apprentissage automatique à grande échelle.
Bien qu'il n'innove pas du côté du matériel personnalisé de la même manière que Google, Facebook a partagé des progrès notables dans la mise au point de ses propres centres de données. De son épine dorsale de réseau divisé unique, son système de visualisation basé sur un réseau de neurones, aux mises à niveau à grande échelle de ses fermes de serveurs et son travail de perfectionnement de l'utilisation du GPU, il y a beaucoup à se concentrer sur l'infrastructure. Pour nous, l'un des développements les plus prémonitoires de Facebook est ses propres conceptions de serveurs qui desservent désormais plus de 2 milliards de comptes à la fin de 2017, en particulier sa dernière approche basée sur Open Compute avec GPU.
Le système "Big Basin" de la société dévoilé au sommet OCP l'année dernière est le successeur de la machine "Big Sur" de première génération que le géant des médias sociaux a dévoilée lors de la conférence Neural Information Processing Systems en décembre 2015. pour les applications CUDA, et deux processeurs "Haswell" Xeon E5 dans un châssis assez haut. Depuis lors, la conception a été étendue pour prendre en charge les derniers GPU Nvidia Volta V100.
Facebook affirme également que par rapport à Big Sur, la nouvelle plate-forme V100 Big Basin permet de bien meilleurs gains de performances par watt, bénéficiant d'une arithmétique à virgule flottante simple précision par GPU "passant de 7 téraflops à 15,7 téraflops, et d'une mémoire à bande passante élevée (HBM2) fournissant une bande passante de 900 Go/s (3,1x de Big Sur)." L'équipe d'ingénierie note que la demi-précision a également été doublée avec cette nouvelle architecture pour améliorer encore le débit.
"Big Basin peut entraîner des modèles 30 % plus grands en raison de la disponibilité d'un débit arithmétique supérieur et d'une augmentation de la mémoire de 12 Go à 16 Go. L'entraînement distribué est également amélioré grâce à la communication inter-GPU NVLink à large bande passante", ajoute l'équipe.
Facebook affirme que le passage à "Big Basin" a conduit à une amélioration de 300% du débit par rapport à Big Sur sur ResNet-50 par exemple et que bien qu'ils soient satisfaits de ces résultats, ils évaluent toujours de nouvelles conceptions et technologies matérielles.
Pour l'instant, cependant, leur infrastructure d'apprentissage automatique est composée uniquement de CPU et de GPU standard. Bien qu'il ne soit pas surprenant qu'ils n'aient pas emprunté la voie de Google pour créer leurs propres ASIC personnalisés pour un apprentissage en profondeur à grande échelle compte tenu des différences d'objectifs commerciaux, il est prudent de dire que Facebook s'en tient à ses pistolets Nvidia et Intel pour le moment alors que d'autres hyperscalers cherchent à se diversifier sur le front du processeur avec Epyc d'AMD.
Dans une description détaillée que Facebook vient de publier de son infrastructure matérielle actuelle, le géant social explique comment il prend en charge huit principaux types de racks de calcul et de stockage qui correspondent à des services spécifiques.
"Les nouveaux services ont tendance à être mappés sur les types de rack existants jusqu'à ce qu'ils atteignent le niveau de garantie de leur propre conception de rack", notent les concepteurs d'infrastructure, citant l'exemple ci-dessous du châssis 2U qui contient trois diapositives avec deux types de serveurs différents. L'un a un processeur à socket unique pris en charge pour le niveau Web, qui est une charge de travail sans état orientée débit et peut fonctionner efficacement sur un processeur à faible puissance comme le Xeon D avec moins de mémoire et de flash. L'autre option de traîneau est un serveur CPU à double socket plus grand avec un processeur Broadwell ou Skylake plus puissant et beaucoup plus de DRAM pour faire face à des charges de travail plus gourmandes en calcul et en mémoire.
Au-delà de l'utilisation de l'apprentissage automatique dans des services établis tels que la recherche, les flux d'actualités et la diffusion de publicités, Facebook a également mis en œuvre des outils locaux tels que Sigma, le cadre général de classification et de détection des anomalies pour de nombreuses opérations principales, notamment la détection des spams et des fraudes et la sécurité globale. La suite Lumos extrait l'image et le contenu que les algorithmes d'apprentissage automatique interprètent et transmettent pour améliorer les services. De plus, le moteur de détection et de reconnaissance faciale de l'entreprise, Facer, fait partie de sa plus grande infrastructure d'apprentissage automatique. La société dispose également de ses propres outils de traduction et de reconnaissance vocale. Vous trouverez ci-dessous la comptabilité de Facebook à la fois de l'approche du cadre d'apprentissage en profondeur pour chacun de ces services et des environnements matériels correspondants pour la formation, l'inférence ou les deux.
Facebook explique qu'actuellement, le principal cas d'utilisation des machines GPU est la formation hors ligne, plutôt que de fournir des données en temps réel aux utilisateurs. Cela découle logiquement étant donné que la plupart des architectures GPU sont optimisées pour le débit par rapport à la latence. Pendant ce temps, le processus de formation exploite fortement les données des grands magasins de production. Par conséquent, pour des raisons de performances et de bande passante, les GPU doivent être en production à proximité des données consultées. Les données exploitées par chaque modèle augmentent rapidement, de sorte que cette localité de la source de données (dont beaucoup sont régionales) devient plus importante au fil du temps.
"Alors que de nombreux modèles peuvent être formés sur des CPU, la formation sur des GPU permet souvent une amélioration notable des performances par rapport aux CPU pour certains cas d'utilisation. Ces accélérations offrent des temps d'itération plus rapides et la possibilité d'explorer plus d'idées. Par conséquent, la perte de GPU entraînerait une perte nette de productivité pour ces ingénieurs."
"L'entraînement des modèles est beaucoup moins fréquent que l'inférence - l'échelle de temps varie, mais elle est généralement de l'ordre de quelques jours. L'entraînement prend également un temps relativement long - généralement des heures ou des jours. Parallèlement, selon le produit, la phase d'inférence en ligne peut être exécutée des dizaines de milliers de milliards de fois par jour et doit généralement être effectuée en temps réel. Dans certains cas, en particulier pour les systèmes de recommandation, une formation supplémentaire est également effectuée en ligne de manière continue".
Le document complet de Facebook peut être consulté ici.
Avec les faits saillants, les analyses et les histoires de la semaine directement de nous dans votre boîte de réception, sans rien entre les deux.Inscrivez-vous maintenant