Vernetzen Sie sich mit uns

Schnelles Engineering

LLM-Feinabstimmung verstehen: Große Sprachmodelle an Ihre individuellen Anforderungen anpassen

mm
LLM-Feinabstimmungsdarstellung – Midjourney

Im September 2023 erlebt die Landschaft der Large Language Models (LLMs) immer noch den Aufstieg von Modellen wie Alpaca, Falcon, Lama 2, GPT-4 und viele andere.

Ein wichtiger Aspekt bei der Nutzung des Potenzials dieser LLMs liegt im Feinabstimmungsprozess, einer Strategie, die die Anpassung vorab trainierter Modelle ermöglicht, um bestimmte Aufgaben präzise zu erfüllen. Durch diese Feinabstimmung können diese Modelle wirklich auf individuelle Anforderungen abgestimmt werden und Lösungen bieten, die sowohl innovativ als auch auf individuelle Bedürfnisse zugeschnitten sind.

Es ist jedoch wichtig zu beachten, dass nicht alle Möglichkeiten zur Feinabstimmung gleich sind. Der Zugriff auf die Feinabstimmungsfunktionen des GPT-4 ist beispielsweise mit einem Aufpreis verbunden und erfordert ein kostenpflichtiges Abonnement, das im Vergleich zu anderen auf dem Markt verfügbaren Optionen relativ teurer ist. Andererseits wimmelt es im Open-Source-Bereich von Alternativen, die einen leichter zugänglichen Weg zur Nutzung der Leistungsfähigkeit großer Sprachmodelle bieten. Diese Open-Source-Optionen demokratisieren den Zugang zu fortschrittlicher KI-Technologie und fördern Innovation und Inklusivität in der sich schnell entwickelnden KI-Landschaft.

Warum ist die Feinabstimmung des LLM wichtig?

Die Feinabstimmung des LLM ist mehr als eine technische Verbesserung. Dies ist ein entscheidender Aspekt der LLM-Modellentwicklung, der eine spezifischere und verfeinerte Anwendung bei verschiedenen Aufgaben ermöglicht. Durch die Feinabstimmung werden die vorab trainierten Modelle so angepasst, dass sie besser zu bestimmten Datensätzen passen, wodurch ihre Leistung bei bestimmten Aufgaben verbessert und eine gezieltere Anwendung sichergestellt wird. Es bringt die bemerkenswerte Fähigkeit von LLMs zum Vorschein, sich an neue Daten anzupassen, und zeigt die Flexibilität, die für das ständig wachsende Interesse an KI-Anwendungen von entscheidender Bedeutung ist.

Die Feinabstimmung großer Sprachmodelle eröffnet vielfältige Möglichkeiten und ermöglicht es ihnen, sich in spezifischen Aufgabenbereichen – von der Sentimentanalyse bis hin zur medizinischen Literaturrecherche – zu beweisen. Durch die Anpassung des Basismodells an einen spezifischen Anwendungsfall eröffnen sich neue Möglichkeiten und verbessern die Effizienz und Genauigkeit des Modells. Darüber hinaus ermöglicht es eine sparsamere Nutzung der Systemressourcen, da die Feinabstimmung weniger Rechenleistung erfordert als das Training eines Modells von Grund auf.

Während wir tiefer in diesen Leitfaden einsteigen, werden wir die Feinheiten der LLM-Feinabstimmung besprechen und Ihnen einen umfassenden Überblick geben, der auf den neuesten Fortschritten und Best Practices auf diesem Gebiet basiert.

Anleitungsbasierte Feinabstimmung

Die Feinabstimmungsphase in der Generative KI Der in der folgenden Abbildung dargestellte Lebenszyklus ist durch die Integration von Befehlseingaben und -ausgaben sowie Beispiele für schrittweises Denken gekennzeichnet. Dieser Ansatz erleichtert es dem Modell, Antworten zu generieren, die nicht nur relevant sind, sondern auch genau auf die spezifischen Anweisungen abgestimmt sind, die ihm eingegeben werden. In dieser Phase werden die vorab trainierten Modelle angepasst, um unterschiedliche Aufgaben und Anwendungsfälle zu lösen, wobei personalisierte Datensätze zur Verbesserung ihrer Funktionalität verwendet werden.

Generativer KI-Lebenszyklus – Feinabstimmung, schnelles Engineering und RLHF

Generativer KI-Lebenszyklus – Feinabstimmung

Feinabstimmung einzelner Aufgaben

Die Feinabstimmung einzelner Aufgaben konzentriert sich auf die Verbesserung der Modellkompetenz für eine bestimmte Aufgabe, beispielsweise die Zusammenfassung. Dieser Ansatz eignet sich besonders für die Optimierung von Arbeitsabläufen mit umfangreichen Dokumenten oder Konversationsthreads, einschließlich juristischer Dokumente und Kundensupport-Tickets. Bemerkenswerterweise kann diese Feinabstimmung bereits mit einer relativ kleinen Anzahl von Beispielen (500 bis 1000) erhebliche Leistungssteigerungen erzielen – im Gegensatz zu den Milliarden von Token, die in der Vortrainingsphase verwendet wurden.

Beispielillustration für die Feinabstimmung einer Einzelaufgabe

Beispielillustration für die Feinabstimmung einer Einzelaufgabe

 

Grundlagen der LLM-Feinabstimmung von LLM: Transformatorarchitektur und darüber hinaus

Der Weg zum Verständnis der LLM-Feinabstimmung beginnt mit einem Verständnis der grundlegenden Elemente, die LLMs ausmachen. Das Herzstück dieser Modelle ist die Transformator-Architektur, ein neuronales Netzwerk, das Selbstaufmerksamkeitsmechanismen nutzt, um den Kontext von Wörtern gegenüber ihrer Nähe in einem Satz zu priorisieren. Dieser innovative Ansatz ermöglicht ein tieferes Verständnis der entfernten Beziehungen zwischen Token in der Eingabe.

Während wir durch die Feinheiten von Transformatoren navigieren, stoßen wir auf einen mehrstufigen Prozess, der beim Encoder beginnt. Diese Anfangsphase umfasst die Tokenisierung der Eingabe und die Erstellung von Einbettungsvektoren, die die Eingabe und ihre Position im Satz darstellen. Die folgenden Schritte umfassen eine Reihe von Berechnungen unter Verwendung von Matrizen, die als bekannt sind Abfrage, Wert und Wesentliche, was in einem Selbstaufmerksamkeits-Score gipfelt, der den Fokus auf verschiedene Teile des Satzes und verschiedene Token vorschreibt.

Transformator-Architektur

Transformator-Architektur

Die Feinabstimmung stellt eine kritische Phase in der Entwicklung von LLMs dar, ein Prozess, der subtile Anpassungen erfordert, um wünschenswertere Ergebnisse zu erzielen. Diese Phase ist zwar unerlässlich, stellt jedoch eine Reihe von Herausforderungen dar, einschließlich der Rechen- und Speicheranforderungen für die Verarbeitung einer großen Anzahl von Parametern. Parameter Efficient Fine-Tuning (PEFT) bietet Techniken zur Reduzierung der Anzahl der zu optimierenden Parameter und vereinfacht so den Trainingsprozess.

LLM-Vorschulung: Eine starke Basis schaffen

In den Anfangsphasen der LLM-Entwicklung steht das Vortraining im Mittelpunkt, wobei überparametrisierte Transformatoren als grundlegende Architektur verwendet werden. Dieser Prozess umfasst die Modellierung natürlicher Sprache auf verschiedene Arten, z. B. bidirektional, autoregressiv oder Sequenz-zu-Sequenz auf großen, unbeaufsichtigten Korpora. Das Ziel besteht darin, eine Grundlage zu schaffen, die später durch die Einführung aufgabenspezifischer Ziele für bestimmte nachgelagerte Aufgaben verfeinert werden kann.

Vorschulung, Feinabstimmung

Vorschulung, Feinabstimmung

Ein bemerkenswerter Trend in diesem Bereich ist die unvermeidliche Zunahme des Umfangs vorab trainierter LLMs, gemessen an der Anzahl der Parameter. Empirische Daten zeigen durchweg, dass größere Modelle in Verbindung mit mehr Daten fast immer eine bessere Leistung erzielen. Beispielsweise hat der GPT-3 mit seinen 175 Milliarden Parametern einen Maßstab für die Erzeugung hochwertiger natürlicher Sprache und die kompetente Ausführung einer Vielzahl von Zero-Shot-Aufgaben gesetzt.

Feinabstimmung: Der Weg zur Modellanpassung

Im Anschluss an die Vorschulung wird das LLM einer Feinabstimmung unterzogen, um es an spezifische Aufgaben anzupassen. Trotz der vielversprechenden Leistung, die das kontextbezogene Lernen in vorab trainierten LLMs wie GPT-3 zeigt, bleibt die Feinabstimmung in aufgabenspezifischen Umgebungen überlegen. Der vorherrschende Ansatz der vollständigen Parameter-Feinabstimmung stellt jedoch Herausforderungen dar, einschließlich hoher Rechen- und Speicheranforderungen, insbesondere beim Umgang mit groß angelegten Modellen.

Bei großen Sprachmodellen mit über einer Milliarde Parametern ist eine effiziente Verwaltung des GPU-RAM von entscheidender Bedeutung. Ein einzelner Modellparameter mit voller 32-Bit-Präzision erfordert 4 Byte Speicherplatz, was einem Bedarf von 4 GB GPU-RAM entspricht, nur um ein Modell mit 1 Milliarde Parametern zu laden. Der eigentliche Trainingsprozess erfordert noch mehr Speicher, um verschiedene Komponenten, einschließlich Optimiererzustände und -verläufe, unterzubringen, was möglicherweise bis zu 80 GB GPU-RAM für ein Modell dieser Größenordnung erfordert.

Um die Einschränkungen des GPU-RAM zu umgehen, wird Quantisierung verwendet. Dabei handelt es sich um eine Technik, die die Präzision von Modellparametern verringert und dadurch den Speicherbedarf senkt. Wenn Sie beispielsweise die Genauigkeit von 32-Bit auf 16-Bit ändern, kann der für das Laden und Trainieren des Modells benötigte Speicher halbiert werden. Später in diesem Artikel. Wir lernen etwas über Qlora, das das Quantisierungskonzept zur Abstimmung verwendet.

LLM GPU-Speicherbedarf bzgl. Anzahl der Parameter und Präzision

LLM GPU-Speicherbedarf bzgl. Anzahl der Parameter und Präzision

 

Erkundung der Kategorien von PEFT-Methoden

Bei der vollständigen Feinabstimmung großer Sprachmodelle ist es wichtig, über einen Rechenaufbau zu verfügen, der nicht nur die erheblichen Modellgewichte, die bei den fortschrittlichsten Modellen mittlerweile Größen im Hunderten von Gigabyte erreichen, effizient verarbeiten, sondern auch verwalten kann eine Reihe anderer kritischer Elemente. Dazu gehören die Zuweisung von Speicher für Optimiererzustände, die Verwaltung von Farbverläufen, Vorwärtsaktivierungen und die Erleichterung des temporären Speichers während verschiedener Phasen des Trainingsvorgangs.

Additive Methode

Diese Art der Abstimmung kann das vorab trainierte Modell um zusätzliche Parameter oder Ebenen erweitern und sich dabei auf das Training nur der neu hinzugefügten Parameter konzentrieren. Trotz der Erhöhung der Parameteranzahl verbessern diese Methoden die Trainingszeit und die Raumeffizienz. Die additive Methode ist weiter in Unterkategorien unterteilt:

  • Adapter: Einbeziehung kleiner, vollständig verbundener Netzwerke nach Transformator-Unterschichten, wobei bemerkenswerte Beispiele sind AdaMix, Kroneund Kompaktor.
  • Weiche Eingabeaufforderungen: Feinabstimmung eines Segments der Eingabeeinbettungen des Modells durch Gradientenabstieg mit IPT, Präfix-Tuning, wobei WARP prominente Beispiele sind.
  • Andere additive Ansätze: Beziehen Sie Techniken wie LeTS, AttentionFusion und Ladder-Side Tuning ein.

Selektive Methode

Selektive PEFTs optimieren eine begrenzte Anzahl von Deckschichten basierend auf Schichttyp und interner Modellstruktur. Diese Kategorie umfasst Methoden wie BitFit und LN Optimierung, die sich auf die Optimierung spezifischer Elemente wie Modellverzerrungen oder bestimmter Zeilen konzentriert.

Reparametrisierungsbasierte Methode

Diese Methoden nutzen Low-Rank-Darstellungen, um die Anzahl der trainierbaren Parameter zu reduzieren, wobei die bekannteste Methode Low-Rank Adaptation oder LoRA ist. Diese Methode nutzt eine einfache Matrixzerlegung mit niedrigem Rang, um die Gewichtsaktualisierung zu parametrisieren, und demonstriert so eine effektive Feinabstimmung in Unterräumen mit niedrigem Rang.

1) LoRA (Low-Rank-Anpassung)

LoRA entwickelte sich zu einer bahnbrechenden PEFT-Technik, die in einem Artikel von vorgestellt wurde Edward J. Hu und andere im Jahr 2021. Es arbeitet innerhalb der Reparametrisierungskategorie, friert die ursprünglichen Gewichte des LLM ein und integriert neue trainierbare Matrizen mit niedrigem Rang in jede Schicht der Transformer-Architektur. Dieser Ansatz verringert nicht nur die Anzahl der trainierbaren Parameter, sondern verringert auch die Trainingszeit und die erforderlichen Rechenressourcen und stellt somit eine effizientere Alternative zur vollständigen Feinabstimmung dar.

Um die Mechanismen von LoRA zu verstehen, muss man sich die Transformatorarchitektur noch einmal ansehen, bei der die Eingabeaufforderung einer Tokenisierung und Konvertierung in Einbettungsvektoren unterzogen wird. Diese Vektoren durchlaufen die Encoder- und/oder Decodersegmente des Transformators und treffen auf Selbstaufmerksamkeits- und Feed-Forward-Netzwerke, deren Gewichte vorab trainiert sind.

LoRA verwendet das Konzept von Singulärwertzerlegung (SVD). Im Wesentlichen zerlegt SVD eine Matrix in drei verschiedene Matrizen, von denen eine eine Diagonalmatrix ist, die singuläre Werte enthält. Diese singulären Werte 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.

Singularwertzerlegung (SVD) einer m × n-Rechteckmatrix

Singularwertzerlegung (SVD) der m × n-Matrix

Dieser Ansatz ermöglicht es LoRA, die wesentlichen Eigenschaften der Daten beizubehalten und gleichzeitig die Dimensionalität zu reduzieren, wodurch der Feinabstimmungsprozess optimiert wird.

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

Das zentrale Element dieser Strategie ist der Parameter „Rang“ („r“), der die Größe der Matrizen mit niedrigem Rang bestimmt. Eine sorgfältige Auswahl von „r“ kann selbst bei einem kleineren Wert beeindruckende Ergebnisse liefern und so eine Matrix mit niedrigem Rang mit weniger zu trainierenden Parametern erstellen. Diese Strategie wurde mithilfe von Open-Source-Bibliotheken wie HuggingFace Transformers effektiv umgesetzt und ermöglicht die Feinabstimmung von LoRA für verschiedene Aufgaben mit bemerkenswerter Effizienz.

2) QLoRA: Steigerung der LoRA-Effizienz

Aufbauend auf der von LoRA gelegten Grundlage minimiert QLoRA den Speicherbedarf weiter. Vorgestellt von Tim Dettmers und andere im Jahr 2023Es kombiniert Low-Rank-Adaption mit Quantisierung und verwendet ein 4-Bit-Quantisierungsformat namens NormalFloat or nf4. Quantisierung ist im Wesentlichen ein Prozess, der Daten von einer Darstellung mit höherem Informationsgehalt in eine Darstellung mit weniger Informationen überführt. Dieser Ansatz behält die Wirksamkeit von 16-Bit-Feinabstimmungsmethoden bei und dequantisiert die 4-Bit-Gewichte auf 16-Bit, wie es während der Rechenprozesse erforderlich ist.

Vergleich von Feinabstimmungsmethoden: QLORA erweitert LoRA mit 4-Bit-Präzisionsquantisierung und ausgelagerten Optimierern für die Verwaltung von Speicherspitzen

Vergleich von Feinabstimmungsmethoden: QLORA erweitert LoRA mit 4-Bit-Präzisionsquantisierung und ausgelagerten Optimierern für die Verwaltung von Speicherspitzen

QLoRA nutzt NumericFloat4 (nf4), zielt auf jede Schicht in der Transformatorarchitektur ab und führt das Konzept der doppelten Quantisierung ein, um den für die Feinabstimmung erforderlichen Speicherbedarf weiter zu verringern. Dies wird erreicht, indem eine Quantisierung der bereits quantisierten Konstanten durchgeführt wird. Diese Strategie vermeidet typische Gradienten-Checkpointing-Speicherspitzen durch den Einsatz von ausgelagerten Optimierern und einer einheitlichen Speicherverwaltung.

Guanaco, ein auf QLORA abgestimmtes Ensemble, setzt Maßstäbe bei Open-Source-Chatbot-Lösungen. Seine durch systematische menschliche und automatisierte Bewertungen validierte Leistung unterstreicht seine Dominanz und Effizienz auf diesem Gebiet.

Die 65B- und 33B-Versionen von Guanaco, verfeinert unter Verwendung einer modifizierten Version des OASST1 Datensatz, erweisen sich als hervorragende Konkurrenten für renommierte Modelle wie ChatGPT und sogar GPT-4.

Feinabstimmung durch Reinforcement Learning aus menschlichem Feedback

Reinforcement Learning from Human Feedback (RLHF) kommt ins Spiel, wenn vorab trainierte Sprachmodelle verfeinert werden, um sie besser an menschlichen Werten auszurichten. Dieses Konzept wurde 2017 von Open AI eingeführt und legte den Grundstein für eine verbesserte Zusammenfassung von Dokumenten und die Entwicklung von GPT anweisen.

Der Kern von RLHF ist das Reinforcement-Learning-Paradigma, eine Art maschinelles Lernverfahren, bei dem ein Agent lernt, wie man sich in einem verhält -Umgebung durch Aufführung Aktionen und empfangen PrämienEs ist eine Endlosschleife von Aktion und Feedback, bei dem der Agent einen Anreiz hat, Entscheidungen zu treffen, die die höchste Belohnung bringen.

Überträgt man dies auf den Bereich der Sprachmodelle, so heißt das Agent ist das Modell selbst, innerhalb der agierend -Umgebung eines bestimmten Kontextfensters und das Treffen von Entscheidungen auf der Grundlage dieser Zustand, die durch die aktuellen Token im Kontextfenster definiert wird. Der "Aktionsraum„umfasst alle potenziellen Token, aus denen das Modell auswählen kann, mit dem Ziel, den Token auszuwählen, der den menschlichen Vorlieben am besten entspricht.

Der RLHF-Prozess nutzt in großem Umfang menschliches Feedback und nutzt es zum Trainieren eines Belohnungsmodells. Dieses Modell spielt eine entscheidende Rolle bei der Führung des vorab trainierten Modells während des Feinabstimmungsprozesses und regt es dazu an, Ergebnisse zu generieren, die besser auf menschliche Werte abgestimmt sind. Es handelt sich um einen dynamischen und iterativen Prozess, bei dem das Modell durch eine Reihe von „Rollouts“ lernt, ein Begriff, der die Abfolge von Zuständen und Aktionen beschreibt, die im Kontext der Sprachgenerierung zu einer Belohnung führen.

Eines der bemerkenswerten Potenziale von RLHF liegt in der Personalisierung von KI-Assistenten. Sie lassen sich an die individuellen Vorlieben der Nutzer anpassen – sei es an ihren Humor oder ihre täglichen Routinen. Dies eröffnet Möglichkeiten für die Entwicklung von KI-Systemen, die nicht nur technisch versiert, sondern auch emotional intelligent sind und Nuancen in der menschlichen Kommunikation verstehen und darauf reagieren können.

Es ist jedoch wichtig zu beachten, dass RLHF keine narrensichere Lösung ist. Die Modelle sind immer noch anfällig dafür, unerwünschte Ergebnisse zu generieren, was auf die umfangreichen und oft unregulierten und voreingenommenen Daten zurückzuführen ist, auf denen sie trainiert werden.

Fazit

Der Feinabstimmungsprozess, ein entscheidender Schritt bei der Nutzung des vollen Potenzials von LLMs wie Alpaca, Falcon und GPT-4, ist verfeinert und fokussierter geworden und bietet maßgeschneiderte Lösungen für eine Vielzahl von Aufgaben.

Wir haben Single-Task-Fine-Tuning gesehen, das sich auf Modelle in bestimmten Rollen spezialisiert, und Parameter-Efficient Fine-Tuning (PEFT)-Methoden, einschließlich LoRA und QLoRA, die darauf abzielen, den Trainingsprozess effizienter und kostengünstiger zu gestalten. Diese Entwicklungen öffnen Türen zu hochentwickelten KI-Funktionalitäten für ein breiteres Publikum.

Darüber hinaus ist die Einführung von Reinforcement Learning from Human Feedback (RLHF) durch Open AI ein Schritt zur Entwicklung von KI-Systemen, die menschliche Werte und Vorlieben besser verstehen und sich besser an ihnen orientieren. Dies schafft die Voraussetzungen für KI-Assistenten, die nicht nur intelligent sind, sondern auch auf die Bedürfnisse einzelner Benutzer eingehen. RLHF und PEFT arbeiten synergetisch zusammen, um die Funktionalität und Effizienz von Large Language Models zu verbessern.

Während Unternehmen, Konzerne und Einzelpersonen versuchen, diese fein abgestimmten LLMs in ihre Abläufe zu integrieren, begrüßen sie im Grunde eine Zukunft, in der KI mehr als nur ein Werkzeug ist; Es ist ein Partner, der menschliche Kontexte versteht und sich an sie anpasst und innovative und personalisierte Lösungen anbietet.

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.