Vernetzen Sie sich mit uns

Künstliche Intelligenz

Lama 2: Ein tiefer Einblick in den Open-Source-Herausforderer von ChatGPT

mm
META LLAMA 2 LLM

Large Language Models (LLMs), die komplexe Denkaufgaben bewältigen können, haben sich in spezialisierten Bereichen wie Programmierung und kreativem Schreiben als vielversprechend erwiesen. Die Welt der LLMs ist jedoch kein Plug-and-Play-Paradies; es gibt Herausforderungen in Bezug auf Benutzerfreundlichkeit, Sicherheit und Rechenleistung. In diesem Artikel werden wir die Möglichkeiten von Lama 2, und bietet gleichzeitig eine detaillierte Anleitung zum Einrichten dieses leistungsstarken LLM über Hugging Face und T4-GPUs auf Google Colab.

Dieses von Meta in Zusammenarbeit mit Microsoft entwickelte Open-Source-Modell für große Sprachen zielt darauf ab, die Bereiche generative KI und natürliches Sprachverständnis neu zu definieren. Llama 2 ist nicht nur ein weiteres statistisches Modell, das mit Terabytes an Daten trainiert wurde; es verkörpert eine Philosophie. Eine Philosophie, die einen Open-Source-Ansatz als Rückgrat der KI-Entwicklung, insbesondere im Bereich der generativen KI, betont.

Llama 2 und sein dialogoptimierter Ersatz, Llama 2-Chat, sind mit bis zu 70 Milliarden Parametern ausgestattet. Sie durchlaufen einen Feinabstimmungsprozess, der darauf abzielt, sie eng an die menschlichen Vorlieben anzupassen und sie so sicherer und effektiver als viele andere öffentlich verfügbare Modelle zu machen. Dieses Maß an Granularität bei der Feinabstimmung ist häufig geschlossenen „Produkt“-LLMs vorbehalten, wie z ChatGPT und BARD, die im Allgemeinen nicht zur öffentlichen Prüfung oder Anpassung verfügbar sind.

Technischer Deep Dive von Llama 2

Zum Trainieren des Modells Llama 2; Wie seine Vorgänger verwendet es eine automatische Regression Transformator-Architektur, vortrainiert anhand eines umfangreichen Korpus selbstüberwachter Daten. Es fügt jedoch eine zusätzliche Ebene der Komplexität hinzu, indem es Reinforcement Learning mit menschlichem Feedback (RLHF) verwendet, um sich 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

Vorschulung und Dateneffizienz

Die grundlegende Innovation von Llama 2 liegt im Vortraining. Das Modell orientiert sich an seinem Vorgänger Llama 1, bietet aber einige entscheidende Verbesserungen zur Leistungssteigerung. Besonders hervorzuheben sind eine 40-prozentige Steigerung der Gesamtzahl der trainierten Token und eine Verdoppelung der Kontextlänge. Darüber hinaus nutzt das Modell die Grouped-Query-Attention (GQA), um die Skalierbarkeit der Inferenz zu erhöhen.

Supervised Fine-Tuning (SFT) und Reinforcement Learning with Human Feedback (RLHF)

Llama-2-chat wurde mithilfe von SFT und Reinforcement Learning with Human Feedback (RLHF) rigoros optimiert. SFT dient dabei als integraler Bestandteil des RLHF-Frameworks und verfeinert die Antworten des Modells, um sie optimal an menschliche Vorlieben und Erwartungen anzupassen.

OpenAI hat eine aufschlussreiche Illustration bereitgestellt, die die in InstructGPT verwendeten SFT- und RLHF-Methoden erklärt. Ähnlich wie LLaMa 2 nutzt auch InstructGPT diese fortschrittlichen Trainingstechniken, um die Leistung seines Modells zu optimieren.

Schritt 1 im Bild unten konzentriert sich auf Supervised Fine-Tuning (SFT), während die nachfolgenden Schritte den Reinforcement Learning from Human Feedback (RLHF)-Prozess abschließen.

Supervised Fine-Tuning (SFT) ist ein spezialisierter Prozess zur Optimierung eines vortrainierten Large Language Model (LLM) für eine bestimmte nachgelagerte Aufgabe. Im Gegensatz zu unüberwachten Methoden, die keine Datenvalidierung erfordern, verwendet SFT einen vorab validierten und gekennzeichneten Datensatz.

Die Erstellung dieser Datensätze ist in der Regel kostspielig und zeitaufwändig. Der Ansatz von Llama 2 war Qualität vor Quantität. Mit nur 27,540 Annotationen erreichte Metas Team ein Leistungsniveau, das mit menschlichen Annotatoren konkurrieren konnte. Dies passt gut zu aktuelle Studien Dies zeigt, dass selbst begrenzte, aber saubere Datensätze zu qualitativ hochwertigen Ergebnissen führen können.

Im SFT-Prozess wird das vortrainierte LLM einem beschrifteten Datensatz ausgesetzt, wo die überwachten Lernalgorithmen ins Spiel kommen. Die internen Gewichte des Modells werden anhand von Gradienten neu kalibriert, die aus einer aufgabenspezifischen Verlustfunktion berechnet werden. Diese Verlustfunktion quantifiziert die Abweichungen zwischen den vorhergesagten Ausgaben des Modells und den tatsächlichen Ground-Truth-Beschriftungen.

Diese Optimierung ermöglicht es dem LLM, die komplizierten Muster und Nuancen zu erfassen, die im gekennzeichneten Datensatz eingebettet sind. Folglich ist das Modell nicht nur ein verallgemeinertes Werkzeug, sondern entwickelt sich zu einem spezialisierten Vermögenswert, der in der Lage ist, die Zielaufgabe mit einem hohen Maß an Genauigkeit auszuführen.

Reinforcement Learning ist der nächste Schritt, der darauf abzielt, das Modellverhalten stärker an den menschlichen Vorlieben auszurichten.

Die Optimierungsphase nutzte Reinforcement Learning from Human Feedback (RLHF) und verwendete Techniken wie Wichtigkeits-Sampling sowie Proximale Richtlinienoptimierung algorithmisches Rauschen einzuführen und so lokale Optima zu umgehen. Diese iterative Feinabstimmung verbesserte nicht nur das Modell, sondern passte seine Ausgabe auch an die menschlichen Erwartungen an.

Der Llama 2-Chat nutzte ein binäres Vergleichsprotokoll, um menschliche Präferenzdaten zu sammeln, was einen bemerkenswerten Trend hin zu qualitativeren Ansätzen markiert. Dieser Mechanismus informiert die Belohnungsmodelle, die dann zur Feinabstimmung des Konversations-KI-Modells verwendet werden.

Ghost Attention: Multi-Turn-Dialoge

Meta hat eine neue Funktion eingeführt: Ghost Attention (GAtt), die die Leistung von Llama 2 in mehrstufigen Dialogen verbessern soll. Dies löst effektiv das anhaltende Problem des Kontextverlusts in laufenden Gesprächen. GAtt fungiert als Anker und verknüpft die anfänglichen Anweisungen mit allen nachfolgenden Benutzernachrichten. In Verbindung mit Reinforcement-Learning-Techniken trägt es dazu bei, konsistente, relevante und benutzerorientierte Antworten über längere Dialoge hinweg zu generieren.

Aus dem Meta-Git-Repository mit download.sh

  1. Besuchen Sie die Meta-Website: Navigieren zu Metas offizielle Llama 2-Site und klicken Sie auf „Modell herunterladen“.
  2. Füllen Sie die Details aus: Lesen Sie die Allgemeinen Geschäftsbedingungen durch und akzeptieren Sie sie, um fortzufahren.
  3. E-Mail-Bestätigung: Sobald das Formular abgeschickt wurde, erhalten Sie eine E-Mail von Meta mit einem Link zum Herunterladen des Modells aus ihrem Git-Repository.
  4. Führen Sie download.sh aus: Klonen Sie das Git-Repository und führen Sie es aus download.sh Skript. Dieses Skript fordert Sie zur Authentifizierung mit einer URL von Meta auf, die in 24 Stunden abläuft. Sie wählen auch die Größe des Modells aus: 7B, 13B oder 70B.

Von Hugging Face

  1. Erhalten Sie eine Annahme-E-Mail: Nachdem Sie Zugriff von Meta erhalten haben, gehen Sie zu Gesicht umarmen.
  2. Anfrage Zugang: Wählen Sie Ihr Wunschmodell und stellen Sie einen Antrag auf Zugangsgewährung.
  3. Bestätigung: Erwarten Sie innerhalb von 1–2 Tagen eine E-Mail mit der Bestätigung, dass der Zugriff gewährt wurde.
  4. Zugriffstoken generieren: Navigieren Sie in Ihrem Hugging Face-Konto zu „Einstellungen“, um Zugriffstoken zu erstellen.

Transformers 4.31 ist vollständig kompatibel mit LLaMa 2 und eröffnet zahlreiche Tools und Funktionen innerhalb des Hugging Face-Ökosystems. Von Trainings- und Inferenzskripten über 4-Bit-Quantisierung mit Bitsandbytes bis hin zu Parameter Efficient Fine-tuning (PEFT) ist das Toolkit umfangreich. Stellen Sie zunächst sicher, dass Sie die neueste Transformers-Version verwenden und mit Ihrem Hugging Face-Konto angemeldet sind.

Hier ist eine vereinfachte Anleitung zum Ausführen der LLaMa 2-Modellinferenz in einem Google Colab Umgebung unter Nutzung einer GPU-Laufzeit:

Google Colab-Modell – T4-GPU

Google Colab-Modell – T4-GPU

 

 

 

 

 

 

Paketinstallation

!pip install transformers
!huggingface-cli login

Importieren Sie die erforderlichen Python-Bibliotheken.

from transformers import AutoTokenizer
import transformers
import torch

Initialisieren Sie das Modell und den Tokenizer

Geben Sie in diesem Schritt an, welches Llama 2-Modell Sie verwenden möchten. 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)

Richten Sie die Pipeline ein

Nutzen Sie die Hugging Face-Pipeline zur Textgenerierung mit bestimmten Einstellungen:

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

Textsequenzen generieren

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

sequences = pipeline(
    'Who are the key contributors to the field of artificial intelligence?\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"Result: {seq['generated_text']}")

A16Zs Benutzeroberfläche für LLaMa 2

Andreessen Horowitz (A16Z) hat kürzlich eine hochmoderne, auf Streamlit basierende Chatbot-Schnittstelle eingeführt, die speziell auf Llama 2 zugeschnitten ist. Diese auf GitHub gehostete Benutzeroberfläche speichert den Sitzungs-Chat-Verlauf und bietet außerdem die Flexibilität, aus mehreren gehosteten Llama 2-API-Endpunkten auszuwählen Replizieren. Dieses benutzerzentrierte Design zielt darauf ab, die Interaktion mit Llama 2 zu vereinfachen und es zu einem idealen Werkzeug sowohl für Entwickler als auch für Endbenutzer zu machen. Für diejenigen, die daran interessiert sind, dies zu erleben, ist eine Live-Demo verfügbar unter Lama2.ai.

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

Vielfalt im Maßstab

Im Gegensatz zu vielen Sprachmodellen, die eine begrenzte Skalierbarkeit bieten, bietet Ihnen Llama 2 eine Reihe verschiedener Optionen für Modelle mit unterschiedlichen Parametern. Das Modell lässt sich von 7 bis 70 Milliarden Parametern skalieren und bietet so eine Reihe von Konfigurationen für unterschiedliche Rechenanforderungen.

Erweiterte Kontextlänge

Das Modell verfügt über eine größere Kontextlänge von 4K-Tokens als Llama 1. Dadurch kann es mehr Informationen behalten und somit seine Fähigkeit verbessern, komplexere und umfangreichere Inhalte zu verstehen und zu generieren.

Grouped Query Attention (GQA)

Die Architektur verwendet das Konzept von GQA, entwickelt, um den Aufmerksamkeitsberechnungsprozess durch Zwischenspeichern vorheriger Token-Paare zu beschleunigen. Dies verbessert effektiv die Skalierbarkeit der Inferenz des Modells und erhöht 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 Sachen Leistungsmetriken gesetzt. Es übertrifft nicht nur seinen Vorgänger LLama 1, sondern bietet auch erhebliche Konkurrenz zu anderen Modellen wie Falcon und GPT-3.5.

Auch das größte Modell von Llama 2-Chat, das 70B, übertrifft ChatGPT in 36 % der Fälle und erreicht in weiteren 31.5 % der Fälle die gleiche Leistung. Quelle: Papier

Open Source: Die Kraft der Gemeinschaft

Meta und Microsoft wollen mit Llama 2 mehr als nur ein Produkt schaffen; sie sehen es als Community-basiertes Tool. Llama 2 ist sowohl für Forschungs- als auch für nicht-kommerzielle Zwecke kostenlos zugänglich. Ziel ist es, KI-Fähigkeiten zu demokratisieren und sie für Start-ups, Forscher und Unternehmen zugänglich zu machen. Ein Open-Source-Paradigma ermöglicht die Crowdsourcing-Fehlerbehebung des Modells. Entwickler und KI-Ethiker können Stresstests durchführen, Schwachstellen identifizieren und Lösungen in beschleunigtem Tempo anbieten.

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

Aktuelle Herausforderungen mit Lama 2

  1. Datenverallgemeinerung: Sowohl Llama 2 als auch GPT-4 geraten manchmal bei gleichmäßig hoher Leistung bei unterschiedlichen Aufgaben ins Stocken. Datenqualität und -vielfalt sind in diesen Szenarien ebenso entscheidend wie das Volumen.
  2. Modelltransparenz: Angesichts früherer Rückschläge bei der Erzeugung irreführender Ergebnisse durch KI ist die Erforschung der Entscheidungsgründe hinter diesen komplexen Modellen von größter Bedeutung.

Code Llama – Metas neuste Veröffentlichung

Meta hat kürzlich angekündigt Code Lama Dabei handelt es sich um ein großes Sprachmodell, das auf die Programmierung mit Parametergrößen von 7B bis 34B spezialisiert ist. Ähnlich zu ChatGPT-Code-Interpreter; Code Llama kann Entwickler-Workflows rationalisieren und die Programmierung leichter zugänglich machen. Es unterstützt verschiedene Programmiersprachen und ist in speziellen Varianten erhältlich, beispielsweise als Code Llama–Python für Python-spezifische Aufgaben. Das Modell bietet außerdem verschiedene Leistungsstufen, um unterschiedlichen Latenzanforderungen gerecht zu werden. Code Llama ist offen lizenziert und lädt die Community zu Beiträgen zur kontinuierlichen Verbesserung ein.

Wir stellen Code Llama vor, ein KI-Tool zum Codieren

Fazit

Dieser Artikel hat Sie durch die Einrichtung eines Llama 2-Modells für die Textgenerierung in Google Colab mit Hugging Face-Unterstützung geführt. Die Leistung von Llama 2 wird durch eine Reihe fortschrittlicher Techniken unterstützt, von autoregressiven Transformer-Architekturen bis hin zu Reinforcement Learning with Human Feedback (RLHF). Mit bis zu 70 Milliarden Parametern und Funktionen wie Ghost Attention übertrifft dieses Modell in bestimmten Bereichen aktuelle Industriestandards und ebnet mit seiner offenen Natur den Weg für eine neue Ära des natürlichen Sprachverständnisses und der generativen KI.

Ich habe die letzten fünf Jahre damit verbracht, in die faszinierende Welt des maschinellen Lernens und des Deep Learning einzutauchen. Meine Leidenschaft und mein Fachwissen haben dazu geführt, dass ich an über 50 verschiedenen Software-Engineering-Projekten mitgewirkt habe, mit besonderem Schwerpunkt auf KI/ML. Meine anhaltende Neugier hat mich auch zur Verarbeitung natürlicher Sprache geführt, einem Bereich, den ich gerne weiter erforschen möchte.