Zum Hauptinhalt Zur Navigation

KI: Samsung und SK Hynix rechnen effizient im Speicher

Hot Chips
KI -Modelle bewegen große Datenmengen, das Speicherinterface wird schnell zum Flaschenhals. Recheneinheiten im Speicher sollen die Blockade lösen.
/ Johannes Hiltscher
Kommentare News folgen (öffnet im neuen Fenster)
SK Hynix zeigte einen Die-Shot seines AIM-Speichers. (Bild: SK Hynix)
SK Hynix zeigte einen Die-Shot seines AIM-Speichers. Bild: SK Hynix

Bei den Berechnungen für KI gibt es viel zu optimieren, das haben auch die großen Speicherhersteller erkannt. Vielfach werden große Datenmengen bewegt, mit denen nur kurz gerechnet wird. Auf der Hot Chips stellten Samsung und SK Hynix in zwei Vorträgen ihre Lösungsansätze vor: Die tragen zwar unterschiedliche Namen - Samsung spricht von Processing in Memory (PIM), SK Hynix von Accelerator in Memory (AIM) - Aufbau und Funktion sind aber annähernd gleich.

Sie basieren auf normalen DRAM-Zellen, sind also deutlich praxisnäher als etwa der Phasenwechselspeicher von IBM .

Beide Hersteller ergänzen ihre Speichermodule um Recheneinheiten, die allerdings nur für einzelne Schichten eines KI-Modells gedacht sind. Sie sollen Matrix-Vektor-Multiplikationen (GEMV) beschleunigen, Matrix-Matrix-Multiplikationen (GEMM) hingegen werden weiterhin auf einem Prozessor oder einer GPU ausgeführt.

Speicher rechnet nicht gern

Der Grund, nicht alle Berechnungen in den Speicher zu verlegen, liegt im Fertigungsprozess: Logikgatter, die Grundlage der Recheneinheiten, sind in den Fertigungsprozessen für dynamischen Speicher (DRAM) aufwendig herzustellen. Daher werden sie möglichst einfach gehalten, SK Hynix etwa unterstützt nur zwölf Befehle. Bei GEMV-Operationen wird zudem in Relation zur übertragenen Datenmenge wenig gerechnet.

Der Aufbau der jeweiligen Speicherchips ist zumindest äußerlich gleich: Samsung und SK Hynix nutzen je 16 Speicherbänke, die jeweils mit einer PIM-/AIM-Einheit verbunden sind. Zumindest Samsung überlegt allerdings auch, eine PIM-Einheit für zwei Bänke zu verwenden - um Chipfläche zu sparen.

Die einzelnen Einheiten können dabei parallel arbeiten, haben also die 16-fache Speicherbandbreite zur Verfügung - von außen kann immer nur eine Speicherbank angesprochen werden. Dadurch sollen Berechnungen schneller werden, durch die wegfallende Datenübertragung zudem effizienter. Samsung verspricht eine Steigerung der Energieeffizienz um mehr als den Faktor drei, bei gleichzeitig mehr als verdoppelter Leistung.

Dank Pipelining rechnet der Speicher pausenlos

Beide Speicherhersteller verarbeiten 8-Bit- und 16-Bit-Datentypen (Int8, FP16, BF16) und nutzen einen 32-Bit-Akkumulator, um die Ergebnisse zu speichern. SK Hynix geht genauer auf die Architektur ein: Jede Speicherbank speist einen Multiplizierer, der zweite Koeffizient kommt aus einem 2 kByte großen Puffer. Der kann über einen Befehl geladen werden.

Die Multiplikationsergebnisse werden baumförmig summiert, jede Ebene verfügt über einen eigenen Addierer. So können kontinuierlich Daten verarbeitet werden, die dann in ein Ausgaberegister geschrieben werden. Verarbeitet wird immer eine komplette Speicherzeile von 32 Byte.

Ein weiteres wichtiges Element von KI-Modellen sind Aktivierungsfunktionen, die eine oft nicht lineare Abbildung der aus den Eingangssignalen berechneten Anregung eines künstlichen Neurons ermöglichen. Um sie abzubilden, implementiert SK Hynix Lookup-Tabellen (LUTs), die quasi beliebige Funktionen abbilden können. Die Funktion wird in Form von Stützpunkten abgelegt, zwischen denen linear interpoliert wird.

Allerdings stehen Samsung und SK Hynix noch vor einer praktischen Herausforderung: Für die aktuell größten Modelle sind die einzelnen Speichermodule noch viel zu klein.

Herausforderung: genug Speicher

Ein Hauptunterschied zwischen den beiden Konzepten ist die zugrundeliegende Speichertechnologie: Während SK Hynix GDDR6 nutzt, geht Samsung mit HBM in die Vollen. Beide Technologien bieten zwar eine hohe Bandbreite, sind aufgrund geringerer Speicherdichte aber relativ teuer - und beschränken die Anzahl nutzbarer Modellparameter. Bei HBM kommen zusätzlich die teuren Silizium-Interposer als Kostenfaktor hinzu.

Daher wollen beide Hersteller auf LPDDR5 umsteigen. Langfristig sehen sie den rechnenden Speicher nämlich nicht nur als Serverprodukt, sondern in normalen Consumer-Produkten. Er könnte regulären Speicher ersetzen, die Rechenfunktionen können optional genutzt werden.

Bislang existieren aber nur Prototypen: SK Hynix hat eigene PCIe-Karten mit FPGA (Field Programmable Gate Array) als Schnittstelle entworfen. Die verfügen jeweils über 16 GByte RAM in 16 AIM-Modulen mit je zwei im alten 1y-Prozess gefertigten 4-GBit-Dies. Samsung hingegen hat 96 MI100 von AMD mit jeweils 24 GByte Speicher in vier rechnenden HBM-Modulen ausgestattet . Für aktuelle KI-Modelle ist das bereits viel zu wenig - LPDDR5 soll, zumindest im Rechenzentrum, auch für höhere Kapazitäten sorgen.

Große Modelle brauchen viele Speicherkarten

Einen Einblick, was mit der aktuellen Technik möglich ist, gibt SK Hynix: Auf einer AIM-Karte lässt sich GPT-3 mit 6,7 Milliarden Parametern unterbringen. Verglichen mit einer Nvidia A100 soll der Prototyp beim Inferencing rund viermal so viele Token pro Sekunde generieren. Komplexere Modelle lassen sich durch die Nutzung mehrerer Karten abbilden, hier liegen allerdings noch keine Leistungsdaten vor.

Samsung will zudem Rechenfunktionen in CXL-Module (für Compute Express Link) integrieren, hier gibt es bislang allerdings nur ein Konzept. Hier könnten die Rechenfunktionen statt in die Speichermodule in den CXL-Controller integriert werden. Aus PIM wird dann PNM - Processing Near Memory.

Da CXL PCIe als Transportmedium nutzt, ist die Bandbreite geringer als bei direkt angebundenem Speicher. Daher könnte bereits die einfache Variante mit gewöhnlichen DRAM-Chips ausreichend schnell sein, PIM-Chips könnten durch die geringere Bandbreite eingeschränkt werden.

Bitte installieren Sie den Speichertreiber

Was früher ein Scherz war, wird mit PIM/AIM Realität: Der Speicher benötigt einen Treiber, damit die Beschleuniger genutzt werden können. Samsung und SK Hynix verfügen bereits über Software-Stacks, mit denen der rechnende Speicher genutzt werden kann - dank Anbindung an Pytorch und Tensorflow sowie eine Integration in Sycl soll das für Programmierer einfach sein. Langfristig will Samsung einen offenen Standard namens OneMCC (MCC steht für Memory-Coupled Computing) etablieren.


Relevante Themen