StartseiteArtikel

DeepSeek hat die nächste Generation ihrer Technologie vorgestellt, und die Praktikanten der Peking-Universität haben sich verdient gemacht.

智东西2026-02-27 17:08
Dieses Schema hat im Wesentlichen die I/O-Kosten des KV-Caches beseitigt.

DeepSeek hat wieder eine neue Methode gefunden, um die Schlussfolgerungsengpässe von großen Modellen zu überwinden!

Nach einer Meldung von Zhidx am 27. Februar hat DeepSeek gestern ein neues Schlussfolgerungssystem namens DualPath vorgestellt, das direkt auf die Schwächen von großen Sprachmodellen in Anwendungsfällen von Agenten abzielt - den I/O-Engpass der KV-Cache-Speicherung. Durch die Einführung eines Dual-Pfad-Lade-Mechanismus verbessert dieses System die Systemdurchsatzleistung erheblich und eliminiert im Wesentlichen die I/O-Kosten des KV-Caches.

Das Kerninnovation von DualPath liegt in der Schaffung eines neuen Kanals, der direkt vom Speicher zum Decodierungs-Engine führt. Der KV-Cache wird nicht nur vom Vorabfüll-Engine geladen, sondern kann auch in den Decodierungs-Engine geladen werden und dann über RDMA im Rechennetzwerk effizient an das Vorabfüllende übertragen werden. Diese Konstruktion lindert nicht nur den Druck auf der Speicherseite, sondern vermeidet auch Netzwerkstaus und stellt sicher, dass auf Latenzzeiten empfindliche Aufgaben nicht gestört werden.

In Zusammenarbeit mit dem globalen Scheduler erreicht DualPath eine dynamische Balance der Lasten an beiden Enden und verbessert die Ressourcennutzung weiter. In Tests mit realen Agenten-Workloads erhöhte DualPath den Offline-Schlussfolgerungsdurchsatz um bis zu 1,87 Mal und den Online-Servicedurchsatz im Durchschnitt um 1,96 Mal.

In Bezug auf die Skalierbarkeit auf großen Skalen wurde das DualPath-System auf bis zu 1.152 GPUs getestet. Die Offline-Schlussfolgerung hat sich von 2P4D (2K Agenten) auf 48P96D (48K Agenten) nahezu linear erweitert, und die Aufgabenabschließzeit blieb im Wesentlichen gleich.

Es ist erwähnenswert, dass, ähnlich wie bei vielen anderen Forschungsarbeiten von DeepSeek, der erste Autor dieser Arbeit, Wu Yongtong, ebenfalls ein Praktikant bei DeepSeek ist. Wu Yongtong studiert derzeit für einen Doktorgrad an der Peking-Universität und arbeitet unter der Leitung von Professor Jin Xin. Er beschäftigt sich hauptsächlich mit Themen rund um die Infrastruktur von großen Modellen und hat seit August 2025 im DeepSeek-Systemteam gearbeitet. Er hat auch an der Forschung von DeepSeek-V3.2 teilgenommen.

01 Der I/O-Engpass von Agenten wird deutlich, und die traditionelle Konstruktion ist kostspielig

Mit der Verbreitung von Agenten-Anwendungen ist die mehrfache Schlussfolgerung zur Norm geworden. Agenten interagieren über Werkzeuge mit der externen Umgebung in Dutzenden oder sogar Hunderten von Runden, und der Kontext akkumuliert über die Runden hinweg auf eine extrem lange Länge. Aufgrund der Eigenschaften der mehrfachen und kurzen Anhänge beträgt die Trefferquote des KV-Caches über 95%, und die Ladeeffizienz hat die Berechnung als dominierender Faktor für die Leistung ersetzt.

Aktuelle Systeme verwenden eine hierarchische Vorabfüllung, eine Trennung von Vorabfüllung und Decodierung (PD-Trennung) und eine externe KV-Cache-Speicherarchitektur. Das Problem besteht jedoch darin, dass die Bandbreite der Speichernetzwerkkarten des Vorabfüll-Engines ständig gesättigt ist, während die Bandbreite der Speichernetzwerkkarten des Decodierungs-Engines weitgehend ungenutzt bleibt. Diese Ungleichgewichtung zeigt eine grundlegende Ineffizienz auf - die ungleiche Nutzung der Bandbreite des Speichernetzes, und die bloße Erhöhung der Bandbreite am Vorabfüllende ist kostspielig.

▲ Bestehende Engpässe (links) und DualPath (rechts)

DualPath wurde genau entwickelt, um die oben genannten Probleme zu lösen. Der Kernansatz besteht darin, die traditionelle Konstruktion zu brechen, dass die KV-Cache-Ladung immer um die Vorabfüllung herum erfolgen muss.

Aktuelle Systeme laden nur über einen einzigen Pfad vom Speicher zum Vorabfüll-Engine, was dazu führt, dass die Bandbreite am Vorabfüllende gesättigt ist, während die Bandbreite am Decodierungsende ungenutzt bleibt. DualPath fügt einen zusätzlichen Pfad vom Speicher zum Decodierungs-Engine hinzu, lädt den KV-Cache zunächst in den freien Decodierungs-Engine und überträgt ihn dann effizient über RDMA an den Vorabfüll-Engine.

Dieses Modell aggregiert die Bandbreite aller Speichernetzwerkkarten, verteilt die Netzwerklast neu und lindert im Grunde den I/O-Engpass am Vorabfüllende.

Diese Konstruktion steht jedoch immer noch vor zwei großen Herausforderungen: Erstens kann die Einführung eines zusätzlichen Lade-Pfads komplexe Verkehrsmuster erzeugen und möglicherweise mit den kollektiven Kommunikationsprimitiven bei der Modellausführung interferieren. Wenn nicht richtig verwaltet, kann dies die Gesamtleistung verringern.

Zweitens muss das System online entscheiden, welchen Lade-Pfad es unter dynamischen und heterogenen Workloads verwenden soll, und gleichzeitig die Lasten zwischen GPU und Netzwerkkarte ausbalancieren.

02 Drei Kernkomponenten bilden DualPath, und die neuen Komponenten bringen keine neuen Engpässe

Wie hat DeepSeek diese Herausforderungen gelöst? DualPath verwendet zwei weit verbreitete Technologien:

(1) PD-Trennung, um die Effizienz zu erhöhen, indem die Prompt-Wörter und die Decodierungsverarbeitung getrennt werden.

(1) Hierarchische Vorabfüllung, um den HBM-Engpass am Vorabfüll-Engine zu vermeiden und die GPU-Nutzung zu verbessern.

DualPath besteht hauptsächlich aus drei Kernkomponenten. Der Schlussfolgerungs-Engine ist die grundlegende Ausführungseinheit. Jeder Engine verwaltet eine GPU und ist eindeutig in einen Vorabfüll-Engine, der sich auf die Vorabfüllberechnung spezialisiert, und einen Decodierungs-Engine, der für die Decodierungsgenerierung zuständig ist, unterteilt.

Der Traffic-Manager ist in jedem Engine integriert und koordiniert alle Datenbewegungen: einschließlich des Speicherkopierens zwischen Host und Gerät, der KV-Cache-Übertragung zwischen Vorabfüll- und Decodierungs-Engine sowie des dauerhaften Lesens und Schreibens des KV-Caches über die Speichernetzwerkkarte. Er verwendet eine auf der Rechennetzwerkkarte basierende Traffic-Management-Strategie, um sicherzustellen, dass der KV-Cache-Traffic die auf Latenzzeiten empfindliche kollektive Kommunikation des Modells nicht stört.

Der Anforderungs-Scheduler fungiert als zentrales Entscheidungsglied. Er empfängt die Client-Anforderungen und verteilt sie intelligent an die einzelnen Engines. Gleichzeitig entscheidet er dynamisch, ob jede Anforderung den traditionellen Pfad vom Speicher zum Vorabfüll-Engine oder den neuen Pfad vom Speicher zum Decodierungs-Engine verwenden soll, um die Traffic-Balance zwischen den beiden Pfaden und die globale Lastoptimierung zu erreichen.

Bei der konkreten Implementierung reserviert DualPath auf jedem Vorabfüll- und Decodierungs-Engine ein kleines Stück DRAM als Puffer. Bei der Lese-Pfad am Vorabfüllende wird der KV-Cache der getroffenen Token zuerst aus dem Speicher in den Puffer des Vorabfüll-Engines gelesen und dann schichtweise in den HBM des Vorabfüll-Engines übertragen, wobei der Berechnungsprozess der nicht-getroffenen Token überlappt wird. Anschließend wird der vollständige Prompt-KV an den Puffer des Decodierungs-Engines übertragen, um für die Decodierungsstufe verwendet zu werden.

Bei der Lese-Pfad am Decodierungsende wird der getroffene KV zuerst in den Puffer des Decodierungs-Engines geladen und während der Vorabfüllung des Vorabfüll-Engines schichtweise über RDMA gelesen, wobei die Berechnung überlappt wird. Nachdem die Berechnung des nicht-getroffenen KV abgeschlossen ist, wird er an den Decodierungs-Engine zurückübertragen und mit dem getroffenen KV zusammengeführt, um einen vollständigen Prompt-Cache zu bilden.

Unabhängig von dem Pfad wird die Datenübertragung in einer hierarchischen, schichtweisen Weise durchgeführt, um den Druck auf die HBM-Kapazität zu lindern und die Überlappung von Berechnung und Kommunikation zu erreichen. Vor Beginn der Decodierungsstufe überträgt der Decodierungs-Engine den vollständigen KV aus dem Puffer in den HBM und gibt nach der Kopie vom Host zum Gerät den CPU-Speicher frei. Während der Generierung wird jedes Mal, wenn ein Token-Block einer festen Größe akkumuliert ist, er sofort dauerhaft in den Speicher geschrieben.

Um zu überprüfen, ob diese Architektur keine neuen Engpässe bringt, wurde in der Arbeit eine systematische Analyse der Bandbreite der Rechennetzwerkkarte und der DRAM-Bandbreite durchgeführt. Indem ein Traffic-Modell zwischen jedem Paar von Vorabfüll- und Decodierungs-Engine erstellt wurde und unter der Annahme einer Lastbalance und eines ungestörten Netzwerks, haben die Autoren abgeleitet, dass in einem bestimmten Bereich von P/D (Verhältnis der Anzahl der Vorabfüllknoten zu den Decodierungsknoten) die Rechennetzwerkkarte, die PCIe und der DRAM keine Engpässe darstellen werden.

Bei einer typischen Konfiguration (z. B. 8 GPUs pro Knoten, Speicherbandbreite viel kleiner als Rechenbandbreite) deckt der gültige P/D-Bereich die meisten praktischen Einsatzverhältnisse ab. Dies zeigt, dass das System alle Bandbreiten der Speichernetzwerkkarten voll nutzen kann und gleichzeitig die stabile Ausführung der Rechen- und Speicherressourcen gewährleisten kann.

03 Die Implementierung des Systems in der realen Welt steht noch vor drei Herausforderungen, und es wird ein auf der Rechennetzwerkkarte basierendes Traffic-Management verwendet

Dennoch stehen bei der Implementierung der Dual-Pfad-Architektur in einem realen System noch drei Kernherausforderungen entgegen. Erstens ist die feingranulare Datenübertragung. Die hierarchische Ausführung lindert den Druck auf die HBM-Kapazität, teilt aber auch den KV in eine große Anzahl kleiner Blöcke auf. Diese müssen effizient zwischen Speicher, Host-DRAM und GPU-HBM transportiert werden, während die Software- und Hardwarekosten kontrolliert werden.

Zweitens ist die Traffic-Isolierung. Die zusätzliche KV-Übertragung kann die auf Latenzzeiten empfindliche kollektive Kommunikation bei der Modellausführung (z. B. AllToAll, ReduceScatter/AllGather) stören. Ohne eine Isolierungsmechanismus würde dies direkt die End-to-End-Schlussfolgerungslatenz erhöhen.

Drittens ist die dynamische Lastbalance. Da das System zwei Lese-Pfade hat, muss der Scheduler in Kombination mit der Länge der Diskwarteschlange, der GPU-Last und den Anforderungseigenschaften dynamisch entscheiden. Andernfalls kann es leicht wieder zu lokalen Engpässen kommen.

Um zu vermeiden, dass die KV-Übertragung die Modellkommunikation stört, verwendet das System ein auf der Rechennetzwerkkarte basierendes Traffic-Management-Mechanismus. Der gesamte Traffic, der in die GPU hinein- oder aus ihr herausgeht, einschließlich der H2D/D2H-Kopien, wird einheitlich über die mit der GPU gepaarte Rechennetzwerkkarte geleitet und über GPUDirectRDMA übertragen. Dadurch werden alle Datenströme in das Rechennetzwerk zusammengeführt, und die Hardware-QoS-Fähigkeiten können zur Prioritätsisolierung genutzt werden.

Bei der Implementierung auf Basis von InfiniBand wird die Modellschlussfolgerungskommunikation auf einen virtuellen Kanal mit hoher Priorität abgebildet, und die KV-Übertragung wird auf einen Kanal mit niedriger Priorität abgebildet. Durch die gewichtete Round-Robin-Methode wird die Bandbreite der ersteren gesichert. Auf diese Weise wird die auf Latenzzeiten empfindliche Kommunikation geschützt, und der KV-Traffic kann die freie Bandbreite nutzen. Experimente haben auch gezeigt, dass es in der Situation mit vielen kleinen Blöcken besser für die feingranulare Übertragung geeignet ist.

Auf der Scheduler-Ebene verwendet das System einen zweistufigen adaptiven Mechanismus. Der Scheduler zwischen den Engines wählt für die Anforderungen ein Paar von Vorabfüll- und Decodierungs-Engine aus und bestimmt den Lese-Pfad. Die Lastbalance wird durch die Anzahl der Token und die Länge der Diskwarteschlange erreicht. Der Scheduler des Decodierungs-Engines besteht aus zwei Phasen: zwischen den Gruppen und innerhalb der Gruppe. Dabei wird die Gesamtzahl der Token ausgeglichen, und die HBM-Kapazitätsbeschränkung wird berücksichtigt, um eine Überlastung der Ressourcen zu vermeiden.

Der Scheduler innerhalb des Engines wirkt hauptsächlich auf den Vorabfüll-Engine. Durch die Schätzung der Rechenmenge der Attention-Schicht wird ein "Rechenkontingent" festgelegt. Die Anforderungen werden in der Reihenfolge des Eintreffens gruppiert, und wenn nötig, werden die Anforderungen in Blöcke aufgeteilt, um die Rechenzeit jeder GPU annähernd gleich zu machen und die Synchronisationswartezeit zu reduzieren.

Insgesamt aggregiert die Dual-Pfad-Ladung die Speicherbandbreite. Die theoretische Analyse garantiert, dass das System keine neuen Engpässe hat. Das auf der Rechennetzwerkkarte basierende Design ermöglicht eine strenge Traffic-Isolierung, und der adaptive Scheduler hält die Lastbalance und die niedrige Latenz aufrecht. Gemeinsam bilden sie eine Schlussfolgerungsarchitektur mit hohem Durchsatz und Skalierbarkeit.

04 Experimente zeigen, dass die I/O-Kosten des KV-Caches im Wesentlichen eliminiert sind, und es wird eine lineare Skalierung auf einem Cluster mit Tausenden von Karten erreicht

Um die Leistungssteigerung durch DualPath zu verifizieren, hat DeepSeek Experimente auf einem Cluster von GPU-Servern durchgeführt, die über InfiniBand verbunden sind. Die Leistung von drei Modellen wurde bewertet: DeepSeek V3.2 660B (als DS 660B bezeichnet), eine 27B-Version von DS 660B (als DS 27B bezeichnet) und Qwen2.5-32B (als Qwen 32B bezeichnet) als Repräsentant eines dichten Modells.

Die Experimentergebnisse zeigen, dass DualPath bei größeren Batch-Größen und längeren maximalen effektiven Kontextlängen noch größere Vorteile bringt. Bei DS 660B hat DualPath im Vergleich zum internen Basisschlussfolgerungsframework von DeepSeek eine Beschleunigung um bis zu 1,87 Mal erreicht, und die Leistung nähert sich der theoretischen Leistungsobergrenze bei der Annahme von null I/O-Kosten an. Dies zeigt, dass die I/O-Kosten des KV-Caches im Wesent