Empfehlungssysteme, die von sozialen Netzwerken, Werbeplattformen usw. aktiv verwendet werden. Besonderheiten aufweisen. Sie müssen eine hohe Reaktionsfähigkeit aufweisen, aber gleichzeitig sind ihre KI-Modelle ziemlich voluminös, in der Größenordnung von 100 GB oder mehr. Und für ihre effiziente Arbeit benötigen Sie auch einen ziemlich großen Cache. Als Schlussfolgerung wird entweder CPU (viel Speicher, aber relativ niedrige Geschwindigkeit) oder GPU (hohe Geschwindigkeit, aber wenig Speicher) am häufigsten verwendet, aber sie sind für diese Aufgabe nicht sehr effizient.
Gleichzeitig gibt es auch physikalische Einschränkungen seitens der Hyperscaler: Es gibt nicht viele vollwertige PCIe-Steckplätze und freien Speicherplatz im Server + es gibt strenge Einschränkungen bei Stromverbrauch und Kühlung (meist Luft). All dies hat Esperanto berücksichtigt, dessen Spezialisierung die Entwicklung von Chips auf Basis der RISC-V-Architektur ist. Neulich erhielt sie die ersten Muster des KI-Beschleunigers ET-SoC-1, den sie selbst Supercomputer-on-Chip nennt.
Die Neuheit ist für die Inferenz von Empfehlungssystemen gedacht, auch an der Peripherie, wo Effizienz im Vordergrund steht. Das Unternehmen hat sich eine schwierige Aufgabe gestellt - die gesamte Beschleuniger-Palette mit Speicher und Service-Piping soll nicht mehr als 120 Watt verbrauchen. Um dieses Problem zu lösen, mussten viele Tricks angewendet werden. Der allererste und offensichtlichste ist die Schaffung eines relativ kleinen, aber universellen Chips, der mit anderen ähnlichen Chips mit linearem Leistungswachstum kombiniert werden könnte.
Um ein hohes Maß an Parallelität zu erreichen, muss ein solcher Chip auf kleinen, aber energieeffizienten Kernen basieren. Daher fiel die Wahl auf die 64-Bit-RISC-V-Kerne, da diese nicht nur aus ISA-Sicht, sondern auch vom Transistor-Budget her „einfach“ sind. Der ET-SoC-1-Chip kombiniert zwei Arten von RISC-V-Kernen: klassische „große“ Kerne (ET-Maxion) mit Out-of-Order-Execution, er hat nur 4, aber „kleine“ Kerne (ET-Minion) mit Unterstützung für Tensor- und Vektorberechnungen - bis zu 1088.
Den ET-Maxion-Kernen werden allgemeine Aufgaben zugewiesen und es nimmt nicht direkt am KI-Computing teil, ermöglicht jedoch, dass ET-SoC-1 vollständig autonom ist, da Sie Linux direkt darauf ausführen können. Ein weiterer RISC-V-Prozessor für Peripheriegeräte hilft ihm dabei. Aber die ET-Minion-Kernel sind ziemlich einfach: Sie haben keine Ausführung von Befehlen außerhalb der Reihenfolge, aber sie unterstützen SMT2 und eine ganze Reihe neuer Befehle für INT- und FP-Operationen mit Vektoren und Tensoren.
Für jeden Taktzyklus ist der ET-Minion-Kern in der Lage, 128 INT8-Operationen auszuführen, während das INT32-Ergebnis, 16 FP32-Operationen oder 32 - FP16 gespeichert werden. "Lange" Tensor-Operationen können kontinuierlich für 512 Zyklen (bis zu 64 Tausend Operationen) ausgeführt werden, während Integer-Blöcke während dieser Zeit ausgeschaltet werden, um Strom zu sparen. Das Cache-System ist etwas ungewöhnlich aufgebaut. Pro Kern gibt es 4 Speicherbänke, die als L1-Cache für Daten und als schneller Universalspeicher (Scratchpad) genutzt werden können.
Acht ET-Minion-Kerne bilden ein "Viertel" um ihren gemeinsamen Befehls-Cache, da solche Aufgaben wahrscheinlich für alle Kerne die gleichen Befehle haben. Darüber hinaus ist es energieeffizienter als acht einzelne Caches und ermöglicht das Senden und Empfangen von Daten in großen Blöcken, wodurch die Belastung des L2-Cache reduziert wird. Acht „Blöcke“ bilden eine „Nachbarschaft“ mit einem Switch und vier 1-MB-SRAM-Bänken, die als privater L2-Cache, als Teil eines gemeinsam genutzten L3-Cache oder als Scratchpad verwendet werden können.
Über das Mesh-Netzwerk kommunizieren die Microdistricts untereinander und mit anderen Einheiten: ET-Maxion, acht Dual-Channel-Speichercontroller, zwei PCIe 4.0 x8 Root Complexes, Hardware RoT. Insgesamt macht der Chip rund 160 MB SRAM aus. RAM-Controller unterstützen LPDDR4x-4267 ECC-Module (256 Bit, bis zu 137 GB/s). Der Takt des ET-Minion reicht von 500 MHz bis 1,5 GHz, während der ET-Maxion von 500 MHz bis 2 GHz reicht.
Im Rahmen des Glacier Point V2 OCP-Blocks hat das Unternehmen sechs ET-SoC-1s (insgesamt 6558 RISC-V-Kerne) auf einem Board zusammengefasst und diese mit 192 GB Speicher (822 GB/s) ausgestattet – das sind mehr als die NVIDIA A100 (80 GB). Ein solches Bundle entwickelt mehr als 800 Topteile und benötigt nur 120 Watt. Im Durchschnitt sind es 100 - 200 Tops pro Chip bei einem Verbrauch von weniger als 20 Watt. So können Sie ein kompaktes M.2-Modul erstellen oder im Gegenteil das System weiter skalieren. Das Yosemite v2-Chassis bietet Platz für 64 Chips, das Rack verfügt bereits über 384 Chips.
Im MLPerf-Test für Empfehlungssysteme fiel die Leistung des erwähnten Bundles aus sechs Chips pro Watt 123-mal höher aus als die des Intel Xeon Platinum 8380H (250 W) und zwei- bis dreimal höher als die der NVIDIA A10 (150 W) und T4 (70 W). Im ResNet-50-Test "unbequem" für den Chip ist der Unterschied zur CPU und dem Habana Goya-Beschleuniger nicht so groß, bei NVIDIA-Lösungen hingegen deutlicher.
Gleichzeitig haben die Entwickler auch an die Software-Unterstützung gedacht: Esperanto-Chips können mit den weit verbreiteten Frameworks PyTorch, TensorFlow, MXNet und Caffe2 arbeiten sowie vorgefertigte ONNX-Modelle akzeptieren. Es gibt auch ein SDK für C++, sowie Treiber für x86-Hosts.
Prototypen werden bei TSMC in einer 7-nm-Prozesstechnologie hergestellt. Der Kristall mit einer Fläche von 570 mm2 enthält 24 Milliarden Transistoren. Der Chip hat ein BGA2494-Gehäuse mit Abmessungen von 45 × 45 mm2. Die Leistungsaufnahme (und damit die Leistung) ist im Bereich von 10 bis 60+ Watt einstellbar. Bis Ende des Jahres werden Testchips für potenzielle Kunden verfügbar sein. Das Unternehmen ist auch bereit, ET-SoC-1 für andere Workflows und Fabriken anzupassen, aber die Demo auf Basis der OCP-Plattform und der Vergleich mit Cooper Lake ist ein eindeutiger Hinweis an Facebook, dass Esperanto sich freuen wird, es unter den ersten Kunden zu sehen .
2021-08-26 07:49:09
Autor: Vitalii Babkin