KI - aber wie?
Vor 2 Jahren, am 30. November 2022, wurde ChatGPT der Öffentlichkeit vorgestellt und löste einen regelrechten Hype um Künstliche Intelligenz aus. Im Jänner 2023 hatte der Chatbot bereits über 100 Millionen Nutzer:innen und war damit die bis dato am schnellsten wachsende Consumer-Software.
Mit Fug und Recht kann man behaupten, dass ChatGPT die Nutzung von Künstlicher Intelligenz popularisiert hat, seitdem sind Chatbots und generative KI in aller Munde. Zurecht: Den ersten Kontakt mit ChatGPT oder ähnlichen Technologien würden die meisten Leute wohl irgendwo zwischen „beeindruckend“ und „magisch“ einordnen - auch wenn sich kurz darauf oft eine gewisse Ernüchterung einstellt.
Werfen wir gemeinsam einen Blick hinter die Kulissen, wie generative KI funktioniert, inwiefern das etwas mit Intelligenz zu tun hat, und welche Anwendungsmöglichkeiten und Einschränkungen sich daraus ergeben.
Wie funktioniert das eigentlich?
Die Funktionsweise von ChatGPT lässt sich – zugegebenermaßen stark vereinfacht – folgendermaßen beschreiben: Ausgehend von einem Text versucht der Chatbot, die Frage zu beantworten, wie dieser Text wohl am wahrscheinlichsten weitergehen wird. Dazu wird der nächste „Token“ (die nächsten paar Zeichen) „vorhergesagt“. Das kann ein ganzes Wort sein, oder auch nur eine Silbe. Daraus ergibt sich ein neuer Text, für den wiederum die wahrscheinlichste Fortsetzung ermittelt wird, und so weiter:
Meine Katze
Meine Katze liegt
Meine Katze liegt gem
Meine Katze liegt gemütlich
Meine Katze liegt gemütlich auf
Meine Katze liegt gemütlich auf dem
Meine Katze liegt gemütlich auf dem Fens
Meine Katze liegt gemütlich auf dem Fenster
Meine Katze liegt gemütlich auf dem Fensterbrett.
Wie kann ChatGPT beurteilen, wie wahrscheinlich eine bestimmte Fortsetzung ist? Weil er Milliarden von Webseiten und digitalisierten Büchern „gelesen“ und daher gelernt hat, wie Menschen Texte formulieren. Im Kern bestehen die Sprachmodelle aus einem sogenannten neuronalen Netz, das in Milliarden von einzelnen Rechenschritten diese Vorhersage trifft. Die Leistungsfähigkeit eines Bots ergibt sich daraus, wie viele Tokens er verarbeiten kann.
Auch wenn das natürlich eine sehr oberflächliche und vereinfachende Darstellung ist, ist das die grundlegende Funktionsweise. Umso erstaunlicher ist es, wie beeindruckend die Ergebnisse sind – besonders, wenn man nicht nur eine Fortsetzung eines Texts möchte, sondern dem Chatbot eine konkrete Frage oder Aufgabe stellt, etwa ein Gedicht oder einen Witz zu einem bestimmten Thema zu verfassen. Das funktioniert deswegen (meistens), weil das neuronale Netz des Chatbots in einem weiteren Schritt darauf trainiert wurde, gezielt Anweisungen zu befolgen.1
Was bedeutet das?
Chatbots eignen sich hervorragend für kreative Aufgaben wie das Verfassen von Texten, Code, etc. Vorsicht ist hingegen geboten, wenn es um Fakten geht: Man kann ChatGPT eine Frage stellen und erhält darauf mit großer Wahrscheinlichkeit eine plausible und wohl formulierte Antwort.
Diese kommt aber nicht dadurch zustande, dass der Bot die Frage „verstanden“ hat und die Antwort darauf kennt, sondern er macht das, was er immer macht: Er generiert eine möglichst wahrscheinliche Fortsetzung, und das ist bei einer Frage üblicherweise eben eine Antwort. Ob diese faktisch korrekt ist, kann (und will) der Bot gar nicht wissen. Schnell kommt es dabei zu sogenannten „Halluzinationen“:
Hätten Sie’s erkannt? In Wirklichkeit wurde die Firma 2012 von Roman Schacherl und Daniel Sklenitzka in Asten gegründet. Kennt man die Antwort auf eine Frage, fallen einem Halluzinationen in der Regel schnell auf. Ist das aber nicht der Fall, tappt man selbst mit diesem Hintergrundwissen erstaunlich schnell in die Falle, der Antwort – beeindruckt ob der sprachlichen Qualität – Glauben zu schenken.
Nur eine Spielerei?
Sind Chatbots also nur eine Spielerei und für ernsthafte Anwendungen nicht zu gebrauchen? Keinesfalls, es ist nur wichtig, die Limitationen zu kennen. Es gibt dennoch viele spannende Möglichkeiten, um Chatbots auch sinnvoll einsetzen zu können:
Prompt Engineering
Die Anweisungen, die man an einen Chatbot sendet, werden Prompts genannt. Mit der Popularisierung der Bots hat sich schnell auch die neue Disziplin „Prompt Engineering“ entwickelt. Dabei geht es um die Kunst, Prompts so zu formulieren, dass man das gewünschte Ergebnis bekommt. Das können etwa explizite Hinweis an den Bot sein, wie er sich zu verhalten hat, oder Beispiel-Antworten.
System Prompts
Damit die Benutzer:innen nicht selbst daran denken müssen, können diese Hinweise im nächsten Schritt als sogenannte „System Prompts“ ausgelagert werden. Diese dienen dann als „Briefing“ für den Bot und werden automatisch zu Beginn jeder Unterhaltung (unsichtbar für die Benutzer:innen) eingefügt:
Fine Tuning
Reicht das nicht aus, können die Sprachmodelle mittels Fine Tuning auch noch für spezielle Anwendungsfälle oder Domänen trainiert werden. Dieser Prozess ist aber nicht unaufwändig und benötigt eine Vielzahl von Beispielen für Ein- und gewünschte Ausgaben.
Retrieval Augmented Generation
Will man dem Chatbot eine Wissensdatenbank zur Verfügung stellen, die aber zu umfangreich ist, um sie in den Prompt zu packen (der ja als Teil der Unterhaltung dem Token-Limit unterliegt), bietet sich eine Technik namens „Retrieval Augmented Generation“, kurz RAG, an. Dazu wird das Wissen (z.B. ein unternehmensinternes Wiki, Dokumente wie etwa Produkt-Handbücher, etc.) in kleine Abschnitte unterteilt und in einer Datenbank abgespeichert.
Dann werden auf Basis der Anfrage eine/r Benutzer:in die relevantesten Abschnitte ermittelt und nur diese in den Prompt integriert. Die Nutzung von sogenannten Embeddings ermöglicht hierbei eine „semantische Suche“, d.h. man kann auch Synonyme verwenden und muss nicht exakt die richtigen Suchbegriffe erraten, die auch in der Wissensbasis vorkommen.
Tools
Eine weitere spannende Möglichkeit, einen Chatbot mit Fähigkeiten auszustatten, die über das Generieren von Texten hinausgehen, sind sogenannte Tools (Werkzeuge). Im Prinzip handelt es sich dabei um beliebige Funktionen, die auf herkömmliche Art und Weise programmiert werden können, ergänzt um eine textuelle Beschreibung der Funktion und der Ein- und Ausgabewerte. Diese Beschreibungen werden dann wiederum in den System Prompt integriert und ermöglichen es dem Sprachmodell, mit dem Aufruf eines Tools zu antworten.
Die Tools selbst können beliebig komplex werden und zum Beispiel komplizierte Berechnungen ausführen, eine Datenbank abfragen oder eine API aufrufen und so dem Chatbot jederzeit aktuelle Daten liefern. Auch die Ausführung von schreibenden Operationen (Senden einer E-Mail, Buchen eines Kalendereintrags, …) sind auf diese Art und Weise möglich.
Fazit
Chatbots und Künstliche Intelligenz sind gerade dabei, die Arbeitswelt und vielleicht auch unsere Gesellschaft grundlegend zu verändern. Ein grundsätzliches Verständnis über Funktionsweise und Limitationen hilft dabei, diese Veränderungen einzuordnen und sinnvolle Einsatzgebiete zu identifizieren. Denn die gibt es bei aller berechtigten Kritik – Fake News, Social Media Bots, Energieverbrauch, Nachvollziehbarkeit, Urheberrecht, etc. – durchaus auch (so haben Forscher:innen z.B. herausgefunden, dass Unterhaltungen mit Chatbots den Glauben an Verschwörungstheorien reduzieren können2). Es liegt an uns, diese spannende Technologie verantwortungsvoll einzusetzen.
Sie möchten mehr Details über die Funktionsweise von Sprachmodellen? Wir empfehlen z.B. den sehr ausführlichen Artikel „What is ChatGPT Doing…and Why Does it work?“ von Stephen Wolfram