RSS Cloud Blog
Folgen
vLLM Performance-Tuning: Der ultimative Leitfaden zur xPU-Inferenzkonfiguration
Dieser Leitfaden, erstellt mit den Beiträgen von Hossein Sarshar, Ashish Narasimham und Chenyang Li, zielt darauf ab, Benutzern zu helfen, große Sprachmodelle (LLMs) effizient mit vLLM zu bedienen. Die Bedienung von LLMs erfordert die Erfüllung strenger Latenz- und Durchsatzanforderungen, was die Wahl des Beschleunigers und der Konfiguration entscheidend macht. Der Leitfaden nimmt einen bottom-up-Ansatz, um den besten Beschleuniger auszuwählen und die vLLM-Einstellungen für Kosteneffizienz zu optimieren. Voraussetzungen sind ein Google Cloud-Projekt, die gcloud-CLI, Vertrautheit mit Linux und Docker sowie ein Hugging Face-Konto mit Zugriff auf das Gemma 3 27B-Modell. Bei der Wahl eines Beschleunigers sind wichtige Überlegungen die verwendete Modell, ihre Genauigkeit (z.B. bfloat16), die Arbeitslastmerkmale wie Anforderungen pro Sekunde und Sequenzlängen, die gewünschte GPU-Auslastung, die Prefix-Cache-Rate und die Latenzanforderungen. Kandidaten-Beschleuniger werden aus den accelerator-optimierten Instanzen und TPU-Angeboten von Google Cloud identifiziert, wie z.B. g2-standard-48, a2-ultragpu-1g, a3-highgpu-1g, TPU v5e und TPU v6e. Die Speicheranforderungen werden mit einem bereitgestellten Tool geschätzt, das die minimale erforderliche VRAM auf Basis der Modellgröße, Genauigkeit, Sequenzlängen und Batch-Größe berechnet. Tensor-Parallelität kann für Modelle erforderlich sein, die das Speicherlimit eines einzelnen Beschleunigers überschreiten, obwohl sie Kommunikationsüberhead verursachen können, der die Latenz beeinträchtigt. Der Leitfaden beschreibt die Benchmarking- und Feinabstimmung durch das Starten von Instanzen, das Herunterladen von vLLM-Docker-Images, das Aktualisieren eines Auto-Tune-Skripts mit spezifischen Parametern und die Analyse der Ergebnisse, um optimale Konfigurationen zu finden. Das Auto-Tune-Skript findet iterativ stabile vLLM-Server-Konfigurationen, indem es die GPU-Auslastung anpasst, um Out-of-Memory-Fehler zu vermeiden.