LLAMA 2 Model-Benchmarks zur Leistungsbewertung verstehen

Auf Geschwindigkeit ausgelegt: ~ 10 ms Latenz, auch unter Last
Unglaublich schnelle Methode zum Erstellen, Verfolgen und Bereitstellen Ihrer Modelle!
- Verarbeitet mehr als 350 RPS auf nur 1 vCPU — kein Tuning erforderlich
- Produktionsbereit mit vollem Unternehmenssupport
In diesem Artikel benchmarken wir die Leistung von LLama2-7B aus der Perspektive von Latenz, Kosten und Anfragen pro Sekunde. Dies hilft uns zu beurteilen, ob das Modell basierend auf den geschäftlichen Anforderungen eine gute Wahl sein kann. Bitte beachten Sie, dass wir in diesem Artikel die qualitative Leistung nicht abdecken - es gibt verschiedene Methoden zum Vergleichen von LLMs, die hier zu finden sind.
Modell: Llama2-7B
In diesem Blog haben wir das Modell Llama-2-7B von NousResearch gebenchmarkt. Dies ist eine vorkonfigurierte/pre-trainierte Version von Llama-2 mit 7 Milliarden Parametern.
Meta hat die Llama 2-Familie großer Sprachmodelle (LLMs) entwickelt und öffentlich freigegeben, eine Sammlung vorkonfigurierter und feingetunter generativer Textmodelle in einer Größenordnung von 7 Milliarden bis 70 Milliarden Parametern.
Mit dem LLAMA 2 Model gebenchmarkte Metriken: Bewertung von Leistungskennzahlen
- Anfragen pro Sekunde (RPS): Anfragen pro Sekunde, die das Modell verarbeitet. Bei höherer RPS steigt in der Regel die Latenz.
- Latenz: Wie viel Zeit wird benötigt, um eine Inference-Anfrage abzuschließen?
- Wirtschaftlichkeit: Welche Kosten sind mit der Bereitstellung eines LLM verbunden?
Anwendungsfälle & Bereitstellungsmodi mit LLAMA 2: Szenarien evaluieren
Die Schlüsselfaktoren, anhand derer wir gebenchmarkt haben, sind:
GPU-Typ:
- A100 40GB GPU
- A10 24GB GPU
Prompt-Länge:
- 1500 Input-Token, 100 Output-Token (Ähnlich wie bei Retrieval Augmented Generation Anwendungsfällen)
- 50 Input-Token, 500 Output-Token (Generierungsintensive Anwendungsfälle)
Benchmarking-Setup mit LLAMA 2: Testumgebungen konfigurieren
Für das Benchmarking haben wir locust verwendet, ein Open-Source-Lasttest-Tool. Locust funktioniert durch das Erstellen von Usern/Workern, die Anfragen parallel senden. Zu Beginn jedes Tests können wir die Number of Users und Spawn Rate festlegen. Hier geben die Number of Users die maximale Anzahl von Benutzern an, die gleichzeitig erzeugt/ausgeführt werden können, während die Spawn Rate angibt, wie viele Benutzer pro Sekunde erzeugt werden.
In jedem Benchmarking-Test für eine Deployment-Konfiguration haben wir bei 1 Benutzer begonnen und die Number of Users schrittweise erhöht, bis wir einen stetigen Anstieg der RPS sahen. Während des Tests haben wir auch die response times (in ms) und total requests per second aufgetragen.
In jeder der 2 Deployment-Konfigurationen haben wir den Hugging Face text-generation-inference Modell-Server mit version=0.9.4 verwendet. Im Folgenden sind die Parameter aufgeführt, die an das text-generation-inference Image für verschiedene Modellkonfigurationen übergeben wurden:
Zusammenfassung der Benchmarking-Ergebnisse: Zusammenfassung der LLAMA 2-Erkenntnisse
Latenz, RPS und Kosten
Wir berechnen die beste Latenz basierend auf dem Senden von nur einer Anfrage zur Zeit. Um den Durchsatz zu erhöhen, senden wir Anfragen parallel an das LLM. Der maximale Durchsatz ist der Fall, in dem das Modell in der Lage ist, die eingehenden Anfragen ohne erhebliche Verschlechterung der Latenz zu verarbeiten.

Token pro Sekunde
LLMs verarbeiten Input-Token und die Generierung unterschiedlich – daher haben wir die Verarbeitungsrate für Input-Token und Output-Token getrennt berechnet.

Detaillierte Ergebnisse: Eingehende LLAMA 2-Analyse
A10 24GB GPU (1500 Input- + 100 Output-Token)


In den obigen Diagrammen können wir beobachten, dass die beste Antwortzeit (bei 1 Benutzer) 4.1 seconds beträgt. Wir können die Anzahl der Benutzer erhöhen, um mehr Traffic an das Modell zu senden – wir sehen, wie der Durchsatz bis zu 0.9 RPS steigt, ohne dass die Latenz erheblich abfällt. Über 0.9 RPS hinaus steigt die Latenz drastisch an, was bedeutet, dass sich Anfragen in einer Warteschlange stauen.
A10 24GB GPU (50 Input- + 500 Output-Token)


In den obigen Diagrammen können wir beobachten, dass die beste Antwortzeit (bei 1 Benutzer) 15 seconds beträgt. Wir können die Anzahl der Benutzer erhöhen, um mehr Traffic an das Modell zu senden – wir sehen, wie der Durchsatz bis zu 0.9 RPS steigt, ohne dass die Latenz erheblich abfällt. Über 0.9 RPS hinaus steigt die Latenz drastisch an, was bedeutet, dass sich Anfragen in einer Warteschlange stauen.
A100 40GB GPU (1500 Input- + 100 Output-Token)


In den obigen Diagrammen können wir beobachten, dass die beste Antwortzeit (bei 1 Benutzer) 2 seconds beträgt. Wir können die Anzahl der Benutzer erhöhen, um mehr Traffic an das Modell zu senden – wir sehen, wie der Durchsatz bis zu 3.6 RPS steigt, ohne dass die Latenz erheblich abfällt. Über 3.6 RPS hinaus steigt die Latenz drastisch an, was bedeutet, dass sich Anfragen in einer Warteschlange stauen.
A100 40GB GPU (50 Input- + 500 Output-Token)


In den obigen Diagrammen können wir beobachten, dass die beste Antwortzeit (bei 1 Benutzer) 8.5 seconds beträgt. Wir können die Anzahl der Benutzer erhöhen, um mehr Traffic an das Modell zu senden – wir sehen, wie der Durchsatz bis zu 3.5 RPS steigt, ohne dass die Latenz erheblich abfällt. Über 3.5 RPS hinaus steigt die Latenz drastisch an, was bedeutet, dass sich Anfragen in einer Warteschlange stauen.
Hoffentlich ist dies nützlich für Sie, um zu entscheiden, ob LLama7B zu Ihrem Anwendungsfall passt und welche Kosten beim Hosten von Llama7B zu erwarten sind.
TrueFoundry AI Gateway bietet eine Latenz von ~3—4 ms, verarbeitet mehr als 350 RPS auf einer vCPU, skaliert problemlos horizontal und ist produktionsbereit, während LiteLM unter einer hohen Latenz leidet, mit moderaten RPS zu kämpfen hat, keine integrierte Skalierung hat und sich am besten für leichte Workloads oder Prototyp-Workloads eignet.


















%20(28).webp)



.webp)
.webp)
.png)

.png)
.png)
.png)
.png)
.png)
.webp)
.webp)






