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.
Optimierung von Modellinferenzen mit Amazon SageMaker
Mit Amazon SageMaker können Sie die Leistung Ihrer generativen KI-Modelle verbessern, indem Sie Techniken zur Inferenzoptimierung anwenden. Durch die Optimierung Ihrer Modelle können Sie ein besseres Preis-Leistungs-Verhältnis für Ihren Anwendungsfall erzielen. Wenn Sie ein Modell optimieren, wählen Sie aus, welche der unterstützten Optimierungstechniken angewendet werden sollen, einschließlich Quantisierung, spekulativer Dekodierung und Kompilierung. Nachdem Ihr Modell optimiert wurde, können Sie eine Evaluierung durchführen, um Leistungskennzahlen für Latenz, Durchsatz und Preis einzusehen.
Für viele Modelle stehen SageMaker auch mehrere voroptimierte Versionen zur Verfügung, von denen jede auf unterschiedliche Anwendungsanforderungen in Bezug auf Latenz und Durchsatz zugeschnitten ist. Für solche Modelle können Sie eine der optimierten Versionen bereitstellen, ohne das Modell zuerst selbst zu optimieren.
Optimierungstechniken
Amazon SageMaker unterstützt die folgenden Optimierungstechniken.
Spekulative Dekodierung
Die spekulative Dekodierung ist eine Technik zur Beschleunigung des Dekodierungsprozesses großer Dateien. LLMs Sie optimiert Modelle im Hinblick auf die Latenz, ohne die Qualität des generierten Textes zu beeinträchtigen.
Bei dieser Technik 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 sowohl Token als auch generiert eine kleine Menge davon.
Das Entwurfsmodell ist deutlich schneller als das Zielmodell. Es generiert alle Token schnell und sendet dann stapelweise davon zur Überprüfung an das Zielmodell. Das Zielmodell wertet sie alle parallel aus, was die endgültige Antwort beschleunigt.
SageMaker bietet einen vorgefertigten Modellentwurf, den Sie verwenden können, sodass Sie kein eigenes Modell erstellen müssen. Wenn Sie lieber Ihr eigenes benutzerdefiniertes Entwurfsmodell verwenden möchten, unterstützt SageMaker auch diese Option.
Quantisierung
Die Quantisierung ist eine Technik zur Reduzierung der Hardwareanforderungen eines Modells, indem ein weniger genauer Datentyp für Gewichtungen und Aktivierungen verwendet wird. Nachdem Sie ein Modell mit Quantisierung optimiert haben, können Sie es auf einer kostengünstigeren und verfügbareren Version hosten. GPUs Das quantisierte Modell ist jedoch möglicherweise weniger genau als das Quellmodell, das Sie optimiert haben.
SageMaker unterstützt die aktivierungsabhängige Gewichtsquantisierung () für. AWQ GPUs AWQist eine Quantisierungstechnik, die effizient, genauLLMs, niedrigbitarm und nur gewichtsabhängig ist.
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 AWS Trainium oder Inferentia zu optimieren. AWS
Wenn Sie ein Modell durch Kompilierung optimieren, profitieren Sie von der Kompilierung. ahead-of-time Sie reduzieren die Bereitstellungszeit des Modells und die Latenz für die auto-scaling, da die Modellgewichte nicht just-in-time kompiliert werden müssen, wenn das Modell auf einer neuen Instanz bereitgestellt wird.
Metrik-Referenz für Leistungsbewertungen von Inferenzen
Nachdem Sie die Leistung eines optimierten Modells erfolgreich bewertet haben, werden auf der Seite mit den Bewertungsdetails in Studio die folgenden Metriken angezeigt.
Latenzmetriken
Der Abschnitt Latenz zeigt die folgenden Metriken
- Nebenläufigkeit
-
Die Anzahl gleichzeitiger Benutzer, die bei der Evaluierung simuliert wurden, um den Endpunkt gleichzeitig aufzurufen.
- Zeit bis zum ersten Token (ms)
-
Die Zeit, die zwischen dem Senden der Anfrage und dem Empfang des ersten Tokens einer Streaming-Antwort vergangen ist.
- Latenz zwischen den Tokens (ms)
-
Die Zeit für die Generierung eines Ausgabetokens für jede Anfrage.
- Client-Latenz (ms)
-
Die Latenz der Anfrage vom Senden der Anfrage bis zum Empfang der gesamten Antwort.
- Eingabe-Tokens/Sekunde (Anzahl)
-
Die Gesamtzahl der generierten Eingabe-Token für alle Anfragen geteilt durch die Gesamtdauer in Sekunden für die Parallelität.
- Ausgabetoken/Sekunde (Anzahl)
-
Die Gesamtzahl der generierten Ausgabetokens für alle Anfragen geteilt durch die Gesamtdauer in Sekunden für die Parallelität.
- Client-Aufrufe (Anzahl)
-
Die Gesamtzahl der Inferenzanfragen, die von allen Benutzern gleichzeitig an den Endpunkt gesendet wurden.
- Fehler beim Client-Aufruf (Anzahl)
-
Die Gesamtzahl der Inferenzanfragen, die von allen Benutzern gleichzeitig an den Endpunkt gesendet wurden und zu einem Aufruffehler geführt haben.
- Tokenizer ist fehlgeschlagen (Anzahl)
-
Die Gesamtzahl der Inferenzanfragen, bei denen der Tokenizer die Anfrage oder die Antwort nicht analysieren konnte.
- Leere Inferenzantwort (Anzahl)
-
Die Gesamtzahl der Inferenzanfragen, die dazu geführt haben, dass keine Ausgabetoken ausgegeben wurden oder der Tokenizer die Antwort nicht analysieren konnte.
Kennzahlen zum Durchsatz
Im Abschnitt Durchsatz werden die folgenden Metriken angezeigt.
- Nebenläufigkeit
-
Die Anzahl gleichzeitiger Benutzer, die bei der Evaluierung simuliert wurden, um den Endpunkt gleichzeitig aufzurufen.
- Eingabe-Tokens/Sekunde/Anforderung (Anzahl)
-
Die Gesamtzahl der generierten Eingabe-Token pro Sekunde pro Anfrage.
- Ausgabetokens/Sekunde/Anforderung (Anzahl)
-
Die Gesamtzahl der generierten Ausgabetokens pro Sekunde pro Anfrage.
- Eingabe-Tokens (Anzahl)
-
Die Gesamtzahl der generierten Eingabetoken pro Anfrage.
- Ausgabetokens (Anzahl)
-
Die Gesamtzahl der generierten Ausgabetokens pro Anfrage.
Preiskennzahlen
Im Abschnitt Preis werden die folgenden Kennzahlen angezeigt.
- Nebenläufigkeit
-
Die Anzahl gleichzeitiger Benutzer, die bei der Evaluierung simuliert wurden, um den Endpunkt gleichzeitig aufzurufen.
- Preis pro Million Eingabe-Token
-
Kosten für die Verarbeitung von 1 Million Eingabetoken.
- Preis pro Million Ausgabetoken
-
Kosten für die Generierung von 1 Million Ausgabetoken.
Referenz zu unterstützten Modellen
In der folgenden Tabelle sind die Modelle aufgeführt, für die die Inferenzoptimierung SageMaker unterstützt wird, sowie die unterstützten Optimierungstechniken.
Modellname | JumpStart Modell-ID | Unterstützt die Quantisierung | Unterstützt spekulative Dekodierung | Spekulative Dekodierung mit Entwurfsmodell SageMaker |
---|---|---|---|---|
Falcon | huggingface-llm-falcon-40b-bf16 | Ja | Ja | Nein |
huggingface-llm-falcon-40 16 b-instruct-bf | Ja | Ja | Nein | |
huggingface-llm-falcon-180 16 b-chat-bf | Nein | Ja | Nein | |
huggingface-llm-falcon-180b-bf16 | Nein | Ja | Nein | |
huggingface-llm-amazon-falconlite | Ja | Ja | Nein | |
huggingface-llm-amazon-falconlite2 | Ja | Ja | Nein | |
huggingface-llm-tiiuae-falcon-rw-1b | Ja | Ja | Nein | |
huggingface-llm-falcon-7b-bf16 | Ja | Ja | Nein | |
huggingface-llm-falcon-7 16 b-instruct-bf | Ja | Ja | Nein | |
huggingface-llm-falcon2-11b | Ja | Ja | Nein | |
gpt-neox | umarmtes Gesicht — Textgeneration2-20b-fp16 gpt-neoxt-chat-base | Ja | Ja | Nein |
umarmtes Gesicht — Textgenerierung 2-gpt-neox-20b-fp16 | Ja | Ja | Nein | |
LLaMA | meta-textgeneration-llama-3-70b-instruieren | Ja | Ja | Ja |
meta-textgeneration-llama-3-70b | Ja | Ja | Ja | |
meta-textgeneration-llama-3-8b | Ja | Ja | Ja | |
meta-textgeneration-llama-3-8b-instruieren | Ja | Ja | Ja | |
meta-textgeneration-llama-2-7b | Ja | Ja | Ja | |
meta-textgeneration-llama-2-7b-f | Ja | Ja | Ja | |
meta-textgeneration-llama-2-13b | Ja | Ja | Ja | |
meta-textgeneration-llama-2-13b-f | Ja | Ja | Ja | |
meta-textgeneration-llama-2-70b | Ja | Ja | Ja | |
meta-textgeneration-llama-2-70b-f | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-7b | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-7b-instruieren | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-7b-Python | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-13b | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-13b-instruieren | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-13b-Python | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-34b | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-34b - instruieren | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-34b-Python | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-70 b | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-70b instruieren | Ja | Ja | Ja | |
meta-textgeneration-llama-codellama-70b-Python | Ja | Ja | Ja | |
meta-textgeneration-llama-guard-7b | Ja | Ja | Ja | |
Bloom | huggingface-textgeneration-bloom-1b7 | Ja | Ja | Nein |
huggingface-textgeneration-bloom-1b1 | Ja | Ja | Nein | |
huggingface-textgeneration-bloom-560 m | Ja | Ja | Nein | |
huggingface-textgeneration-bloomz-560 m | Ja | Ja | Nein | |
huggingface-textgeneration-bloomz-1b1 | Ja | Ja | Nein | |
huggingface-textgeneration-bloomz-1b7 | Ja | Ja | Nein | |
umarmtes Gesicht — Textgeneration1-Bloomz-7b1-FP16 | Ja | Ja | Nein | |
umarmtes Gesicht — Textgeneration1-Bloom-7B1 | Ja | Ja | Nein | |
umarmtes Gesicht — Textgeneration1-Bloomz-3b-fp16 | Ja | Ja | Nein | |
umarmtes Gesicht — Textgeneration1-Bloom-3B | Ja | Ja | Nein | |
huggingface-textembedding-bloom-7b1 | Ja | Ja | Nein | |
huggingface-textembedding-bloom-7b1-fp16 | Ja | Ja | Nein | |
Cohere | huggingface-llm-cohereforai-c4 ai-command-r-plus | Ja | ||
Gemma | huggingface-llm-gemma-7b | Ja | Ja | Nein |
huggingface-llm-gemma-7b-instruieren | Ja | Ja | Nein | |
huggingface-llm-gemma-2b | Ja | Ja | Nein | |
huggingface-llm-gemma-2b-instruieren | Ja | Ja | Nein | |
huggingface-llm-zephyr-7b-Gemma | Ja | Ja | Nein | |
gpt2 | huggingface-textgeneration-gpt2 | Ja | Nein | Nein |
huggingface-textgeneration-distilgpt2 | Ja | Nein | Nein | |
Mistral | huggingface-llm-mistral-7b | Ja | Ja | Ja |
huggingface-llm-mistral-7b-instruieren | Ja | Ja | Ja | |
huggingface-llm-mistral-7 b-openorca-gptq | Ja | Ja | Ja | |
huggingface-llm-amazon-mistrallite | Ja | Ja | Ja | |
huggingface-llm-thebloke-mistral-7 b-openorca-awq | Ja | Ja | Ja | |
huggingface-llm-huggingfaceh4-Mistral-7 b-sft-beta | Ja | Ja | Ja | |
huggingface-llm-huggingfaceh4-Mistral-7 b-sft-alpha | Ja | Ja | Ja | |
huggingface-llm-teknium-openhermes-2-Mistral-7b | Ja | Ja | Ja | |
huggingface-llm-nousresearch-yarn-Mistral-7b-128k | Ja | Ja | Ja | |
huggingface-llm-dolphin-2-2-1-Mistral-7b | Ja | Ja | Ja | |
huggingface-llm-cultrix-mistraltrix-v 1 | Ja | Ja | Ja | |
Mistral | huggingface-llm-mixtral-8x7b-instruieren | Ja | Ja | Ja |
huggingface-llm-mixtral-8x7 b-instruct-gptq | Ja | Ja | Ja | |
huggingface-llm-mixtral-8 x 7b | Ja | Ja | Ja | |
huggingface-llm-mistralai-mixtral-8x22B-Instruct-V0-1 | Ja | Ja | Ja | |
huggingface-llm-dolphin2-5-mixtral-8x7b | Ja | Ja | Ja | |
huggingface-llm-dolphin-2-7-Mixtral-8 x 7b | Ja | Ja | Ja | |
Phi | huggingface-llm-phi-2 | Ja |
Voroptimierte Modelle JumpStart
Im Folgenden sind die JumpStart Modelle mit voroptimierten Konfigurationen aufgeführt.
Meta
-
Llama 3 8B Instruktor
-
Lama 3 8B
-
Lama 3 70B Instruktor
-
Lama 3 70B
-
Lama 2 70B Chat
-
Lama 2 7B Chat
-
Lama 2 13B Chat
HuggingFace
-
Mixtral 8x7B Instruktor
-
Mixtral 8x7B
-
Mistral 7B, Instruktor
-
Mistral 7B
JumpStart Vorkompilierte Modelle
SageMaker Stellt für einige Modelle und Konfigurationen Modelle bereit, die für bestimmte AWS Inferentia- und Trainium-Instanzen vorkompiliert wurden. AWS In diesen Fällen werden die kompilierten Artefakte abgerufen, wenn Sie einen Kompilierungs- oder Optimierungsjob erstellen und ml.inf2.48xlarge oder ml.trn1.32xlarge als Bereitstellungsinstanztyp wählen. SageMaker Da der Job ein Modell verwendet, das bereits kompiliert wurde, kann er schnell abgeschlossen werden, ohne die Kompilierung von Grund auf neu ausführen zu müssen.
Im Folgenden sind die JumpStart Modelle aufgeführt, für die Modelle SageMaker vorkompiliert wurden:
Meta
-
Lama3 8B
-
Lama3 70B
-
Lama 2 7 B
-
Lama2 70B
-
Lama2 13B
-
Kode Llama 7B
-
Kode Llama 70B
HuggingFace
-
Mistral 7B