Gerade hat Liang Wenfeng das Open-Source-Modul "Memory" unter seinem Namen veröffentlicht, und DeepSeek V4 ist noch detaillierter.
Vor nur etwa einem Dutzend Stunden hat DeepSeek eine neue Studie veröffentlicht, mit dem Titel "Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models". Die Studie wurde in Zusammenarbeit mit der Peking-Universität erstellt, und Liang Wenfeng ist ebenfalls als Autor genannt.
Link zur Studie: https://github.com/deepseek-ai/Engram/blob/main/Engram_paper.pdf
Hier ist eine kurze Zusammenfassung der Probleme, die diese neue Studie angeht: Derzeit erreichen große Sprachmodelle die Sparsifizierung hauptsächlich durch die Methode der "Mixture of Experts" (MoE), was als "bedingte Berechnung" bezeichnet wird. Allerdings fehlt den bestehenden Transformer-Architekturen ein nativer Mechanismus zur Wissenssuche. Stattdessen müssen sie die Suchfunktion ineffizient durch den Berechnungsprozess simulieren.
Angesichts dieser Situation schlägt DeepSeek die Idee des "bedingten Gedächtnisses" (conditional memory) vor, um die bedingte Berechnung von MoE zu ergänzen, und implementiert dies durch ein neues Modul namens Engram.
Derzeit wurden die Implementierungen des Moduls "Engram" auf GitHub hochgeladen.
Link zum Projekt: https://github.com/deepseek-ai/Engram
Dies hat die Internetnutzer dazu gebracht zu sagen: "DeepSeek ist zurück!"
Darüber hinaus, in Verbindung mit der Studie "mHC: Manifold-Constrained Hyper-Connections", die während der Neujahrszeit veröffentlicht wurde, wird das Aussehen von DeepSeek v4 immer deutlicher. Wir warten nur noch darauf, dass es auf den Markt kommt!
Außer der bedingten Berechnung (MoE)
benötigen große Sprachmodelle auch ein unabhängiges bedingtes Gedächtnis, das Engram
Das MoE-Modell erweitert die Kapazität des Modells durch bedingte Berechnungen. Allerdings fehlt den bestehenden Transformer-Architekturen ein nativer Primitive für die Wissenssuche. Sie können die Suchfunktion nur ineffizient durch den Berechnungsprozess simulieren.
Um dieses Problem zu lösen, schlägt DeepSeek die Idee des "bedingten Gedächtnisses" (conditional memory) vor, eine neue Dimension der Sparsifizierung, die die bedingte Berechnung ergänzt. Dies wird durch das Engram-Modul implementiert. Das Engram-Modul basiert auf den klassischen 𝑁-gram-Einbettungen und wurde modernisiert, um die Wissenssuche in O(1) Zeit zu ermöglichen.
Indem DeepSeek das Problem der Sparsitätsverteilung formalisiert, hat es eine U-förmige Skalierungsregel entdeckt, die die optimale Balance zwischen neuronaler Berechnung (MoE) und statischem Gedächtnis (Engram) beschreibt.
Unter der Leitung dieser Regel skaliert DeepSeek das Engram-Modul auf 27 Milliarden Parameter. Unter streng gleichen Parametern und FLOPs ist seine Gesamtleistung deutlich besser als die des reinen MoE-Basismodells.
Es ist besonders bemerkenswert, dass obwohl das Gedächtnis-Modul hauptsächlich zur Verbesserung der Wissenssuchfähigkeit eingesetzt wird (z.B. +3,4 in MMLU, +4,0 in CMMLU), DeepSeek festgestellt hat, dass es auch in der allgemeinen Inferenzfähigkeit (z.B. +5,0 in BBH, +3,7 in ARC-Challenge) sowie in Code- und Mathematik-Inferenztasks (z.B. +3,0 in HumanEval, +2,4 in MATH) signifikante Verbesserungen bringt.
Weitere Analysen zeigen, dass das Engram-Modul die Last der statischen Wissensrekonstruktion von den unteren Schichten des Modells abnehmen kann, wodurch die effektive Tiefe des Netzwerks für komplexe Inferenzen effektiv erhöht wird. Darüber hinaus gibt das Engram-Modul die Kapazität des Attention-Mechanismus frei, indem es die lokalen Abhängigkeiten an einen Tabellensuchmechanismus delegiert, so dass er sich stärker auf die globale Kontextmodellierung konzentrieren kann. Dies führt zu einer signifikanten Verbesserung der Fähigkeit zur Suche in langen Kontexten (z.B. die Genauigkeit von Multi-Query NIAH steigt von 84,2 auf 97,0).
Schließlich zeigt das Engram-Modul auch auf Systemebene eine Infrastruktur-aware Effizienz: Seine deterministische Adressierungsmethode ermöglicht die Vorabholung aus dem Hauptspeicher zur Laufzeit, ohne nennenswerten zusätzlichen Performance-Overhead.
DeepSeek ist der Meinung, dass das bedingte Gedächtnis ein unverzichtbares Kernmodellierungsprimitiv in den nächsten Generationen von großen spärlichen Modellen werden wird.
Die Architektur des Engram-Moduls ist wie folgt: Ihr Designziel ist es, die Speicherung von statischen Mustern und den dynamischen Berechnungsprozess strukturell von der Transformer-Hauptarchitektur zu trennen und dadurch zu verbessern. Das Modul führt für jede Position in der Sequenz nacheinander zwei Funktionsphasen aus: Suche und Fusion.
Während des Betriebs extrahiert und komprimiert DeepSeek zunächst das Suffix-N-gram der aktuellen Position und sucht deterministisch die entsprechenden statischen Einbettungsvektoren über einen Hash-Mechanismus. Anschließend werden diese gefundenen Einbettungen dynamisch unter der Modulation des aktuellen verborgenen Zustands angepasst und weiter durch eine leichte Convolution-Operation verfeinert. Schließlich wird das Engram-Modul mit einer multi-branch-Architektur integriert.
Sparsitätssuche basierend auf gehashten 𝑁-grammen
Das Ziel dieser Phase ist es, den lokalen Kontext auf statische Gedächtniseinträge zu mappen. Dieser Prozess umfasst hauptsächlich die Komprimierung des Tokenizers und die Suche nach den entsprechenden Einbettungsdarstellungen über einen deterministischen Hash-Mechanismus.
Komprimierung des Tokenizers: Um die semantische Dichte der Gedächtniseinheiten zu maximieren, führt DeepSeek eine Ebene der Vokabularprojektion ein. Dazu entwarfen sie zuvor eine Abbildungsfunktion
, die die ursprünglichen Token-IDs auf kanonische Bezeichner abbildet, die auf der Grundlage von textuellen Normalisierungsäquivalenzrelationen (z.B. Verwendung von NFKC-Normalisierung, einheitliche Groß-/Kleinschreibung usw.) erhalten werden. In der Praxis kann dieser Prozess die effektive Vokabulargröße eines Tokenizers mit einer Größe von 128k um etwa 23% reduzieren (siehe Anhang C).
Mehrköpfiger Hash: Die direkte Parametrisierung des gesamten Raums aller möglichen N-gram-Kombinationen ist sowohl in Bezug auf die Berechnung als auch auf die Speicherung nicht praktikabel. In Anlehnung an die Arbeit von Tito Svenstrup et al. (2017) verwendet DeepSeek eine hashbasierte Näherungsmethode. Um die Auswirkungen von Hash-Kollisionen zu verringern, werden für jede N-gram-Ordnung n K voneinander unabhängige Hash-Köpfe eingeführt.
Kontextabhängige Gating-Mechanismen
Die Einbettungsvektoren, die in der vorherigen Phase durch die Suche nach gehashten 𝑁-grammen aus dem bedingten Gedächtnis abgerufen wurden, liefern im Wesentlichen eine statische, kontextunabhängige a priori-Information. Aufgrund ihrer statischen Eigenschaft fehlt diesen Einbettungen jedoch die Fähigkeit zur Anpassung an den aktuellen Kontext, und in der Praxis können sie durch Rauschen beeinträchtigt werden, das durch Hash-Kollisionen oder die Polysemie von Begriffen verursacht wird.
Um dies zu beheben, führt DeepSeek nach der Suche einen kontextabhängigen Gating-Mechanismus ein, der an den Attention-Mechanismus angelehnt ist.
Systemeffizienz: Entkopplung von Berechnung und Speicherung
Bei Modellen mit Gedächtnismechanismus wird die Skalierung oft durch die begrenzte Kapazität des Hochgeschwindigkeits-GPU-Speichers (HBM) eingeschränkt. Das deterministische Suchverfahren von Engram unterstützt jedoch die Entkopplung von Parameter-Speicherung und Rechenressourcen. Im Gegensatz zu MoE, das zur dynamischen Routing auf den verborgenen Zustand zur Laufzeit angewiesen ist, wird der Suchindex von Engram vollständig durch die Eingabe-Token-Sequenz bestimmt. Diese Vorhersagbarkeit ermöglicht es, spezielle Optimierungsstrategien für die Trainings- und Inferenzphasen zu entwickeln, wie in Abbildung 2 gezeigt.
Während der Trainingsphase verteilt DeepSeek die Embedding-Tabelle mithilfe eines Standard-Modell-Parallelismus-Schemas auf mehrere GPUs, um eine große Embedding-Tabelle aufzunehmen. Während der Vorwärtsauswertung werden die aktivierten Embedding-Zeilen mithilfe des All-to-All-Kommunikationsprimitives gesammelt. Während der Rückwärtsauswertung werden die entsprechenden Gradienten wieder auf die einzelnen Shards verteilt, so dass die insgesamt verfügbare Gedächtniskapazität linear mit der Anzahl der Acceleratoren skaliert.
Während der Inferenzphase unterstützt diese deterministische Eigenschaft eine Prefetch-and-Overlap-Strategie. Da die zugegriffenen Gedächtnisindizes bereits vor dem Start der Vorwärtsauswertung bekannt sind, kann das System die Embedding-Vektoren asynchron über die PCIe-Schnittstelle aus dem ausreichend großen Host-Speicher vorab laden. Um die Verzögerung aufgrund der Kommunikation zu verbergen, wird das Engram-Modul an einer bestimmten Ebene im Hauptnetzwerk platziert, um die Berechnungen der vorherigen Transformer-Schichten als Puffer zu nutzen und so die GPU-Berechnungen zu vermeiden.
Dies erfordert auch ein Hardware-Algorithmus-Ko-Design: Einerseits kann die Platzierung von Engram tiefer im Netzwerk die Berechnungszeit zur Verdeckung der Kommunikationsverzögerung verlängern. Andererseits ist es für die Modellierung vorteilhaft, frühzeitig einzuschalten, um die Rekonstruktion lokaler Muster abzuwälzen. Daher muss die optimale Einfügeposition von Engram sowohl die Modellierungsleistung als auch die Systemverzögerung berücksichtigen.
Darüber hinaus folgt das Vorkommen von 𝑁-grammen in natürlicher Sprache natürlicherweise einer Zipf-Verteilung, d.h. wenige häufige Muster machen den Großteil der Gedächtniszugriffe aus. Diese statistische Eigenschaft hat die Forscher dazu angeregt, eine mehrstufige Cache-Hierarchie zu entwickeln: Häufig zugegriffene Embeddings werden in einem schnelleren Speichermedium zwischengespeichert (z.B. GPU-HBM oder Host-DRAM), während die zahlreichen seltenen Muster in einem größeren, aber langsameren Speichermedium gespeichert werden (z.B. NVMe-SSD). Diese hierarchische Architektur ermöglicht es Engram, auf eine sehr große Gedächtniskapazität zu skalieren, während der Einfluss auf die effektive Zugriffsverzögerung minimiert wird.
U-förmige Skalierungsregel und Sparsitätsverteilung
Als eine konkrete Implementierung des "bedingten Gedächtnisses" ergänzt Engram strukturell die "bedingte Berechnung", die von den MoE-Experten bereitgestellt wird. Dieser Abschnitt zielt darauf ab, die Skalierungseigenschaften dieser Dualität zu untersuchen und die optimale Verteilung der Sparsitätskapazität zu bestimmen.
Insbesondere werden diese Untersuchung von zwei Kernfragen angetrieben:
Verteilung unter begrenzten Ressourcen: Bei festgelegten Gesamtparametern und Trainingsrechnungen (d.h. gleiche Anzahl von Parametern und gleiche FLOPs) wie sollte die Sparsitätskapazität zwischen den MoE-Experten und den Engram-Embeddings aufgeteilt werden?
Paradigma des unbegrenzten Gedächtnisses: Angesichts der Tatsache, dass Engram einen suchkosten hat, die nicht mit der Größe skaliert
wie verhält sich Engram selbst, wenn das Gedächtnisbudget erhöht oder aggressiv skaliert wird?
Zunächst betrachten wir das optimale Verteilungsverhältnis zwischen MoE und Engram. Bei der Berechnung der Anpassungsformel verwendet DeepSeek drei Parameter, um dieses Gleichgewicht zu analysieren:
P_tot: Die Gesamtzahl der trainierbaren Parameter, ausgenommen die Vokabular-Embeddings und den Sprachmodellkopf.
P_act: Die Anzahl der pro Token