Llama 2 LLM: In Ihrer Cloud bereitstellen & feintunen

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
Der ChatGPT-Moment der Open-Source-Welt ist da: Meta hat seine neueste Reihe quelloffener Large Language Models namens Llama 2 veröffentlicht – eine Sammlung vorangelerter und feingetunter generativer Textmodelle in Größenordnungen von 7 Milliarden bis 70 Milliarden Parametern.
Spannende Fakten & Merksätze zu Llama 2
- Llama 2 wurde auf öffentlich zugänglichen Online-Daten mit rund 2T Token trainiert. Das ist mehr als das 300-fache der gesamten englischen Wikipedia.
- Llama 2 wurde mit 1 Mio. menschlichen Annotationen trainiert – vergleichen Sie das mit 15.000 gelabelten Datensätzen für Dolly von Databricks.
- Die Trainingsdauer für die Varianten 7B, 13B & 70B wird mit 184k, 368k & 1.7M GPU-Stunden auf A100-80GB angegeben. Das entspricht interessanterweise etwa 1000 GPU-Wochen pro 1B Parameter. Bei Verwendung von 1000 GPUs parallel würde das Training des 70B-Modells also 70 Wochen dauern.
- Die reinen GPU-Kosten für das Training dieser Modelle lägen bei etwa 800.000 $, 1,5 Mio. $ bzw. 8 Mio. $. Insgesamt GPUs im Wert von 10 Mio. $ für den finalen Lauf! :)
- Die Pre-Training-Daten sind statisch und auf dem Stand von September 2022, aber das Modell wurde mit neueren Daten bis Juli 2023 feingetunt.
- Das Kontextfenster beträgt 4k für die 3 Varianten 7B, 10B & 70B.
Warum sollte Sie das interessieren?
- Erstens ist dieses Modell kostenlos für Forschungs- und kommerzielle Zwecke nutzbar – das erste seiner Art mit einer Qualität wie ChatGPT, unterstützt von einem Big-Tech-Konzern und ab sofort bereit für Deployment & Fine-Tuning. (Es sei denn, Sie haben >700M monatlich aktive Nutzer im vorangegangenen Kalendermonat, in diesem Fall müssen Sie eine Lizenz von Meta erwerben!)
- Die feingetunten Versionen, genannt Llama-2-Chat, sind für Dialog-Anwendungsfälle optimiert. Llama-2-Chat-Modelle übertreffen Open-Source-Chat-Modelle bei den meisten Benchmarks und liegen bei menschlichen Bewertungen bezüglich Hilfsbereitschaft und Sicherheit auf Augenhöhe mit beliebten proprietary Modellen wie ChatGPT und PaLM.
- Für alle, die auf rechtliche und Compliance-Freigaben für die Nutzung kommerzieller, proprietärer Dienste wie OpenAI gewartet haben und von der Antwortqualität früherer Open-Source-LLM-Generationen enttäuscht waren: Hier ist Ihre Antwort. Noch wichtiger ist, dass es bestätigt, dass Open-Source-LLMs gekommen sind, um zu bleiben, und sich weiter verbessern werden.
Qualitäts-Benchmarks von Llama 2
Llama 2 zeigt eine bemerkenswerte Performance über verschiedene LLM-Benchmarks hinweg. Hier ist ein Vergleich zwischen Llama- und ChatGPT-Modellen:

Das Llama-2-70b-chat-hf-Modell erreicht oder übertrifft in mehreren Benchmarks sogar die Performance von GPT-3.5, dem ursprünglichen ChatGPT-Modell. Mehr Details finden Sie hier. Details zu den Datensätzen & Aufgaben finden Sie im Anhang.
Kosten für die Nutzung von Llama 2 bei einer Beispielaufgabe
Viele, die OpenAI-basierte Anwendungen in Produktion gebracht haben, sind besorgt über die Rechnungen und wie nachhaltig sie diese Anwendungen skalieren können. Wir haben einen Vergleich angestellt, was der Betrieb von Llama 2 kostet und wie er sich im Vergleich zu einigen OpenAI-Modellen verhält.
Beispielaufgabe: Angenommen, wir möchten die englische Wikipedia (6 Mio. Artikel, jeweils 1000 Token) mithilfe von LLMs auf die Hälfte der Größe zusammenfassen. Detaillierte Berechnungen finden Sie in diesem Blogbeitrag. Hier sind einige interessante Erkenntnisse zu den Kosten dieser Aufgabe mit verschiedenen Modellen:
- Die Durchführung mit GPT-4 würde etwa 360.000 $ kosten.
- Dieselbe Aufgabe mit der GPT-3 Davinci-Variante (175B Parameter) würde etwa 180.000 $ kosten, und wenn Sie eine feingetunte Variante von Davinci verwenden würden, läge das bei >1 Mio. $.
- Wenn Sie stattdessen das Curie-Modell (~7B Parameter) verwenden würden, lägen die Kosten bei 18.000 $ und die feingetunte Version bei ~$125.000.
- Vergleichen Sie das mit dem Modell vergleichbarer Größe, Llama 2 (7B-Variante). Es würde ~$2.000 kosten und die feingetunte Version davon ~$3.000. Das ist ein etwa 9-facher bzw. 40-facher Kostenunterschied bei vergleichbaren Modellen zwischen den pre-trained und feingetunten Versionen.
Bereitstellung des Llama-2-13b-chat-Modells
Das Modell ist über Microsoft Azure, AWS und Huggingface verfügbar. Sie können Llama-2-Modelle auch über TrueFoundry mit minimalen Schritten bereitstellen.
Sie benötigen Zugriff auf die Llama-2-Modelle auf Huggingface, um sie auf TrueFoundry bereitzustellen. Weitere Informationen finden Sie hier. Der TrueFoundry Modellkatalog ist mit den besten und neuesten Open-Source-LLMs aktualisiert. Mit dem Modellkatalog ist alles für die Bereitstellung der Modelle vorkonfiguriert, und Sie können sie mit einem einzigen Klick in Ihrer eigenen Cloud-Infrastruktur deployen. Llama-2-Modelle werden in Kürze im Modellkatalog für das 1-Click-Deployment verfügbar sein. In der Zwischenzeit können TrueFoundry-Nutzer Llama-2-Modelle wie unten beschrieben bereitstellen.
- Klicken Sie auf der Deployment-Seite auf
New Deploymentund wählen SieService.

2. Wir können die Text Generation Interface-Bibliothek von Huggingface verwenden, um dieses Modell bereitzustellen. Wählen Sie das Image text-generation-inference (ghcr.io/huggingface/text-generation-inference:0.9) zur Bereitstellung aus und überschreiben Sie den Befehl mit dem Befehl zum Starten des erforderlichen Modells (text-generation-launcher --model-id meta-llama/Llama-2-13b-chat-hf):

3. Richten wir nun den Modell-Endpunkt ein. Das Modell wird auf Port 80 bereitgestellt, also geben wir diesen frei:

4. Da die Llama-2-Modelle nur über genehmigte Konten verfügbar sind, müssen wir den Huggingface API-Schlüssel als Umgebungsvariable festlegen. Der Schlüssel sollte HUGGING_FACE_HUB_TOKEN lauten.
Beachten Sie, dass wir im Bild indirekt den Huggingface API-Schlüssel verwenden, indem wir ein Secret auf TrueFoundry erstellen. Sie können den Wert auch direkt einfügen, was wir jedoch nicht empfehlen.

5. Schließlich müssen wir die von diesem Modell benötigten Ressourcen zuweisen. Ich habe mich entschieden, die Modellversion 13b-chat auf einem Node mit einer A100 40GB bereitzustellen. Sie können andere Werte wie folgt konfigurieren:

6. Klicken Sie auf Submit, und Ihr Modell wird bereitgestellt und ist unter dem von Ihnen festgelegten Endpunkt verfügbar.
Inferenz mit dem bereitgestellten Modell durchführen
Sie können den generate Endpunkt aufrufen, um Inferenzen mit dem gerade bereitgestellten Modell zu erhalten. Es gibt auch eine Python-Bibliothek text-generation, die Sie in Ihrem Python-Code verwenden können, um das bereitgestellte Modell zu nutzen.
Über HTTP-Anfrage:

Über Python-Client:

Weitere Informationen zu den Clients finden Sie hier.
TrueFoundry LLM Playground
Der TrueFoundry LLM Playground kann verwendet werden, um Prompts zu testen und Modelle, die Sie auf TrueFoundry bereitgestellt haben, mit anderen Modellen wie ChatGPT zu vergleichen. Sobald das Llama-2-Modell bereitgestellt ist, können wir es auch über den TrueFoundry LLM Playground testen:

Sprechen Sie mit uns
Wir lernen in diesem Bereich wie alle anderen ständig dazu. Falls Sie versuchen, Large Language Models in Ihrer Organisation einzusetzen, würden wir uns freuen, uns mit Ihnen auszutauschen.
Trinken Sie einen ☕️ mit uns
Anhang: Details zu Aufgaben & Metriken
MMLU steht für Multi-task Multi-Lingual Language Understanding. Es ist ein Benchmark, der die Performance von Sprachmodellen bei einer Vielzahl von Aufgaben misst, darunter Frage-Antwort-Systeme, Natural Language Inference und Zusammenfassung. Die Intuition hinter MMLU ist, dass Sprachmodelle in der Lage sein sollten, Informationen auf unterschiedliche Weise und in mehreren Sprachen zu verstehen und zu verarbeiten.
TriviaQA ist ein Datensatz mit Fragen und Antworten zu faktischen Themen. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, Fragen zu beantworten, die Faktenwissen erfordern. Die Intuition hinter TriviaQA ist, dass Sprachmodelle auf Informationen aus externen Quellen wie Wikipedia zugreifen und diese verarbeiten können sollten, um Faktenfragen zu beantworten.
Natural Questions ist ein Datensatz mit Fragen, die von Menschen zu realen Informationen gestellt werden. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, Fragen in natürlicher Sprache zu verstehen und zu beantworten. Die Intuition hinter Natural Questions ist, dass Sprachmodelle die Nuancen menschlicher Sprache verstehen und relevante, informative Antworten generieren können sollten.
GSM8k ist ein Datensatz von 8.000 Fragen, die aus Google Search-Suchanfragen generiert wurden. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, Fragen zu verstehen und zu beantworten, die denen ähneln, die Menschen bei Google Search stellen. Die Intuition hinter GSM8k ist, dass Sprachmodelle die Absicht menschlicher Anfragen verstehen und relevante sowie informative Antworten generieren können sollten.
HumanEval ist ein Benchmark, der die Performance von Sprachmodellen bei verschiedenen Aufgaben misst, indem Menschen gebeten werden, die Ausgaben der Modelle zu bewerten. Die Intuition hinter HumanEval ist, dass menschliche Bewertung ein notwendiger Bestandteil der Leistungsbeurteilung von Sprachmodellen ist, da sie dabei helfen kann, Bereiche zu identifizieren, in denen die Modelle noch Schwierigkeiten haben.
AGIEval ist ein Benchmark, der die Fähigkeit von Sprachmodellen misst, Aufgaben auszuführen, die typischerweise mit künstlicher generalisierter Intelligenz (AGI) assoziiert werden. Die Intuition hinter AGIEval ist, dass Sprachmodelle in der Lage sein sollten, die Welt auf eine Weise zu verstehen und darüber nachzudenken, die der des Menschen ähnelt.
BoolQ ist ein Datensatz mit Fragen, deren Beantwortung boolesche Logik erfordert. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, logische Aussagen zu verstehen und mit ihnen zu schlussfolgern. Die Intuition hinter BoolQ ist, dass Sprachmodelle die Bedeutung logischer Aussagen verstehen und Antworten generieren können sollten, die mit diesen Aussagen konsistent sind.
HellaSwag ist ein Datensatz mit Fragen, die im "Swag"-Stil verfasst sind – einer Form informeller Sprache, die häufig in sozialen Medien verwendet wird. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, natürliche Sprache in verschiedenen Stilen zu verstehen und zu generieren. Die Intuition hinter HellaSwag ist, dass Sprachmodelle in der Lage sein sollten, natürliche Sprache zu verstehen und zu generieren, die für den jeweiligen Kontext angemessen ist.
OpenBookQA ist ein Datensatz von Fragen, die durch Konsultieren eines großen Textkorpus beantwortet werden können. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, auf Informationen aus externen Quellen zuzugreifen und diese zu verarbeiten. Die Intuition hinter OpenBookQA ist, dass Sprachmodelle auf Informationen aus einer Vielzahl von Quellen zugreifen und diese verarbeiten können sollten, um Fragen zu beantworten.
QuAC ist ein Datensatz von Fragen, die zu Unterhaltungen gestellt werden. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, den Kontext eines Gesprächs zu verstehen und ihm zu folgen. Die Intuition hinter QuAC ist, dass Sprachmodelle den Kontext eines Gesprächs verstehen und Antworten generieren können sollten, die für das Gespräch relevant sind.
Winogrande ist ein Datensatz von Fragen, die für Sprachmodelle herausfordernd zu beantworten sind. Er wird verwendet, um die Fähigkeit von Sprachmodellen zu messen, komplexe Fragen zu verstehen und zu beantworten. Die Intuition hinter Winogrande ist, dass Sprachmodelle in der Lage sein sollten, komplexe Fragen zu verstehen und zu beantworten, die ein tiefes Verständnis der Welt erfordern.
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)






