Große Sprachmodelle (Large Language Models oder LLM) haben in den letzten Jahren enorme Fortschritte gemacht und spielen eine entscheidende Rolle in verschiedenen Anwendungen. Aber was ist ein LLM?
Es ist sinnvoll zu erklären, was ein „einfaches“ Sprachmodell generell ist. Ein Sprachmodell ist eine Wahrscheinlichkeitsverteilung über Wortfolgen. Sprachen können eine unendlich lange Sequenz an validen Sätzen haben, was für ein Sprachmodell ein Problem ist. Das heißt, ein Sprachmodell kann Sequenzen, die nie in dem Trainings-Datensatz vorgekommen sind, immer noch eine gewisse (nicht 0 %) Wahrscheinlichkeit zuweisen. Verschiedene Modell-Ansätze wurden entwickelt, um dieses Problem zu überwinden, z. B. die Anwendung der Markov-Annahme, die Verwendung neuronaler Netzwerke wie rekurrente neuronale Netze (RNNs) oder Transformer (die Architektur hinter ChatGPT).
Ein LLM (großes Sprachmodell) ist ein Sprachmodell, das auf einer neuronalen Netzwerk-Architektur basiert (meistens ist das eine Transformer-Architektur). Ein besonders wichtiges Merkmal dabei ist, dass diese Modelle Milliarden von Parametern haben. Diese Parameter werden während des sog. Modell-Trainings aus großen Datenmengen gelernt und bilden somit die Wissensbasis des Modells. Früher wurde ein Modell für eine spezifische Aufgabe entwickelt. LLMs haben diese Richtung geändert – ein LLM kann meistens mehrere Aufgaben erledigen. Die Bandbreite der Aufgaben und generelle Leistung hängt in erster Linie von den zur Verfügung gestellten Ressourcen (Datensätzen, Rechenleistung) ab und nicht vom Architektur-Design.
Ein bekanntes Beispiel eines LLM ist ChatGPT. ChatGPT basiert auf der GPT-Architektur, die für Generative Pre-trained Transformer steht. Leider veröffentlicht OpenAI wenige bis kaum Informationen zum Training und den verwendeten Daten. Wir können allerdings anhand der offiziellen Veröffentlichungen vermuten, wie das Modell aufgebaut und trainiert wurde.
Schritt 1: Generatives Pre-Training
In diesem Schritt wird ein Sprachmodell auf Texten trainiert, ohne dass eine spezifische Aufgabe dabei zu lösen wäre. Allerdings ist das nicht genug, um damit sinnvolle Ergebnisse zu produzieren – das Modell „versteht“ immer noch nichts von Nutzer-Anweisungen und kann bspw. auf eine Frage mit einer anderen Frage antworten, weil diese Frage in demselben Kontext im Training aufgetaucht ist.
Schritt 2: überwachtes Nachtrainieren (Supervised fine-tuning)
Ab dem Schritt 2 wird das sog. Nachtrainieren (Engl. fine-tuning) eingesetzt. Nachtrainieren bedeutet, wir wollen unser Modell auf spezifische Aufgaben vorbereiten und das Modell-Wissen spezifizieren. In dem ChatGPT-Beispiel wollen wir das Modell so trainieren, dass es ein Chatbot möglichst gut imitieren sollte. Das wird dadurch erreicht, dass dem Modell beim Training eine große Anzahl an Beispiel-Konversationen in einem Frage-Antwort-Format gezeigt wird. Allerdings gibt es hier ein großes Problem: Während des Trainings wird das Modell hauptsächlich von dem Experten-Wissen beeinflusst. Basierend auf diesem Wissen kann das Modell während des Trainings seine Entscheidungen verbessern. Wichtig zu bemerken ist, dass sich das Modell dem Experten-Wissen nur annähert und versucht, sein Verhalten daran anzupassen. Fehler sind daher nicht selten, vor allem, wenn das Modell nach dem Training getestet/angewendet wird. In der Inferenz-Zeit kann nur das Modell selber seine Entscheidungen beeinflussen. Falls währenddessen das Modell einmal eine falsche Entscheidung getroffen hat (was zuvor im Training mit menschlicher Überwachung nicht passiert ist), wird diese Entscheidung weitere falsche Entscheidungen nach sich ziehen. Dieses Problem wird in der Literatur als *Compounding-Error-*Problem bezeichnet. Frühere Fehler des Modells bei der Inferenz resultieren später oftmals in übermütigen Behauptungen oder Halluzinationen (erfundene Informationen). Um diesen negativen Effekt zu minimieren, sollte unser Modell selber Ausgaben während des Trainings produzieren und nicht nur passiv Eingabedaten konsumieren. Dabei hilft uns Reinforcement Learning (RL).
Schritt 3: Reinforcement Learning from Human Feedback
Disclaimer: Wir werden nicht genau auf RL eingehen und erklären nur, welche Konzepte aus RL im ChatGPT-Training verwendet wurden. Mehr über RL hier.
Im Prinzip haben KI-Trainer eine Konversation mit der aktuellen ChatGPT-Version, die gerade im Trainingsprozess ist. Für eine Frage produziert das Modell eine Antwort und weitere mögliche Antworten. Diese möglichen Alternativen werden von dem KI-Trainer als mehr oder weniger passend zur Frage bewertet. Wir müssen allerdings diese Informationen in einen Skalarwert destillieren. Dafür wird ein neues Modell von dem bestehenden abgeleitet und auf diesen Bewertungen trainiert. Das abgeleitete „Hilfsmodell“ lernt, eine möglichst passende Antwort aus allen Alternativen der Frage zuzuweisen. Wenn das „Hilfsmodell“ trainiert ist, können die Wahrscheinlichkeiten für mögliche alternative Antworten als Belohnung im Training verwendet werden, was ein interaktiveres Training ermöglicht.
Ausblick: Die Zukunft von ChatGPT und LLM
ChatGPT wird kontinuierlich verbessert. Da das Training solch eines LLM mehrere Millionen Dollar kosten kann, versucht OpenAI, das Modell auf anderen Wegen zu optimieren. Immerhin produziert das Modell nicht selten ausgedachte Informationen, falsche Fakten und kann nicht zu den expliziten Ressourcen verlinken.
Zum Glück ist die Open Source Community auch fleißig dabei, die Welt der LLMs zugänglicher zu machen. Dabei ist es wichtig die jeweilige Lizenz zu beachten, vor allem im Business-Kontext. Eine Auflistung der bekanntesten Open Source LLMs findet man hier. LLMs brauchen allerdings große Rechenressourcen und Rechenleistung. Das kann schnell teuer werden. Das Preis-Leistungs-Verhältnis, das man mit einem Open Source LLM hat, ist dabei wichtig zu beachten.
Die Zukunft der LLMs ist vielversprechend. Mit weiteren Fortschritten in der Forschung und der Berücksichtigung von Themen wie Datenschutz und Voreingenommenheit der Sprachmodelle können wir eine noch leistungsfähigere und vertrauenswürdigere Generation von Sprachmodellen erwarten.
LLMs ermöglichen es uns, neue Horizonte in der Sprachverarbeitung zu erkunden. Wir stehen am Anfang einer aufregenden Reise und können gespannt sein, welche weiteren Innovationen und Anwendungen uns in Zukunft erwarten.
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog-Autor*in
Elvira Siegel
Machine Learning Engineer
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.