Artikelbild für den Artikel: Warum DeepSeek im großen Maßstab günstig, aber lokal teuer ist

Warum DeepSeek im großen Maßstab günstig, aber lokal teuer ist

In der Welt der Künstlichen Intelligenz gibt es viele Modelle, die sich durch ihre Effizienz und Leistungsfähigkeit auszeichnen. DeepSeek ist eines dieser Modelle, das als Mixture-of-Experts konzipiert wurde. Doch warum ist DeepSeek-V3 angeblich schnell und kostengünstig im großen Maßstab, aber zu langsam und teuer für den lokalen Betrieb? In diesem Artikel werden wir die zugrunde liegenden Mechanismen und Herausforderungen untersuchen, die diese Diskrepanz erklären.

Der grundlegende Trade-off zwischen Durchsatz und Latenz

AI-Inferenzanbieter sprechen oft von einem fundamentalen Trade-off zwischen Durchsatz und Latenz. Für jedes Modell kann man entweder eine hohe Durchsatzrate bei hoher Latenz oder eine niedrige Durchsatzrate bei niedriger Latenz erreichen. Tatsächlich sind einige Modelle so GPU-ineffizient, dass sie in der Praxis bei hoher Latenz betrieben werden müssen, um überhaupt einen brauchbaren Durchsatz zu erzielen – wie zum Beispiel DeepSeek-V3.

Was ist Batch-Inferenz?

GPUs sind besonders gut darin, große Matrixmultiplikationen (GEMMs, oder „general matrix multiplications“) durchzuführen. Wenn Sie beispielsweise ein einzelnes Token durch ein Modell leiten möchten, drücken Sie dies als Vektor aus, der der Dimension des Modells entspricht. Das ist eine GEMM. Wenn Sie jedoch zehn Tokens in einem Batch verarbeiten möchten, bleibt es bei einer einzigen GEMM, da Sie die Tokens in eine Matrix stapeln können. Dies ist deutlich schneller, als viele kleinere GEMMs durchzuführen.

Die Rolle der Batch-Größe

Ein Inferenzserver hat typischerweise ein „Sammlungsfenster“, in dem Benutzeranfragen eingehen und in eine Warteschlange gestellt werden. Chat-Server zielen oft auf eine Latenz von 5-10 ms ab, während sehr hoch-batchfähige Backends bis zu 200 ms warten können. Wenn eine neue Anfrage zu Beginn des Fensters eingeht, kann sie die gesamte Dauer des Fensters warten, bevor sie verarbeitet wird. Wenn das Fenster schließt, werden alle wartenden Anfragen gebündelt und durch die Pipeline geschickt.

Warum Mixture-of-Experts höhere Batch-Größen erfordert

Ein Mixture-of-Experts-Modell, wie DeepSeek-V3, benötigt hohe Batch-Größen, um effizient zu arbeiten. Diese Modelle haben viele „Experten“, separate Blöcke von Feed-Forward-Gewichten, aus denen eine Routing-Schicht eine Teilmenge auswählt, die für jedes Token verwendet wird. Wenn Sie jedoch viele Experten haben, sind Sie gezwungen, viele kleine Multiplikationen durchzuführen, was zu einem niedrigen Durchsatz führt, es sei denn, Sie führen Ihre Inferenz in Batches durch.

Die Herausforderungen großer Pipelines

Bei großen Modellen ist es eine Herausforderung, die GPUs aktiv zu halten. Diese Modelle haben typischerweise viele Transformator-Schichten, und die einzige Möglichkeit, eine schnelle Inferenz zu gewährleisten, besteht darin, diese Schichten zu pipelinen. Wenn Sie nicht genügend Tokens in einem „Mikro-Batch“ haben, um alle Schichten zu füllen, entstehen „Pipeline-Bubbles“, die die Effizienz erheblich beeinträchtigen können.

Zusammenfassung der Herausforderungen

  • GPUs sind am effizientesten bei großen GEMMs, daher führt das Stapeln vieler Tokens in eine einzige Matrixmultiplikation zu einem höheren Durchsatz.
  • Während der Dekodierung kann die Aufmerksamkeit nur für Tokens im selben Schritt gebündelt werden, was die Scheduler zwingt, in kurzen „Ticks“ zu arbeiten.
  • Größere Batches erhöhen die Latenz, da Benutzer-Tokens möglicherweise bis zu 200 ms warten müssen, bevor das Batch groß genug ist, um ausgeführt zu werden.
  • Modelle mit vielen Schichten benötigen größere Batches, um Pipeline-Bubbles zu vermeiden.
  • Mixture-of-Experts-Modelle müssen mit hoher Latenz betrieben werden, um effizient zu sein.

Die Tatsache, dass Modelle wie die von OpenAI und Anthropic schnell reagieren, deutet darauf hin, dass entweder ihre Modelle eine effizientere Architektur haben oder sie cleverere Tricks zur Bereitstellung von Inferenz verwenden.

Quellenliste:

Dieser Artikel wurde mithilfe von KI verfasst und basiert auf automatisch gesammelten Informationen.
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar