Sollten wir ein großes Sprachmodell feinabstimmen, um diesen Anwendungsfall zu ermöglichen?
Oder sind andere Techniken besser geeignet?
Bei ML6 ist das wohl die Frage Nr. 1, die wir von Kunden bezüglich der Verwendung von großen Sprachmodellen (LLMs) erhalten.
Kurz gesagt, die Wahl der Technik läuft auf einen Unterschied in den Ambitionen hinaus:
Beachten Sie, dass es sich bei diesen Zielen nicht um ausschließliche Alternativen handelt; für viele Anwendungsfälle möchten Sie vielleicht sowohl das Verhalten des Modells ändern als auch sicherstellen, dass Ihr Modell Zugang zu den richtigen Informationen hat.
An diejenigen, die jetzt denken: "Hey, aber kann ich nicht auch Wissen durch Feinabstimmung hinzufügen? Sollte ich einen LLM nicht mit meiner privaten Wissensbasis verfeinern?". Ihnen könnten wir sagen: "Hey, danke für diese spontane Bemerkung. Nun, ja, das mag möglich sein, aber es ist wahrscheinlich nicht die effizienteste Art, Wissen hinzuzufügen, und es ist auch nicht wirklich transparent und überschaubar." Wenn Sie speziell daran interessiert sind, dass ein LLM auf spezifisches Wissen in einer wartbaren Weise zugreift, verweisen wir Sie auf unseren Beitrag über die Nutzung von LLMs in Ihrer domänenspezifischen Wissensbasis.
Denjenigen, die diese Bemerkung nicht gemacht haben, sagen wir: "Na, dann wollen wir mal". Aber nicht bevor wir einige inspirierende, einleitende Worte von Billiam Bookworm gehört haben.
In diesem Beitrag werden wir Ihnen ein Verständnis für die Feinabstimmung vermitteln und Ihnen ein Werkzeug an die Hand geben, mit dem Sie fundierte Entscheidungen treffen können. Natürlich ist dieses Werkzeug dasjenige, das schon lange vor der Erfindung des Computers alle Werkzeuge beherrscht hat: das Flussdiagramm. Vielleicht ändern sich die Zeiten nicht?
Um zu verstehen, was durch Feinabstimmung erreicht werden kann und was nicht, müssen wir auf einer gewissen Ebene verstehen, worauf sich dieser Prozess eigentlich bezieht. Wovon gehen wir aus und wie wirken wir uns auf das Modell aus? Wir möchten Sie darauf hinweisen, dass dieser Abschnitt ein wenig technisch sein kann, aber für ein gutes Verständnis der Feinabstimmung entscheidend ist.
Zusammenfassend lässt sich sagen, dass ein großes Sprachmodell in drei verschiedenen Schritten aufgebaut wird:
Die obige Erklärung sollte Ihnen ein erstes Verständnis dafür vermitteln, was die Feinabstimmung bewirkt und warum sie notwendig ist. Um Ihr Verständnis zu vertiefen, wollen wir uns ein Beispiel ansehen:
Das obige Beispiel zeigt, wie die Abhängigkeit vomunüberwachten Lernen allein zu kurz greift. Das Modell hat zwar eine Menge Wissen erworben, weiß aber nicht, wie es damit umgehen soll. Für ein Modell, das lediglich die nächsten Wörter vorhersagt, kann eine Frage die wahrscheinlichste Fortsetzung einer früheren Frage sein, da es beim Lernen aus seinen Unmengen von Daten geringer Qualität wahrscheinlich auf eine ganze Reihe von Tests und Folgefragen gestoßen ist.
Aber keine Angst, denn die überwachte Feinabstimmung rettet den Tag! Nach dem Sammeln von Tonnen von Wissen aus Daten geringer Qualität zielt der SFT-Prozess darauf ab, das Verhalten des Modells richtig zu machen. Dies geschieht, indem dem Modell ein Beispielverhalten vorgeführt wird und es so optimiert wird, dass es dieses nachahmt. Auf diese Weise lernt das Modell zu verstehen: "Wenn mir eine Frage gestellt wird, muss ich wohl versuchen, eine Antwort zu formulieren".
Dies ist das traditionelle überwachte Lernen. Was das volle Potenzial dieser Modelle zu entfesseln scheint, ist der RLHF-Schritt. Wir wollen nicht zu sehr ins Detail gehen, aber dieser Prozess zielt darauf ab, das Modell so zu lenken, dass es sich so verhält, wie Menschen es angegeben haben (daher der Name: Reinforcement Learning from Human Feedback). Um die Vorteile von RLHF nutzen zu können, muss zunächst ein Belohnungsmodell erstellt werden, das die Belohnungspunkte für bestimmte Antworten berechnet. Und das erfordert einen erheblichen Aufwand an Beschriftung und technischer Arbeit.
Wenn es darum geht, das Verhalten des Modells zu beeinflussen, ist die SFT glücklicherweise der entscheidende Schritt. Sie zeigt beispielhaft, wie sich das Modell verhalten soll. RLHF verfeinert das dann weiter, weil es für uns Menschen einfacher ist, Ihnen einfach zu zeigen, was wir bevorzugen, als es selbst anhand von Beispielen zu erklären.
Machen Sie keinen Fehler. Die Aufbereitung der für die Durchführung von SFT erforderlichen Daten ist keine leichte Aufgabe. Tatsächlich war das Team von OpenAI bei der Entwicklung von GPT-3 auf die Mitarbeit von Freiberuflern angewiesen, um beschriftete Daten (sowohl für den SFT- als auch den RLHF-Prozess) bereitzustellen. Da sie sich der Bedeutung dieser Aufgabe bewusst sind, haben sie darauf geachtet, dass die Beschrifter gut ausgebildet sind. Das zeigen die Ergebnisse einer Umfrage, die OpenAI im Rahmen ihres Papiers über "Learning to summarise from human feedback" durchgeführt hat.
Im letzten Abschnitt dieses Beitrags werden wir näher darauf eingehen, was Sie benötigen, um die Feinabstimmung tatsächlich durchzuführen. Doch zunächst möchten wir Ihnen einen praktischen Leitfaden an die Hand geben, mit dem Sie entscheiden können, wann Sie zu SFT greifen sollten und wann Sie ohne SFT weitermachen können.
Wie Sie vielleicht wissen, können selbst Closed-Source-Modelle (bei denen Sie keinen tatsächlichen Zugriff auf die Modellparameter selbst haben) eine Feinabstimmung über eine API ermöglichen. In diesem Zusammenhang hat OpenAI (23. August) die Feinabstimmung von GPT-3.5 veröffentlicht. Dies erweitert die Möglichkeiten für die breite Öffentlichkeit, sich an der Feinabstimmung von Modellen zu beteiligen. Das wirft die Frage auf, wann man es tatsächlich tun sollte (wie die am häufigsten gestellte Frage nach der Feinabstimmung-API beweist).
Im Folgenden stellen wir Ihnen ein Flussdiagramm vor, das Ihnen helfen soll, sich in den unruhigen Gewässern einer fundierten LLM-Entscheidung zurechtzufinden.
Beachten Sie, dass wir ausdrücklich zwischen Wissen und Verhalten unterscheiden.
Was die Verhaltensseite betrifft, würden wir im Einklang mit dem , was Andrej Karpathy im Mai gesagt hat, folgenden Ansatz für die Entwicklung Ihres LLM-Anwendungsfalls vorschlagen:
Stellen Sie sich vor, Sie haben sich für ein Prompting-Verfahren entschieden, das gut funktioniert, aber Sie haben eine gigantische Anzahl von Anfragen und die Sache wird teuer? Dann könnte es interessant sein, das LLM selbst zu hosten und eine Feinabstimmung vor zunehmen, um die Anzahl der Wörter zu reduzieren, die bei jedem Aufruf durch das System gejagt werden.
Oder was ist, wenn Sie eine Aufgabe haben, die so einfach ist, dass Sie das richtige Verhalten leicht durch Zero-Shot Prompting erreichen können, aber die Kosten pro Aufgabe einfach zu hoch sind? Auch in diesem Fall könnte das Selbsthosten eines viel kleineren, fein abgestimmten LLM der richtige Weg sein. Für weitere Einblicke in diese Thematik verweisen wir auf unseren Blogpost über den entstehenden Raum der Stiftungsmodelle im Allgemeinen.
Im Stil einer klassischen Schulkind-Prahlerei gehen wir mit Ihnen einige konkrete Beispiele durch, um die Intuition zu demonstrieren.
1. "Sie wissen, dass MEIN Unternehmen ein großes Sprachmodell verwenden möchte, um jedem neuen Mitarbeiter eine personalisierte Willkommensnachricht zu senden?
In diesem Fall sollte ein einfaches Lernprogramm mit einigen Beispielen für schön gestaltete Begrüßungsnachrichten in Kombination mit einer Vorlage, die die Informationen für diesen Mitarbeiter lädt, ausreichen.
2. "Ach ja? Nun, MEINE Firma möchte ein LLM benutzen, um eine Reihe von typischen Navigationsnachrichten im Stil von Severus Snape.
Je nachdem, wie sehr dieser Snape🪄-Typ tatsächlich eine Karikatur ist, können Sie hier mit wenigen Lernschritten auskommen. Wenn sein Sprachstil jedoch so kreativ ist, dass selbst 50 Beispiele von Snape-Interaktionen nicht ausreichen, müssen Sie sich vielleicht mit einem umfangreicheren Datensatz in die SFT stürzen.
"Turn left. Enttäusche mich nicht".
3. "Oh bitte, MEIN Unternehmen möchte einen Chatbot entwickeln, der sarkastisch jede allgemeine englische Frage beantwortet, die ein Nutzer stellt.
Moderne LLMs verstehen das Sprachspiel in ausreichendem Maße, so dass dieser Chatbot ausschließlich auf der Basis von Zero-Shot Prompting aufgebaut werden kann.
4. "Warten Sie, bis Sie das hören. Meine Firma will einen Chatbot entwickeln, der sarkastisch jede ostasiatische Frage, die ein Nutzer stellt, in derselben Sprache beantwortet.
Es wird sehr schwer sein, genügend Daten über all diese Sprachen zu sammeln, um ausreichend zu erfassen, wie Sarkasmus typischerweise übertragen wird. Wenn es Ihnen gelingt, diese Daten zusammenzutragen, stehen Ihnen die Türen der überwachten Feinabstimmung offen. Beachten Sie jedoch, dass eine gute Leistung unerreichbar ist, wenn Ihr Modell über keinerlei Kenntnisse dieser Sprachen verfügt. Sie müssen dann möglicherweise auf einen riesigen Datensatz warten, der es einem Helden ermöglicht, unüberwachtes Lernen zu nutzen, damit ein Modell den Umgang mit diesen exotischeren Sprachen lernt.
5. "Ist das alles? Mein Unternehmen möchte ein LLM einsetzen, das für ein bestimmtes Support-Ticket automatisch das Support-Team bestimmt, das es bearbeiten soll. Wir haben jede Stunde über 1000 Supportanfragen".
Klassifizierungsaufgaben (wie diese Routing-Aufgabe) gibt es schon seit den Anfängen des maschinellen Lernens. Klassischerweise würde man dafür ein spezielles Modell trainieren, und vielleicht ist das immer noch die billigste Option, aber ein LLM sollte natürlich auch mehr als ausreichend sein. Je nach Komplexität (Themenspektrum der Fragen, Anzahl der Support-Teams, Eingabesprachen,...) würden wir erwarten, dass dies mit einem "few-shot" Lernansatz gut funktioniert . Beachten Sie jedoch, dass es sich aufgrund des hier erwähnten hohen Durchsatzes aus Gründen der Kosteneffizienz lohnen könnte, das Selbst-Hosting zu prüfen.
6. "Halt meine Safttüte, MEIN Unternehmen will ein Modell bauen, das sich nicht einmal um die Weiterleitung der Frage kümmert, sondern einfach nur die Support-Frage sofort beantwortet! "
Aha, aber um diese Fragen zu beantworten, braucht man doch Wissen, oder? Eine RAG-Architektur (Ad-hoc-Versorgung des Modells mit den relevanten Informationen) mit einigen wenigen Lernschritten , um ein angemessenes Verhalten zu gewährleisten, sollte für diesen Anwendungsfall ausreichen. Auch hier ist das Self-Hosting eine Überlegung wert, wenn es eine hohe Nachfrage nach diesem Modell gibt.
Abgesehen davon, dass es sich um meine liebste imaginäre Reality-Show handelt, ist dies eine berechtigte Frage. Wenn Sie sich schließlich dafür entscheiden, dass Sie tatsächlich eine Feinabstimmung eines LLM vornehmen müssen, haben Sie eine weitere Wahl zu treffen: Feinabstimmung eines Open-Source-Modells und eigenes Hosting oder, falls verfügbar, Nutzung von Feinabstimmungs-APIs, die von Anbietern von Closed-Source-Modellen bereitgestellt werden.
Die Feinabstimmung eines Open-Source-Modells (z. B. des Llama 2 von Meta oder des brandneuen gigantischen Falcon 180B von TII) und das Hosting in Eigenregie bietet Ihnen einige große Vorteile, die normalerweise mit dem vollständigen Eigentum verbunden sind.
Für einige grundlegende Einblicke in den Feinabstimmungsprozess selbst (d.h. die Änderung der Modellgewichte) empfehlen wir die folgende Zusammenfassung zum Thema Parametereffiziente Feinabstimmung.
Wie bereits erwähnt, bieten einige Closed-Source-Modellanbieter eine API für die Feinabstimmung an (z. B. die Feinabstimmungs-API von OpenAI für GPT-3.5).
Welchen Ansatz Sie auch immer wählen, es sollte klar sein, dass die Daten, die für die Feinabstimmung verwendet werden, einen direkten Einfluss auf die letztendliche Leistung Ihres feinabgestimmten Modells haben werden.
Angesichts dieser Bedeutung der Qualität Ihrer Trainingsdaten - jetzt und in Zukunft - sollte Ihr Hauptaugenmerk auf der Einrichtung von hochqualitativen, wiederverwendbaren Datenvorverarbeitungskomponenten liegen. Open-Source-Initiativen wie Fondant zielen darauf ab, genau das zu erreichen: leistungsfähige und kosteneffiziente Kontrolle der Modellleistung durch Qualitätsdaten. Mehr dazu erfahren Sie in diesem Blogpost zu Foundation Models.
Wir haben diskutiert:
Und dann haben wir natürlich auch über das Flaggschiff dieser Geschichte berichtet:
Letztendlich betonten wir, dass die überwachte Feinabstimmung in der Tat der richtige Ansatz ist: Sie sollten auf Qualitätsdaten setzen. Das ermöglicht wertvolle Anwendungsfälle für jetzt und für die Zukunft.
Für weitere Flussdiagramme und LLM-Neuigkeiten bleiben Sie auf dem Laufenden.
Oder, noch besser, bleiben Sie auf dem Laufenden.