Viele Unternehmen fragen sich zu Recht, wie sie die neuen Möglichkeiten von generativer KI und LLM (Large Language Models) am besten einsetzen und dabei gleichzeitig auch Risiko-Themen wie beispielsweise Datenschutz berücksichtigen können.
Denn diese Technologien bieten innovative Lösungen für zahlreiche geschäftliche Herausforderungen, von der Automatisierung komplexer Aufgaben bis hin zur Verbesserung der Interaktion mit Kunden.
In diesem Artikel geben wir einen Überblick über das transformative Potenzial der generativen KI sowie deren mögliche Einsatzbereiche. Darüber hinaus zeigen wir anhand eines Beispiels wie Sprachmodelle genutzt werden können, um aus unternehmenseigenen Informationen und Wissensdatenbanken neue Anwendungen und Mehrwerte zu erzeugen.
Generative KI und große Sprachmodelle einfach erklärt
Generative künstliche Intelligenz (Generative KI) ist eine Form der künstlichen Intelligenz, die in der Lage ist, neue Inhalte wie z. B. Texte, Bilder, Videos oder Musik zu erzeugen, die sich qualitativ kaum (oder gar nicht mehr) von Inhalten unterscheiden lassen, die von Menschen erschaffen wurden.
Ein Teilbereich der generativen KI, der insbesondere in den letzten Jahren erstaunliche Fortschritte gemacht hat, sind die sogenannten “großen Sprachmodelle” (engl. Large Language Models oder LLMs), welche die Grundlage für bekannte Anwendungen, wie z. B. ChatGPT, Google Bard (jetzt Google Gemini) oder Midjourney, bilden. Ursprünglich für die Generierung von textbasierten Inhalten entwickelt, eignen sich Sprachmodelle inzwischen für eine Vielzahl von Aufgaben in den unterschiedlichsten Bereichen:
- Kundenservice/Kommunikation: Entwicklung von Chatbots und virtuellen Assistenten, um Kundenanfragen zu beantworten und Support zu bieten
- Content-Erstellung: Generierung von Texten für z. B. Artikel, Berichte oder Produktbeschreibungen
- Zusammenfassen von Texten
- Übersetzung von Text in unterschiedliche Sprachen
- Software-Code generieren bzw. vorschlagen
- Bild-/Video-/Audioinhalte erstellen
- Rechtswesen/Compliance: Analyse und Klassifizierung von Rechtsdokumenten, Verträgen und Rechtsberatung
- Erkennung von geäußerter Haltung/Position in Texten (Sentiment Analyse)
- Gesundheitswesen: Analyse von medizinischen Texten, Patientenakten und zur Unterstützung von Diagnosen…
Wie funktionieren große Sprachmodelle?
Technisch gesehen handelt es sich bei einem großen Sprachmodell um ein komplexes neuronales Netzwerk, das mit einer riesigen Menge von Daten trainiert wird (Bücher, Artikel, Webseiten u. ä.), um die Bedeutung, Konzepte und Zusammenhänge von natürlicher Sprache zu verstehen. Dieses trainierte Wissen wird in Form von sogenannten Parametern kodiert, die das Modell nutzt, um mit einer gewissen Wahrscheinlichkeit passende Antworten auf Benutzeranfragen zu generieren.
Die “Größe” eines Sprachmodells bezieht sich auf die Parameteranzahl, also die Anzahl der Elemente im neuronalen Netz und damit auf die prinzipielle Fähigkeit komplexe Muster zu lernen. Beispielsweise verwendet die Architektur von OpenAIs GPT-4 etwa 1,76 Billionen Parameter. Je mehr Parameter ein Modell hat, desto mehr Rechenleistung wird benötigt. Neben der Parameteranzahl und den Trainingsdaten, gibt es zahlreiche weitere Merkmale anhand derer ein Modell bewertet werden kann. Auf einige gehen wir später noch detaillierter ein.
Anfragen an das Modell werden in Form eines “Prompts” gestellt. Dabei handelt es sich um den initialen Text, also z. B. eine Frage, den Beginn eines Satzes oder zusätzlichen Kontext, aus dem das Modell dann die Antwort generiert. Man muss allerdings beachten, dass Sprachmodelle auch falsche bzw. ungenaue Resultate liefern können, und spricht in diesem Fall von “Halluzinationen”. Dies kann zum einen daran liegen, dass das Modell die Antwort auf eine Frage schlicht nicht kennt.
So wurde ChatGPT 3.5 beispielsweise mit Daten trainiert, die nur bis Januar 2022 reichen, daher kann der Chatbot Fragen, die über diesen Zeitrahmen hinausgehen, nicht beantworten. Zum anderen basieren die Antworten eines Sprachmodells wie bereits erwähnt auf Wahrscheinlichkeiten (und natürlich der Qualität der zugrunde liegenden Trainingsdaten). Somit können auch faktisch falsche oder erfundene Inhalte erzeugt werden. Halluzinationen sind aber im Sinne von kreativen Antworten durchaus erwünscht, da das Modell auch neuartige Ideen produzieren soll, die sich nicht exakt so in den Trainingsdaten wiederfinden lassen.
Wichtige Kriterien für große Sprachmodelle sind unter anderem:
- Modellgröße (Anzahl der Parameter): Dies ist ein Hauptmerkmal von LLMs. Wie bereits erwähnt, bestimmt die Parameteranzahl die Kapazität des Modells, komplexe Muster und Zusammenhänge zu erfassen. Typischerweise sind Modelle mit mehr Parametern leistungsfähiger, benötigen aber auch mehr Rechenleistung für das Training und im Betrieb. Zudem können kleinere Modelle, die für bestimmte Aufgaben oder mit spezifischem Domänenwissen trainiert wurden, ggf. bessere Ergebnisse liefern.
- Kontextgröße (Context Window Size): Die Kontextgröße bezieht sich auf die Anzahl von Wörtern oder Teilen von Wörtern (sogenannte Tokens), die das Modell bei einer einzelnen Anfrage verarbeiten kann. Eine größere Kontextgröße ermöglicht es dem Modell, längere Textpassagen zu berücksichtigen und verbessert das Verständnis von Zusammenhängen und die Kohärenz der Antworten. GPT-4 hat beispielsweise eine Kontextgröße von 32.768 Tokens.
- Effizienz – vor allem benötigter Arbeitsspeicher: Größere Modelle benötigen mehr Speicher, um die Modellparameter zu speichern und zu verarbeiten. Dies kann das Deployment und die Skalierbarkeit eines Modells beeinflussen.
- Datenqualität und -vielfalt: Die Art und das Spektrum der Trainingsdaten bestimmen, wie gut das Modell in der Lage ist, verschiedene Sprachstile, Themen und Kontexte zu verstehen.
- Trainingsmethode und Anwendungszweck: Verschiedene Modelle sind für bestimmte Einsatzzwecke trainiert bzw. “fine getuned“. So gibt es Modelle, die für Bildgenerierung, Spracherkennung, Frage-Antwort-Szenarien usw. optimiert sind.
Closed-Source vs Open-Source LLM
Der Unterschied zwischen Closed-Source- und Open-Source-Sprachmodellen liegt hauptsächlich in ihrer Zugänglichkeit und ihren Verwendungsmöglichkeiten. Closed-Source-Sprachmodelle werden in der Regel von großen Technologieunternehmen oder Forschungsinstitutionen entwickelt und meist kommerziell betrieben.
Dies bedeutet, man muss für die Nutzung Lizenzgebühren, Abonnements oder die Kosten für API-Zugriffe bezahlen. Bei diesen Modellen ist der Quellcode nicht öffentlich zugänglich. Das bedeutet, dass Nutzer:innen und Entwickler:innen nicht einsehen können, wie das Modell strukturell aufgebaut ist, welche Algorithmen intern verwendet werden oder wie das Modell trainiert wurde. Demzufolge sind die Anpassungsmöglichkeiten der Modelle für eigene Applikationen oft beschränkt. Beispiele für bekannte Closed-Source-Sprachmodelle sind ChatGPT und GPT-4 von OpenAI, Google Bard oder Anthropics Claude.
Open-Source Modelle sind im Gegensatz dazu im Allgemeinen frei verfügbar und erlauben es Entwickler:innen, das Modell anzupassen oder zu erweitern, um dann darauf basierend auch eigene spezifische Lösungen umzusetzen. Sie sind meistens kostenlos und haben oft lizenzfreundliche Bedingungen, die eine breite Nutzung ermöglichen. Allerdings muss man beachten, dass der Betrieb eines Sprachmodells (je nach Größe des Modells, Anzahl an Zugriffen pro Tag) mitunter erhebliche Kosten für die IT-Infrastruktur verursachen kann, sei es nun eine On-Premise-Lösung oder die Verwendung von Cloud-Services. Bekannte Beispiele für (kommerziell nutzbare) Open-Source Modelle sind Metas LLama 2, Falcon von TII UAE, MosaicML MPT oder Mistral7B von Mistral AI.
Welches Modell nun das “beste” ist, lässt sich nicht allgemein beantworten, sondern hängt vom konkreten, umzusetzenden Anwendungsfall ab. Anhand von Faktoren wie Eignung/Performance/Anpassbarkeit des Modells, Betriebs-/Trainingskosten, gewünschter Datensicherheit etc. muss entschieden werden, ob man ein eigenes Modell betreiben möchte oder stattdessen auf eine kommerzielle Lösung zurückgreift.
Anpassung und Nachtrainieren von Modellen
Wie können nun aber existierende Sprachmodelle für eigene Anwendungen im Unternehmen angepasst werden? Dazu schauen wir uns im nächsten Abschnitt unterschiedliche Trainingsmöglichkeiten für LLMs an.
Wie können Sprachmodelle trainiert werden?
- Fine-Tuning: Beim Fine-Tuning wird ein bestehendes Modell als Basis verwendet und mit neuen, spezifischen Daten trainiert, um die Leistung des Modells für bestimmte Aufgaben oder Anwendungsgebiete zu verbessern. Im Verlauf des Trainings werden dabei die Parameter des Basismodells geändert. Fine-Tuning wird häufig in Branchen angewendet, in denen Modelle benötigt werden, die spezifische Fachkenntnisse oder Verständnis für spezielle Arten von Texten haben, wie beispielsweise in der Medizin, im Rechtswesen oder in der Finanzwelt. Ein Beispiel wäre ein System, das Ärzt:innen bei der Beantwortung von medizinischen Fragen assistiert. Die Methode kann aber auch verwendet werden, um das grundsätzliche Verhalten eines LLMs anzupassen, also beispielsweise die Art oder den Duktus, mit dem ein Modell antwortet. Da das Grundmodell bereits mit einer umfangreichen Datenmenge trainiert wurde, erfordert das Fine-Tuning in der Regel weniger Rechenleistung und Zeit (und somit auch weniger Kosten), als es komplett von Grund auf neu zu trainieren.
- In-Context-Learning: Beim In-Context-Learning wird das Modell technisch gesehen nicht neu trainiert, es werden also keine Modellparameter angepasst. Stattdessen gibt man bei der Anfrage Informationen im Prompt als Kontext mit (z. B. Anweisungen, Beispielantworten, Chathistorie oder Dokumente) und profitiert von der Fähigkeit der Sprachmodelle, diesen Kontext für die Beantwortung der Anfrage zu nutzen. Der Kontext sollte dabei möglichst relevant für die Beantwortung der Anfrage sein. Wenn man also beispielsweise einen juristischen Text im Prompt mitschickt und eine Frage zu genau diesem Text stellt, sollte das Modell auch eine entsprechende Antwort im Rahmen dieses Kontextes generieren. In-Context-Learning ist besonders nützlich bei Szenarien, in denen sich die mitgeschickten Daten häufiger ändern oder keine Ressourcen für ein umfangreiches Training zur Verfügung stehen. Es ermöglicht eine flexible und dynamische Interaktion mit dem Modell, was in interaktiven Anwendungen wie Chatbots oder Assistenzsystemen von Vorteil ist. Da die Kontextgröße bei LLMs beschränkt ist, sollte der mitgeschickte Kontext möglichst klein gehalten werden. Hier kommt das Konzept von Retrieval Augmented Generation ins Spiel.
Retrieval Augmented Generation: Anwendungsfall Wissensmanagement
Retrieval Augmented Generation (RAG) beschreibt eine Architektur, die ein Information-Retrieval-Modell mit einem großen Sprachmodell kombiniert. Wenn eine Anfrage gestellt wird, sucht das Retrieval-Modell in seiner Datenbank nach potenziell relevanten Informationen. Diese Informationen können aus Textdokumenten, Webseiten oder anderen Datenquellen stammen und werden dann im Prompt zusammen mit der Anfrage an das Sprachmodell weitergegeben. Somit kann das Modell die zusätzlichen Informationen im Rahmen von In-Context-Learning nutzen, um die Anfrage besser zu verstehen und eine genauere Antwort zu generieren.
Betrachten wir als konkreten Anwendungsfall einen Chatbot, der eine Freitextsuche auf einer Wissensdatenbank wie z. B. Confluence ermöglicht. Wie genau findet das Retrieval-Modell in diesem Fall zu einer Abfrage die passenden Informationen?
Dafür sind einige Schritte im Vorfeld notwendig. Zunächst werden die zugrundliegenden Daten aus Confluence exportiert (zum Beispiel als HTML-Dokumente). Danach wird jedes dieser Dokumente in kleinere Teile wie Sätze oder Wörter zerlegt (“Chunks”) und diese wiederum in eine Vektorrepräsentation (“Embeddings”) umgewandelt, die für die Verarbeitung durch maschinelle Algorithmen besser geeignet ist. Diese Vektoren sind so gestaltet, dass sie die Bedeutung und die Beziehungen zwischen verschiedenen Wörtern oder Phrasen abbilden, so dass Wörter mit ähnlichen Bedeutungen im Vektorraum (idealerweise) nahe beieinander liegen. Die generierten Vektoren und eine Referenz auf die zugehörigen Dokumente werden zum Abschluss in einer Vektordatenbank wie z. B. ChromaDB oder Pinecone für den schnellen Zugriff gespeichert. Wird nun eine Frage über den Chatbot gestellt, wird diese, wie die Dokumente vorher, in ihre einzelnen Bestandteile zerlegt, in Vektoren umgewandelt und mit den Einträgen in der Vektordatenbank verglichen. Die Inhalte, die der Frage am “ähnlichsten” und somit am relevantesten sind, werden von der Datenbank zurückgeliefert und dem Sprachmodell als Kontext mitgegeben. Die vom Sprachmodell generierte Antwort wird dann als Ergebnis im Chatbot angezeigt.
Fazit
Die Integration von großen Sprachmodellen in Unternehmensanwendungen markiert einen Wendepunkt in der digitalen Transformation. Diese Modelle bieten Unternehmen nicht nur die Möglichkeit, ihre Prozesse zu optimieren und die Kommunikation zu verbessern, sondern sie eröffnen auch neue Horizonte für personalisierte Services, präzise Analysen und effiziente Entscheidungsfindung. Ihre Vielseitigkeit macht sie zu einem nützlichen Werkzeug für Unternehmen, die nach innovativen Lösungen streben, um in einer sich ständig verändernden und zunehmend datengetriebenen Geschäftswelt erfolgreich zu sein und zu bleiben.