Die rasante Entwicklung generativer Künstlicher Intelligenz, insbesondere großer Sprach- und multimodaler Modelle, eröffnet neue Möglichkeiten in verschiedensten Anwendungsbereichen – von der Softwareentwicklung über das Wissensmanagement bis hin zur industriellen Produktion. KI-Anwendungen können dabei helfen, Prozesse zu optimieren und innovative Lösungen zu entwickeln. Doch der Weg von der Forschung in die Praxis ist komplex und bringt zahlreiche Herausforderungen mit sich, wie z.B. Infrastrukturfragen, Prompt Engineering und Qualitätssicherung. In diesem Beitrag teilen wir Erfahrungen aus der Entwicklung von KI-Anwendungen und zeigen anhand konkreter Beispiele, wie generative KI heute schon produktiv eingesetzt werden kann und worauf bei der Überwindung von Hindernissen besonders zu achten ist.
In den vergangenen Jahren hat der Bereich der generativen KI erhebliche Fortschritte gemacht, hauptsächlich mit dem Aufkommen von großen Sprachmodellen (LLMs) und multimodalen Modellen. Diese Tools haben bemerkenswerte Fähigkeiten in verschiedenen Aufgaben der „Natural Language Processing“ und des „Computer Visions“ unter Beweis gestellt. Infolgedessen besteht ein wachsendes Interesse an der Entwicklung generativer KI-basierter Anwendungen, um komplexe reale Probleme anzugehen.
Die erfolgreiche Integration generativer KI-Modelle (LLM, multimodale Modelle) in die Praxis erfordert eine sorgfältige Berücksichtigung mehrerer Faktoren. Solche Modelle sind relativ neu, und ihre Entwicklung und Implementierung sowie das umgebende Software-Ökosystem befinden sich noch in der Entwicklung. Sie erfordern eine spezielle Infrastruktur, wie z.B. GPUs (Graphics Processing Units). Sie verbrauchen viel Energie und können je nach Infrastruktur und Anzahl der verarbeiteten Abfragen manchmal langsam reagieren. Ihre Outputs sind in der Regel stochastisch. Sie können Halluzinationen oder falsche Informationen hervorrufen. Schließlich sind ihre Schnittstellen in erster Linie textbasiert, mit Ein- und Ausgabe im Textformat. Dies kann beim Prompting, beim Verstehen der Abfrage des Benutzers und beim Einschränken des Ausgabeformats eine Herausforderung darstellen.
Arten von KI-Anwendungen
Anwendungsfälle und Anwendungsdomänen
Am Fraunhofer IESE haben wir an Projekten gearbeitet, die sich mit großen und multimodalen Sprachen in verschiedenen Branchen wie Produktion, Versicherungen, Softwareentwicklung, Smart City, Medizin u.v.m. befassen. All diese Initiativen haben ein gemeinsames Ziel:
Notwendigkeit eines effizienten Wissensmanagements, gepaart mit der Erwartung, dass generative KI Prozesse rationalisiert und beschleunigt.
Die Anwendungsfälle, an denen wir gearbeitet haben, lassen sich in vier Typen einteilen:
-
Informationsextraktion und Dokumentenklassifikation
Anwendungsfälle aus diesem Bereich benötigen Systeme, die Dokumente für die weitere Verarbeitung in vordefinierte Kategorien klassifizieren. Beispiele hierfür sind auf Social-Media-Plattformen die Überprüfung auf schädliche Inhalte und die Erleichterung des Informations- und Technologiemonitorings durch die Klassifizierung von Pressemitteilungen und deren Versand an die entsprechenden Stakeholder.
-
Intelligente Suchmaschine (RAG)
In diesen Fällen müssen vorhandene Dokumente durchsucht werden, die in verschiedenen Formaten (PDF, HTML, Wiki, Word usw.) vorliegen. Oft geht es darum, Daten und Metadaten aus Dokumenten zu extrahieren, nach ähnlichen Inhalten zu suchen und relevante Dokumente oder Teile von Dokumenten zusammenzufassen.
-
Interaktive Schnittstelle wie Chatbots
Die dritte Art von Anwendungsfällen umfasst die Interaktion mit einem bestehenden Informationspool (Dokumente, Datenbanken, Wissensgraphen usw.). Die Interaktion erfolgt in der Regel in Form eines textbasierten Chatbots, der die Fähigkeit des Systems zur Verwaltung von Dialogabläufen erfordert und interne Zustände benötigt.
-
Generierung neuer Inhalte
Die letzte Anwendungsfallart besteht darin, neuartige Inhalte auf der Grundlage eines vordefinierten Kontexts zu generieren. Ein Beispiel hierfür ist die Erstellung von Übungen für eine E-Learning-Plattform.
Typische Aufgaben, die generative KI-Modelle lösen können
In der Softwareentwicklung verbessert die Aufteilung komplexer Aktivitäten in einfachere Aufgaben in der Regel die Qualität der Ausgabe und macht die Anwendung überschaubarer. Auch beim Einsatz von generativen KI-Modellen gilt dieses Prinzip und seine Vorteile. Für die Entwicklung generativer KI-basierter Anwendungen ist es wichtig, das richtige Abstraktionsniveau für die spezifischen Bausteine zu identifizieren. In der folgenden Liste haben wir Aufgaben gesammelt, die generative KI-Modelle wie LLM im Wissensmanagement gut erfüllen können.
-
Klassifikation
Die Aufgabe des Modells besteht darin, Dokumente (Text, Bild) in vordefinierte Kategorien zu kategorisieren. Beispiele hierfür sind die Klassifizierung von Presseartikeln, die Stimmungsanalyse und die Erkennung von Hassreden, die Erkennung der Intention des Nutzers (Erkennung, ob es sich bei einer Anfrage um eine Frage oder ein Feedback handelt), Relevanzprüfungen (Sicherstellung, dass Inhalte zu einem Thema oder einer Suchanfrage passen) und Konsistenzprüfungen (Überprüfung, ob Informationen in einem Dokument konsistent und frei von Widersprüchen sind).
-
Extraktion von Informationen
Die Aufgabe des Modells besteht darin, bestimmte Informationen aus Dokumenten zu extrahieren. Beispiele hierfür sind die Erkennung benannter Entitäten (Named Entity Recognition, NER), die Verknüpfung von Entitäten, die Extraktion von Schlüsselwörtern und die Erstellung von Wissensgraphen. Dies ist nützlich, um Dokumente vorzuverarbeiten, bevor sie in einer Datenbank durchsuchbar gemacht werden.
-
Übersetzung
Die Aufgabe des Modells besteht darin, das Eingabedokument zu verwenden und denselben Informationsinhalt in einer anderen Sprache oder einem anderen Format zu vermitteln. Beispiele hierfür sind die Übersetzung in eine bestimmte Sprache (z.B. vom Deutschen ins Englische), Text in eine bestimmte formale Sprache (z.B. JSON, YAML, Markdown…), das Gegenteil (z.B. JSON in Text) oder die Übersetzung in eine formale Sprache in eine andere. Dies kann z.B. nützlich sein, wenn die abgerufenen Dokumente auf Englisch sind, die Abfrage aber in einer anderen Sprache erfolgt. Oder für die Übersetzung natürlicher Sprache in eine formale Spezifikationssprache (z.B. JSON), die die Indizierung und Suche erleichtert.
-
Neuformulierung
Die Aufgabe des Modells besteht darin, ein Dokument als Eingabe zu verwenden und eine neu formulierte Version zu erstellen, die einem bestimmten Zweck dient. Es formuliert oder strukturiert das Dokument neu, um das gewünschte Ziel zu erreichen. Beispiele hierfür sind das „Query-Understanding“, das eine genaue Interpretation von Benutzeranfragen gewährleistet; Generierung von Unterfragen, die komplexe Abfragen in einfachere Teile zerlegen und die Genauigkeit verbessern; und Paraphrasierung, die die Klarheit verbessert und die Antworten auf die Bedürfnisse der Benutzer zuschneidet.
-
Text-zu-Code
Die Aufgabe des Modells besteht darin, eine Beschreibung in natürlicher Sprache in einen Codeausschnitt, eine Datenbankabfrage oder ein Skript zu konvertieren. Dies ist hilfreich für das Generieren dynamischer Abfragen in strukturierten Datenbanken wie SQL oder das Erstellen von Visualisierungen durch Generieren von Code, der Daten liest und Visualisierungen erzeugt.
-
Zusammenfassung
Das Ziel des Modells besteht darin, ein oder mehrere Dokumente zu verarbeiten und eine prägnante Version zu generieren, die die wesentlichen Informationen beibehält. Er extrahiert die wichtigsten Punkte und formuliert eine Zusammenfassung. Die Zusammenfassung von Dokumenten kann die Suchergebnisse verbessern und ist auch in Anwendungen von entscheidender Bedeutung, bei denen Benutzer Zusammenfassungen langer und komplizierter Dokumente benötigen.
-
Generierung von Inhalten
Das Modell erstellt neue Inhalte, die mit einem bestimmten Kontext konsistent sind. Zu den Anwendungen gehören das Generieren von Antworten innerhalb eines RAG-Systems (Retrieval-Augmented Generation), das Bilden von Frage-Antwort-Paaren für häufig gestellte Fragen (FAQs) oder Testfälle sowie das Erstellen spezifischer Zusammenfassungen oder verwandter Abfragen zur Unterstützung der Dokumentensuche.
Was ist bei der Entwicklung generativer KI-Anwendungen zu beachten?
Im Vergleich zu anderen Arten von Softwarekomponenten haben generative KI-Modelle und allgemein datengetriebene Komponenten (maschinelles Lernen oder statistische Modelle) besondere Herausforderungen. Einige zählen wir im Folgenden auf:
Hardware, Infrastruktur und Latenz
Erstens erfordern generative KI-Modelle eine spezifische Infrastruktur (GPUs, TPUs), die zu hohen Energiekosten und potenziell geringer Latenz führen kann. Daher ist es wichtig zu bestimmen, ob der Anwendungsfall überhaupt ein solches Modell erfordert (die Ähnlichkeitssuche benötigt dies bspw. nicht) und wenn ja, ob das Modell zur Laufzeit verwendet werden muss, z.B. in Chatbots, oder ob es offline verwendet werden kann (z.B. um Inhalte zu generieren, die später zur Laufzeit abgefragt werden).
Hosting
Im Einklang mit dem Thema Infrastruktur ist das Hosting generativer KI-Modelle ein Thema, das über die reine Entwicklung von Anwendungen hinausgeht, da es strategische Entscheidungen seitens der Organisation in Bezug auf Daten- und IP-Schutz, Ressourcen und Fähigkeiten erfordert. Während kleine Modelle lokal gehostet und auf der CPU ausgeführt werden können, haben wir in den meisten Fällen mittlere bis große Modelle (> 7b-Parametern) verwendet, die hinter einem Server laufen. Einige wurden vor Ort gehostet (mit Huggingface TGI oder vLLM), andere in der Cloud (Azure). Beide Lösungen haben ihre Vor- und Nachteile. Aus der Sicht eines Entwicklers ist aber der Aufruf eines Modells nur einem API-Aufruf.
Wahl des Modells
Die Wahl der Modelle wird von der Art der Modalität beeinflusst, da relevante Informationen sowohl in Form von Text als auch in Form von Dokumentstrukturen, Tabellen und Bildern vorliegen können. Sprach- und domänenspezifisches Vokabular ist ein weiterer wichtiger Aspekt, der sich auf die Wahl des Modells auswirkt (obwohl mehrsprachige Modelle inzwischen immer häufiger werden).
Auch die Lizenzierung spielt eine Rolle: Einige Modelle erlauben nur die Nutzung in der Forschung, andere die kommerzielle Nutzung. Ein Vorteil von Open-Source-Modellen ist, dass sie bei Bedarf fein abgestimmt (fine-tuning) werden können.
Schließlich kann die Qualität der Modelle anhand von Benchmarks und Leaderboards bewertet werden. Benchmarks geben nur einen ersten Eindruck. Modelle müssen im Kontext der Anwendung bewertet werden, in der sie verwendet werden (siehe unten).
Datenvorverarbeitung
Die Datenvorverarbeitung ist ein Schlüsselelement. Das Extrahieren von Informationen aus Dokumenttypen wie PDFs, Word-Dateien oder HTML erfordert ein gutes Parsing, das trotz Fortschritten immer noch Zeit und eine sorgfältige Auswertung erfordert. Da LLMs oder multimodale Modelle auf Text-in/-out-Basis arbeiten, sind geeignete Prompts und Ausgabeeinschränkungen oder Parsen erforderlich. In Anwendungsfällen, in denen Dokumente durchsucht werden, ist die Datenvorverarbeitung das, was eine Anwendung erfolgreich oder nicht erfolgreich macht.
Prompt Engineering
Die Art und Weise, wie wir Prompts formulieren, hat einen erheblichen Einfluss auf die Antworten, die von Modellen generiert werden. Dies unterstreicht, wie wichtig ein effektives Prompt Engineering ist. Prompt Engineering umfasst eine Reihe von Aktivitäten, die darauf abzielen, Anweisungen zu erstellen, die generative KI-Modelle interpretieren können, um optimale Ergebnisse zu erzielen. Es haben sich verschiedene Prompttechniken entwickelt, um die Qualität der Antworten der Modelle zu verbessern. Ein bekanntes Beispiel ist die »Chain-of-Thoughts« (Denkkette), die einen schrittweisen Denkprozess fördert. Auf generativer KI basierende Anwendungen erfordern häufig benutzerdefinierte Prompts für bestimmte Aufgaben. Das Management von Prompts – durch Versionierung, Testen und Optimieren – ist daher unerlässlich, um ihre Effektivität zu maximieren. Bei der Entwicklung solcher Anwendungen ist es notwendig, Prompts als Code-Artefakte zu betrachten.
Risiko von Halluzinationen
Eine weitere Herausforderung ist das Risiko von Halluzinationen, das auf verschiedene Weise gemildert werden kann. Möglichkeiten sind die Verankerung der Antworten des Modells durch das Abrufen relevanter Dokumente und die Implementierung von Konsistenz- und Relevanzprüfungen, bei denen das LLM die Relevanz von Dokumenten und die Konsistenz seiner Antworten bewertet. Diese Methoden können zwar die Ausgabequalität verbessern, erfordern jedoch eine sorgfältige Orchestrierung und können die Komplexität des Systems erhöhen, was häufig zu einer erhöhten Latenz und einem erhöhten Energieverbrauch führt.
Versuch und Versuchsaufbau
Die Qualitätssicherung generativer KI-basierter Anwendungen ist nicht trivial. Viele Komponenten beeinflussen die Qualität der Anwendung: Datenvorverarbeitung, Prompts, Modelle usw. Alle diese Komponenten werden nach einem Workflow orchestriert und müssen konsequent getestet werden. Ein wesentlicher Faktor, der die Evaluierung generativer KI-Anwendungen erschwert, ist die potenziell unendliche Vielfalt der akzeptierten Eingaben. Zum Beispiel ist die Anzahl der Fragen, die man einem Chatbot stellen kann, unendlich. Es ist notwendig, über ein robustes Testframework zu verfügen und Strategien zur Generierung von Testfällen zu entwickeln.
Evolution des Technologie-Stacks
Neben den oben genannten Herausforderungen ist zu beachten, dass sich der aktuelle Markt und das technische Ökosystem in rasantem Tempo weiterentwickeln. Während die Entwicklung eines Retrieval Augmented Systems (RAG) vor etwas mehr als einem Jahr noch als herausfordernd galt, gibt es heute viele Open-Source-Lösungen, die RAG out of the box anbieten, und viele Start-ups, die solche Dienstleistungen anbieten. Viele Datenbankanbieter bieten jetzt Vektorsuchfunktionen an, um ähnliche Texte oder Bilder zu durchsuchen. Für die Überwachung und Bewertung solcher Anwendungen stehen mittlerweile Generative-AI-DevOps-Plattformen zur Verfügung.
Kompetenzen und Prozesse
Die meisten unserer Projekte haben einen F&E-Schwerpunkt, d.h. sie sind darauf ausgerichtet, die Machbarkeit einer Lösung zu bewerten und Wissen zu transferieren. Hier ist unser Ansatz iterativ und basiert auf dem Konzept des AI Innovation Lab [1]. Das bedeutet, es liegt ein starker Schwerpunkt auf End-to-End-Evaluation, DevOps-Prinzipien und kontinuierlicher Verbesserung auf der Grundlage des CRISP-DM-Prozessmodells [2].
Die Betonung einer iterativen und experimentellen Denkweise ist notwendig, da generative KI-Modelle nicht linear sind und es schwierig ist, die Auswirkungen geringfügiger Änderungen auf das Ergebnis vorherzusagen (siehe „Adversarial Examples“). Dies erhöht das Risiko, dass die entwickelte Lösung nicht die gewünschte Qualität (innerhalb eines vorgegebenen Zeitraums) erreicht. Daher ist ein MLOps- (oder AIOps-) Mindset hilfreich.
In unserem auf Wissensmanagement fokussierten Kontext sind generative KI-Anwendungen eher auf Microservices aufgebaut (oder zumindest auf verschiedenen Komponenten, die in getrennten Containern laufen). Workflow-Entwicklung, Orchestrierung und Tests spielen hier eine Schlüsselrolle. Data Governance und Data Engineering sind ebenfalls wesentliche Komponenten für solche Anwendungsfälle.
Unser Fazit zum aktuellen Stand der Entwicklung von KI-Anwendungen
Die Integration großer Sprachmodelle (LLM) bringt eine Reihe neuer Herausforderungen mit sich. Darunter die Komplexität der Gestaltung effektiver Prompts, das Management potenzieller Halluzinationen und der Umgang mit Ressourcenbeschränkungen. Dennoch ist es wichtig anzuerkennen, dass auch die traditionellen Herausforderungen in der Organisation und Koordination verschiedener Systemkomponenten, wie die Orchestrierung verschiedener Mikrodienste und die Sicherstellung eines reibungslosen Betriebs, weiterhin relevant bleiben. Daher ist die Annahme einer experimentellen und iterativen Denkweise unerlässlich, um diese Komplexitäten erfolgreich zu bewältigen. Die Balance zwischen den innovativen Aspekten des LLM-Engineerings und etablierten Praktiken wird entscheidend sein, um qualitativ hochwertige Ergebnisse im dynamischen Bereich der generativen KI-Anwendungen zu erzielen.
Welche KI-Anwendungen sind für Ihr Business die richtigen?
Sie wollen KI nutzen und wissen, ob es für Ihr Unternehmen sinnvoll ist? Mit »AI Innovation Labs« haben wir einen Methoden- und Werkzeugbaukasten entwickelt, mit dem wir KI-Anwendungen, die einen klaren unternehmerischen Mehrwert aufweisen, systematisch identifizieren, implementieren und evaluieren.
Mehr zu LLMs and generativer KI:
-
- Gernerative KI in der Softwareentwicklung: Herausforderungen und Szenarien
- Retrieval Augmented Generation (RAG): Chatten mit den eigenen Daten
- Prompt Engineering: Wie man mit großen Sprachmodellen kommuniziert
- Open Source Large Language Models selbst betreiben
- Halluzinationen von generativer KI und großen Sprachmodellen (LLMs)
- Large action models (LAMs), tool learning, function calling and Agents
Referenzen
[1] Heidrich, J., Jedlitschka, A., Trendowicz, A., Vollmer, A.M.: Aufbau von KI-Innovationslaboren gemeinsam mit Unternehmen (2022)
[2] Heidrich, J., Trendowicz, A., Ebert, C.: Die Vorteile von Big Data nutzen. IEEE-Software 33(4), 111–116 (2016)