Prompt Engineering

Verständnis von LLM-Feinabstimmung: Anpassung von Large Language Models an individuelle Anforderungen

mm
LLM Fine tuning representation - Midjourney

Im September 2023 ist die Landschaft von Large Language Models (LLMs) noch immer geprägt von der Entwicklung von Modellen wie Alpaca, Falcon, Llama 2, GPT-4 und vielen anderen.

Ein wichtiger Aspekt der Nutzung des Potenzials dieser LLMs liegt in der Feinabstimmung, einer Strategie, die es ermöglicht, vorgefertigte Modelle für spezifische Aufgaben mit Präzision anzupassen. Durch diese Feinabstimmung können diese Modelle wirklich auf individuelle Anforderungen abgestimmt werden und innovative Lösungen bieten, die auf spezifische Bedürfnisse zugeschnitten sind.

Es ist jedoch wichtig zu beachten, dass nicht alle Feinabstimmungsmöglichkeiten gleichwertig sind. Zum Beispiel ist der Zugang zu den Feinabstimmungsfähigkeiten von GPT-4 nur mit einem kostenpflichtigen Abonnement möglich, das im Vergleich zu anderen Optionen auf dem Markt relativ teuer ist. Andererseits bietet die Open-Source-Domäne alternative Möglichkeiten, um den Zugang zu fortschrittlicher KI-Technologie zu demokratisieren und Innovation und Inklusivität in der sich schnell entwickelnden KI-Landschaft zu fördern.

Warum ist LLM-Feinabstimmung wichtig?

LLM-Feinabstimmung ist mehr als eine technische Verbesserung; es ist ein entscheidender Aspekt der LLM-Modellentwicklung, der es ermöglicht, die Modelle für spezifische Aufgaben mit Präzision anzupassen. Durch die Feinabstimmung können die vorgefertigten Modelle auf spezifische Datensätze abgestimmt werden, was ihre Leistung in bestimmten Aufgaben verbessert und eine gezieltere Anwendung ermöglicht. Dies ermöglicht es den LLMs, sich an neue Daten anzupassen und zeigt eine Flexibilität, die in der wachsenden Nachfrage nach KI-Anwendungen von entscheidender Bedeutung ist.

Die Feinabstimmung von Large Language Models eröffnet viele Möglichkeiten, da sie in spezifischen Aufgaben wie Sentiment-Analyse oder medizinischer Literaturübersicht hervorragend abschneiden können. Durch die Anpassung des Basismodells an einen spezifischen Anwendungsfall können neue Möglichkeiten erschlossen werden, was die Effizienz und Genauigkeit des Modells verbessert. Darüber hinaus ermöglicht die Feinabstimmung eine wirtschaftlichere Nutzung von Systemressourcen, da sie weniger Rechenleistung im Vergleich zum Training eines Modells von Grund auf erfordert.

Als wir tiefer in diese Anleitung eintauchen, werden wir die Feinheiten der LLM-Feinabstimmung diskutieren und Ihnen eine umfassende Übersicht basierend auf den neuesten Fortschritten und bewährten Methoden in diesem Bereich geben.

Feinabstimmung basierend auf Anweisungen

Die Feinabstimmungsphase im Generative-AI-Lebenszyklus, wie in der folgenden Abbildung dargestellt, ist durch die Integration von Anweisungseingaben und -ausgaben sowie Beispielen schrittweiser Argumentation gekennzeichnet. Dieser Ansatz ermöglicht es dem Modell, Antworten zu generieren, die nicht nur relevant, sondern auch genau auf die spezifischen Anweisungen abgestimmt sind, die in das Modell eingegeben werden. Es ist während dieser Phase, dass die vorgefertigten Modelle an spezifische Aufgaben und Anwendungsfälle angepasst werden, indem sie auf personalisierte Datensätze zurückgreifen, um ihre Funktionalität zu verbessern.

Generative AI-Lebenszyklus - Feinabstimmung, Prompt-Engineering und RLHF

Generative AI-Lebenszyklus – Feinabstimmung

Feinabstimmung für eine einzelne Aufgabe

Die Feinabstimmung für eine einzelne Aufgabe konzentriert sich auf die Spezialisierung des Modells auf eine bestimmte Aufgabe, wie zum Beispiel die Zusammenfassung. Dieser Ansatz ist besonders nützlich bei der Optimierung von Workflows, die umfangreiche Dokumente oder Konversationsthreads umfassen, einschließlich juristischer Dokumente und Kundenunterstützungstickets. Bemerkenswerterweise kann diese Feinabstimmung mit einer relativ kleinen Anzahl von Beispielen, die zwischen 500 und 1000 liegen, erhebliche Leistungsverbesserungen erzielen, im Gegensatz zu den Milliarden von Token, die in der Vorbereitung verwendet werden.

Beispiel für die Feinabstimmung für eine einzelne Aufgabe

Beispiel für die Feinabstimmung für eine einzelne Aufgabe

 

Grundlagen der LLM-Feinabstimmung: Transformer-Architektur und darüber hinaus

Der Weg zum Verständnis der LLM-Feinabstimmung beginnt mit dem Verständnis der grundlegenden Elemente, die LLMs ausmachen. Im Herzen dieser Modelle liegt die Transformer-Architektur, ein neuronales Netzwerk, das Selbstaufmerksamkeitsmechanismen nutzt, um die Kontextualisierung von Wörtern über ihre Nähe in einem Satz hinaus zu priorisieren. Dieser innovative Ansatz ermöglicht ein tieferes Verständnis der Beziehungen zwischen Token im Eingabeformat.

Wenn wir uns durch die Feinheiten der Transformer bewegen, stoßen wir auf einen mehrstufigen Prozess, der mit dem Encoder beginnt. Diese anfängliche Phase umfasst die Tokenisierung des Eingabewerts und die Erstellung von Embedding-Vektoren, die den Eingabewert und seine Position im Satz repräsentieren. Die nachfolgenden Stufen umfassen eine Reihe von Berechnungen mit Matrizen, die als Abfrage, Wert und Schlüssel bezeichnet werden, die in einer Selbstaufmerksamkeitsbewertung münden, die die Fokussierung auf verschiedene Teile des Satzes und verschiedene Token bestimmt.

Transformer-Architektur

Transformer-Architektur

Die Feinabstimmung ist eine kritische Phase in der Entwicklung von LLMs, bei der subtile Anpassungen vorgenommen werden, um wünschenswerte Ausgaben zu erzielen. Diese Phase ist zwar entscheidend, stellt aber auch eine Reihe von Herausforderungen dar, einschließlich der computationalen und Speicheranforderungen bei der Handhabung einer großen Anzahl von Parametern. Parameter-Effiziente Feinabstimmung (PEFT) bietet Techniken, um die Anzahl der zu feinabstimmenden Parameter zu reduzieren, wodurch der Trainingsprozess vereinfacht wird.

LLM-Vorbereitung: Schaffung einer soliden Grundlage

In den Anfangsphasen der LLM-Entwicklung steht die Vorbereitung im Mittelpunkt, bei der überparameterisierte Transformer als grundlegende Architektur verwendet werden. Dieser Prozess umfasst die Modellierung von natürlicher Sprache auf verschiedene Weise, wie bidirektional, autoregressiv oder Sequenz-zu-Sequenz auf großen, unüberwachten Korpora. Das Ziel hier ist es, eine Grundlage zu schaffen, die später für spezifische Downstream-Aufgaben durch die Einführung von Aufgaben-spezifischen Zielen feinabgestimmt werden kann.

Vorbereitung, Feinabstimmung

Vorbereitung, Feinabstimmung

Ein bemerkenswerter Trend in diesem Bereich ist die unvermeidliche Zunahme der Größe von vorgefertigten LLMs, gemessen an der Anzahl der Parameter. Empirische Daten zeigen konsistent, dass größere Modelle mit mehr Daten fast immer bessere Leistungen erbringen. Zum Beispiel hat das GPT-3 mit seinen 175 Milliarden Parametern einen Benchmark in der Generierung von hochwertiger natürlicher Sprache und der Ausführung einer Vielzahl von Zero-Shot-Aufgaben gesetzt.

Feinabstimmung: Der Weg zur Modellanpassung

Nach der Vorbereitung wird das LLM feinabgestimmt, um sich an spezifische Aufgaben anzupassen. Trotz der vielversprechenden Leistung, die durch in-context-Lernen in vorgefertigten LLMs wie GPT-3 gezeigt wird, bleibt die Feinabstimmung in Aufgaben-spezifischen Umgebungen überlegen. Allerdings stellt der gängige Ansatz der vollständigen Feinabstimmung aller Parameter Herausforderungen dar, einschließlich hoher computationaler und Speicheranforderungen, insbesondere bei der Handhabung von großen Modellen.

Für Large Language Models mit über einer Milliarde Parameter ist eine effiziente Verwaltung des GPU-Speichers von entscheidender Bedeutung. Ein einzelner Modellparameter bei voller 32-Bit-Präzision erfordert 4 Byte Speicherplatz, was einer Anforderung von 4 GB GPU-Speicher nur zum Laden eines 1-Milliarden-Parameter-Modells entspricht. Der tatsächliche Trainingsprozess erfordert sogar mehr Speicher, um verschiedene Komponenten wie Optimiererzustände und Gradienten zu accommodieren, was möglicherweise bis zu 80 GB GPU-Speicher für ein Modell dieser Größe erfordert.

Um die Einschränkungen des GPU-Speichers zu umgehen, wird Quantisierung verwendet, eine Technik, die die Präzision der Modellparameter reduziert und damit die Speicheranforderungen verringert. Zum Beispiel kann die Änderung der Präzision von 32 Bit auf 16 Bit den Speicherbedarf für das Laden und Trainieren des Modells halbieren. Später in diesem Artikel werden wir QLoRA kennenlernen, das den Quantisierungsansatz für die Feinabstimmung nutzt.

LLM-GPU-Speicheranforderung in Bezug auf die Anzahl der Parameter und die Präzision

LLM-GPU-Speicheranforderung in Bezug auf die Anzahl der Parameter und die Präzision

 

Erkundung der Kategorien von PEFT-Methoden

Bei der vollständigen Feinabstimmung von Large Language Models ist es wichtig, eine computationale Einrichtung zu haben, die nicht nur die erheblichen Modellgewichte, die für die fortschrittlichsten Modelle jetzt Größen im Bereich von hundert Gigabyte erreichen, effizient handhaben kann, sondern auch eine Reihe anderer kritischer Elemente. Dazu gehören die Zuweisung von Speicher für Optimiererzustände, die Verwaltung von Gradienten, Vorwärtsaktivierungen und die Bereitstellung von temporärem Speicher während verschiedenen Phasen des Trainingsprozesses.

Additive Methode

Diese Art der Feinabstimmung kann das vorgefertigte Modell mit zusätzlichen Parametern oder Schichten ergänzen, wobei nur die neu hinzugefügten Parameter trainiert werden. Trotz der Erhöhung der Parameterzahl verbessern diese Methoden die Trainingszeit und den Speicherbedarf. Die additive Methode ist weiter unterteilt in Subkategorien:

  • Adapter: Integrieren kleine, vollständig verbundene Netzwerke nach Transformer-Subschichten, mit bemerkenswerten Beispielen wie AdaMix, KronA und Compactor.
  • Soft-Prompts: Feinabstimmung eines Segments der Modell-Eingabe-Embeddings durch Gradientenabstieg, mit IPT, Prefix-Tuning und WARP als prominenten Beispielen.
  • Andere additive Ansätze: Umfassen Techniken wie LeTS, AttentionFusion und Ladder-Side-Tuning.

Selektive Methode

Selektive PEFTs feinabstimmen eine begrenzte Anzahl von oberen Schichten basierend auf Schichttyp und interner Modellstruktur. Diese Kategorie umfasst Methoden wie BitFit und LN-Tuning, die sich auf das Feinabstimmen spezifischer Elemente wie Modell-Biases oder bestimmter Zeilen konzentrieren.

Reparametrisierungs-basierte Methode

Diese Methoden nutzen niedrige Rangdarstellungen, um die Anzahl der trainierbaren Parameter zu reduzieren, wobei die bekannteste Low-Rank-Adaptation oder LoRA ist. Diese Methode nutzt eine einfache, niedrige Rang-Matrix-Zerlegung, um die Gewichtsaktualisierung zu parametrisieren, und zeigt eine effektive Feinabstimmung in niedrigen Rang-Unterräumen.

1) LoRA (Low-Rank-Adaptation)

LoRA trat als bahnbrechende PEFT-Technik in Erscheinung, die 2021 von Edward J. Hu und anderen vorgestellt wurde. Sie operiert innerhalb der Reparametrisierungskategorie, indem sie die ursprünglichen Gewichte des LLMs einfriert und neue, trainierbare, niedrige Rang-Matrizen in jede Schicht der Transformer-Architektur integriert. Dieser Ansatz reduziert nicht nur die Anzahl der trainierbaren Parameter, sondern verringert auch die Trainingszeit und die computationallyen Ressourcen, die erforderlich sind, und bietet damit eine effizientere Alternative zur vollständigen Feinabstimmung.

Um die Mechanik von LoRA zu verstehen, muss man die Transformer-Architektur betrachten, in der der Eingabeprompt tokenisiert und in Embedding-Vektoren umgewandelt wird. Diese Vektoren durchlaufen den Encoder- und/oder Decoder-Teil der Transformer-Architektur, wo sie Selbstaufmerksamkeits- und Feed-Forward-Netzwerke mit vorgefertigten Gewichten treffen.

LoRA nutzt das Konzept der Singular-Wert-Zerlegung (SVD). Im Wesentlichen zerlegt die SVD eine Matrix in drei verschiedene Matrizen, von denen eine eine Diagonalmatrix mit Singularwerten ist. Diese Singularwerte sind von entscheidender Bedeutung, da sie die Bedeutung verschiedener Dimensionen in den Matrizen messen, wobei größere Werte eine höhere Bedeutung und kleinere Werte eine geringere Bedeutung anzeigen.

Singular-Wert-Zerlegung (SVD) einer m × n-Matrix

Singular-Wert-Zerlegung (SVD) einer m × n-Matrix

Dieser Ansatz ermöglicht es LoRA, die wesentlichen Merkmale der Daten beizubehalten, während die Dimensionalität reduziert wird, und optimiert so den Feinabstimmungsprozess.

LoRA greift in diesen Prozess ein, indem es alle ursprünglichen Modellparameter einfriert und ein Paar “Rang-Zerlegungsmatrizen” neben den ursprünglichen Gewichten einführt. Diese kleineren Matrizen, bezeichnet als A und B, werden durch überwachtes Lernen trainiert.

Das entscheidende Element in dieser Strategie ist der Parameter “Rang” (‘r’), der die Größe der niedrigen Rang-Matrizen bestimmt. Eine sorgfältige Auswahl von ‘r’ kann beeindruckende Ergebnisse liefern, selbst bei einem kleineren Wert, und so eine niedrige Rang-Matrix mit weniger Parametern zum Trainieren erstellen. Diese Strategie wurde erfolgreich mit Open-Source-Bibliotheken wie HuggingFace-Transformers implementiert, was die LoRA-Feinabstimmung für verschiedene Aufgaben mit bemerkenswerter Effizienz ermöglicht.

2) QLoRA: Effizienz von LoRA noch höher

Aufbauend auf der Grundlage, die LoRA gelegt hat, minimiert QLoRA die Speicheranforderungen noch weiter. Eingeführt von Tim Dettmers und anderen im Jahr 2023, kombiniert es die niedrige Rang-Adaptation mit Quantisierung, indem es ein 4-Bit-Quantisierungsformat namens NormalFloat oder nf4 verwendet. Quantisierung ist im Wesentlichen ein Prozess, der Daten von einer höheren Informationsrepräsentation in eine mit weniger Information überführt. Dieser Ansatz behält die Effektivität von 16-Bit-Feinabstimmungsmethoden bei, indem die 4-Bit-Gewichte bei Bedarf während der Berechnungsprozesse auf 16 Bit dequantisiert werden.

Vergleich von Feinabstimmungsmethoden: QLORA verbessert LoRA mit 4-Bit-Präzisions-Quantisierung und paged Optimierern für die Verwaltung von Speicher-Spitzen

Vergleich von Feinabstimmungsmethoden: QLORA verbessert LoRA mit 4-Bit-Präzisions-Quantisierung und paged Optimierern für die Verwaltung von Speicher-Spitzen

QLoRA nutzt NumericFloat4 (nf4), das auf jede Schicht der Transformer-Architektur abzielt, und führt das Konzept der doppelten Quantisierung ein, um den Speicherbedarf für die Feinabstimmung weiter zu reduzieren. Dies wird erreicht, indem die Quantisierung auf bereits quantisierten Konstanten durchgeführt wird, eine Strategie, die typische Gradienten-Checkpoint-Speicher-Spitzen durch die Verwendung von paged Optimierern und einheitlicher Speicherverwaltung vermeidet.

Guanaco, das ein QLoRA-Feinabgestimmtes Ensemble ist, setzt einen Benchmark in Open-Source-Chatbot-Lösungen. Seine Leistung, die durch systematische menschliche und automatisierte Bewertungen validiert wurde, unterstreicht seine Dominanz und Effizienz in diesem Bereich.

Die 65B- und 33B-Versionen von Guanaco, die mit einer modifizierten Version des OASST1-Datensatz feinabgestimmt wurden, treten als starke Konkurrenten zu renommierten Modellen wie ChatGPT und sogar GPT-4 in Erscheinung.

Feinabstimmung mit Reinforcement Learning aus menschlicher Rückmeldung

Reinforcement Learning aus menschlicher Rückmeldung (RLHF) kommt ins Spiel, wenn vorgefertigte Sprachmodelle feinabgestimmt werden, um sich enger an menschliche Werte anzupassen. Dieses Konzept wurde 2017 von Open AI eingeführt und legte den Grundstein für eine verbesserte Dokumentenzusammenfassung und die Entwicklung von InstructGPT.

Im Kern von RLHF liegt das Reinforcement-Learning-Paradigma, eine Art maschinellen Lernens, bei dem ein Agent lernt, wie er sich in einer Umgebung verhält, indem er Aktionen ausführt und Belohnungen erhält. Es ist ein kontinuierlicher Kreislauf von Aktion und Rückmeldung, bei dem der Agent motiviert wird, Entscheidungen zu treffen, die die höchste Belohnung ergeben.

Wenn man dies auf den Bereich der Sprachmodelle überträgt, ist der Agent das Modell selbst, das in einem gegebenen Kontextfenster operiert und Entscheidungen auf der Grundlage des Zustands trifft, der durch die aktuellen Token im Kontextfenster definiert ist. Der “Aktionsraum” umfasst alle möglichen Token, die das Modell auswählen kann, wobei das Ziel darin besteht, das Token auszuwählen, das am engsten mit menschlichen Vorlieben übereinstimmt.

Der RLHF-Prozess nutzt menschliche Rückmeldung umfassend, um ein Belohnungsmodell zu trainieren. Dieses Modell spielt eine entscheidende Rolle bei der Führung des vorgefertigten Modells während des Feinabstimmungsprozesses, indem es das Modell dazu anregt, Ausgaben zu generieren, die enger mit menschlichen Werten übereinstimmen. Es ist ein dynamischer und iterativer Prozess, bei dem das Modell durch eine Reihe von “Rollouts” lernt, ein Begriff, der die Sequenz von Zuständen und Aktionen bezeichnet, die zu einer Belohnung im Kontext der Sprachgenerierung führen.

Eine der bemerkenswerten Potenziale von RLHF ist seine Fähigkeit, Personalisierung in KI-Assistenten zu fördern, indem sie auf die Vorlieben individueller Benutzer abgestimmt werden, sei es ihr Sinn für Humor oder ihre täglichen Routinen. Es öffnet Wege für die Schaffung von KI-Systemen, die nicht nur technisch kompetent, sondern auch emotional intelligent sind und in der Lage, Nuancen in der menschlichen Kommunikation zu verstehen und darauf zu reagieren.

Jedoch ist es wichtig zu beachten, dass RLHF keine perfekte Lösung ist. Die Modelle sind immer noch anfällig für die Generierung unerwünschter Ausgaben, ein Spiegelbild der umfassenden und oft unregulierten und voreingenommenen Daten, auf denen sie trainiert werden.

Schlussfolgerung

Der Feinabstimmungsprozess, ein kritischer Schritt bei der Nutzung des vollen Potenzials von LLMs wie Alpaca, Falcon und GPT-4, ist nun verfeinert und zielgerichteter, wodurch maßgeschneiderte Lösungen für eine breite Palette von Aufgaben angeboten werden.

Wir haben die Feinabstimmung für eine einzelne Aufgabe gesehen, die sich auf die Spezialisierung des Modells auf eine bestimmte Aufgabe konzentriert, und die Parameter-Effiziente Feinabstimmung (PEFT), einschließlich LoRA und QLoRA, die darauf abzielen, den Trainingsprozess effizienter und kostengünstiger zu machen. Diese Entwicklungen öffnen Türen zu hochentwickelten KI-Funktionen für ein breiteres Publikum.

Darüber hinaus hat die Einführung von Reinforcement Learning aus menschlicher Rückmeldung (RLHF) durch Open AI den Weg für die Schaffung von KI-Systemen geebnet, die menschliche Werte und Vorlieben besser verstehen und sich an sie anpassen, was den Grundstein für KI-Assistenten legt, die nicht nur intelligent, sondern auch empathisch und auf die Bedürfnisse individueller Benutzer abgestimmt sind. Sowohl RLHF als auch PEFT arbeiten zusammen, um die Funktionalität und Effizienz von Large Language Models zu verbessern.

Wenn Unternehmen, Unternehmen und Einzelpersonen diese feinabgestimmten LLMs in ihre Betriebe integrieren, begrüßen sie im Wesentlichen eine Zukunft, in der KI mehr als nur ein Werkzeug ist; sie ist ein Partner, der menschliche Kontexte versteht und sich an sie anpasst, und bietet Lösungen, die innovativ und personalisiert sind.

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.