BlogInfrastruktur
GPU-Kapazität für ein Modell planen, das Ihr Team selbst betreibt
Sie brauchen genug Repliken, um die Spitzenlast bei Ihrem Latenzziel zu tragen, auch wenn eine Replika ausfällt, und in verkehrsarmen Stunden nicht mehr als nötig. Entscheidend ist, wie viele Anfragen pro Sekunde eine Replika mit Ihren eigenen Prompts bewältigt, während Zeit bis zum ersten Token und Generierungsgeschwindigkeit im Ziel bleiben. Messen Sie das, teilen Sie Ihre Spitzenlast dadurch, rechnen Sie Reserve hinzu und entscheiden Sie dann, was außerhalb der Spitzen geschieht. GPUs stehen still, wenn eine Flotte, die für den Montagmorgen bemessen ist, unverändert bis Sonntagnacht läuft.
Was eine einzelne Replika begrenzt
Der GPU-Speicher hält die Modellgewichte und den KV-Cache, der mit der Kontextlänge und der Zahl gleichzeitig laufender Sequenzen wächst. Sind die Gewichte geladen, bestimmt der KV-Cache, wie viele Anfragen eine Replika bündeln kann, und die Bündelung bestimmt den Durchsatz. Das PagedAttention-Paper hinter vLLM zeigte, dass verschwendeter KV-Cache-Speicher die Batchgrößen begrenzt hatte und dass eine seitenweise Verwaltung den Durchsatz bei gleicher Latenz erhöhte.
In vLLM bestimmt gpu_memory_utilization, wie viel Speicher die Instanz belegt, laut aktueller Dokumentation standardmäßig 0,92, und max_model_len sowie max_num_seqs begrenzen Kontext und Parallelität. Reicht der KV-Cache nicht, unterbricht vLLM Anfragen und berechnet sie neu, was laut Dokumentation die Latenz verschlechtern kann. Quantisierte Gewichte oder ein kleinerer Datentyp für den KV-Cache schaffen Platz für mehr gleichzeitige Anfragen, zu einem Qualitätspreis, den Sie testen müssen.
Die Arbeitslast beschreiben, bevor Sie benchmarken
Ein Benchmark mit synthetischen Prompts fester Länge beantwortet eine Frage, die niemand gestellt hat. Halten Sie vor dem Messen fest:
- Ankünfte pro Sekunde nach Stunde und Wochentag, mit den verkehrsreichsten fünf Minuten statt des Stundenmittels
- Die Verteilung von Ein- und Ausgabetoken pro Anfrage, weil wenige lange Anfragen einen großen Teil des KV-Cache belegen
- Latenzziele pro Funktion, etwa p95 für die Zeit bis zum ersten Token und für die Zeit pro Ausgabetoken
- Welche Arbeit interaktiv ist und welche warten kann, etwa nächtliche Dokumentverarbeitung
Eine Replika bei Ihrem Latenzziel benchmarken
Der Serving-Benchmark von vLLM kann einen eigenen Datensatz Ihrer Prompts mit gewählter Anfragerate abspielen, mit einstellbarer Burstiness und optionaler Begrenzung der Parallelität, und Goodput ausweisen: die Anfragen, die Ihre Ziele für erstes Token, Zeit pro Token und Gesamtzeit erreicht haben. Erhöhen Sie die Rate schrittweise, bis der Goodput unter den nötigen Anteil fällt. Diese Rate ist die Kapazität der Replika für diese Arbeitslast. Der Offline-Durchsatz-Benchmark beantwortet eine andere Frage, nämlich die nach maximalen Token pro Sekunde ohne Latenzziel, und eignet sich für die Bemessung von Batch-Jobs.
Beobachten Sie während des Benchmarks die Metriken des Servers, werten Sie sie aber als Hinweise. Steigende Warteschlangenzeit bei fast vollem KV-Cache deutet auf Speicherdruck hin, langsamere Generierung bei freiem Cache auf Rechenleistung, doch beides kann zusammen auftreten, und Scheduler-Einstellungen beeinflussen beides. Prüfen Sie, bevor Sie die Grenze benennen, die Zahl der Preemptions, die Auslastung von GPU-Rechenleistung und Speicherbandbreite sowie die Zahl laufender Anfragen, und wiederholen Sie den Lauf mit kontrollierten Änderungen an Parallelität und Kontextlänge, um zu sehen, welche das Ergebnis verschiebt.
Von einer Replika zur Flotte: ein Rechenbeispiel
Alle Zahlen sind hypothetisch. Ein interner Assistent erreicht werktags morgens Spitzen von 18 Anfragen pro Sekunde und fällt nachts und am Wochenende auf 2. Mit echten Prompts hält eine Replika auf einer GPU bis 5 Anfragen pro Sekunde 99 Prozent Goodput. Bei 6 drückt die Warteschlangenzeit den Goodput auf 93 Prozent.
- 1
Repliken für die Spitze
18 geteilt durch 5 ergibt 3,6, also tragen 4 Repliken die Spitze.
- 2
Reserve für Ausfälle
Eine weitere Replika deckt einen ausgefallenen Knoten oder ein rollendes Deployment ab, macht 5.
- 3
Ruhige Stunden
Bei 2 Anfragen pro Sekunde genügt 1 Replika, plus 1 Reserve.
- 4
Zeitpläne vergleichen
Fünf Repliken rund um die Uhr verbrauchen etwa 3.650 GPU-Stunden pro Monat. Fünf für 12 Stunden an 22 Werktagen und 2 für die übrigen Stunden verbrauchen etwa 2.250, rund 38 Prozent weniger.
Der Zeitplan funktioniert nur, wenn die Repliken vor dem morgendlichen Anstieg bereitstehen. Ein Modell lädt nicht sofort, skalieren Sie also nach Fahrplan hoch, statt zu warten, bis Warteschlangen wachsen. vLLM dokumentiert Wege, wiederholte Starts zu verkürzen, etwa die Wiederverwendung des Compile-Cache. Nächtliche Batch-Arbeit kann dann auf der Reserve-Replika laufen statt auf einer eigenen Flotte.
Festlegen, was Traffic über dem Plan auffängt
Kein Plan deckt jede Spitze ab. Wählen Sie vorab zwischen drei Optionen. Eine begrenzte Warteschlange hält die Latenz berechenbar und weist überzählige Last früh ab. Ein gehostetes Modell als Überlauf hält Antworten im Fluss, sofern es dieselben Qualitätstests bestanden hat und Ihre Datenvorgaben es zulassen. Das Verschieben nicht dringender Arbeit nimmt Batch-Jobs aus der Spitze. Jede Wahl hat ihren Preis, und wer ihn vor dem Start festlegt, vermeidet den Reflex, GPUs für eine Spitze zu kaufen, die zweimal im Jahr auftritt.
Fragen
Sollten wir nach den Durchsatzangaben des GPU-Herstellers planen?
Nutzen Sie sie zur Vorauswahl der Hardware, nicht zur Bemessung. Veröffentlichte Zahlen passen selten zu Ihren Prompt- und Ausgabelängen, Ihrem Modell und Ihrem Latenzziel, und jeder dieser Faktoren kann die Kapazität um ein Vielfaches verändern. Benchmarken Sie eine Replika mit Ihrem eigenen Traffic.
Wann sollten wir den Kapazitäts-Benchmark wiederholen?
Nach jeder Änderung am Modell, an seiner Quantisierung, an der vLLM-Version oder an wichtigen Einstellungen, und wenn sich Prompt- oder Ausgabelängen deutlich verschieben, etwa weil eine neue Funktion abgerufenen Kontext hinzufügt. Versionieren Sie den Benchmark-Datensatz zusammen mit den Ergebnissen.
Kann Cloudsail das für unser Modell durchführen?
Ja. Wir benchmarken gemeinsam mit Ihrem Plattformteam in Ihrem Cloud-Konto mit Ihren Prompts und übergeben Benchmark-Skripte, Ergebnisse und den Skalierungsplan an Ihr Team.
Verwandte Leistungen
KI-Engineering und -Architektur
Assistenten, Sprachschnittstellen und Agenten in den Produkten, die Sie verkaufen, samt Serving und Retrieval darunter.
Training eigener Modelle
Ein kleines Open-Weight-Modell, für eine Aufgabe trainiert und bei Kosten und Genauigkeit mit Ihrem aktuellen Modell verglichen.
Mehr aus dem Blog
Latenzbudget für LLM-Funktionen
Wie Sie herausfinden, warum eine KI-Funktion langsam ist: jede Anfrage in Warteschlange, Retrieval, Modell und Tools aufteilen, den größten veränderbaren Anteil beheben und die Ausreißer unter Last messen.
Qualität nach der Quantisierung
Welche Tests Sie wiederholen sollten, bevor ein quantisiertes Modell das Original ersetzt: Aufgabenqualität, strukturierte Ausgabe, lange Eingaben, Verhaltensprüfungen und Serving-Performance, mit Kostenvergleich pro GPU.
Aufgaben für kleine Modelle
Wie Sie die volumenstarken Aufgaben finden, die ein kleines Sprachmodell zuverlässig erledigen kann: eine Checkliste, ein Test vor jedem Training und ein Kostenvergleich bei Ihrem eigenen Volumen.
Mit einem Engineer sprechen
Bringen Sie eine Aufgabe mit, die Sie verbessern möchten. Das Gespräch dauert 30 Minuten und braucht keinen Zugriff auf Ihre Systeme oder Ihre Daten.
Die Buchung läuft über Google Kalender.
Lieber zuerst schreiben? Hinterlassen Sie Ihre E-Mail-Adresse und ein paar Zeilen, dann antworten wir mit Terminvorschlägen.
Sehen Sie in Ihrem E-Mail-Programm nach dem Entwurf
Senden Sie ihn von dort ab, und ein Engineer antwortet Ihnen persönlich mit Terminvorschlägen für ein 30-minütiges Gespräch. Hat sich kein Entwurf geöffnet, schreiben Sie uns an miki@cloudsail.com.