Facebooks wachsende Infrastruktur für maschinelles Lernen
Hier bei The Next Platform beobachten wir in der Regel genau, wie die großen Hyperscaler ihre Infrastruktur weiterentwickeln, um enorme Skalierungen und immer komplexere Arbeitslasten zu unterstützen.
Vor nicht allzu langer Zeit bestanden die Kerndienste noch aus relativ standardmäßigen Transaktionen und Vorgängen, aber mit der Hinzufügung von Schulungen und Inferenzen anhand komplexer Deep-Learning-Modelle – etwas, das einen zweihändigen Ansatz bei der Hardware erfordert – musste der Hyperscale-Hardware-Stack seinen Schritt beschleunigen Halten Sie mit den neuen Leistungs- und Effizienzanforderungen des maschinellen Lernens in großem Maßstab Schritt.
Auch wenn Facebook auf der Seite der benutzerdefinierten Hardware nicht ganz so innovativ ist wie Google, hat es einige bemerkenswerte Fortschritte bei der Feinabstimmung seiner eigenen Rechenzentren gemeldet. Von seinem einzigartigen Split-Network-Backbone, dem auf neuronalen Netzwerken basierenden Visualisierungssystem bis hin zu groß angelegten Upgrades seiner Serverfarmen und seiner Arbeit zur Verbesserung der GPU-Nutzung gibt es in Bezug auf die Infrastruktur viel zu beachten. Eine der vorausschauenderen Entwicklungen von Facebook sind für uns die eigenen Serverdesigns, die Ende 2017 mittlerweile über 2 Milliarden Konten bedienen, insbesondere sein neuester, GPU-reicher Open Compute-basierter Ansatz.
Das „Big Basin“-System des Unternehmens, das letztes Jahr auf dem OCP Summit vorgestellt wurde, ist ein Nachfolger der „Big Sur“-Maschine der ersten Generation, die der Social-Media-Riese auf der Konferenz „Neural Information Processing Systems“ im Dezember 2015 vorgestellt hat. Wie wir bei der Veröffentlichung in a festgestellt haben Als wir tief in die Architektur eintauchten, war die Big Sur-Maschine mit acht Tesla M40-Beschleunigern von Nvidia vollgestopft, die in PCI-Express 3.0 x16-Steckplätze passen und über 12 GB GDDR5-Bildpufferspeicher für die Wiedergabe von CUDA-Anwendungen sowie zwei „Haswell“ Xeon verfügen E5-Prozessoren in einem ziemlich hohen Gehäuse. Seitdem wurde das Design erweitert, um die neuesten Nvidia Volta V100-GPUs zu unterstützen.
Facebook behauptet außerdem, dass die neuere V100-Big-Basin-Plattform im Vergleich zu Big Sur viel bessere Leistungssteigerungen pro Watt ermöglicht und von der Gleitkomma-Arithmetik mit einfacher Genauigkeit pro GPU profitiert, die von 7 Teraflops auf 15,7 Teraflops ansteigt, und Speicher mit hoher Bandbreite ( HBM2) bietet eine Bandbreite von 900 GB/s (3,1x von Big Sur).“ Das Ingenieurteam stellt fest, dass mit dieser neuen Architektur auch die halbe Präzision verdoppelt wurde, um den Durchsatz weiter zu verbessern.
„Big Basin kann Modelle trainieren, die um 30 Prozent größer sind, da ein größerer Rechendurchsatz verfügbar ist und der Speicher von 12 GB auf 16 GB erhöht wurde. Das verteilte Training wird auch durch die NVLink-Inter-GPU-Kommunikation mit hoher Bandbreite verbessert“, fügt das Team hinzu .
Facebook sagt, dass die Umstellung auf „Big Basin“ beispielsweise zu einer 300-prozentigen Verbesserung des Durchsatzes gegenüber Big Sur auf ResNet-50 geführt hat und dass sie zwar mit diesen Ergebnissen zufrieden sind, aber immer noch neue Hardwaredesigns und -technologien evaluieren.
Derzeit besteht ihre Infrastruktur für maschinelles Lernen jedoch nur aus Standard-CPUs und -GPUs. Obwohl es angesichts der unterschiedlichen Geschäftsziele keine Überraschung ist, dass sie nicht den Weg von Google eingeschlagen haben, um ihre eigenen benutzerdefinierten ASICs für Deep Learning in großem Maßstab zu entwickeln, kann man mit Sicherheit sagen, dass Facebook vorerst an seinen Nvidia- und Intel-Waffen festhält Andere Hyperscaler wollen mit AMDs Epyc auf der CPU-Seite diversifizieren.
In einer detaillierten Beschreibung, die Facebook gerade über seine aktuelle Hardware-Infrastruktur veröffentlicht hat, erläutert der soziale Riese, wie er acht wichtige Rechen- und Speicher-Rack-Typen unterstützt, die bestimmten Diensten zugeordnet sind.
„Neue Dienste werden in der Regel vorhandenen Rack-Typen zugeordnet, bis sie ein eigenes Rack-Design erfordern“, bemerken Infrastrukturdesigner und verweisen auf das folgende Beispiel des 2U-Gehäuses, das drei Schieber mit zwei verschiedenen Servertypen enthält. Einer verfügt über eine Single-Socket-CPU, die für die Webschicht unterstützt wird, was eine durchsatzorientierte zustandslose Arbeitslast darstellt und effizient auf einer CPU mit geringerem Stromverbrauch wie dem Xeon D mit weniger Speicher und Flash ausgeführt werden kann. Die andere Schlittenoption ist ein größerer Dual-Socket-CPU-Server mit einem leistungsfähigeren Broadwell- oder Skylake-Prozessor und weit mehr DRAM, um rechenintensivere und speicherintensivere Arbeitslasten zu bewältigen.
Über den Einsatz von maschinellem Lernen in etablierten Diensten wie Suche, Newsfeeds und Anzeigenbereitstellung hinaus hat Facebook auch selbst entwickelte Tools wie Sigma implementiert, das allgemeine Klassifizierungs- und Anomalieerkennungs-Framework für viele Backend-Vorgänge, einschließlich Spam- und Betrugserkennung und allgemeine Sicherheit. Die Lumos-Suite ruft Bilder und Inhalte ab, die maschinelle Lernalgorithmen interpretieren und weitergeben, um die Dienste zu verbessern. Darüber hinaus ist die firmeneigene Gesichtserkennungs- und -erkennungs-Engine Facer Teil der größeren Infrastruktur für maschinelles Lernen. Das Unternehmen verfügt außerdem über eigene Sprachübersetzungs- und Spracherkennungstools. Nachfolgend finden Sie eine Darstellung von Facebook sowohl zum Deep-Learning-Framework-Ansatz für jeden dieser Dienste als auch zu den entsprechenden Hardwareumgebungen für Training, Inferenz oder beides.
Facebook erklärt, dass der Hauptanwendungsfall von GPU-Maschinen derzeit das Offline-Training ist und nicht die Bereitstellung von Echtzeitdaten für Benutzer. Dies ist logisch, wenn man bedenkt, dass die meisten GPU-Architekturen auf Durchsatz gegenüber Latenz optimiert sind. Mittlerweile nutzt der Trainingsprozess stark Daten aus großen Produktionsspeichern, daher müssen sich die GPUs aus Leistungs- und Bandbreitengründen in der Nähe der Daten, auf die zugegriffen wird, in der Produktion befinden. Die von jedem Modell genutzten Daten nehmen schnell zu, sodass die Lokalität der Datenquelle (von denen viele regional sind) mit der Zeit immer wichtiger wird.
„Während viele Modelle auf CPUs trainiert werden können, ermöglicht das Training auf GPUs in bestimmten Anwendungsfällen häufig eine deutliche Leistungsverbesserung gegenüber CPUs. Diese Beschleunigungen bieten schnellere Iterationszeiten und die Möglichkeit, mehr Ideen zu erkunden. Daher würde der Verlust von GPUs zu einer … Nettoproduktivitätsverlust für diese Ingenieure.“
„Das Training der Modelle wird viel seltener durchgeführt als die Inferenz – der Zeitrahmen variiert, liegt aber im Allgemeinen in der Größenordnung von Tagen. Das Training dauert auch relativ lange – normalerweise Stunden oder Tage Die Online-Inferenzphase kann zig Billionen Mal pro Tag ausgeführt werden und muss im Allgemeinen in Echtzeit durchgeführt werden. In einigen Fällen, insbesondere bei Empfehlungssystemen, werden zusätzliche Schulungen auch kontinuierlich online durchgeführt.
Das vollständige Papier von Facebook finden Sie hier.
Mit Highlights, Analysen und Geschichten der Woche direkt von uns in Ihren Posteingang, ohne dass etwas dazwischen liegt. Jetzt abonnieren