Warum DeepSeek im großen Maßstab schnell und kostengünstig, bei lokaler Bereitstellung jedoch teuer ist
Wenn Sie sich jemals gefragt haben, warum DeepSeek-Modelle für ihre Geschwindigkeit und Kosteneffizienz bei großen Cloud-Bereitstellungen bekannt sind, gleichzeitig aber bei lokaler Nutzung langsam und teuer erscheinen, erwartet Sie eine faszinierende Geschichte über die Batch-Verarbeitung bei der Inferenz von Transformern.
Grundlagen: Durchsatz versus Latenz
Das gesamte Thema beginnt mit einem grundlegenden Zielkonflikt im maschinellen Lernen – der Entscheidung zwischen Durchsatz und Latenz. Der Durchsatz beschreibt die Fähigkeit eines Systems, eine große Anzahl von Anfragen gleichzeitig zu verarbeiten, während die Latenz die Reaktionsgeschwindigkeit bei einer einzelnen Anfrage misst. Dienstanbieter stehen häufig vor einem Dilemma: Sollen sie einen hohen Durchsatz für viele Nutzer mit langsameren individuellen Antworten oder eine niedrige Latenz für schnelle Antworten an einzelne Nutzer bei ineffizienter Auslastung durch viele Nutzer wählen? Modelle wie DeepSeek-V3 sind im kleinen Maßstab hinsichtlich der GPU-Auslastung so ineffizient, dass viele Benutzeranfragen gleichzeitig in Batches verarbeitet werden müssen, um einen angemessenen Durchsatz zu erzielen. Diese Eigenschaft ist kein Zufall – sie ist eine Folge der Transformer-Architektur und der Art und Weise, wie diese Modelle Informationen verarbeiten.
Die Stärke der Batch-Verarbeitung über mehrere Nutzer hinweg
Der Schlüssel zur Effizienz von DeepSeek liegt darin, die Inferenz über mehrere Benutzeranfragen hinweg in Batches durchzuführen, anstatt jede Anfrage einzeln zu verarbeiten. Transformer sind so konzipiert, dass die Generierung einer Vervollständigung für einen Batch von Eingaben nahezu genauso schnell erfolgt wie für eine einzelne Eingabe, sofern der Batch effizient zusammengestellt ist. Was bedeutet das in der Praxis? Stellen Sie sich eine Situation vor, in der Tausende von Nutzern gleichzeitig Anfragen an Ihr Modell senden. Anstatt jede Anfrage isoliert zu verarbeiten, können Sie diese Anfragen zu Batches zusammenfassen und parallel verarbeiten. Die Transformer-Architektur ermöglicht es, Verarbeitungsschritte und weitere Berechnungen gleichzeitig für den gesamten Batch auszuführen, was die Effizienz drastisch erhöht. Eine effiziente Batch-Verarbeitung setzt jedoch voraus, dass die Sequenzen innerhalb eines Batches ähnlich lang sind, damit die Token-Generierung synchronisiert werden kann. Im großen Maßstab, wenn zahlreiche Nutzer Anfragen senden, kann DeepSeek viele davon parallel verarbeiten, die GPU-Auslastung maximieren und die Kosten pro Anfrage minimieren.
Hindernisse und Einschränkungen der Batch-Verarbeitung
Die Batch-Verarbeitung ist jedoch kein Allheilmittel. Sie ist nur dann effizient, wenn sich die verarbeiteten Sequenzen in derselben Phase befinden – beispielsweise wenn sie alle dieselbe Token-Position generieren. Unterschiede zwischen den Sequenzen erfordern separate Attention-Operationen und beeinträchtigen die Effizienz der Batch-Verarbeitung. Moderne Inferenz-Stacks verwenden die „kontinuierliche Batch-Verarbeitung“, bei der neue Anfragen dem Batch hinzugefügt werden, sobald Kapazität frei wird. Der grundlegende Zielkonflikt zwischen Durchsatz und Latenz bleibt jedoch bestehen. Lokal stehen nur selten genügend gleichzeitige Anfragen zur Verfügung, um große, effiziente Batches zu bilden, was zu einer schlechten GPU-Auslastung, langsameren Antworten und höheren Kosten pro Anfrage führt. Für wirklich umfangreiche Anwendungsfälle verteilt die verteilte Batch-Inferenz die Batches auf mehrere GPU-Knoten. Genau auf diese Weise erreichen Cloud-Anbieter mit Modellen wie DeepSeek Skalierbarkeit und Kosteneinsparungen. Wenn Hunderte oder Tausende von GPUs in Clustern zur Verfügung stehen, lassen sich enorme Batches erstellen und eine außergewöhnliche Effizienz erzielen.
Für einen einzelnen Nutzer oder ein kleines Team, das DeepSeek lokal betreibt, sind diese Größenordnungen jedoch nicht erreichbar, sodass diese Effizienzvorteile verloren gehen. Eine einzelne Anfrage oder einige wenige gleichzeitige Anfragen ergeben schlicht keinen ausreichend großen Batch, um die Rechenleistung des Modells effizient zu nutzen.
Die wichtigste Erkenntnis
DeepSeek-Modelle sind architektonisch darauf ausgelegt, durch großvolumige Batch-Inferenz mit hohem Durchsatz Effizienz zu erzielen. Dies ist nur im großen Maßstab möglich, wenn viele Benutzeranfragen zusammengefasst werden können. Der lokale Betrieb von DeepSeek oder seine Nutzung für einzelne Anfragen führt zu kleinen Batch-Größen, schlechter GPU-Auslastung und deutlich höheren Kosten pro Anfrage, wodurch das Modell für nicht skalierte Szenarien unpraktisch wird.
Dieses Phänomen erklärt, warum die Erfahrungen von Nutzern cloudbasierter Dienste mit DeepSeek so stark von denen abweichen, die eine lokale Bereitstellung versuchen. Es handelt sich weder um einen Fehler des Modells noch der Implementierung – vielmehr ist es eine natürliche Folge der grundlegenden Konzeption und Optimierung dieser fortschrittlichen Sprachmodelle.



