View a markdown version of this page

Inferenzoptimierung für SageMaker Amazon-KI-Modelle - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Inferenzoptimierung für SageMaker Amazon-KI-Modelle

Amazon SageMaker AI bietet zwei Ansätze zur Optimierung Ihrer generativen KI-Modellinferenz:

  • Empfehlungen für Inferenzen. SageMaker KI analysiert automatisch Ihr Modell und Ihren Workload, bewertet Instanztypen, wendet Optimierungen an und gibt validierte, einsatzbereite Konfigurationen mit echten Leistungskennzahlen zurück. Dies ist der empfohlene Ansatz für die meisten Kunden. Um zu beginnen, sehen Sie sich Optimierte generative KI-Inferenzempfehlungen an.

  • Manuelle Optimierung. Für Kunden, die einen Do-it-yourself-Ansatz bevorzugen, können Sie individuelle Optimierungstechniken wie Quantisierung, spekulative Dekodierung und Kompilierung anwenden. Sie wählen aus, welche Techniken Sie anwenden möchten, führen Optimierungsjobs aus und bewerten die Ergebnisse selbst. Nachdem Ihr Modell optimiert wurde, können Sie eine Bewertung durchführen, um Leistungsmetriken für Latenz, Durchsatz und Preis einzusehen.

Für viele Modelle bietet SageMaker KI auch mehrere voroptimierte Versionen, von denen jede auf unterschiedliche Anwendungsanforderungen in Bezug auf Latenz und Durchsatz zugeschnitten ist. Bei diesen Modellen können Sie eine der optimierten Versionen bereitstellen, ohne das Modell zuerst selbst zu optimieren.

Optimierungsmethoden

Amazon SageMaker AI unterstützt die folgenden Optimierungstechniken.

Kompilierung

Durch die Kompilierung wird das Modell für die beste verfügbare Leistung auf dem ausgewählten Hardwaretyp optimiert, ohne dass die Genauigkeit darunter leidet. Sie können die Modellkompilierung anwenden, um LLMs für beschleunigte Hardware wie GPU-Instances, AWS Trainium-Instances oder AWS Inferentia-Instances zu optimieren.

Wenn Sie ein Modell anhand von Kompilierung optimieren, profitieren Sie von einer frühzeitigen Kompilierung. Sie reduzieren die Bereitstellungszeit des Modells und die Auto-Scaling-Latenz, da die Modellgewichtungen keine Just-in-Time-Kompilierung erfordern, wenn das Modell auf einer neuen Instance bereitgestellt wird.

Wenn Sie Ihr Modell für eine GPU-Instanz kompilieren möchten, verwendet SageMaker AI die TensorRT-LLM Bibliothek, um die Kompilierung auszuführen. Wenn Sie Ihr Modell für eine AWS Trainium- oder AWS Inferentia-Instanz kompilieren möchten, verwendet SageMaker AI das AWS Neuron SDK, um die Kompilierung auszuführen.

Quantisierung

Die Quantisierung ist eine Methode zur Reduzierung der Hardwareanforderungen eines Modells, indem ein weniger genauer Datentyp für Gewichtungen und Aktivierungen verwendet wird. Nachdem Sie ein Modell anhand der Quantisierung optimiert haben, können Sie es auf kostengünstigeren und besser verfügbaren GPUs hosten. Das quantisierte Modell ist jedoch möglicherweise weniger genau als das ursprüngliche Modell, das Sie optimiert haben.

Die Datenformate, die SageMaker KI für die Quantisierung unterstützt, variieren von Modell zu Modell. Folgende Formate werden unterstützt:

  • INT4-AWQ — Ein 4-Bit-Datenformat. Activation-aware Weight Quantization (AWQ) ist eine Quantisierungstechnik für LLMs, die effizient, genau, niedrigbitarm und nur gewichtsabhängig ist.

  • FP8 – Das 8-Bit-Gleitkommaformat (FP8) ist ein Format mit niedriger Genauigkeit für Gleitkommazahlen. Es sorgt für ein ausgewogenes Verhältnis zwischen Speichereffizienz und Modellgenauigkeit, indem es Werte mit weniger Bits als das Standard-FP16-Gleitkommaformat darstellt.

  • INT8-SmoothQuant — Ein 8-Bit-Datenformat. SmoothQuant ist eine Quantisierungsmethode mit gemischter Genauigkeit, bei der Aktivierungen und Gewichtungen gemeinsam skaliert werden, indem ihre Dynamikbereiche ausgeglichen werden.

Spekulative Dekodierung

Die spekulative Dekodierung ist eine Methode, um den Dekodierungsprozess großer LLMs zu beschleunigen. Sie optimiert Modelle im Hinblick auf die Latenz, ohne die Qualität des generierten Textes zu beeinträchtigen.

Bei dieser Methode wird ein kleineres, aber schnelleres Modell verwendet, das als Entwurfsmodell bezeichnet wird. Das Entwurfsmodell generiert Kandidaten-Token, die dann durch das größere, aber langsamere Zielmodell validiert werden. Bei jeder Iteration generiert das Entwurfsmodell mehrere Kandidaten-Token. Das Zielmodell überprüft die Token und wenn es feststellt, dass ein bestimmtes Token nicht akzeptabel ist, lehnt es das Token ab und generiert es neu. Das Zielmodell verifiziert also Token und generiert eine kleine Anzahl von Token.

Das Entwurfsmodell ist deutlich schneller als das Zielmodell. Es generiert alle Token schnell und sendet sie stapelweise zur Überprüfung an das Zielmodell. Das Zielmodell wertet sie alle parallel aus, was die endgültige Antwort beschleunigt.

SageMaker KI bietet einen vorgefertigten Modellentwurf, den Sie verwenden können, sodass Sie kein eigenes Modell erstellen müssen. Wenn Sie es vorziehen, Ihr eigenes benutzerdefiniertes Entwurfsmodell zu verwenden, unterstützt SageMaker AI auch diese Option.

Schnelles Laden von Modellen

Die Technik zum schnellen Laden von Modellen bereitet ein LLM so vor, dass SageMaker KI es schneller auf eine ML-Instanz laden kann.

Um das Modell vorzubereiten, teilt SageMaker KI es im Voraus auf, indem sie es in Teile unterteilt, die sich jeweils auf einer separaten GPU befinden können, um verteilte Inferenzen zu ermöglichen. Außerdem speichert SageMaker KI die Modellgewichte in gleich großen Blöcken, die SageMaker KI gleichzeitig auf die Instanz laden kann.

Wenn SageMaker KI das optimierte Modell auf die Instance lädt, streamt es die Modellgewichte direkt von Amazon S3 auf die GPUs der Instance. Durch das Streamen der Gewichte SageMaker überspringt KI mehrere zeitaufwändige Schritte, die normalerweise notwendig sind. Zu diesen Schritten gehören das Herunterladen der Modellartefakte von Amazon S3 auf die Festplatte, das Laden der Modellartefakte in den Host-Speicher und das Fragmentieren des Modells auf dem Host, bevor die Shards schließlich auf die GPUs geladen werden.

Nachdem Sie Ihr Modell für schnelleres Laden optimiert haben, können Sie es schneller auf einem SageMaker KI-Endpunkt bereitstellen. Wenn Sie den Endpunkt für die Verwendung von Auto Scaling konfigurieren, wird er außerdem schneller aufskaliert, um dem Anstieg des Datenverkehrs Rechnung zu tragen.