Mit generativer KI wurde eine neue Möglichkeit geschaffen, KI-Anwendungen zu entwickeln und zu betreiben, die sich von der prädiktiven KI unterscheidet. Wenn Sie eine generative KI-Anwendung erstellen möchten, müssen Sie aus einer Vielzahl von Architekturen und Größen auswählen, Daten auswählen, optimale Prompts entwickeln, Modelle für bestimmte Aufgaben optimieren und Modellausgaben auf realen Daten basieren.
In diesem Dokument wird beschrieben, wie Sie DevOps- und MLOps-Prozesse anpassen können, um generative KI-Anwendungen auf vorhandenen Foundation-Modellen zu entwickeln, bereitzustellen und zu betreiben. Informationen zum Bereitstellen von Predictive AI finden Sie unter MLOps: Continuous Delivery und Pipelines zur Automatisierung im maschinellen Lernen.
Was sind DevOps und MLOps?
DevOps ist eine Softwareentwicklungsmethode, die Entwicklung und Betrieb verbindet. DevOps fördert die Zusammenarbeit, Automatisierung und kontinuierliche Verbesserung, um den Lebenszyklus der Softwareentwicklung mithilfe von Praktiken wie Continuous Integration und Continuous Delivery (CI/CD) zu optimieren.
MLOps baut auf DevOps-Prinzipien auf, um die Herausforderungen beim Erstellen und Betreiben von ML-Systemen (Machine Learning) zu bewältigen. Bei Systemen für maschinelles Lernen wird in der Regel vorausschauende KI verwendet, um Muster zu erkennen und Vorhersagen zu treffen. Der MLOps-Workflow umfasst Folgendes:
- Datenvalidierung
- Modelltraining
- Modellbewertung und ‑iteration
- Modellbereitstellung und -einsatz
- Modellmonitoring
Was sind Foundation Models?
Foundation Models sind die Kernkomponente einer generativen KI-Anwendung. Diese Modelle sind große Programme, die Datasets verwenden, um ohne menschliches Eingreifen zu lernen und Entscheidungen zu treffen. Diese Modelle werden mit vielen Arten von Daten trainiert, darunter Text, Bilder, Audio und Video. Zu den Foundation Models gehören Large Language Models (LLMs) wie Llama 3.1 und multimodale Modelle wie Gemini.
Im Gegensatz zu KI-Modellen für die Prognose, die für bestimmte Aufgaben mit speziellen Datensätzen trainiert werden, werden Foundation Models mit riesigen und vielfältigen Datensätzen trainiert. In diesem Training lernen Sie, wie Sie mithilfe von Foundation Models Anwendungen für viele verschiedene Anwendungsfälle entwickeln. Foundation Models haben emergente Eigenschaften (PDF), mit denen sie ohne explizites Training Antworten auf bestimmte Eingaben liefern können. Aufgrund dieser emergenten Eigenschaften sind Basismodelle schwierig zu erstellen und zu betreiben. Außerdem müssen Sie Ihre DevOps- und MLOps-Prozesse anpassen.
Die Entwicklung eines Foundation Model erfordert umfangreiche Datenressourcen, spezielle Hardware, erhebliche Investitionen und Fachwissen. Daher verwenden viele Unternehmen lieber vorhandene Basismodelle, um die Entwicklung und Bereitstellung ihrer generativen KI-Anwendungen zu vereinfachen.
Lebenszyklus einer Anwendung mit generativer KI
Der Lebenszyklus einer Anwendung mit generativer KI umfasst die folgenden Phasen:
- Erkundung: Entwickler und KI-Ingenieure ermitteln, welches Basismodell für ihren Anwendungsfall am besten geeignet ist. Sie berücksichtigen die Stärken, Schwächen und Kosten der einzelnen Modelle, um eine fundierte Entscheidung zu treffen.
- Entwicklung und Experimentieren: Entwickler verwenden Prompt-Engineering, um Eingabeprompts zu erstellen und zu optimieren, um die gewünschte Ausgabe zu erhalten. Sofern verfügbar, können Few-Shot-Lernen, die parametereffiziente Feinabstimmung (PEFT) und die Modellverknüpfung das Modellverhalten beeinflussen. Die Modellverkettung bezieht sich auf die Aufrufe mehrerer Modelle in einer bestimmten Reihenfolge, um einen Workflow zu erstellen.
- Bereitstellung: Entwickler müssen viele Artefakte im Bereitstellungsprozess verwalten, darunter Promptvorlagen, Kettendefinitionen, eingebettete Modelle, Abrufdatenspeicher und optimierte Modelladapter. Diese Artefakte haben eigene Governance-Anforderungen und erfordern während der Entwicklung und Bereitstellung eine sorgfältige Verwaltung. Bei der Bereitstellung von Anwendungen mit generativer KI müssen auch die technischen Funktionen der Zielinfrastruktur berücksichtigt werden, damit die Hardwareanforderungen der Anwendung erfüllt werden.
- Kontinuierliches Monitoring in der Produktion: Administratoren verbessern die Anwendungsleistung und halten Sicherheitsstandards durch verantwortungsbewusste KI-Techniken ein, z. B. durch Fairness, Transparenz und Rechenschaftspflicht bei den Ausgaben des Modells.
- Kontinuierliche Verbesserung: Entwickler passen die Basismodelle ständig an, indem sie Prompts verwenden, die Modelle durch neuere Versionen ersetzen oder sogar mehrere Modelle kombinieren, um die Leistung zu verbessern, die Kosteneffizienz zu erhöhen oder die Latenz zu verringern. Konventionelles kontinuierliches Training ist weiterhin relevant für Szenarien, in denen wiederholte Feinabstimmungen oder die Einbeziehung von Feedbackschleifen von Menschen erforderlich sind.
Datentechnik spielt in allen Entwicklungsphasen eine wichtige Rolle. Um zuverlässige Ergebnisse zu erzielen, benötigen Sie eine fundierte Grundlage, die dafür sorgt, dass die Ergebnisse des Modells auf korrekten und aktuellen Informationen basieren. Außerdem sind aktuelle Daten aus internen und Unternehmenssystemen erforderlich. Mithilfe von Tuning-Daten können Sie Modelle an bestimmte Aufgaben und Stile anpassen und hartnäckige Fehler korrigieren.
Aufgabenspezifisches Modell für Ihren Anwendungsfall finden
Da das Erstellen von Basismodellen ressourcenintensiv ist, verwenden die meisten Unternehmen lieber ein vorhandenes Basismodell, das für ihren Anwendungsfall optimal ist. Es ist schwierig, das richtige Foundation-Modell zu finden, da es viele davon gibt. Jedes Modell hat unterschiedliche Architekturen, Größen, Trainingsdatensätze und Lizenzen. Außerdem stellen die einzelnen Anwendungsfälle jeweils spezifische Anforderungen, sodass Sie die verfügbaren Modelle in mehreren Dimensionen analysieren müssen.
Berücksichtigen Sie bei der Bewertung von Modellen die folgenden Faktoren:
- Qualität:Sie können Testvorschläge ausführen, um die Ausgabequalität zu beurteilen.
- Latenz und Durchsatz:Legen Sie die richtige Latenz und den richtigen Durchsatz fest, die für Ihren Anwendungsfall erforderlich sind, da sich diese Faktoren direkt auf die Nutzererfahrung auswirken. Ein Chatbot erfordert beispielsweise eine geringere Latenz als batchgestützte Summarisierungsaufgaben.
- Entwicklungs- und Wartungszeit:Berücksichtigen Sie den Zeitaufwand für die Erstentwicklung und die laufende Wartung. Verwaltete Modelle erfordern oft weniger Aufwand als frei verfügbare Modelle, die Sie selbst bereitstellen.
- Nutzungskosten: Berücksichtigen Sie die mit dem Modell verbundenen Infrastruktur- und Verbrauchskosten.
- Compliance: Bewerten Sie, ob das Modell die relevanten Bestimmungen und Lizenzbedingungen einhalten kann.
Entwickeln und testen
Bei der Entwicklung von Anwendungen mit generativer KI sind Entwicklung und Tests iterativ und koordiniert. Bei jeder Testiteration werden Daten optimiert, das Foundation Model angepasst und die Ergebnisse ausgewertet. Die Bewertung liefert Feedback, das die nachfolgenden Iterationen in einer kontinuierlichen Feedbackschleife leitet. Wenn die Leistung nicht den Erwartungen entspricht, können Sie weitere Daten erheben, die Daten ergänzen oder weiter auswählen. Außerdem müssen Sie möglicherweise Prompts optimieren, Feinabstimmungstechniken anwenden oder zu einem anderen Foundation Model wechseln. Dieser iterative Optimierungszyklus, der auf Bewertungsinformationen basiert, ist für die Optimierung von Anwendungen mit generativer KI genauso wichtig wie für maschinelles Lernen und prädiktive KI.
Das Foundation Model-Paradigma
Foundation Models unterscheiden sich von Prognosemodellen, da sie Mehrzweckmodelle sind. Anstatt für einen bestimmten Zweck mit aufgabenspezifischen Daten trainiert zu werden, werden Foundation Models mit umfassenden Datasets trainiert. So können Sie ein Foundation Model auf viele verschiedene Anwendungsfälle anwenden.
Basismodelle sind außerdem sehr empfindlich gegenüber Änderungen an der Eingabe. Die Ausgabe des Modells und die Aufgabe, die es ausführt, werden durch die Eingabe in das Modell bestimmt. Ein Basismodell kann Text übersetzen, Videos generieren oder Daten klassifizieren, indem Sie einfach die Eingabe ändern. Selbst unwesentliche Änderungen an der Eingabe können sich auf die Fähigkeit des Modells auswirken, diese Aufgabe korrekt auszuführen.
Diese Eigenschaften von Foundation-Modellen erfordern unterschiedliche Entwicklungs- und Betriebspraktiken. Obwohl Modelle im Kontext der prädiktiven KI autark und aufgabenspezifisch sind, sind Foundation Models vielseitig einsetzbar und benötigen neben der Nutzereingabe ein zusätzliches Element. Generative KI-Modelle erfordern einen Prompt, genauer gesagt eine Promptvorlage. Eine Promptvorlage besteht aus einer Reihe von Anweisungen und Beispielen sowie Platzhaltern für die Nutzereingaben. Die Anwendung kann die Promptvorlage und die dynamischen Daten (z. B. die Nutzereingabe) kombinieren, um einen vollständigen Prompt zu erstellen. Dieser Text wird als Eingabe an das Basismodell übergeben.
Die angeforderte Modellkomponente
Der Prompt ist ein Unterscheidungsmerkmal von Anwendungen mit generativer KI. Das Modell und der Prompt reichen nicht aus, um Inhalte zu generieren. Für generative KI sind beides erforderlich. Die Kombination aus Modell und Prompt wird als Prompt-Modellkomponente bezeichnet. Die Prompt-Modellkomponente ist die kleinste unabhängige Komponente, die ausreicht, um eine generative KI-Anwendung zu erstellen. Der Prompt muss nicht kompliziert sein. Es kann sich beispielsweise um eine einfache Anweisung wie „Übersetze den folgenden Satz von Englisch nach Französisch“ handeln, gefolgt vom zu übersetzenden Satz. Ohne diese Vorab-Anweisung kann ein Foundation Model jedoch die erforderliche Übersetzungsaufgabe nicht ausführen. Daher ist neben der Eingabe auch ein Prompt erforderlich, auch wenn es sich nur um eine grundlegende Anweisung handelt, damit das Basismodell die von der Anwendung erforderliche Aufgabe ausführen kann.
Die Prompt-Modellkomponente ist ein wichtiger Unterschied für MLOps-Praktiken bei der Entwicklung von generativen KI-Anwendungen. Bei der Entwicklung einer Anwendung mit generativer KI müssen Tests und Iterationen im Kontext einer Prompt-Modellkomponente erfolgen. Der Testzyklus für generative KI beginnt in der Regel mit dem Testen von Varianten des Prompts. Dabei wird die Formulierung der Anleitung geändert, zusätzlicher Kontext hinzugefügt oder relevante Beispiele eingefügt. Anschließend wird die Auswirkung dieser Änderungen bewertet. Diese Vorgehensweise wird allgemein als Prompt Engineering bezeichnet.
Das Prompt Engineering umfasst die folgenden iterativen Schritte:
- Prompts: Prompts erstellen und optimieren, um gewünschtes Verhalten aus einem Basismodell für einen bestimmten Anwendungsfall hervorzurufen.
- Bewertung: Bewerten Sie die Ausgaben des Modells, idealerweise programmatisch, um zu beurteilen, ob es die Anweisungen des Prompts verstanden hat und ob es sie erfolgreich ausgeführt hat.
Optional können Sie die Ergebnisse eines Tests registrieren, um die Bewertungsergebnisse im Blick zu behalten. Da der Prompt selbst ein Kernelement des Prompt-Engineering-Prozesses ist, wird er zum wichtigsten Artefakt unter den Artefakten, die Teil des Tests sind.
Wenn Sie jedoch mit einer Anwendung für generative KI experimentieren möchten, müssen Sie die Artefakttypen identifizieren. Bei der prädiktiven KI unterscheiden sich Daten, Pipelines und Code. Beim Prompt-Paradigma in der generativen KI können Prompts jedoch Kontext, Anleitungen, Beispiele, Sicherheitsvorkehrungen und tatsächliche interne oder externe Daten enthalten, die von anderen Stellen abgerufen werden.
Um den Artefakttyp zu bestimmen, müssen Sie wissen, dass ein Prompt verschiedene Komponenten hat und unterschiedliche Verwaltungsstrategien erfordert. Berücksichtige Folgendes:
- Prompt als Daten:Einige Teile des Prompts funktionieren genau wie Daten. Elemente wie wenige Beispiele, Wissensdatenbanken und Nutzeranfragen sind im Grunde Datenpunkte. Für diese Komponenten sind datenzentrierte MLOps-Praktiken wie Datenvalidierung, Drifterkennung und Lebenszyklusverwaltung erforderlich.
- Prompt als Code:Andere Komponenten wie Kontext, Promptvorlagen und Leitplanken ähneln Code. Diese Komponenten definieren die Struktur und Regeln des Prompts selbst und erfordern mehr codeorientierte Praktiken wie Genehmigungsprozesse, Codeversionierung und Tests.
Wenn Sie also MLOps-Praktiken auf generative KI anwenden, müssen Sie Prozesse haben, mit denen Entwickler Prompts einfach speichern, abrufen, verfolgen und ändern können. Diese Prozesse ermöglichen eine schnelle Iteration und fundierte Tests. Oft funktioniert eine Version eines Prompts gut mit einer bestimmten Version des Modells, aber nicht so gut mit einer anderen Version. Wenn Sie die Ergebnisse eines Tests erfassen, müssen Sie den Prompt, die Versionen der Komponenten, die Modellversion, die Messwerte und die Ausgabedaten aufzeichnen.
Modellverkettung und -erweiterung
Generative KI-Modelle, insbesondere Large Language Models (LLMs), stehen vor der Herausforderung, die Aktualität zu wahren und Halluzinationen zu vermeiden. Das Codieren neuer Informationen in LLMs erfordert ein teures und datenintensives Vortraining, bevor sie bereitgestellt werden können. Je nach Anwendungsfall ist es möglicherweise nicht ausreichend, nur ein Prompt-Modell für die Erstellung zu verwenden. Um dieses Problem zu lösen, können Sie mehrere Prompt-Modelle mit Aufrufen externer APIs und Logik, die als Code ausgedrückt wird, verknüpfen. Eine Sequenz von aufgeforderten Modellkomponenten, die auf diese Weise miteinander verbunden sind, wird allgemein als Kette bezeichnet.
Das folgende Diagramm zeigt die Komponenten einer Kette und den relativen Entwicklungsprozess.
Minderung der Auswirkungen von Rezenz und Halluzination
Zwei gängige kettenbasierte Muster, mit denen Recency-Effekte und Halluzinationen gemildert werden können, sind die Retrieval Augmented Generation (RAG) (PDF) und Agenten.
- RAG ergänzt vortrainierte Modelle mit Wissen, das aus Datenbanken abgerufen wird, wodurch ein Vortraining entfällt. RAG ermöglicht eine gewisse Realitätsorientierung und reduziert Halluzinationen, indem aktuelle Sachinformationen direkt in den Generierungsprozess einfließen.
- Chatbots, die durch die ReAct-Prompting-Technik (PDF) bekannt wurden, verwenden LLMs als Vermittler, die mit verschiedenen Tools interagieren, darunter RAG-Systeme, interne oder externe APIs, benutzerdefinierte Erweiterungen oder sogar andere Bots. Agenten ermöglichen komplexe Abfragen und Echtzeitaktionen, indem sie relevante Informationsquellen dynamisch auswählen und verwenden. Das LLM fungiert als Agent, interpretiert die Suchanfrage des Nutzers, entscheidet, welches Tool verwendet werden soll, und formuliert die Antwort anhand der abgerufenen Informationen.
Mit RAG und Agenten können Sie Multi-Agenten-Systeme erstellen, die mit großen Informationsnetzwerken verbunden sind. So ist eine ausgefeilte Abfrageverarbeitung und eine Echtzeit-Entscheidungsfindung möglich.
Die Orchestrierung verschiedener Modelle, Logik und APIs ist für Anwendungen mit generativer KI nicht neu. Empfehlungssysteme kombinieren beispielsweise kollaborative Filtermodelle, inhaltsbasierte Modelle und Geschäftsregeln, um personalisierte Produktempfehlungen für Nutzer zu generieren. Ähnlich werden bei der Betrugserkennung Modelle des maschinellen Lernens in regelbasierte Systeme und externe Datenquellen eingebunden, um verdächtige Aktivitäten zu erkennen.
Diese Ketten von generativen KI-Komponenten unterscheiden sich dadurch, dass die Verteilung der Komponenteneingaben nicht im Voraus charakterisiert werden kann. Das macht es viel schwieriger, die einzelnen Komponenten einzeln zu bewerten und zu verwalten. Die Orchestration führt zu einem Paradigmenwechsel bei der Entwicklung von KI-Anwendungen für generative KI.
Bei der prädiktiven KI können Sie die einzelnen Modelle und Komponenten getrennt iterieren und dann in der KI-Anwendung verketten. Bei der generativen KI entwickeln Sie eine Kette während der Integration, führen End-to-End-Tests an der Kette durch und iterieren Verknüpfungsstrategien, Prompts, Basismodelle und andere APIs koordiniert, um ein bestimmtes Ziel zu erreichen. Oft sind keine Feature-Engineering-Methoden, Datenerhebungen oder weiteren Modelltrainingszyklen erforderlich, sondern nur Änderungen an der Formulierung der Prompt-Vorlage.
Der Wechsel zu MLOps für generative KI im Gegensatz zu MLOps für prädiktive KI führt zu den folgenden Unterschieden:
- Bewertung: Aufgrund der engen Kopplung von Ketten erfordern Ketten eine End-to-End-Bewertung, nicht nur für jede Komponente, um ihre Gesamtleistung und die Qualität ihrer Ausgabe zu beurteilen. Die Bewertung von Ketten ähnelt hinsichtlich Bewertungsverfahren und Messwerten der Bewertung von Prompt-Modellen.
- Versionierung:Sie müssen eine Kette als vollständiges Artefakt verwalten. Sie müssen die Kettenkonfiguration mit einem eigenen Änderungsverlauf erfassen, um sie analysieren, reproduzieren und die Auswirkungen von Änderungen auf die Ausgabe nachvollziehen zu können. Ihre Protokolle müssen die Eingaben, Ausgaben, Zwischenstatus der Kette und alle Kettenkonfigurationen enthalten, die bei jeder Ausführung verwendet wurden.
- Kontinuierliches Monitoring: Um Leistungseinbrüche, Datenabweichungen oder unerwartetes Verhalten in der Kette zu erkennen, müssen Sie proaktive Monitoringsysteme konfigurieren. Durch kontinuierliche Überwachung können potenzielle Probleme frühzeitig erkannt und die Qualität der generierten Ausgabe aufrechterhalten werden.
- Selbstbeobachtung: Sie müssen die internen Datenflüsse einer Kette (d. h. die Eingaben und Ausgaben der einzelnen Komponenten) sowie die Eingaben und Ausgaben der gesamten Kette prüfen. Durch die Sichtbarkeit der Daten, die durch die Kette fließen, und der daraus resultierenden Inhalte können Entwickler die Ursachen für Fehler, Verzerrungen oder unerwünschtes Verhalten ermitteln.
Das folgende Diagramm zeigt, wie Ketten, Prompt-Modellkomponenten und Modelloptimierung in einer generativen KI-Anwendung zusammenwirken, um den Recency-Effekt und Halluzinationen zu reduzieren. Daten werden ausgewählt, Modelle werden abgestimmt und Ketten werden hinzugefügt, um die Antworten weiter zu optimieren. Nach der Auswertung der Ergebnisse können die Entwickler den Test protokollieren und mit der Iteration fortfahren.
Optimierung
Wenn Sie einen Anwendungsfall für generative KI entwickeln, der Basismodelle umfasst, kann es besonders bei komplexen Aufgaben schwierig sein, nur Prompt-Engineering und ‑Ketten zur Lösung des Anwendungsfalls zu verwenden. Um die Aufgabenleistung zu verbessern, müssen Entwickler das Modell häufig direkt optimieren. Bei der Feinabstimmung können Sie alle oder einen Teil der Schichten des Modells aktiv ändern (parametereffiziente Feinabstimmung), um die Leistung bei einer bestimmten Aufgabe zu optimieren. Die gängigsten Methoden zur Optimierung eines Modells sind:
- Überwachte Feinabstimmung: Sie trainieren das Modell überwacht, indem Sie es anlernen, die richtige Ausgabesequenz für eine bestimmte Eingabe vorherzusagen.
- Bestärkendes Lernen durch menschliches Feedback (RLHF): Sie trainieren ein Belohnungsmodell, um vorherzusagen, welche Antwort Menschen bevorzugen würden. Mit diesem Belohnungsmodell können Sie das LLM dann während des Tuning-Prozesses in die richtige Richtung lenken. Dieser Prozess ähnelt dem, dass ein Gremium von menschlichen Prüfern das Lernen des Modells leitet.
Das folgende Diagramm zeigt, wie die Optimierung dazu beiträgt, das Modell während des Testzyklus zu optimieren.
In MLOps hat die Feinabstimmung die folgenden Funktionen gemeinsam mit dem Modelltraining:
- Möglichkeit, die Artefakte zu verfolgen, die Teil des Optimierungsjobs sind. Beispiele für Artefakte sind die Eingabedaten oder die Parameter, mit denen das Modell optimiert wird.
- Die Möglichkeit, die Auswirkungen der Optimierung zu messen. So können Sie das optimierte Modell für die spezifischen Aufgaben bewerten, für die es trainiert wurde, und die Ergebnisse mit zuvor optimierten Modellen oder eingefrorenen Modellen für dieselbe Aufgabe vergleichen.
Kontinuierliches Training und Tuning
Bei MLOps bedeutet kontinuierliches Training, dass Modelle für maschinelles Lernen wiederholt in einer Produktionsumgebung neu trainiert werden. Durch kontinuierliches Training bleibt das Modell auf dem neuesten Stand und liefert gute Ergebnisse, da sich die Muster der realen Daten im Laufe der Zeit ändern. Bei generativen AI-Modellen ist die kontinuierliche Optimierung der Modelle aufgrund der hohen Daten- und Rechenkosten oft praktischer als ein Neutraining.
Der Ansatz für die kontinuierliche Optimierung hängt von Ihrem spezifischen Anwendungsfall und Ihren Zielen ab. Bei relativ statischen Aufgaben wie der Textzusammenfassung sind die Anforderungen an die kontinuierliche Optimierung möglicherweise geringer. Bei dynamischen Anwendungen wie Chatbots, die eine kontinuierliche Anpassung durch Menschen erfordern, ist jedoch eine häufigere Abstimmung mithilfe von Techniken wie RLHF erforderlich, die auf menschlichem Feedback basieren.
Um die richtige Strategie für die kontinuierliche Optimierung zu ermitteln, müssen Sie die Art Ihres Anwendungsfalls und die Entwicklung der Eingabedaten im Zeitverlauf bewerten. Auch die Kosten sind ein wichtiger Faktor, da sich die Recheninfrastruktur stark auf die Geschwindigkeit und die Kosten der Optimierung auswirkt. Grafikprozessoren (GPUs) und Tensor Processing Units (TPUs) sind Hardware, die für die Feinabstimmung erforderlich ist. GPUs sind für ihre parallele Rechenleistung bekannt und eignen sich hervorragend für die Verarbeitung rechenintensiver Arbeitslasten. Sie werden häufig mit dem Training und Ausführen komplexer Modelle für maschinelles Lernen in Verbindung gebracht. TPUs wurden hingegen von Google speziell für die Beschleunigung von Aufgaben für maschinelles Lernen entwickelt. TPUs eignen sich hervorragend für die Verarbeitung großer Matrixoperationen, die in neuronalen Deep-Learning-Netzwerken häufig vorkommen.
Umgang mit Daten
Bisher wurde das Verhalten von ML-Modellen ausschließlich durch die Trainingsdaten bestimmt. Das gilt zwar auch für Basismodelle, aber das Modellverhalten für generative-KI-Anwendungen, die auf Basismodellen basieren, wird davon bestimmt, wie Sie das Modell an verschiedene Arten von Eingabedaten anpassen.
Foundation Models werden mit folgenden Daten trainiert:
- Datasets für das Vortraining (z. B. C4, The Pile oder proprietäre Daten)
- Datasets zur Anweisungsabstimmung
- Datasets zur Sicherheitsabstimmung
- Daten zu menschlichen Präferenzen
Generative-KI-Anwendungen werden an Daten wie die folgenden angepasst:
- Prompts
- Erweiterte oder fundierte Daten (z. B. Websites, Dokumente, PDFs, Datenbanken oder APIs)
- Aufgabenspezifische Daten für PEFT
- Aufgabenspezifische Bewertungen
- Daten zu menschlichen Präferenzen
Der Hauptunterschied bei den Datenpraktiken zwischen prädiktiver ML und generativer KI liegt am Anfang des Lebenszyklus. Bei der prädiktiven ML verbringen Sie viel Zeit mit dem Data Engineering. Wenn Sie nicht die richtigen Daten haben, können Sie keine Anwendung erstellen. Bei der generativen KI beginnen Sie mit einem Basismodell, einigen Anweisungen und möglicherweise einigen Beispielinputs (z. B. kontextbezogenes Lernen). Sie können einen Prototyp erstellen und eine Anwendung mit sehr wenigen Daten starten.
Die einfache Erstellung von Prototypen bringt jedoch die zusätzliche Herausforderung mit sich, vielfältige Daten zu verwalten. Die Vorhersage-KI basiert auf klar definierten Datensätzen. Bei der generativen KI kann eine einzelne Anwendung verschiedene Datentypen aus völlig unterschiedlichen Datenquellen verwenden, die alle zusammenarbeiten.
Betrachten Sie die folgenden Datentypen:
- Vorbereitungsprompts: Anweisungen für das Basismodell, die die Ausgabe steuern und Grenzen für die Generierung festlegen.
- Few-Shot-Beispiele: Eine Möglichkeit, dem Modell durch Eingabe/Ausgabe-Paare zu zeigen, was Sie erreichen möchten. Diese Beispiele helfen dem Modell, die spezifischen Aufgaben zu verstehen, und in vielen Fällen können sie die Leistung steigern.
- Daten zur Datengrundlage oder Daten zur Datenerweiterung:Daten, mit denen das Foundation Model Antworten für einen bestimmten Kontext liefern und die Antworten aktuell und relevant halten kann, ohne das gesamte Foundation Model neu zu trainieren. Diese Daten können aus externen APIs (z. B. der Google Suche) oder internen APIs und Datenquellen stammen.
- Aufgabenspezifische Datensätze:Mit diesen Datensätzen können Sie ein vorhandenes Basismodell für eine bestimmte Aufgabe optimieren und so seine Leistung in diesem Bereich verbessern.
- Vollständige Datasets für das Vortraining: Die riesigen Datasets, mit denen die Basismodelle anfangs trainiert werden. Auch wenn Entwickler der Anwendung möglicherweise keinen Zugriff auf sie oder die Tokenisierer haben, wirken sich die im Modell codierten Informationen auf die Ausgabe und Leistung der Anwendung aus.
Diese Vielfalt an Datentypen erhöht die Komplexität bei der Datenorganisation, dem Tracking und der Lebenszyklusverwaltung. Eine RAG-basierte Anwendung kann beispielsweise Nutzeranfragen umschreiben, relevante Beispiele dynamisch mithilfe einer kuratierten Sammlung von Beispielen erfassen, eine Vektordatenbank abfragen und die Informationen mit einer Promptvorlage kombinieren. Für eine RAG-basierte Anwendung müssen Sie mehrere Datentypen verwalten, darunter Nutzeranfragen, Vektordatenbanken mit ausgewählten Few-Shot-Beispielen und Unternehmensinformationen sowie Promptvorlagen.
Jeder Datentyp erfordert eine sorgfältige Organisation und Pflege. Für eine Vektordatenbank müssen beispielsweise Daten in Einbettungen verarbeitet, Chopping-Strategien optimiert und dafür gesorgt werden, dass nur relevante Informationen verfügbar sind. Eine Promptvorlage muss versioniert und nachverfolgt werden und Nutzeranfragen müssen umformuliert werden. MLOps- und DevOps-Best Practices können bei diesen Aufgaben helfen. Bei der prädiktiven KI erstellen Sie Datenpipelines für die Extraktion, Transformation und das Laden. Bei der generativen KI erstellen Sie Pipelines, um verschiedene Datentypen auf versionierbare, nachverfolgbare und reproduzierbare Weise zu verwalten, zu entwickeln, anzupassen und zu integrieren.
Durch die Feinabstimmung von Foundation Models lässt sich die Leistung von Anwendungen mit generativer KI steigern. Die Modelle benötigen jedoch Daten. Sie können diese Daten erhalten, indem Sie Ihre Anwendung starten und reale Daten erfassen, synthetische Daten generieren oder eine Kombination aus beidem verwenden. Die Verwendung großer Modelle zur Generierung synthetischer Daten wird immer beliebter, da diese Methode den Bereitstellungsprozess beschleunigt. Es ist jedoch weiterhin wichtig, dass die Ergebnisse zur Qualitätssicherung von Menschen geprüft werden. Im Folgenden finden Sie Beispiele dafür, wie Sie große Modelle für Data-Engineering-Zwecke verwenden können:
- Generierung synthetischer Daten: Bei diesem Prozess werden künstliche Daten erstellt, die hinsichtlich ihrer Merkmale und statistischen Eigenschaften weitgehend mit Realdaten übereinstimmen. Große und leistungsstarke Modelle erledigen diese Aufgabe oft. Synthetische Daten dienen als zusätzliche Trainingsdaten für die generative KI, sodass sie Muster und Beziehungen auch dann lernen kann, wenn es nur wenige mit Labels versehene reale Daten gibt.
- Korrektur von synthetischen Daten:Bei diesem Verfahren werden Fehler und Inkonsistenzen in vorhandenen beschrifteten Datasets erkannt und korrigiert. Durch die Verwendung größerer Modelle kann generative AI potenzielle Fehler bei der Kennzeichnung melden und Korrekturen vorschlagen, um die Qualität und Zuverlässigkeit der Trainingsdaten zu verbessern.
- Synthetische Datenergänzung: Dieser Ansatz geht über die Generierung neuer Daten hinaus. Bei der synthetischen Datenerweiterung werden vorhandene Daten intelligent manipuliert, um vielfältige Varianten zu erstellen und gleichzeitig wichtige Funktionen und Beziehungen beizubehalten. Generative KI kann während des Trainings auf eine größere Bandbreite von Szenarien stoßen als die prädiktive KI. Dies führt zu einer verbesserten Generalisierung und der Möglichkeit, differenzierte und relevante Ergebnisse zu generieren.
Im Gegensatz zu prädiktiver KI ist es schwierig, generative KI zu bewerten. Möglicherweise kennen Sie beispielsweise nicht die Verteilung der Trainingsdaten der Basismodelle. Sie müssen einen benutzerdefinierten Bewertungsdatensatz erstellen, der alle Ihre Anwendungsfälle widerspiegelt, einschließlich der wesentlichen, durchschnittlichen und Grenzfälle. Ähnlich wie bei der Datenoptimierung können Sie leistungsstarke LLMs verwenden, um Daten zu generieren, zu kuratieren und zu ergänzen, um robuste Bewertungsdatensätze zu erstellen.
Bewertung
Der Bewertungsprozess ist eine zentrale Aktivität bei der Entwicklung von Anwendungen mit generativer KI. Die Bewertung kann unterschiedlich automatisiert sein: von vollständig manuell bis vollständig automatisiert durch einen Prozess.
Wenn Sie einen Prototyp für ein Projekt erstellen, ist die Bewertung oft ein manueller Prozess. Die Entwickler sehen sich die Ausgaben des Modells an und erhalten so einen qualitativen Eindruck von seiner Leistung. Aber mit fortschreitendem Projekt und steigender Anzahl von Testfällen wird die manuelle Auswertung zu einem Engpass.
Die Automatisierung der Bewertung hat zwei große Vorteile: Sie können schneller vorgehen und die Bewertungen sind zuverlässiger. Außerdem wird die menschliche Subjektivität ausgeklammert, was dazu beiträgt, dass die Ergebnisse reproduzierbar sind.
Die Automatisierung der Bewertung für Anwendungen mit generativer KI bringt jedoch eigene Herausforderungen mit sich. Sie könnten beispielsweise Folgendes versuchen:
- Sowohl die Eingaben (Prompts) als auch die Ausgaben können unglaublich komplex sein. Ein einzelner Prompt kann mehrere Anweisungen und Einschränkungen enthalten, die das Modell befolgen muss. Die Ausgaben selbst sind oft hochdimensional, z. B. ein generiertes Bild oder ein Textblock. Die Qualität dieser Ausgaben in einem einfachen Messwert zu erfassen, ist schwierig. Einige etablierte Messwerte wie BLEU für Übersetzungen und ROUGE für Zusammenfassungen reichen nicht immer aus. Daher können Sie benutzerdefinierte Bewertungsmethoden oder ein anderes Basismodell verwenden, um Ihr System zu bewerten. Sie können beispielsweise ein Large Language Model (z. B. AutoSxS) anweisen, die Qualität der generierten Texte nach verschiedenen Dimensionen zu bewerten.
- Viele Bewertungsmesswerte für generative KI sind subjektiv. Was einen Output besser macht als einen anderen, ist oft Ansichtssache. Sie müssen dafür sorgen, dass Ihre automatisierte Bewertung mit dem menschlichen Urteil übereinstimmt, da Ihre Messwerte ein zuverlässiger Indikator dafür sein sollen, was Nutzer denken würden. Damit die Tests vergleichbar sind, müssen Sie den Bewertungsansatz und die Messwerte schon früh im Entwicklungsprozess festlegen.
- Mangel an Ground-Truth-Daten, insbesondere in den frühen Phasen eines Projekts. Eine Lösung besteht darin, synthetische Daten zu generieren, die als temporäre Ground Truth dienen und die Sie im Laufe der Zeit mit menschlichem Feedback optimieren können.
- Eine umfassende Bewertung ist unerlässlich, um Anwendungen mit generativer KI vor Angriffen zu schützen. Böswillige Akteure können Prompts erstellen, um vertrauliche Informationen zu extrahieren oder die Ausgabe des Modells zu manipulieren. Bewertungssets müssen diese Angriffsvektoren speziell angehen, z. B. durch Techniken wie Prompt-Fuzzing (dem Modell werden zufällige Varianten von Prompts zugeführt) und Tests auf Datenlecks.
Um generative KI-Anwendungen zu bewerten, implementieren Sie Folgendes:
- Automatisieren Sie den Bewertungsprozess, um für Geschwindigkeit, Skalierbarkeit und Reproduzierbarkeit zu sorgen. Sie können Automatisierung als Stellvertreter für menschliches Urteilsvermögen betrachten.
- Passen Sie den Bewertungsprozess nach Bedarf an Ihre Anwendungsfälle an.
- Um Vergleichbarkeit zu gewährleisten, sollten Sie den Bewertungsansatz, die Messwerte und die Ground-Truth-Daten so früh wie möglich in der Entwicklungsphase stabilisieren.
- Synthetische Ground-Truth-Daten generieren, um den Mangel an echten Ground-Truth-Daten auszugleichen.
- Fügen Sie Testfälle mit gegnerischen Prompts in den Bewertungssatz ein, um die Zuverlässigkeit des Systems selbst gegen diese Angriffe zu testen.
Bereitstellen
Generative KI-Anwendungen auf Produktionsebene sind komplexe Systeme mit vielen interagierenden Komponenten. Wenn Sie eine Anwendung mit generativer KI in der Produktion bereitstellen möchten, müssen Sie diese Komponenten verwalten und mit den vorherigen Phasen der Entwicklung der Anwendung mit generativer KI koordinieren. Eine einzelne Anwendung kann beispielsweise mehrere LLMs neben einer Datenbank verwenden, die alle von einer dynamischen Datenpipeline gespeist werden. Für jede dieser Komponenten kann ein eigener Bereitstellungsprozess erforderlich sein.
Die Bereitstellung von Anwendungen mit generativer KI ähnelt der Bereitstellung anderer komplexer Softwaresysteme, da Sie Systemkomponenten wie Datenbanken und Python-Anwendungen bereitstellen müssen. Wir empfehlen die Verwendung standardmäßiger Softwareentwicklungspraktiken wie Versionierung und CI/CD.
Versionsverwaltung
Tests mit generativer KI sind ein iterativer Prozess, der wiederholte Entwicklungs-, Bewertungs- und Änderungszyklen umfasst. Um einen strukturierten und überschaubaren Ansatz zu gewährleisten, müssen Sie für alle modifizierbaren Komponenten eine strenge Versionierung implementieren. Diese Komponenten sind:
- Prompt-Vorlagen:Sofern Sie keine speziellen Lösungen zur Prompt-Verwaltung verwenden, sollten Sie Versionskontrolltools verwenden, um Versionen zu verfolgen.
- Kettendefinitionen:Mit Versionskontrolltools können Sie Versionen des Codes verfolgen, der die Kette definiert (einschließlich API-Integrationen, Datenbankaufrufe und Funktionen).
- Externe Datensätze: In RAG-Systemen spielen externe Datensätze eine wichtige Rolle. Verwenden Sie vorhandene Lösungen für die Datenanalyse wie BigQuery, AlloyDB for PostgreSQL und Vertex AI Feature Store, um diese Änderungen und Versionen dieser Datensätze zu verfolgen.
- Adaptermodelle: Methoden wie die LoRA-Abstimmung für Adaptermodelle werden ständig weiterentwickelt. Verwenden Sie bewährte Datenspeicherlösungen (z. B. Cloud Storage), um diese Assets effektiv zu verwalten und zu versionieren.
Continuous Integration
In einem Continuous-Integration-Framework wird jede Codeänderung vor dem Zusammenführen automatisch getestet, um Probleme frühzeitig zu erkennen. Unit- und Integrationstests sind wichtig für Qualität und Zuverlässigkeit. Bei Unittests liegt der Fokus auf einzelnen Codeteilen, während bei Integrationstests geprüft wird, ob verschiedene Komponenten zusammenarbeiten.
Die Implementierung eines Systems für die kontinuierliche Integration bietet folgende Vorteile:
- Zuverlässige, hochwertige Ergebnisse erzielen: Strenge Tests erhöhen das Vertrauen in die Leistung und Konsistenz des Systems.
- Fehler frühzeitig erkennen:Wenn Sie Probleme durch Tests erkennen, können Sie größere Probleme im Nachhinein vermeiden. Wenn Fehler frühzeitig erkannt werden, ist das System robuster und widerstandsfähiger gegen Grenzfälle und unerwartete Eingaben.
- Niedrigere Wartungskosten: Gut dokumentierte Testfälle vereinfachen die Fehlerbehebung und ermöglichen in Zukunft einfachere Änderungen, was den Wartungsaufwand insgesamt reduziert.
Diese Vorteile gelten auch für Anwendungen mit generativer KI. Wenden Sie die kontinuierliche Integration auf alle Elemente des Systems an, einschließlich der Promptvorlagen, der Kette, der Verknüpfungslogik, aller eingebetteten Modelle und Abrufsysteme.
Die Anwendung der kontinuierlichen Integration auf generative KI bringt jedoch die folgenden Herausforderungen mit sich:
- Schwierigkeiten beim Erstellen umfassender Testfälle: Die Komplexität und Offenheit der generativen KI-Ausgaben erschwert es, eine umfassende Reihe von Testfällen zu definieren und zu erstellen, die alle Möglichkeiten abdecken.
- Wiederholbarkeitsprobleme: Es ist schwierig, deterministische, reproduzierbare Ergebnisse zu erzielen, da generative Modelle oft eine inhärente Zufälligkeit und Variabilität bei ihren Ergebnissen haben, selbst bei identischen Eingaben. Diese Zufälligkeit erschwert es, regelmäßig auf das erwartete Verhalten zu testen.
Diese Herausforderungen hängen eng mit der breiteren Frage zusammen, wie generative KI-Anwendungen bewertet werden können. Viele der Bewertungstechniken können auch auf die Entwicklung von CI-Systemen für generative KI angewendet werden.
Continuous Delivery
Nach dem Zusammenführen des Codes beginnt ein Continuous-Delivery-Prozess, bei dem der erstellte und getestete Code durch Umgebungen bewegt wird, die der Produktionsumgebung möglichst nahekommen, um vor der endgültigen Bereitstellung weitere Tests durchzuführen.
Wie unter Entwickeln und testen beschrieben, sind Kettenelemente eine der wichtigsten Komponenten, die bereitgestellt werden müssen, da sie die generative KI-Anwendung grundlegend bilden. Der Bereitstellungsprozess für die Anwendung mit generativer KI, die die Kette enthält, kann je nach Latenz Anforderungen und je nachdem, ob es sich um einen Batch- oder Online-Anwendungsfall handelt, variieren.
Für Batch-Anwendungsfälle müssen Sie einen Batchprozess bereitstellen, der in der Produktion nach einem Zeitplan ausgeführt wird. Beim Bereitstellungsprozess liegt der Schwerpunkt darauf, die gesamte Pipeline vor der Bereitstellung in einer Umgebung zu testen, die der Produktionsumgebung ähnelt. Im Rahmen des Testprozesses können Entwickler bestimmte Anforderungen an den Durchsatz des Batch-Prozesses selbst stellen und prüfen, ob alle Komponenten der Anwendung ordnungsgemäß funktionieren. So können Entwickler beispielsweise Berechtigungen, Infrastruktur und Codeabhängigkeiten prüfen.
Für Online-Anwendungsfälle müssen Sie eine API bereitstellen. Das ist die Anwendung, die die Kette enthält und in der Nutzer mit geringer Latenzzeit antworten können. Im Rahmen des Bereitstellungsprozesses wird die API in einer Umgebung getestet, die der Produktionsumgebung ähnelt. Mit diesen Tests wird überprüft, ob alle Komponenten der Anwendung ordnungsgemäß funktionieren. Nicht funktionale Anforderungen wie Skalierbarkeit, Zuverlässigkeit und Leistung können Sie mit einer Reihe von Tests überprüfen, einschließlich Lasttests.
Checkliste für die Bereitstellung
In der folgenden Liste werden die Schritte beschrieben, die Sie ausführen müssen, wenn Sie eine Anwendung mit generativer KI mit einem verwalteten Dienst wie Vertex AI bereitstellen:
- Versionsverwaltung konfigurieren:Implementieren Sie Verfahren zur Versionsverwaltung für die Bereitstellung von Modellen. Mit der Versionskontrolle können Sie bei Bedarf zu früheren Versionen zurückkehren und Änderungen an der Modell- oder Bereitstellungskonfiguration nachverfolgen.
- Modell optimieren:Führen Sie Aufgaben zur Modelloptimierung (Destillieren, Quantisieren und Entfernen von ungenutzten Teilen) aus, bevor Sie das Modell verpacken oder bereitstellen.
- Modell containerisieren:Das trainierte Modell in einem Container verpacken.
- Hardwareanforderungen für die Zielumgebung definieren: Achten Sie darauf, dass die Zielbereitstellungsumgebung die Anforderungen für die optimale Leistung des Modells erfüllt, z. B. GPUs, TPUs und andere spezielle Hardwarebeschleuniger.
- Modellendpunkt definieren:Geben Sie den Modellcontainer, das Eingabeformat, das Ausgabeformat und alle zusätzlichen Konfigurationsparameter an.
- Ressourcen zuweisen:Weisen Sie dem Endpunkt basierend auf den erwarteten Zugriffen und Leistungsanforderungen die entsprechenden Rechenressourcen zu.
- Zugriffssteuerung konfigurieren:Richten Sie Zugriffssteuerungsmechanismen ein, um den Zugriff auf den Endpunkt basierend auf Authentifizierungs- und Autorisierungsrichtlinien einzuschränken. Mit der Zugriffssteuerung wird sichergestellt, dass nur autorisierte Nutzer oder Dienste mit dem bereitgestellten Modell interagieren können.
- Modellendpunkt erstellen: Erstellen Sie einen Endpunkt, um das Modell als REST API-Dienst bereitzustellen. Über den Endpunkt können Clients Anfragen an den Endpunkt senden und Antworten vom Modell erhalten.
- Monitoring und Logging konfigurieren:Richten Sie Monitoring- und Logging-Systeme ein, um die Leistung, Ressourcennutzung und Fehlerprotokolle des Endpunkts zu erfassen.
- Benutzerdefinierte Integrationen bereitstellen:Integrieren Sie das Modell mithilfe des SDK oder der APIs des Modells in benutzerdefinierte Anwendungen oder Dienste.
- Echtzeitanwendungen bereitstellen:Erstellen Sie eine Streamingpipeline, die Daten verarbeitet und Antworten in Echtzeit generiert.
Logging und Monitoring
Für das Monitoring von Anwendungen mit generativer KI und ihren Komponenten sind Techniken erforderlich, die Sie den Monitoring-Techniken hinzufügen können, die Sie für herkömmliche MLOps verwenden. Sie müssen Ihre Anwendung vollständig protokollieren und überwachen. Dazu gehört auch die Protokollierung und Überwachung der gesamten Eingabe und Ausgabe Ihrer Anwendung und aller Komponenten.
Eingaben in die Anwendung lösen die Ausführung mehrerer Komponenten aus, um die Ausgaben zu generieren. Wenn die Ausgabe für eine bestimmte Eingabe sachlich falsch ist, müssen Sie ermitteln, welche der Komponenten nicht gut funktioniert hat. Sie benötigen eine Abfolge in Ihren Protokollen für alle ausgeführten Komponenten. Außerdem müssen Sie die Eingaben und Komponenten allen zusätzlichen Artefakten und Parametern zuordnen, von denen sie abhängen, damit Sie die Eingaben und Ausgaben analysieren können.
Achten Sie beim Anwenden des Monitorings darauf, die Überwachung auf Anwendungsebene zu priorisieren. Wenn sich beim Monitoring auf Anwendungsebene herausstellt, dass die Anwendung eine gute Leistung erbringt, bedeutet das, dass auch alle Komponenten eine gute Leistung erzielen. Anschließend können Sie die vorgeschlagenen Modellkomponenten überwachen, um detailliertere Ergebnisse zu erhalten und Ihre Anwendung besser zu verstehen.
Wie bei der herkömmlichen Überwachung in MLOps müssen Sie einen Benachrichtigungsprozess implementieren, um die Anwendungsinhaber zu benachrichtigen, wenn Abweichungen, Verzerrungen oder Leistungseinbrüche erkannt werden. Wenn Sie Benachrichtigungen einrichten möchten, müssen Sie Benachrichtigungstools in Ihren Monitoring-Prozess einbinden.
In den folgenden Abschnitten werden die Überwachung von Abweichungen und Drift sowie Aufgaben zur kontinuierlichen Bewertung beschrieben. Darüber hinaus umfasst das Monitoring in MLOps die Überwachung der Messwerte für den Gesamtzustand des Systems, z. B. Ressourcennutzung und Latenz. Diese Effizienzmesswerte gelten auch für Anwendungen mit generativer KI.
Abweichungserkennung
Die Verzerrungserkennung in herkömmlichen ML-Systemen bezieht sich auf Abweichungen zwischen Training und Bereitstellung, die auftreten, wenn die Verteilung der Featuredaten in der Produktion von der Verteilung der Featuredaten abweicht, die während des Modelltrainings beobachtet wurde. Bei Anwendungen mit generativer KI, die vortrainierte Modelle in Komponenten verwenden, die zur Erzeugung der Ausgabe miteinander verkettet sind, müssen Sie auch die Schiefe messen. Sie können die Abweichung messen, indem Sie die Verteilung der Eingabedaten, die Sie zur Bewertung Ihrer Anwendung verwendet haben, mit der Verteilung der Eingaben in Ihrer Anwendung in der Produktion vergleichen. Wenn sich die beiden Verteilungen auseinander bewegen, müssen Sie weitere Untersuchungen durchführen. Sie können diesen Vorgang auch auf die Ausgabedaten anwenden.
Drifterkennung
Ähnlich wie bei der Abweichungserkennung wird auch bei der Drifterkennung nach statistischen Unterschieden zwischen zwei Datensätzen gesucht. Anstatt Bewertungen und Eingaben für die Anzeigenbereitstellung zu vergleichen, wird bei der Abweichung nach Änderungen in den Eingabedaten gesucht. Mit Drift können Sie die Eingaben auswerten und so nachvollziehen, wie sich das Verhalten Ihrer Nutzer im Laufe der Zeit verändert.
Da die Eingabe in der Anwendung in der Regel Text ist, können Sie unterschiedliche Methoden verwenden, um Abweichungen und Abweichungen zu messen. Im Allgemeinen versuchen diese Methoden, signifikante Änderungen in Produktionsdaten zu erkennen, sowohl textuell (z. B. Größe der Eingabe) als auch konzeptionell (z. B. Themen in der Eingabe), im Vergleich zum Bewertungsdatensatz. Bei all diesen Methoden wird nach Änderungen gesucht, die darauf hindeuten könnten, dass die Anwendung möglicherweise nicht für die Verarbeitung der neuen Daten gerüstet ist. Zu den gängigen Methoden gehören:
- Einbettungen und Entfernungen berechnen
- Textlänge und Anzahl der Tokens zählen
- Änderungen am Vokabular, neue Konzepte und Intents, Prompts und Themen in Datasets verfolgen
- Mithilfe statistischer Ansätze wie der Quadratische-Rückschritts-Methode (PDF), der Maximum Mean Discrepancy (MMD), der gelernten Kernel-MMD (PDF) oder der kontextbezogenen MMD.
Da die Anwendungsfälle für generative KI so vielfältig sind, benötigen Sie möglicherweise zusätzliche benutzerdefinierte Messwerte, mit denen sich unerwartete Änderungen in Ihren Daten besser erfassen lassen.
Kontinuierliche Evaluierung
Die kontinuierliche Bewertung ist ein weiterer gängiger Ansatz für die Überwachung von Anwendungen mit generativer KI. Bei einem System für die kontinuierliche Bewertung erfassen Sie die Produktionsausgaben des Modells und führen mithilfe dieser Ausgabe eine Bewertungsaufgabe aus, um die Leistung des Modells im Zeitverlauf im Blick zu behalten. Sie können direktes Nutzerfeedback einholen, z. B. in Form von Bewertungen, die einen unmittelbaren Einblick in die wahrgenommene Qualität der Ergebnisse bieten. Wenn Sie gleichzeitig die vom Modell generierten Antworten mit der festgelegten Ground Truth vergleichen, können Sie die Leistung genauer analysieren. Sie können Ground Truth durch menschliche Bewertung oder als Ergebnis eines Ensemble-KI-Modells erfassen, um Bewertungsmesswerte zu generieren. So sehen Sie, wie sich die Bewertungsmesswerte seit der Entwicklung des Modells bis hin zur aktuellen Produktionsversion verändert haben.
Regulieren
Im Kontext von MLOps umfasst Governance alle Praktiken und Richtlinien, die Kontrolle, Rechenschaftspflicht und Transparenz bei der Entwicklung, Bereitstellung und laufenden Verwaltung von Modellen für maschinelles Lernen schaffen, einschließlich aller Aktivitäten im Zusammenhang mit den Code-, Daten- und Modelllebenszyklen.
Bei Anwendungen mit vorausschauender KI liegt der Schwerpunkt der Herkunftsermittlung darauf, den gesamten Lebenszyklus eines Modells für maschinelles Lernen zu verfolgen und zu verstehen. Bei der generativen KI geht die Abstammungslinie über das Modellartefakt hinaus und erstreckt sich auf alle Komponenten in der Kette. Das Tracking umfasst die Daten, Modelle, die Modellherkunft, den Code sowie die relativen Bewertungsdaten und ‑messwerte. Mit dem Abstammungs-Tracking können Sie Ihre Modelle prüfen, beheben und verbessern.
Neben diesen neuen Praktiken können Sie den Datenlebenszyklus und die Lebenszyklen der generativen KI-Komponenten mithilfe standardmäßiger MLOps- und DevOps-Praktiken verwalten.
Nächste Schritte
Generative KI-Anwendung mit Vertex AI bereitstellen