KI-Modelle und Plattformen

Llama 2: Ein tiefer Blick in den Open-Source-Herausforderer von ChatGPT

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

Große Sprachmodelle (LLMs), die komplexe Denkaufgaben ausführen können, haben in spezialisierten Bereichen wie Programmierung und kreativem Schreiben vielversprechende Ergebnisse gezeigt. Allerdings ist die Welt der LLMs nicht einfach ein Plug-and-Play-Paradies; es gibt Herausforderungen in Bezug auf Benutzerfreundlichkeit, Sicherheit und Rechenanforderungen. In diesem Artikel werden wir uns mit den Fähigkeiten von Llama 2 auseinandersetzen, während wir auch eine detaillierte Anleitung für die Einrichtung dieses leistungsstarken LLMs über Hugging Face und T4-GPUs auf Google Colab bereitstellen.

Entwickelt von Meta in Partnerschaft mit Microsoft (MSFT ), zielt dieses Open-Source-Großsprachmodell darauf ab, die Bereiche der generativen KI und der natürlichen Sprachverarbeitung neu zu definieren. Llama 2 ist nicht nur ein weiteres statistisches Modell, das auf Terabyte an Daten trainiert wurde; es ist die Verkörperung einer Philosophie. Eine Philosophie, die einen Open-Source-Ansatz als Rückgrat der KI-Entwicklung betont, insbesondere im Bereich der generativen KI.

Llama 2 und sein dialogoptimiertes Pendant, Llama 2-Chat, verfügen über bis zu 70 Milliarden Parameter. Sie unterziehen sich einem Feinabstimmungsprozess, der darauf abzielt, sie eng an menschliche Vorlieben anzupassen, was sie sicherer und effektiver macht als viele andere öffentlich verfügbare Modelle. Dieses Maß an Feinabstimmung ist oft nur bei geschlossenen “Produkt”-LLMs wie ChatGPT und BARD reserviert, die nicht allgemein für öffentliche Überprüfung oder Anpassung verfügbar sind.

Technischer Tiefblick in Llama 2

Für das Training des Llama-2-Modells wird, wie bei seinen Vorgängern, eine auto-regressive Transformer-Architektur verwendet, die auf einem umfangreichen Korpus selbstüberwachter Daten vorgebildet wurde. Allerdings fügt es eine zusätzliche Schicht von Raffinesse hinzu, indem es Reinforcement Learning mit menschlicher Rückmeldung (RLHF) verwendet, um es besser an menschliches Verhalten und Vorlieben anzupassen. Dies ist rechenintensiv, aber entscheidend für die Verbesserung der Sicherheit und Effektivität des Modells.

Meta Llama 2-Trainingsarchitektur

Meta Llama 2-Trainingsarchitektur

Pretraining & DatenEffizienz

Llama 2s grundlegende Innovation liegt in seinem Pretraining-Regime. Das Modell nimmt Anregungen von seinem Vorgänger, Llama 1, auf, aber es gibt mehrere entscheidende Verbesserungen, um seine Leistung zu steigern. Bemerkenswert ist eine 40-prozentige Erhöhung der Gesamtzahl der trainierten Token und eine Verdoppelung der Kontextlänge. Darüber hinaus nutzt das Modell gruppierte Abfrage-Aufmerksamkeit (GQA), um die Inferenzskalierbarkeit zu erhöhen.

Supervised Fine-Tuning (SFT) & Reinforcement Learning mit menschlicher Rückmeldung (RLHF)

Llama-2-Chat wurde sorgfältig mit SFT und RLHF feinabgestimmt. In diesem Zusammenhang dient SFT als integraler Bestandteil des RLHF-Rahmenwerks, um die Antworten des Modells an menschliche Vorlieben und Erwartungen anzupassen.

OpenAI hat eine aufschlussreiche Illustration bereitgestellt, die die SFT- und RLHF-Methoden erläutert, die in InstructGPT verwendet werden. Ähnlich wie LLaMa 2 nutzt auch InstructGPT diese fortschrittlichen Trainingsmethoden, um die Leistung seines Modells zu optimieren.

Schritt 1 in der folgenden Abbildung konzentriert sich auf Supervised Fine-Tuning (SFT), während die folgenden Schritte den Prozess des Reinforcement Learning mit menschlicher Rückmeldung (RLHF) abschließen.

Supervised Fine-Tuning (SFT) ist ein spezieller Prozess, der darauf abzielt, ein vorgebildetes Großsprachmodell (LLM) für eine bestimmte Downstream-Aufgabe zu optimieren. Im Gegensatz zu unüberwachten Methoden, die keine Datenvalidierung erfordern, verwendet SFT ein Dataset, das vorab validiert und beschriftet wurde.

Im Allgemeinen ist das Erstellen dieser Datensätze teuer und zeitaufwändig. Llama 2s Ansatz war Qualität vor Quantität. Mit nur 27.540 Annotationen erreichte Metas Team Leistungsstände, die mit denen menschlicher Annotatoren vergleichbar sind. Dies stimmt mit jüngsten Studien überein, die zeigen, dass sogar begrenzte, aber saubere Datensätze hochwertige Ergebnisse erzielen können.

Im SFT-Prozess wird das vorgebildete LLM einem beschrifteten Dataset ausgesetzt, wobei die überwachten Lernalgorithmen zum Einsatz kommen. Die internen Gewichte des Modells werden auf der Grundlage von Gradienten neu justiert, die aus einer Aufgaben-spezifischen Verlustfunktion berechnet werden. Diese Verlustfunktion quantifiziert die Diskrepanzen zwischen den Vorhersagen des Modells und den tatsächlichen Ground-Truth-Beschriftungen.

Diese Optimierung ermöglicht es dem LLM, die komplexen Muster und Nuancen zu erfassen, die in dem beschrifteten Dataset eingebettet sind. Folglich wird das Modell nicht nur zu einem generalisierten Werkzeug, sondern entwickelt sich zu einem spezialisierten Asset, das die Ziel-Aufgabe mit einem hohen Grad an Genauigkeit ausführen kann.

Reinforcement Learning ist der nächste Schritt, der darauf abzielt, das Modellverhalten noch enger an menschliche Vorlieben anzupassen.

Die Feinabstimmungsphase nutzte Reinforcement Learning mit menschlicher Rückmeldung (RLHF), wobei Techniken wie Importance Sampling und Proximal Policy Optimization verwendet wurden, um algorithmischen Rauschen einzuführen und so lokale Optima zu vermeiden. Diese iterative Feinabstimmung verbesserte nicht nur das Modell, sondern passte auch seine Ausgabe an menschliche Erwartungen an.

Llama 2-Chat verwendete ein binäres Vergleichsprotokoll, um menschliche Präferenzdaten zu sammeln, was einen bemerkenswerten Trend hin zu qualitativeren Ansätzen markiert. Dieses Verfahren informierte die Belohnungsmodelle, die dann verwendet wurden, um das konversationale KI-Modell feinzujustieren.

Ghost-Aufmerksamkeit: Multi-Turn-Dialoge

Meta führte eine neue Funktion ein, Ghost-Aufmerksamkeit (GAtt), die darauf ausgelegt ist, die Leistung von Llama 2 in Multi-Turn-Dialogen zu verbessern. Dies löst effektiv das anhaltende Problem des Kontextverlusts in laufenden Konversationen. GAtt wirkt wie ein Anker, der die initialen Anweisungen mit allen nachfolgenden Benachrichtigungen verbindet. In Kombination mit Reinforcement-Learning-Techniken hilft es dabei, konsistente, relevante und benutzerorientierte Antworten über längere Dialoge hinweg zu produzieren.

Von Meta Git-Repository mithilfe von download.sh

  1. Meta-Website besuchen: Navigieren Sie zu Metas offizieller Llama-2-Seite und klicken Sie auf “Das Modell herunterladen”.
  2. Details ausfüllen: Lesen Sie die Bedingungen und klicken Sie auf “Weiter”, um fortzufahren.
  3. E-Mail-Bestätigung: Sobald das Formular abgesendet wurde, erhalten Sie eine E-Mail von Meta mit einem Link zum Herunterladen des Modells aus ihrem Git-Repository.
  4. download.sh ausführen: Klonen Sie das Git-Repository und führen Sie das Skript download.sh aus. Dieses Skript fordert Sie auf, sich mithilfe einer URL von Meta zu authentifizieren, die in 24 Stunden abläuft. Sie können auch die Größe des Modells – 7B, 13B oder 70B – wählen.

Von Hugging

  1. Zugriffsberechtigung erhalten: Nachdem Sie von Meta Zugriff erhalten haben, gehen Sie zu Hugging Face.
  2. Zugriff anfordern: Wählen Sie das gewünschte Modell und senden Sie eine Anfrage, um Zugriff zu erhalten.
  3. Bestätigung: Erwarten Sie eine “Zugriff gewährt”-E-Mail innerhalb von 1-2 Tagen.
  4. Zugriffstoken generieren: Navigieren Sie zu “Einstellungen” in Ihrem Hugging-Face-Konto, um Zugriffstoken zu erstellen.

Die Transformers-4.31-Veröffentlichung ist vollständig mit LLaMa 2 kompatibel und bietet viele Tools und Funktionen innerhalb des Hugging-Face-Ökosystems. Von Trainings- und Inferenzskripten bis hin zu 4-Bit-Quantisierung mit Bitsandbytes und parameter-effizientem Feinabstimmung (PEFT) ist das Toolkit umfangreich. Um loszulegen, stellen Sie sicher, dass Sie die neueste Transformers-Veröffentlichung verwenden und in Ihrem Hugging-Face-Konto angemeldet sind.

Hier ist eine vereinfachte Anleitung zum Ausführen von LLaMa-2-Modellinferenz in einer Google-Colab-Umgebung, die eine GPU-Laufzeit nutzt:

Google-Colab-Modell - T4-GPU

Google-Colab-Modell – T4-GPU

 

 

 

 

 

 

Paketinstallation


<p>!pip install transformers
!huggingface-cli login

Notwendige Python-Bibliotheken importieren

from transformers import AutoTokenizer
import transformers
import torch

Modell und Tokenizer initialisieren

In diesem Schritt geben Sie an, welches Llama-2-Modell Sie verwenden werden. Für diese Anleitung verwenden wir meta-llama/Llama-2-7b-Chat-hf.

model = "meta-llama/Llama-2-7b-Chat-hf"
tokenizer = AutoTokenizer.from_pretrained(model)

Pipeline einrichten

Nutzen Sie die Hugging-Face-Pipeline für Textgenerierung mit bestimmten Einstellungen:

pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto")

Textsequenzen generieren

Führen Sie schließlich die Pipeline aus und generieren Sie eine Textsequenz basierend auf Ihrer Eingabe:

sequences = pipeline(
'Wer sind die wichtigsten Beiträger auf dem Gebiet der künstlichen Intelligenz?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"Ergebnis: {seq['generated_text']}")

A16Zs Benutzeroberfläche für LLaMa 2

Andreessen Horowitz (A16Z) hat kürzlich eine bahnbrechende Streamlit-basierte Chatbot-Oberfläche für Llama 2 gestartet. Auf GitHub gehostet, bewahrt diese Benutzeroberfläche die Chat-Verlaufsprotokolle und bietet auch die Flexibilität, zwischen mehreren LLaMa-2-API-Endpunkten auf Replicate auszuwählen. Diese benutzerzentrierte Gestaltung zielt darauf ab, die Interaktionen mit Llama 2 zu vereinfachen und es somit zu einem idealen Werkzeug für Entwickler und Endbenutzer zu machen. Für Interessierte ist ein Live-Demo auf Llama2.ai verfügbar.

Llama 2: Was unterscheidet es von GPT-Modellen und seinem Vorgänger Llama 1?

Vielfalt in der Größe

Im Gegensatz zu vielen Sprachmodellen, die eine begrenzte Skalierbarkeit bieten, bietet Llama 2 eine Vielzahl von Optionen für Modelle mit unterschiedlichen Parametern. Das Modell skaliert von 7 Milliarden bis 70 Milliarden Parametern, wodurch es eine Reihe von Konfigurationen bietet, um unterschiedliche Rechenanforderungen zu erfüllen.

Erhöhte Kontextlänge

Das Modell hat eine erhöhte Kontextlänge von 4K Token im Vergleich zu Llama 1. Dies ermöglicht es, mehr Informationen zu speichern und somit komplexere und umfangreichere Inhalte zu verstehen und zu generieren.

Gruppierte Abfrage-Aufmerksamkeit (GQA)

Die Architektur nutzt das Konzept der GQA, das darauf ausgelegt ist, die Aufmerksamkeitsberechnung durch Zwischenspeichern vorheriger Tokenpaare zu beschleunigen. Dies verbessert effektiv die Inferenzskalierbarkeit des Modells und erhöht somit die Zugänglichkeit.

Leistungsbenchmarks

Vergleichende Leistungsanalyse von Llama-2-Chat-Modellen mit ChatGPT und anderen Wettbewerbern

Leistungsanalyse von Llama-2-Chat-Modellen mit ChatGPT und anderen Wettbewerbern

Llama 2 hat einen neuen Standard in Leistungsmetriken gesetzt. Es übertrifft nicht nur seinen Vorgänger, Llama 1, sondern bietet auch eine erhebliche Konkurrenz für andere Modelle wie Falcon und GPT-3.5.

Llama 2-Chats größtes Modell, das 70B-Modell, übertrifft ChatGPT in 36 % der Fälle und erreicht in weiteren 31,5 % der Fälle eine gleichbleibende Leistung. Quelle: Paper

Open Source: Die Macht der Community

Meta und Microsoft beabsichtigen, dass Llama 2 mehr als nur ein Produkt ist; sie sehen es als ein communitygetriebenes Werkzeug. Llama 2 ist kostenlos für Forschung und nichtkommerzielle Zwecke verfügbar. Sie zielen darauf ab, die KI-Fähigkeiten zu demokratisieren und sie für Start-ups, Forscher und Unternehmen zugänglich zu machen. Ein Open-Source-Paradigma ermöglicht es, das Modell durch “Crowdsourced-Debugging” zu testen. Entwickler und KI-Ethiker können Schwachstellen identifizieren und Lösungen mit beschleunigter Geschwindigkeit anbieten.

Während die Lizenzbedingungen für LLaMa 2 im Allgemeinen permissiv sind, gibt es Ausnahmen. Große Unternehmen mit über 700 Millionen monatlichen Nutzern, wie Google, benötigen eine ausdrückliche Genehmigung von Meta für dessen Nutzung. Darüber hinaus verbietet die Lizenz die Verwendung von LLaMa 2 zur Verbesserung anderer Sprachmodelle.

Aktuelle Herausforderungen mit Llama 2

  1. Datengeneralisierung: Sowohl Llama 2 als auch GPT-4 haben manchmal Schwierigkeiten, eine einheitlich hohe Leistung über verschiedene Aufgaben hinweg zu erzielen. Datenqualität und -vielfalt sind ebenso wichtig wie der Umfang in diesen Szenarien.
  2. Modelltransparenz: Angesichts vorheriger Rückschläge mit KI, die irreführende Ausgaben produziert, ist es von entscheidender Bedeutung, die Entscheidungsfindung hinter diesen komplexen Modellen zu erforschen.

Code Llama – Metas neuester Launch

Meta hat kürzlich Code Llama angekündigt, ein großes Sprachmodell, das auf Programmierung spezialisiert ist und Parametergrößen von 7B bis 34B aufweist. Ähnlich wie ChatGPT-Code-Interpreter kann Code Llama Entwickler-Workflows rationalisieren und die Programmierung zugänglicher machen. Es unterstützt verschiedene Programmiersprachen und ist in spezialisierten Variationen wie Code Llama–Python für Python-spezifische Aufgaben verfügbar. Das Modell bietet auch verschiedene Leistungsstufen, um unterschiedliche Latenzanforderungen zu erfüllen. Offen lizenziert, lädt Code Llama die Community ein, zur laufenden Verbesserung beizutragen.

https://about.fb.com/news/2023/08/code-llama-ai-for-coding/

Schlussfolgerung

Dieser Artikel hat Sie durch die Einrichtung eines Llama-2-Modells für Textgenerierung auf Google Colab mit Hugging-Face-Unterstützung geführt. Llama 2s Leistung wird durch eine Reihe von fortschrittlichen Techniken angetrieben, von auto-regressiven Transformer-Architekturen bis hin zu Reinforcement Learning mit menschlicher Rückmeldung (RLHF). Mit bis zu 70 Milliarden Parametern und Funktionen wie Ghost-Aufmerksamkeit übertrifft dieses Modell die aktuellen Branchenstandards in bestimmten Bereichen und ebnet mit seiner offenen Natur den Weg für eine neue Ära in der natürlichen Sprachverarbeitung und generativen KI.

Ich habe die letzten fünf Jahre damit verbracht, mich in die faszinierende Welt des Machine Learning und Deep Learning zu vertiefen. Mein Engagement und meine Expertise haben mich dazu geführt, an über 50 verschiedenen Software-Entwicklungsprojekten mit einem besonderen Fokus auf AI/ML beizutragen. Meine anhaltende Neugier hat mich auch zum Bereich der Natural Language Processing hingezogen, einem Feld, das ich weiter erforschen möchte.