
Wenn wir die geltenden Regeln des Rechts auf künstliche Intelligenz anwenden wollen, insbesondere im Bereich der generativen KI, dann müssen wir verstehen, was es mit den KI-Modellen, die das Herz eines KI-Systems sind, auf sich hat. Dieses Verständnis ist entscheidend, beispielweise für die Frage, ob in einem grossen Sprachmodell überhaupt Personendaten enthalten sind oder nicht, oder ob sich die für ein Training verwendeten Werke nach wie vor im KI-Modell wiederfinden. Die technischen Grundlagen dafür legen wir in diesem Teil unserer KI-Blog-Serie dar; im nächsten folgen dann die Folgerungen für den Datenschutz.
Was generative KI tut, ist allen hinlänglich bekannt: Sie erzeugt basierend auf einem KI-Modell und einem Input einen Output. Das kann eine Übersetzung sein, ein Bild oder die Fortsetzung eines Textes (z.B. eines Dialogs mit einem Chatbot). Bei Sprachmodellen ist vielen auch bekannt, dass sie darauf ausgelegt sind, jeweils wahrscheinlichste nächste Wort eines Inputtextes zu ermitteln. Im Folgenden wollen wir sehr viel tiefer in die Grundlagen eintauchen. Dabei gibt es sehr unterschiedliche Techniken, wie solche generative KI realisiert werden kann, also ein System, das aus einem bestimmten Input basierend auf einem Training einen Output erzeugt. Input und Output können Texte, Bilder, Videos oder Töne sein, und zwar in beliebiger Mischung. All diese Systeme basieren im Kern auf sogenannten Modellen, die zusammen mit einer entsprechenden Programmierung und leistungsfähiger Hardware den Output aus dem Input berechnen. Das ist, um es vorwegzunehmen, in der Tat primär eine Rechenübung, in welcher Milliarden von Algebra-Gleichungen ausgeführt werden. Es geht also um Mathematik.
KI-Modelle werden dabei nicht vom Menschen ausprogrammiert, sondern sie werden trainiert, damit sie Muster erkennen und anwenden können. Dieses Konzept "trainiert statt ausprogrammiert" ist das, was ein Computersystem zur KI macht – auch in rechtlicher Hinsicht. Die Definition von KI in Gesetzestexten wie dem EU AI Act ist zwar einiges komplexer, aber die einzige wirklich wesentliche Komponente ist, dass diese Systeme einen gewissen Grad an Autonomie aufweisen. Gemeint ist damit, dass der Output, den sie generieren, nicht nach fixen, vom Menschen vordefinierten Regeln berechnet wird, sondern die Programmierung eines KI-Systems in einem ersten Schritt diesem "nur" dazu dient selbst zu lernen, wie es den Output generiert, und in einem zweiten Schritt dieses gelernte Wissen anzuwenden.
Das tut ein solches System, indem es sich einen riesigen Zahlenberg anhäuft, mit dem es dann den Output – also zum Beispiel Wörter, Bildpunkte, Töne etc. – berechnet. Mathematisch gesehen ist ein KI-Modell also eine (komplizierte und vielschichtige) Funktion, quasi eine Formel mit vielen voreingestellten Werten; sie lässt sich übrigens auch so darstellen, und alle Schritte lassen sich in mathematische "Unterformeln" herunterbrechen, selbst mysteriös klingende Dinge wie ein "neuronales Netzwerk" und die darin enthaltenen "Neuronen". Ein neuronales Netzwerk kann man sich beispielsweise als grosses Excel-Arbeitsblatt vorstellen und die Neuronen als die einzelnen Zellen darin, die in mehreren Spalten nebeneinander angeordnet sind. Jede Zelle zeigt eine Zahl an, die aufgrund der Zahlen aller Zellen in der Spalte unmittelbar links davon und den für jede dieser Zellen in der Formel voreingestellten Parameter berechnet wird (wobei diese Parameter das Ergebnis des Trainings sind). In der ersten Spalte ganz links wird der Input eingegeben, und in der letzten Spalte ganz rechts auf dem Arbeitsblatt kann dann das Ergebnis ausgelesen werden. Es hat sich gezeigt, dass wenn die Parameter richtig eingestellt werden sich diese Ansammlung an Neuronen (hier: Zellen) wunderbar zur Erkennung von Mustern eingesetzt werden kann. Das Training wiederum erfolgt nach dem einfachen Prinzip "Trial & Error": Es wird anhand von Muster-Inputs und dem, als das sie erkannt werden sollen, so lange herumgeschraubt an den Parametern, bis es passt. Wie das alles genau funktioniert, erklären wir weiter hinten ausführlicher.
Zunächst einmal Vereinfachungen
Wir beschränken uns hier der Einfachheit in verschiedener Weise:
- Wir fokussieren uns zunächst nur auf die KI-Modelle, und wie diese funktionieren können. Ein KI-System wie etwa ChatGPT oder Copilot hat noch diverse weitere Elemente, beispielweise um unerwünschte Inputs und Outputs zu erkennen und herauszufiltern bzw. zu blockieren (diese Aufgabe übernehmen sogenannte Guardrails, also Zusatzfunktionen, die der Datenverarbeitung durch das KI-Modell vor- oder nachgeschaltet sind) oder um Aufgaben auszuführen, für die z.B. ein Sprachmodell ungeeignet ist und daher eine andere Form der KI oder sonst ein System zum Einsatz kommt (z.B. um Rechnungen durchzuführen). Wer ein Produkt wie ChatGPT anbietet, wird zudem mit Fine-Tuning, entsprechenden "System Prompts" (dazu hinten mehr) und dem sogenannten Alignment versuchen, das Produkt möglichst gut auf seine Aufgaben auszurichten (und nur auf diese). ChatGPT ist also weder technisch noch inhaltlich dasselbe wie GPT3 oder GPT4. Ein grosses KI-Sprachmodell (Large Language Modell, LLM) wie GPT4 ist zwar das Herzstück eines Produkts wie ChatGPT (oder Copilot), aber ein Sprachmodell selbst genügt noch nicht. Immerhin bieten Firmen wie OpenAI anderen Anbietern von Tools (oder anderen Unternehmen) die Möglichkeit an, direkt auf ihre Modelle zuzugreifen. Dies geschieht dann über ein sogenanntes Application Programming Interface (API), also eine Schnittstelle, an die Inputs gesendet werden können, auf der dann nach der Bearbeitung durch das betreffende KI-Modell der Output ausgegeben wird.
- Weiter beschränken wir uns auf die sog. Transformer-Technik. Dies ist eine ursprünglich vor allem Google zugeschriebene Methode, die sich unter anderem durch ein Verfahren auszeichnet, mit dem die Bedeutung einzelner Elemente im Input durch andere Elemente desselben Inputs präzisiert werden kann (sogenannter Attention-Mechanismus). Die Transformer-Technik steht hinter KI-Anwendungen wie ChatGPT, Copilot, Dall-E, Midjourney oder Stable Diffusion. GPT bedeutet ausgeschrieben "Generative Pre-Trained Transformer", also ein Transformer-System, das bereits vortrainiert worden ist, um Outputs zu generieren.
- Da diese Dinge selbst mit Vereinfachungen recht kompliziert zu verstehen sind, beschränken wir uns hier weiter auf rein textbasierte KI-Modelle (die erwähnten Large Language Models oder grossen Sprachmodelle), also zum Beispiel GPT, Gemini, Llama oder Mixtral. Dieselben Konzepte werden aber zum Beispiel auch bei bildgebenden Modellen (Text-zu-Bild) verwendet oder Modellen zur Transkription von Sprache (Ton-zu-Text).
- Wir fokussieren uns weiter auf die Anwendung von Modellen in Chatbots, also Systeme, die einen bestehenden Input-Text durch einen entsprechenden Output-Text ergänzen: Der Benutzer gibt einen Input-Text ein, und der Chatbot berechnet die darauf am besten passende Antwort. Das tut er, indem er berechnet, welches das jeweils wahrscheinlichste nächste Wort ist, unter Einbezug des gesamten Inputs und bisher generierten Outputs und in Anbetracht des "Wissens", das sich das Modell im Rahmen seines Trainings angesammelt hat (dazu sogleich mehr). Eine andere Anwendung von Sprachmodellen ist die Übersetzung von Texten, bei der nicht das wahrscheinlichste nächste Wort gefunden werden soll, sondern das wahrscheinlichste Wort in der Zielsprache. An gewissen Stellen funktionieren sie etwas anders. Beides ist aber generative KI, und beide arbeiten mit Sprachmodellen.
- Damit haben wir bereits eine weitere Vereinfachung eingeführt: Wir sprechen hier immer davon, dass mit einem Sprachmodell die Bedeutung von "Wörtern" ermittelt wird oder das nächste "Wort" vorhergesagt wird. In Wirklichkeit arbeiten die meisten Sprachmodelle nicht mit Wörtern, sondern mit Bruchstücken davon. Sie teilen jeden Satz in mehrere dieser Bruchstücke auf. Das sind die sog. Tokens. Das können zum Beispiel Satzzeichen, Silben oder Kombinationen von mehreren Silben, Wortbestandteile oder manchmal trotz allem auch ganze Wörter sein (für GPT3.5 und GPT4 siehe hier). Die Tokens sind das Vokabular eines Sprachmodells. GPT3 hat beispielsweise ein Vokabular von rund 50'000 Tokens. Wenn wir hier also von ''Wörtern'' sprechen, meinen wir Tokens. Bei einem Modell für Bilder oder Töne geben Tokens Gruppen von Bildpunkten oder kurze Tongruppen an, aus denen dann ganze Bilder oder Audiosequenzen gebaut werden können.
- Wenn wir nachfolgend Zahlen angeben, werden wir diese für GPT3 angeben, also das erste grosse Sprachmodell, welches ausserhalb der Machine-Learning-Community grössere Bekanntheit erlangte, als OpenAI im November 2022 ihren Chatbot "ChatGPT" vorstellte. Das hat auch damit zu tun, dass die Angaben zu GPT3 gut bekannt sind. Bei neueren Sprachmodellen machen jedenfalls gewisse der Anbieter ein grosses Geheimnis um deren technische Daten.
Funktionsweise kurz erklärt
Sprachmodelle wie GPT3 sind dafür gebaut, die inhaltliche, stilistische, grammatikalische, stimmungsmässige etc. Bedeutung jedes Worts im Input zu ermitteln. Sie tun das, indem sie für jedes Wort im Input eine ganze Serie von Berechnungen vornehmen, die am Ende die Bedeutung repräsentieren, die das Wort in verschiedenen Hinsichten hat. Werden die Bedeutungen all dieser Worte am Ende zusammen genommen, zeigen sie nach all diesen Berechnungen jeweils auf ein Wort, welches nach ihrer Information am wahrscheinlichsten den bisherigen Input-Text richtig fortsetzt. Dieses wird ausgegeben, und der Prozess beginnt von vorne, wobei jetzt der Input auch das soeben generierte Wort umfasst. So wird der Output Stück für Stück zusammengesetzt.
Welche Bedeutungen den Wörtern zukommt, ergibt sich aus dem Modell, in welches diese Bedeutungen anhand von Zahlen hinterlegt sind. Diese Bedeutungen erlernt das Modell in einer ersten Trainingsphase, in welcher der ihm unzählige Textmuster vorgelegt und von ihm analysiert werden. Das Modell Llama2 wurde mit 2'000 Mrd. Wörtern trainiert, das kürzlich erschienene Llama3 bereits mit 15'000 Mrd. Wörtern. Nach diesem sogenannten Pre-Training folgt die Phase des sogenannten Fine Tunings, bei der das Modell optimiert wird, indem ihm Beispiele vorgelegt werden, welcher Input zu welchem Output führen sollte (oder eben nicht). Diese Beispiele können synthetischer Natur oder vom Menschen erzeugt sein. Volumenmässig geht es hier oft nur um einen Bruchteil der Anzahl der Texte aus dem Pre-Training, also beispielsweise 100'000. Mitunter kommen hier auch Menschen zum Einsatz, welche die Input-Output-Beispiele bewerten (welche Kombination ist erwünscht, welche nicht) und so dem KI-Modell helfen, sein Verhalten – also beispielsweise die Vorhersage von Text – in die erwünschte Richtung zu entwickeln, es also "auszurichten" (sogenanntes alignment). Das alles zusammen kann umgangssprachlich als Training bezeichnet werden, auch wenn es je nach Vorgehensweise aus verschiedenen, teils automatischen, teils manuellen Schritten besteht.
Wenn also der Input aus den Worten "Ist die Hauptstadt der Schweiz Bern?" besteht, dann wird ein auf deutschen Texten trainiertes Sprachmodell ermitteln, dass das wahrscheinlichste nächste Wort "Ja" sein muss. Je mehr Inhalte ein Sprachmodell während seines Trainings gesehen hat, desto besser kann es den Input komplettieren. In einem Chatbot sieht das dann so aus, als würde sich der Chatbot mit dem Benutzer unterhalten. Denn der erste (in der Regel versteckte) Input, den der Chatbot erhalten hat (der sogenannte System Prompt), ist ein Text wie "Du bist ein hilfreicher, wissender Assistent, der auf alle der folgenden Frage eine passende Antwort hat.", der dann mit der ersten Eingabe des Benutzers ergänzt dem Sprachmodell als Input vorgelegt wird. Dieser System-Prompt, gewisse weitere Parameter und der Umstand, dass in Trainingsinhalten solche Fragen möglicherweise mit längeren Antworten beantwortet werden, werden auch hier dafür sorgen, dass das Modell das erste "Ja" noch um einige weitere Worte ergänzt (z.B. "Ja, die Hauptstadt der Schweiz ist Bern.").
Nach dem Training wird das Modell typischerweise eingefroren und in diesem Zustand benutzt. Das unterscheidet es vom menschlichen Hirn, welches sich laufend weiter trainiert mit allem, was wir sehen, hören oder fühlen. Modelle können zwar auch anhand von gesammelten Inputs ihrer Benutzer weiterentwickelt werden (und die Anbieter sammeln hierzu diese Daten, weil sie einen unersättlichen Bedarf an Trainingsinhalten haben), aber dies ist ein separater, von der Verwendung des KI-Modells abgekoppelter (und auch sehr rechenintensiver) Prozess.
Technisch gesehen enthält ein Sprachmodell bis auf das Vokabular der Tokens nur Zahlen und keinen Text. Es ist also nicht vergleichbar mit einer Datenbank von Texten, in denen nach Wörtern gesucht werden kann und dann die einzelnen, im Training gesehenen Dokumente wiedergegeben werden. Es ist im Grunde auch nicht möglich, ein einzelnes, im Training benutztes Dokument wieder abzurufen. Warum es trotzdem sein kann, dass Texte aus dem Training im Output 1:1 auftauchen können, sehen wir später.
Um ein besseres Verständnis für die Funktionsweise eines Sprachmodells zu erhalten und zu verstehen, was in einem Sprachmodell steckt (was unter anderem in rechtlicher Sicht sehr relevant ist), brechen wir diese in mehrere typische Schritte auf:
Umwandlung in Zahlen und "Embedding"
In einem ersten Schritt wird jeweils der gesamte bisherige Input (und im Rahmen eines Dialogs eines Chatbots auch die bisherigen Antworten) in seine Bestandteile, d.h. die Wörter (oder eben Tokens), zerlegt. Das ist wie bei einer Excel-Tabelle, wo jedes Wort in eine neue Spalte auf der ersten Zeile eingetragen wird. Die maximale Anzahl an Spalten in dieser Tabelle ist bei jedem Modell begrenzt. Der maximale Input, den ein Modell verarbeiten kann, wird als sogenannter Kontext bezeichnet. Bei GPT3 lag er bei 2048 Tokens, heutige Modelle der GPT-Reihe bieten Kontextgrössen bis zu 128'000 Tokens, das neuste Gemini-Modell von Google sogar bis zu einer Million. Der Kontext ist wichtig, weil es quasi das Blickfeld definiert, auf das das Modell bei der Ermittlung der Bedeutung der einzelnen Wörter schauen kann. Alles, was in diesem Blickfeld enthalten ist, kann und wird vom Modell gebührend (aber nicht unbedingt gleichwertig) berücksichtigt, alles, was darüber hinausgeht (weil der Input-Text zu lang ist), kennt das Modell nicht. Darum sind die Konversationen bei Chatbots in ihrer Länge begrenzt, und darum scheint es so, dass ein Chatbot nach einigem Hin und Her nicht mehr berücksichtigt, was am Anfang gesagt wurde: Es ist quasi aus seinem Kontext, d.h. seinem Blickfeld, gefallen.
Die Kontextgrösse hat eine direkte Auswirkung auf die Rechenleistung, die für die Verarbeitung von Input nötig ist, denn einer der grossen Vorteile der Transformer-Technik ist, dass für alle Wörter im Kontext deren verschiedene Bedeutungen gleichzeitig, d.h. parallel berechnet werden und nicht ein Wort nach dem anderen (was ewig dauern würde). Die dazu erforderlichen Rechnungen sind sehr einfach, aber sehr zahlreich. Darum werden dafür heute die Chips benutzt, die ursprünglich für die Berechnung der Bildpunkte einer Grafikkarte entwickelt wurden. Das sind sehr ähnliche Kalkulationen, und diese Chips sind dafür ausgelegt, viele solcher Berechnungen parallel zu machen. Darum kommt zum Beispiel die Grafikkarten-Herstellerin Nvidia heute angesichts des GenKI-Hypes gar nicht mehr nach mit der Produktion ihrer Chips. Sogenannte Matrixmultiplikationen (also wenn zum Beispiel zwei Tabellen – eine mit den Zahlen des aktuellen Inputs und eine mit denen des Modells – quasi übereinandergelegt werden, um sie abzugleichen) sind dabei der grösste Rechenaufwand.
Ist der Input-Text zerlegt und seine Wörter in der Tabelle eingetragen, werden anhand der im Modell vordefinierten Werte für jedes Wort die Koordinaten berechnet, die dieses Wort im sogenannten Embedding-Raum des Modells hat. Diese Koordinaten symbolisieren die Bedeutung, die das betreffende Wort im Durchschnitt aller Trainingsinhalte hatte. Dieser Raum repräsentiert gewissermassen das Universum aller Bedeutung, die Worte haben können. Er hat nicht nur zwei Dimensionen wie auf einer Karte, sondern im Fall von GPT3 rund 12'000 Dimensionen. Für jedes Wort des Inputs wird nun in der ersten Tabelle anhand der Vorgaben aus dem Modell für jede dieser 12'000 Dimensionen bestimmt, wo dieses Wort in dem virtuellen Raum zu liegen kommt. Somit verwandelt sich ein Satz von zehn Wörtern in eine Tabelle von zehn Spalten und mit 12'000 Zeilen aus Zahlen für jedes Wort, die dieses Wort repräsentieren. Diese Zahlenmatrix repräsentiert die Bedeutung des Inputs, und sie wird nun in den nächsten Schritten justiert.
Der Trick hinter dieser Vorgehensweise ist, dass einerseits Wörter mit ähnlicher Bedeutung in den jeweiligen Dimensionen nahe beieinander liegen, andererseits sich aber auch Verhältnisse zwischen den Wörtern abbilden lassen. Wenn also beispielsweise in diesem multidimensionalen Raum von den Koordinaten des Worts "Mann" in Richtung der Koordinaten des Worts "Frau" geblickt würde, dann ist das dieselbe Richtung, in der vom Ort des Worts "Onkel" aus das Wort "Tante" zu sehen wäre oder vom Wort "männlich" das Wort "weiblich". So kann beispielsweise, vereinfacht gesagt, ein Sprachmodell die Frage beantworten, was die weibliche Form von "Onkel" ist. Es assoziiert "Onkel" mit "männlich" (dazu kommen wir gleich) und läuft in diesem virtuellen Raum dann quasi von "Onkel" in dieselbe Richtung wie "männlich" zu "weiblich" und findet dort dann das Wort "Tante".
Schrittweise die Bedeutung jedes Worts ermitteln
Selbstverständlich ist die Realität viel komplizierter, und selbst identische Wörter können je nach Kontext eine sehr unterschiedliche Bedeutung haben. Darum zielt in einem Sprachmodell letztlich alles darauf ab, über zahlreiche Arbeitsschritte die im Input konkret gemeinte Bedeutung zu ermitteln.
Begonnen wird mit den Koordinaten, die für jedes Wort in der ersten Ebene des Modells hinterlegt sind und gewissermassen eine erste, allgemeine Bedeutung des Wortes widerspiegeln. In den weiteren Schritten, die im Grunde aus vielen Wiederholungen derselben Grundprozesse bestehen, wird nun für jedes dieser Worte im Kontext die in der Tabelle vermerkten Koordinaten in diesem virtuellen Bedeutungs-Raum anhand der im Modell für jedes Wort und jeden Aspekt hinterlegten Zahlen laufend "zurechtgerückt", so dass sie immer genauer die Bedeutung des Wortes im konkreten Kontext des Inputs wiedergeben. Das passiert, indem die Koordinaten jedes Worts im Input mit den im Modell für jedes Wort und jeden Aspekt bereits hinterlegten Zahlen nach bestimmten Regeln abgeglichen werden. Das ist eine Rechenoperation, aus welcher vereinfacht gesagt die Zahlenwerte resultieren, um welche die 12'000 Zahlen eines jeden Worts (welche die jeweiligen Koordinaten auf den 12'000 Achsen des "Bedeutungs-Raums" repräsentieren) in der Tabelle bei jedem Schritt dieser Feinjustierung erhöht oder reduziert werden. Die Position des Worts in diesem multidimensionalen Raum verschiebt sich somit laufend, je mehr der Input analysiert wird.
Die Fachleute sprechen übrigens nicht von Koordinaten, sondern von sogenannten Vektoren, weil sie das Grundelement der linearen Algebra sind, nach deren Regeln das Modell rechnet, wenn es einen Text analysiert und dabei basierend auf den im Modell hinterlegten Zahlen berechnet, um wie viel es die 12'000 Koordinaten jedes Worts im Input jeweils im Raum verschieben muss. Ein Vektor besteht quasi aus einem Winkel gegenüber der Achse jeder Dimension dieses Raums und einer Länge, also wie ein Pfeil, der im Verhältnis zur jeweiligen Achse auf das betreffende Wort zeigt. Haben dabei zwei Begriffe in einem Aspekt eine ähnliche Bedeutung, werden sie vereinfacht gesagt in der entsprechenden Dimension einen ähnlichen Vektor haben oder – wenn sie gerade das Gegenteil bedeuten – einen Vektor, der gerade in die entgegengesetzte Richtung zeigt. Mit der passenden mathematischen Formel kann dann ein Wert ermittelt werden, der die Abweichung von zwei Vektoren voneinander wiedergibt, was dann benutzt werden kann, um die Zahlen in der Tabelle mit den 12'000 Zeilen für jedes der Wörter im Input anzupassen.
Die konkrete Bedeutung eines Vektors hängt vom Training ab und ist nicht in Prosa oder ähnlichem im Modell abgelegt. Ein Modell kennt nicht die objektive, übergeordnete, allgemeingültige Bedeutung der Wörter, also was z.B. das Wort "queen" für Menschen bedeutet, was vielerlei sein kann (Königin eines Staats, Königin eines Bienenvolks, Spielkarte, Popband). Jeder Vektor gibt funktional betrachtet den Durchschnitt der Bedeutungen wieder, die das Sprachmodell im Rahmen seines Trainings z.B. zum betreffenden Wort gesehen hat. Ist der Trainingsinhalt einseitig, so ist es auch das "Wissen" des Sprachmodells über die Bedeutung der Wörter. Die Funktionsweise zeigt aber auch, dass ein Sprachmodell dank dieser Funktionsweise beliebig viel mehr an Output generieren kann, als es an Trainingsinhalten je gesehen hat. Die Trainingsinhalte braucht es nur (aber immerhin), um die Bedeutungen von Wörtern in Texten (und ihre Beziehungen) zueinander zu erlernen, und nicht, um sich die Trainingsinhalte selbst zu merken; letzteres ist nur ein Nebeneffekt, der unter gewissen Umständen auftreten kann.
Der Vorteil dieser Technik ist zudem, dass das KI-Modell die Bedeutung eines Worts nicht wirklich "verstehen" muss. Es merkt sich jene Muster, bei denen es im Rahmen des Trainings erfahren hat, dass sie am einfachsten zum jeweiligen Ziel (hier: richtige Vorhersage des nächsten Wortes in den Trainingsmaterialien) führen. Die Muster merkt es sich dabei in Form von Zahlenreihen bzw. einer Vielzahl von Zahlenreihen (für jedes Wort im Input eine), weil sich mit einer solchen Matrix von Zahlen sehr einfach rechnen lässt. Das Modell versteht diese Muster selbst nicht, aber es hat sich gezeigt, dass diese Muster die erwähnten Bedeutungen wiedergeben, also eben dass Wörter mit ähnlichen Koordinaten in Bezug auf die bestimmte Eigenschaften auch bedeutungsmässig ähnlich sind.
Der eine oder andere wäre an dieser Stelle versucht zu sagen, dass erst wir als menschliche Leserinnen und Leser des Outputs darin einen tieferen Sinn erkennen und das KI-Modell nur so tut, als würde es die Bedeutung verstehen. Das wäre so, wie wenn wir eine Sprache lernen, die wir nicht verstehen, aber wissen, wie sie praktiziert wird. Die Frage, was "verstehen" wirklich bedeutet, ist freilich eine philosophische und kann unterschiedlich beantwortet werden. Es kann ebenso vertreten werden, dass auch wir Menschen Sprache nicht anders verarbeiten und verstehen als ein Sprachmodell dies tut, nur dass wir wesentlich weiter entwickelt sind und dabei Wörter nicht nur im Verhältnis zueinander und in ihrer Verwendung in Texten "verstehen", sondern noch mit zahlreichen anderen Eindrücken und Erfahrungen verknüpfen. Das tun Sprachmodelle nicht.
Aufwändig sind diese Prozesse innerhalb eines Sprachmodells übrigens nicht wegen den Algebra-Formeln, die dabei zum Einsatz kommen, sondern aufgrund der schieren Menge an Zahlen, die jeweils miteinander multipliziert, addiert oder anders mathematisch kombiniert werden müssen, um die Wörter über zahlreiche Ebenen hinweg mit den Zahlen im Modell abzugleichen. Das gilt für den Einsatz eines Modells und erst recht beim Training (dazu unten mehr).
Eine Frage der Aufmerksamkeit
Ein Sprachmodell hat aber noch einige weitere Tricks auf Lager, die es erst recht leistungsfähig machen. Die Besonderheit der Transformer-Modelle ist das folgende Konzept, das unter dem Begriff "Attention" oder zu Deutsch "Aufmerksamkeit" bekannt geworden ist: Es ist ein spezielles Verfahren zur weiteren Justierung der Koordinaten jedes Worts aus dem Input, um seiner Bedeutung im konkreten Fall möglichst gerecht zu werden.
Es besteht darin, dass das Modell für jedes Wort im Input allen anderen Wörtern im selben Input jeweils eine Frage "stellt" und diese Wörter auf diese Frage gewissermassen eine Antwort "liefern". Passen Frage und Antwort zusammen, gibt das einen Impuls, der die Koordinaten des Wortes in bestimmte Richtungen im Bedeutungs-Raum verschieben und so die Bedeutung des Wortes für den konkreten Fall noch genauer festlegt. Eine solche Frage könnte zum Beispiel sein, dass nach Adjektiven gesucht wird, die das "fragende" Wort näher beschreiben. Wenn wir also den Input-Satz "Er hat ein rotes, elektrisches Auto." haben und diesen Prozess für das Wort "Auto" durchführen, dann ergibt die Antwort bei den Wörtern "rotes" und "elektrisches" eine Übereinstimmung mit der Frage. Jede solche Übereinstimmung sorgt wiederum dafür, dass die im Input für das Wort Auto bisher eingestellten Koordinaten in die Richtung "rot" und "elektrisch" verschoben werden. Die neuen Koordinaten signalisieren damit, dass es sich um ein rotfarbenes E-Auto handelt.
In GPT3 werden für jedes Wort im Input 96 solcher "Fragen" parallel an alle anderen Wörter im Input gestellt (jeweils von einem sogenannten Attention Head) und mit den "Antworten" dieser Wörter jeweils in einer eigenen Tabelle eingetragen. Diese beiden Tabellen werden dann übereinander "gelegt", und je nach dem Grad der Übereinstimmung der Zahlen (im Beispiel: bei den Wörtern "rotes" und "elektrisches", weil sie sich als Adjektive auf "Auto" beziehen, wird sie hoch sein) wird das Ergebnis (d.h. eine Zahl) ein anderes als bei den Antworten aller anderen Wörter (die sich nicht auf "Auto" beziehen). Das Modell kennt diese Art von Bezügen, weil es diese Muster in den Trainingsinhalten zig-fach gesehen hat und die Antworten für diese Fragestellung bei den betreffenden Wörtern gewissermassen hinterlegt hat. Bei diesem Attention-Prozess wird das nun abgerufen. Die Zahl aus dem Vergleich von Frage und Antwort wird benutzt, um die nötigen Anpassungen der Koordinaten des fragenden Worts zu berechnen.
Dieser Vorgang passiert bei GPT3 über 96 Ebenen (sogenannte Attention Layers), um ein eindeutigeres Ergebnis zu erhalten. Auf diese Weise kann jedem Wort im Kontext anhand der restlichen Wörter mehr Bedeutung zugewiesen werden, d.h. das Wort kann in seiner Bedeutung konkretisiert werden. Es ist bei dieser Anwendung auch von "Self Attention" die Rede, weil die Bedeutung eines Wortes anhand des Textes ermittelt wird, in welchem sich das Wort selbst befindet. Bei Sprachmodellen, die für maschinelle Übersetzungen gebraucht werden, wird mitunter auf die Wörter Bezug genommen, die sich im Text der jeweils anderen Sprache befinden ("Cross Attention").
Übergeordnete Bedeutungen ermitteln
Eine weitere Technik neben dem Attention-Verfahren, mit der Sprachmodelle Bedeutungen aus dem Input-Text extrahieren: Im sogenannten Multilayer Perceptron (MLP) wird jedes Wort zusätzlich diversen weiteren Prüfungen unterzogen, mit dem Ziel, weitere übergeordnete Bedeutungen des Inputs zu ermitteln.
Es geht hier um Aspekte wie zum Beispiel, in welcher Sprache ein Wort geschrieben ist, ob ein Wort sich auf eine bestimmte Person (statt Sache) bezieht, ob es sich um eine Zahl handelt, ob es ein Substantiv ist, ob es Teil einer Lüge ist, ob es Teil eines mehrteiligen Begriffs oder Teil eines Zitats ist, in welchem Tonfall ein Wort erfolgt, welche Relevanz ein Wort für den gesamten Text hat (was zum Beispiel für Zusammenfassungen von Bedeutung ist), oder ob es positiv oder negativ ist. Die Aussage "nicht schlecht" ist zum Beispiel positiv, obwohl das Wort "schlecht" darin vorkommt. Die Sprache ist zum Beispiel wichtig, um die Positionierung von verschiedenen Wortarten zu bestimmen: Auf Deutsch ist das Verb typischerweise am Anfang eines Satzes, im Englischen weiter hinten.
Diese Bedeutungen können nicht einfach in einem Zug berechnet werden wie beim Attention-Verfahren. In der Mathematik ist davon die Rede, dass hierfür darum eine "non-lineare" Funktion benutzt werden muss: Um herauszufinden, ob ein Text Teil einer Lüge ist oder eine wütende Stimmung wiedergibt, muss das Muster des gesamten Inhalts analysiert werden. Die Aufgabe kann nur durch eine Mustererkennung gelöst werden; ein "Wenn-Dann"-Mechanismus kann das nicht. Benutzt wird dafür im MLP daher ein neuronales Netzwerk, wie es bereits beschrieben wurde. Es wird ihm ein Text gefüttert und basierend auf den darin erkannten Mustern liefert es im Idealfall die Antworten auf die jeweiligen Fragen, auf die es trainiert worden ist, also beispielsweise in welchem Tonfall ein Inhalt gehalten ist, in welcher Sprache er verfasst ist oder ob er die Wahrheit sagt oder nicht.
Wie ein neuronales Netzwerk funktioniert – Deep Dive
Von aussen gesehen ist ein neuronales Netzwerk ein System, das Muster erkennt und einem Resultat aus einer vordefinierten Serie von möglichen Klassifikationen zuordnen kann. Wie diese vermeintliche Black Box funktioniert, haben wir vorstehend schon sehr verkürzt beschrieben. Wer das noch besser verstehen will, für den haben wir hier noch einen Deep Dive in die Funktionsweise, einschliesslich einer Beschreibung, wie es trainiert wird. Diese Funktionsweise ist im Grunde ebenso einfach wie effektiv:
- Alles beginnt mit einer "Digitalisierung" des Inputs, d.h. ein Bild, eine Tonsequenz oder ein Text wird in Zahlen umgewandelt. Das ist im Falle eines Sprachmodells bereits passiert. Bei Bildern wird zum Beispiel jeder Bildpunkt in einen Wert dargestellt, der z.B. seine Farbe oder Helligkeit wiedergibt. Diese Serie von Zahlenwerten ist die erste Ebene des neuronalen Netzwerks. Soll das Netzwerk ein Schwarz-Weiss-Bild mit einer Zahl erkennen, bestehend aus einem Raster von 28 x 28 Bildpunkten (Pixeln), ergibt das beispielsweise 784 Werte von 0 (Bildpunkt aus) oder 1 (Bildpunkt ein).
- Die Zahlenwerte aus der ersten Ebene werden nun von einer Serie von sogenannten Neuronen übernommen, die die zweite Ebene des Netzwerks bilden. Die Anzahl der Neuronen ist je nach KI-Modell unterschiedlich. Sie spielt für das Konzept nicht wirklich eine Rolle (für ein einfaches neuronales Netzwerk, das Zahlen von "0" bis "9" in Bildern, wie erwähnt, einigermassen zuverlässig erkennt, genügen z.B. zwei Ebenen zu 16 Neuronen und eine Ausgabeebene mit zehn Neuronen). Jedes solches Neuron ist vergleichbar mit einer Zelle in Excel, die eine Formel enthält, die aus allen in der vorherigen Ebene vorhandenen Werte und in der Formel vorprogrammierten Parametern eine neue Zahl berechnet. Die vorprogrammierten Parameter sind einerseits eine Serie von Zahlen, die angeben, welchen Wert in der vorherigen Ebene jeweils wie viel "Gewicht" im Endergebnis haben soll, das angezeigt wird, und andererseits aus einer Zahl, mit der das Endergebnis noch gesamthaft beeinflusst werden kann ("Bias").
- Der auf diese Weise berechnete Wert jedes Neurons (je nach Art des Netzwerks bzw. der "activation function" kann dieser z.B. 0.0 bis 1.0 für ein Sprachmodell sein) wird an jedes Neuron der nächsten Ebene weitergegeben, das dieselbe Formel enthält, aber jeweils mit einer eigenen Serie von "Gewichten" und allenfalls einem separat gespeicherten "Bias"-Wert. Das kann über zahlreiche Ebenen fortgesetzt werden, wobei jede Serie von Neuronen (also die "Excel-Zellen") ihren berechneten Wert an die Neuronen der nächsten Ebene weitergibt.
- Auf der letzten Ebene gibt es dann aber wieder nur so viele Neuronen, wie das Netzwerk Antworten liefern soll. Soll das Netzwerk Zahlenbilder von "0" bis "9" erkennen, so wird es aus zehn Neuronen bestehen, die wiederum dieselbe Formel mit ihren eigenen Gewichten und ggf. Bias-Werten. Jedes Neuron steht dabei für eine zu erkennende Zahl. Als "Antwort" des Netzwerks auf die gestellte Aufgabe gilt dann jenes Neuron der letzten Ebene, welches den höchsten Zahlenwert enthält. Hat das Netzwerk die Zahl "2" erkannt, wird jenes Neuron die höchste Zahl enthalten, der im Training die Zahl "2" zugewiesen wurde. Je besser das Training ist, desto höher ist die Trefferquote (vorausgesetzt, das Netzwerk ist gross genug). Das Ergebnis wird auch als Klassifikation bezeichnet, weil es das wiedergibt, was ein neuronales Netzwerk im Grunde tut: Es klassifiziert Muster, d.h. ordnet sie einer Serie möglichen, vordefinierten Klassen von Mustern zu.
Dieses Netzwerk, bestehend aus 784 Zahlenwerten auf der ersten Ebene, je 16 Zahlenwerten auf der zweiten und dritten Ebene sowie 10 Werten auf der letzten Ebene, mag sehr klein erscheinen. Es enthält aber zusammengezählt bereits 13'002 Gewichte und Bias-Werte, die die Weitergabe von Zahlenwerten von einer auf die jeweils nächste Ebene steuern (auf der zweiten Ebene bereits 784 x 16 + 16 = 12'560). Damit lassen sich bereits differenzierte Muster wie eben Zahlenbilder von "0" bis "9" recht gut erkennen.
Bei dieser Zahl von Parametern ist eine manuelle Einstellung der richtigen Gewichte natürlich nicht mehr möglich. Dafür gibt es das Training. Mit diesem wird dem Netzwerk beigebracht, welche Arten von Mustern es im Input erkennen soll und was diese Muster ausmacht. Das funktioniert vom Prinzip her ebenfalls recht einfach:
- Zu Beginn sind die Gewichte und die Bias-Werte in der Formel jedes Neurons noch zufällig gesetzt.
- Es wird dem Netzwerk ein erstes Muster (z.B. bei der Zahlenerkennung das Bild einer Zahl) gezeigt. Das Netzwerk wird auf der letzten Ebene irgendwelche zufälligen Zahlenwerte (sprich: zufällige Klassifikation) liefern, da es ja noch völlig untrainiert ist. Weil die Zahl bekannt ist, die erscheinen sollte, wir nun bei jedem Neuron auf der letzten Ebene berechnet, wie stark die tatsächlich gelieferten Zahlenwerte (also von 0.0 bis 1.0) korrigiert werden müssen, damit das Ergebnis richtig wäre, d.h. das Neuron, welches für die gezeigte Zahl steht (z.B. "2") eine 1.0 enthält (es ist "aktivitiert"), und alle anderen Neuronen eine 0.0. Steht beim Neuron, das für die gezeigte Zahl steht, eine 0.5 müssen also 0.5 hinzugefügt werden, damit es aktiviert wird. Stehen da bereits 0.8, wären nur noch weitere 0.2 nötig. Dieser Korrekturwert wird als "loss" (also Verlust) oder etwas klassischer als "cost" (also Kosten) bezeichnet, ähnlich wie Kosten, die für die nachträgliche Korrektur des schlechten Ergebnisses anfallen.
- Anhand dieser "Verluste" kann nun mittels weiterer mathematischer Formeln ermittelt werden, wie die Gewichte und der Bias-Wert in der Formel des Neurons optimalerweise angepasst werden müssten, damit das Ergebnis auf der letzten Ebene richtig wäre.
- Dieser Vorgang wird gewissermassen rückwärts über alle Ebenen durchgeführt, und dabei werden die Gewichte und Bias-Werte auf jeder Ebene angepasst. Dieser Vorgang wird auch als die sogenannte Backpropagation bezeichnet und ist ein aufwändiger Rechenvorgang, weil sehr viele Werte berechnet werden müssen.
- Die Schritte 2 bis 4 werden mit zahlreichen weiteren Inputs (hier: Zahlenbilder) und korrekten Klassifikationen der Inputs (hier: die Zahlen, die sie darstellen) wiederholt. Mit der Zeit sinken die "Verluste", und das neuronale Netzwerk wird immer besser in der Erkennung der antrainierten Muster (hier: Zahlen auf den Zahlenbildern). Woran es beispielsweise eine Zahl (z.B. an einem Rund- oder Kreiselement oder an einem senkrechten Strich) erkennt, braucht derjenige, der das Modell trainiert, diesem nicht zu sagen bzw. zu programmieren. Das findet das Modell durch genügend Übung quasi von alleine heraus. Interessant ist, dass selbst wenn die in den Neuronen enthaltenen Gewichte oder auch auf den verschiedenen Ebenen berechneten Zahlen visualisiert werden, die Zahlen ("0", "1", "2" etc.) oder deren grafische Komponenten für den Menschen nicht zu erkennen sind. Ein neuronales Netzwerk speichert also nicht einfach Abbildungen, die es dann vergleicht. Gleichzeitig erschwert diese Eigenschaft es dem Menschen, zu verstehen, wie das Netzwerk zu einem ganz bestimmten Ergebnis kommt. Zudem weiss auch ein neuronales Netzwerk nicht, was eine bestimmte Zahl wirklich ist. Wird ihm etwas anderes als eine Zahl gezeigt, wird womöglich trotzdem ein bestimmtes Neuron auf der letzten Ebene aktiviert werden, d.h. das Netzwerk gibt eine (falsche) Antwort. Weil es nur auf Zahlen trainiert wurde, erkennt es nicht, wenn ihm etwas anderes vorgelegt wird, oder die Zahlen in einer Weise dargestellt werden, die vom Trainingsmaterial stark abweichen (z.B. eine liegende statt aufrecht stehende "3").
Zurück zum Text – und die Sache mit der Temperatur
Im MLP und danach werden die vorstehend beschriebenen Schritte mehrfach hintereinander vorgenommen. Jedes Mal werden dabei die Koordinaten für jedes Wort im Input etwas justiert und nehmen mit jedem Schritt mehr Nuancen des Inputs auf. Letztlich wird dabei jedes Wort in Bezug zu allen anderen Wörtern gesetzt, es wird zwischen relevanten und weniger relevanten Wörtern unterschieden, und es wird insgesamt ein Bedeutungsgehalt der Wörter ermittelt, soweit er sich aus dem Input (und dem bisher generierten Output) ergibt, wobei die Wertungen letztlich aus den Trainingsinhalten und der manuellen Optimierung stammen.
Welches Wort auf die Worte im Input folgt, kann im letzten Schritt des Prozesses relativ einfach ermittelt werden, indem gewissermassen alle verbliebenden Koordinaten miteinander verrechnet werden. Das Ergebnis ist ein einzelner Punkt im virtuellen Raum. Es müssen dann anhand seiner Koordinaten nur noch die Wörter ermittelt werden, die diesem Punkt im Raum am nächsten sind. Das sind die Kandidaten für das wahrscheinlichste nächste Wort. Das Modell bildet dann eine Liste dieser Kandidaten und berechnet, wie wahrscheinlich sie jeweils sind. Je näher ein Kandidat bei diesen Endpunkt sind, desto höher ist ihr Anteil an den insgesamt 100 Prozent, die bei diesem Vorgang auf die Kandidaten zu "verteilen" sind. Das Wort mit dem höchsten Anteil wird ausgegeben.
Hier kommt nun die sogenannte Temperatur ins Spiel, ein wichtiger (aber nicht der einzige) Parameter, der die Ausgabe des Modells beeinflusst. Die Temperatur ist ein Parameter, welcher der Formel für die Berechnung der erwähnten Wahrscheinlichkeitsverteilung der diversen Kandidaten für das wahrscheinlichste nächste Wort quasi beigemischt wird. Je höher die Temperatur ist, desto gleichmässiger sind die 100 Prozent Wahrscheinlichkeit auf die diversen Kandidaten verteilt (wobei eine gleichmässige Verteilung einem zufälligen Raten entspricht, also dem, was ein Modell ohne Training ausgeben würde). Je tiefer die Temperatur ist, desto höher ist die Wahrscheinlichkeit jenes Worts, das den Endkoordinaten am nächsten ist. Ist die Temperatur sehr niedrig, werden die zu verteilenden 100 Prozent fast vollständig auf dem Wort liegen, dass den Endkoordinaten am nächsten liegt, und es gewinnt den Wettbewerb. Mit der Temperatur lässt sich also das Generieren des nächsten Wortes von deterministisch (sogenanntes greedy decoding) bis zu komplett zufällig variieren. Dabei zeigt die Praxis, dass es nicht unbedingt optimal ist, Texte mit einer Temperatur von 0 zu generieren. Mit einer leicht erhöhten Temperatur lassen sich oft qualitativ bessere Texte generieren.
Die Temperatur kann auch ein Grund für die sogenannten Halluzinationen sein, die ein Modell produziert, indem es Dinge erfindet, die so nicht stimmen. Nicht immer sind Halluzinationen unerwünscht. Die Temperatur kann positiv ausgedrückt auch als Instrument für kreativere Outputs benutzt werden. Wer beispielsweise einem Sprachmodell den Anfang eines klassischen Kindermärchens füttert, welches das Modell bereits zahlreiche Male gesehen hat, der wird bei einer Temperatur von 0 die klassische Fortsetzung dieses Märchens erhalten. Wer eine höhere Temperatur wählt, erlaubt dem Modell auch Abweichungen von der gelernten Linie zu machen. Hat es einmal eine Abweichung gemacht, wird es möglicherweise völlig neue Richtungen einschlagen, weil es sich ja Wort für Wort vorarbeitet: Sobald ein neues Wort gewählt ist, mit dem der Input fortgesetzt wird, wird dieses neue Wort dem Input hinzugefügt, und der ganze Prozess beginnt mit dem Text – ergänzt um das neue Wort – erneut durchgeführt. Das neue Wort kann dabei dem bisherigen Input-Text eine völlig neue Bedeutung geben, und der Output wird immer mehr vom "üblichen" Verlauf der Geschichte gemäss Trainingsmaterial abweichen.
Die Temperatur ist freilich nicht der einzige Grund für Fehler im Output eines Modells. Weil das Modell seinen Output basierend auf dem Bedeutungsgehalt schöpft, den es (zurecht oder fälschlicherweise) aus den Trainingsinhalten gewonnen hat, kann es bei Fehlern in diesen Inhalten auch diese Fehlbedeutungen in seinen Outputs wiedergeben. Oder bestimmte Wörter oder Wortkombinationen im Input können eine "Abweichung" von der vom Benutzer erwarteten Wortlinie provozieren, weil sie irgendeine andere Bedeutung im Modell triggern. Das alles kann heute nicht wirklich vorhergesagt werden; dafür sind die möglichen Kombinationen schlicht zu gross.
Wir können sie bauen, aber wirklich verstehen tun wir nicht
Aus dem Gesagten ergibt sich allerdings auch, dass grundsätzlich je mehr Parameter ein Modell hat, desto ausgeglichener und besser wird es Texte (oder anderen Outputs) generieren können. Denn mehr Trainingsinhalte bedeutet, dass es die Bedeutungen der Wörter auf allen Ebenen zuverlässiger feststellen kann. Das ist wie bei einer Studie: Das Ergebnis einer Studie mit 20 Messpunkten ist weniger zuverlässig als das Ergebnis einer Studie mit 200 Messpunkten, selbst wenn die Messpunkte in beiden Fällen möglichst gleich ausgewählt worden sind. Darum ist es für die Zuverlässigkeit von KI-Modellen auch so wichtig, mit möglichst viel unterschiedlichem Trainingsmaterial gefüttert zu werden. Je mehr solches es gibt, desto statistisch gesehen tiefer ist auch die Wahrscheinlichkeit, dass sich solches wieder im Output auftaucht, weil ein Modell bereits aufgrund seiner Funktionsweise die einzelnen Inhalte quasi zu Mittelwerten "neutralisiert" bzw. die Bedeutungen "normalisiert".
Das ist auch deshalb wichtig, weil ein grosses Sprachmodell normalerweise gerade nicht den Zweck hat, einfach die gelernten Inhalte wiederzugeben (was technisch möglich wäre), sondern aus den Inhalten Bedeutungen abzuleiten, mit denen sich dann beliebig viele unterschiedliche Inhalte aufbauen lassen. Aus diesem Grund hat jeder, der ein solches Modell trainiert, typischerweise Interesse daran, denselben Inhalt möglichst wenig zu wiederholen, sondern stattdessen dem Modell möglichst viele unterschiedliche Inhalte vorzulegen. Dies verbessert die Fähigkeit des Modells, basierend auf dem jeweiligen Input qualitativ hochwertigen Output neu zu generieren. Das Ziel eines grossen Sprachmodells ist also das Erfinden von Texten basierend auf dem semantischen Wissen, das aus den Trainingsinhalten gewonnen wurde.
Dabei können selbst Top-Wissenschaftler in diesem Bereich heute manche Phänomene, die sich bei den grossen Sprachmodellen beobachten lassen, noch nicht erklären. Zum Beispiel, warum sie während ihres Trainings ein scheinbar "selbstheilendes" Verhalten an den Tag legen können, das in der Wissenschaft als sogenanntes Double-Descent-Phänomen umschrieben wird (weil der "Loss" zuerst sinkt, dann steigt und dann wieder sinkt). Oder wie KI-Modelle mitunter Aufgaben lösen können, für die sie gar nicht bewusst trainiert worden sind (sogenannte Generalisierung). Oder wie sich bestimmte Lösungsfähigkeiten nicht allmählich manifestieren, sondern plötzlich und unerwartet auftreten können (sogenanntes Grokking). Oder ob es sich beispielsweise beim Grokking und Double Descent eigentlich um dasselbe Phänomen handelt.
All diese und weitere Phänomene kommen vor, und es wird nach wie vor darüber gerätselt, warum dem so ist. Mit anderen Worten: Die Menschheit ist zwar in der Lage, immer grössere Sprachmodelle zu bauen, die erstaunliche Dinge leisten, aber warum sie wann genau was produzieren, verstehen wir noch nicht wirklich. So wie in anderen wissenschaftlichen Disziplinen wie der Physik oder Chemie zuerst auf experimentelle Weise versucht wurde zu verstehen, wie die Welt funktioniert, versuchen die Deep-Learning-Wissenschaftler von heute ebenfalls auf dem Weg des Trial-and-Errors herauszufinden, wie grosse Sprachmodelle funktionieren und warum sie tun, was sie tun. Das mag auf den ersten Blick zwar die Alarmglocken schrillen lassen, weil es indiziert, dass wir eine Technik einsetzen, die wir im Grunde nicht verstehen. Gleichzeitig muss aber betont werden, dass gerade die grossen Sprachmodelle oftmals mit besseren Leistungen als erwartet überraschen. Was dies für das oft gehörte Erfordernis bedeutet, dass KI-Ergebnisse "erklärbar" sein müssen, darauf werden wir in einem separaten Blog eingehen.
Für den praktischen Einsatz jedenfalls in kritischen Anwendungen von grossen Sprachmodellen bedeutet dies, dass es nicht nur entsprechende Tests braucht, um die Eignung und Zuverlässigkeit dieser Modelle für den konkreten Fall zu testen. Ihr Einsatz muss auch überwacht werden, um unerwünschtes Verhalten in der Praxis feststellen zu können. Und in manchen Fällen kann es auch angezeigt sein, kleinere Sprachemodelle mit weniger Komplexität und Fähigkeiten zu verwenden, etwa wenn es um sehr spezifische Aufgaben geht (wie z.B. das Erkennen von bestimmten Inhalten in Texten, die geschwärzt oder blockiert werden sollen). Kleinere Modelle haben auch den Vorteil, dass sie weniger Rechenleistung und Speicherplatz benötigen – und weniger Energie.
Inhalte speichern ohne Texte zu speichern
Aus dieser vorstehenden Beschreibung wird klar, dass ein Sprachmodell keine bestimmten Texte enthält, jedenfalls nicht im klassischen Verständnis. Ausgehend von einem X-beliebigen Input kann es jedoch konkrete Texte erzeugen, indem das Modell, die in den Trainingsinhalten identifizierten Konzepte imitiert und damit Texte generiert, die denselben, im jeweiligen Einzelfall anwendbaren Bedeutungsgehalt haben wie die Texte aus dem Training.
Obwohl ein Sprachmodell keine seiner Trainingstexte als solche speichert, ist es trotzdem möglich, dass solche extrahiert werden können. Das hat damit zu tun, dass die Parameter, welche die Bedeutung von Worten speichern, in Kombination und unter gewissen Umständen in der Lage sind, auch Inhalte zu speichern. Der wichtigste dieser Umstände ist, wie häufig ein bestimmter Text im Training gesehen wurde. Weitere Faktoren sind die Länge eines Textes und wie gross das Modell ist, d.h. wie viele Parameter es hat.
Wurde ein Text in den Trainingsinhalten sehr häufig gesehen, dann wird das Modell ihn mutmasslich genau so komplettieren, wenn es den ersten Teil des Textes vorgelegt erhält. Der Satz "Eine Katz hat neun …" kann intuitiv nur auf eine Weise sinnvoll fortgesetzt werden; wir haben das Sprichwort viele Male gehört oder gelesen. Das wird auch für ein auf deutschen Texten trainiertes grosses Sprachmodell so gelten. Dabei hat das nicht damit zu tun, dass dem Sprachmodell dasselbe Dokument mehrere Male vorgelegt worden ist. Im Gegenteil: Beim Training von Sprachmodellen wird in der Regel darauf geachtet, dass dasselbe oder sehr ähnliche Dokumente ("near duplicates") herausgefiltert werden ("deduplication"). Jeder Text soll aus den bereits erwähnten Gründen nach Möglichkeit nur einmal benutzt werden. Allerdings können solche Redewendungen, kommerzielle oder politische Slogans, bestimmte Namenskombinationen, beliebte Zitate oder auch sonstige Texte, wie zum Beispiel der Wortlaut einer bei Computerprogrammen oft gebrauchten Open-Source-Lizenz, der Lebenslauf oder das Geburtsdatum einer prominenten Person oder eine Nachrichtenmeldung, in zahlreichen verschiedenen Dokumenten, die für das Training benutzt werden, in immer ungefähr derselben Weise vorkommen.
So brennt sich bestimmtes Wissen in das Sprachmodell ein; weil die Bedeutung jedes Wortes auch aus den Bedeutungen der anderen Wörter, sprich aus der ganz spezifischen Kombination der anderen, vorausgehenden Wörter abgeleitet werden, "weiss" das Modell, dass auf die Worte "Geburtstag", "Donald" und "Trump" typischerweise die Worte "14.", "Juni" und "1946" folgen. Umgekehrt zeigen im Modell die Bedeutungen der Worte "Juni", "1946" und "geboren" nicht unbedingt auf die Worte "Donald" und "Trump". Es ist also viel weniger wahrscheinlich, dass das Modell sagen kann, dass Donald Trump im Juni 1946 geboren wurde, als dass es den Geburtstag von Donald Trump nennen kann. Kennt es also den Geburtstag von Donald Trump? Jein, es kommt darauf an, wie gefragt wird, d.h. welcher Input dem Modell geliefert wird. Dies wird für die datenschutzrechtliche Frage relevant sein, ob ein grosses Sprachmodell Personendaten enthält; darauf wir werden in einem separaten Beitrag eingehen.
Klar ist auch, dass auf diese Weise sich auch falsche Informationen in ein Sprachmodell Eingang finden oder aber das Modell die Bedeutung eines Wortes nicht erkennt, weil sie in seinem Trainingsinhalt zu selten vorgekommen ist. Das ist ein weiterer Grund, warum ein Interesse daran bestehen kann, dass solche Modelle mit möglichst viel verschiedenen und auch qualitativ hochwertigen Inhalten gefüttert werden: Es ist dies eine Strategie, um den Einfluss jedenfalls einzelner falscher Informationen auf die im Modell gespeicherten Bedeutungszusammenhänge zu reduzieren. Aus demselben Grund kann es auch sinnvoll sein, ein Sprachmodell bewusst zu fragen, ob eine Information richtig ist. Allein diese Frage kann das Modell dazu triggern, dass es sich bei der Generierung seiner Antwort stärker durch jenes erlerntes "Wissen" beeinflussen lässt, das auf Texten basiert, die sich mit der Richtigkeit einer bestimmten Aussage befasst haben.
Warum ein bestimmter Input zu einem bestimmten Output führt, kann allerdings bei den sehr grossen Sprachmodellen nach wie vor nicht wirklich erklärt werden. Auch die Frage, wie häufig ein Text im Training auftauchen muss, damit er sich im Output wiederfindet, lässt sich bis heute ebenfalls nicht klar beantworten. Die einzelnen Wörter im Kontext durchlaufen zu viele Ebenen, ihre Koordinaten im oben erwähnten virtuellen "Raum" werden zu häufig justiert, so dass es sehr schwer oder sogar unmöglich ist, dies vorherzusagen, auch wenn alle Parameter eines Sprachmodells theoretisch bekannt sind – sie ändern sich ja im laufenden Einsatz nicht mehr, sobald das Training abgeschlossen ist.
Wie ein Set von Zauberwürfeln
Dem Sprachmodell ist nach dem Gesagten somit nicht anzusehen, welchen Output es auf einen bestimmten Input hin generieren wird. Ein Sprachmodell könnte auch als Set von zauberhaften Buchstabenwürfeln beschrieben werden, bei dem in jedem Würfel ein bewegliches Gewicht eingebaut ist. Ein versteckter Mechanismus kann dieses Gewicht innerhalb jedes Würfels in jede Richtung bewegen. Ist es in der Mitte des Würfels positioniert, sind die geworfenen Buchstaben zufällig. Wenn jedoch der Werfende vor dem Wurf etwas ansagt (= Input), dann verschiebt der Mechanismus das Gewicht in jedem Würfel basierend auf dieser Ansage in die eine oder andere Richtung. Werden die Würfel dann geworfen, landen sie dadurch immer mit einer bestimmten Seite oben und zeigen so einen Text an (= Output). Den Würfeln ist nicht anzusehen, welche Wörter damit gebildet werden können, und es lässt sich auch nicht vorhersagen, wie der Mechanismus genau funktioniert. Welche Buchstaben er wann anzeigt, lässt sich nur durch Ausprobieren ermitteln – und zwar in beliebig vielen Kombinationen.
Diese Analogie ist noch aus einem anderen Grund passend: Die Mehrheit der Parameter, die in einem grossen Sprachmodell enthalten sind, wird auch in der Fachsprache als sogenanntes weight oder zu Deutsch "Gewicht" bezeichnet; den Begriff kennen wir bereits von der obigen Erläuterung der Funktionsweise von neuronalen Netzwerken. Es sind also Zahlenwerte, die im Modell hinterlegt sind, und dafür sorgen, dass sich die Koordinaten der diversen Wörter im Input jeweils in die eine oder andere Richtung verschieben, während die einzelnen Ebenen jedes Modells, in welchen diese Gewichte hinterlegt sind, abgearbeitet werden. Die grossen Sprachmodelle haben Milliarden dieser Gewichte.
Alle diese Gewichte müssen durch ein aufwändiges Training richtig eingestellt und aufeinander abgestimmt werden werden, damit sie in ihrer Gesamtheit ihren Zweck erfüllen. Das gilt also nicht nur die Gewichte, die in den neuronalen Netzwerken des Sprachmodells abgelegt sind. Das funktioniert vom Prinzip her aber ähnlich wie wir dies für die neuronalen Netzwerke oben bereits beschrieben haben: Dem zu trainierenden Modell werden die Trainingsinhalte nicht gesamthaft vorgelegt, sondern immer nur Wort für Wort. Nach jedem Wort wird es gebeten, das nächste Wort vorherzusagen. Anhand des Wortes, das im Trainingsinhalt tatsächlich als nächstes folgt, werden dann die diversen im Modell enthaltenen Gewichte und weiteren Parameter so nachjustiert, dass es diese Aufgabe das nächste Mal besser kann. Auf diese Weise kommt mit jedem Trainingsinhalt mehr "Gespür" (um nicht das Wort "Wissen" zu verwenden) für Texte im Stil der Trainingsinhalte zusammen, die letztlich in den Parametern des Sprachmodells ihren kombinierten Niederschlag finden.
Was bedeutet dies für den Datenschutz?
Damit haben wir hoffentlich eine erste Grundlage für ein besseres Verständnis dessen bereitet, was sich in einem KI-Modell abspielt, wenn es beispielsweise Texte generiert.
An dieser Stelle möchten wir Imanol Schlag vom ETH AI Center herzlich für seinen technisch-fachlichen Input zu diesem Beitrag bedanken.
Was dies aus der Sicht des Datenschutzes bedeutet und wie vor diesem Hintergrund Betroffenenrechte geltend gemacht werden können, werden wir in unserem nächsten Blog-Beitrag erläutern. Was diese Dinge für Benutzer aus urheberrechtlicher Sicht bedeuten, haben wir bereits in Teil 14 erläutert. Und in einem weiteren Blog-Beitrag werden wir noch die rechtlichen Vorgaben für das Training von Sprachmodellen erläutern.
Wir unterstützen Sie bei allen Fragen zu Recht und Ethik beim Einsatz von künstlicher Intelligenz. Wir reden nicht nur über KI, sondern setzen sie auch selbst ein. Weitere Hilfsmittel und Publikationen von uns zum Thema finden Sie hier.