Generative KI-Anwendungen bereitstellen und betreiben

Generative KI hat eine neue Möglichkeit zum Erstellen und Betreiben von KI-Anwendungen eingeführt, die sich von der Vorhersage-KI unterscheidet. Zum Erstellen einer generativen KI-Anwendung 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 die Ausgabe von Grundmodellen in realen Daten vornehmen.

In diesem Dokument wird beschrieben, wie Sie DevOps- und MLOps-Prozesse anpassen können, um Generative AI-Anwendungen auf vorhandenen Basismodellen zu entwickeln, bereitzustellen und zu betreiben. Informationen zum Bereitstellen von prädiktiver KI finden Sie unter MLOps: Continuous Delivery und Pipelines zur Automatisierung im maschinellen Lernen.

Was sind DevOps und MLOps?

DevOps ist eine Methode der Softwareentwicklung, die Entwicklung und Betrieb miteinander verbindet. DevOps fördert Zusammenarbeit, Automatisierung und kontinuierliche Verbesserung, um den Softwareentwicklungszyklus mithilfe von Verfahren wie Continuous Integration und Continuous Delivery (CI/CD) zu optimieren.

MLOps baut auf DevOps-Prinzipien auf, um sich den Herausforderungen beim Aufbau und Betrieb von ML-Systemen zu stellen. ML-Systeme nutzen in der Regel prädiktive KI, 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. Foundation Models werden mit vielen Datentypen 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-Vorhersagemodellen, die für bestimmte Aufgaben in fokussierten Datasets trainiert werden, werden Foundation Models mit riesigen und vielfältigen Datasets trainiert. Bei diesem Training können Sie Foundation Models verwenden, um Anwendungen für viele verschiedene Anwendungsfälle zu entwickeln. Foundation Models haben Emergent-Attribute (PDF), mit denen sie ohne explizites Training Antworten auf bestimmte Eingaben liefern können. Aufgrund dieser neuen Eigenschaften ist die Erstellung und der Betrieb von Foundation Models schwierig und Sie müssen Ihre DevOps- und MLOps-Prozesse anpassen.

Die Entwicklung eines Basismodells erfordert erhebliche Datenressourcen, spezielle Hardware, erhebliche Investitionen und Fachwissen. Daher verwenden viele Unternehmen bestehende Foundation Models, um die Entwicklung und Bereitstellung ihrer generativen KI-Anwendungen zu vereinfachen.

Lebenszyklus einer Generative-AI-Anwendung

Der Lebenszyklus einer Generative-AI-Anwendung umfasst die folgenden Phasen:

  • Erkennung:Entwickler und KI-Entwickler ermitteln, welches Basismodell für ihren Anwendungsfall am besten geeignet ist. Sie berücksichtigen die Stärken, Schwächen und Kosten jedes Modells, um eine fundierte Entscheidung zu treffen.
  • Entwicklung und Experimente:Entwickler verwenden Prompt-Engineering, um Eingabeaufforderungen zu erstellen und zu optimieren, um die erforderliche Ausgabe zu erhalten. Sofern verfügbar, unterstützen wenige Änderungen, die Parameter-effiziente Feinabstimmung (PEFT) und die Modellverkettung das Modellverhalten. Modellverkettung bezieht sich auf das Orchestrieren von Aufrufen an mehrere Modelle in einer bestimmten Sequenz, um einen Workflow zu erstellen.
  • Bereitstellung: Entwickler müssen viele Artefakte im Bereitstellungsprozess verwalten, einschließlich Prompt-Vorlagen, Kettendefinitionen, eingebettete Modelle, Abrufdatenspeicher und abgestimmte Modelladapter. Diese Artefakte haben eigene Governance-Anforderungen und erfordern eine sorgfältige Verwaltung während der Entwicklung und Bereitstellung. Bei der Bereitstellung von generativen KI-Anwendungen müssen außerdem die technischen Fähigkeiten der Zielinfrastruktur berücksichtigt werden, damit die Anforderungen an die Anwendungshardware erfüllt werden.
  • Kontinuierliches Monitoring in der Produktion: Administratoren verbessern die Anwendungsleistung und sorgen für die Einhaltung von Sicherheitsstandards durch verantwortungsbewusste KI-Techniken, z. B. für Fairness, Transparenz und Verantwortlichkeit in den Modellausgaben.
  • Kontinuierliche Verbesserung:Entwickler passen Foundation Models laufend durch Prompting-Verfahren an, tauschen die Modelle gegen neuere Versionen aus oder kombinieren mehrere Modelle, um die Leistung, Kosteneffizienz oder die Latenz zu verbessern. Konventionelles kontinuierliches Training ist weiterhin relevant für Szenarien, in denen eine wiederkehrende Feinabstimmung oder die Einbeziehung menschlicher Feedbackschleifen erforderlich ist.

Data-Engineering-Praktiken spielen in allen Entwicklungsphasen eine wichtige Rolle. Um zuverlässige Ausgaben zu erstellen, benötigen Sie eine faktenbasierte Grundlage (die dafür sorgt, dass die Ausgaben des Modells auf genauen und aktuellen Informationen basieren) sowie aktuelle Daten aus internen und Unternehmenssystemen. Die Feinabstimmung von Daten hilft, Modelle an bestimmte Aufgaben und Stile anzupassen und persistente Fehler zu beheben.

Basismodell für Ihren Anwendungsfall finden

Da das Erstellen von Foundation Models ressourcenintensiv ist, bevorzugen die meisten Unternehmen ein vorhandenes Foundation Model, das für ihren Anwendungsfall optimal ist. Es ist schwierig, das richtige Foundation Model zu finden, da es viele Foundation Models gibt. Jedes Modell hat unterschiedliche Architekturen, Größen, Trainings-Datasets und Lizenzen. Darüber hinaus stellt jeder Anwendungsfall individuelle Anforderungen, die es erfordern, die verfügbaren Modelle über mehrere Dimensionen hinweg zu analysieren.

Berücksichtigen Sie bei der Bewertung von Modellen die folgenden Faktoren:

  • Qualität:Führen Sie Testaufforderungen aus, um die Qualität der Ausgabe zu beurteilen.
  • Latenz und Durchsatz:Ermitteln Sie die richtige Latenz und den richtigen Durchsatz, die für Ihren Anwendungsfall erforderlich sind, da diese Faktoren sich direkt auf die Nutzerfreundlichkeit auswirken. Ein Chatbot benötigt beispielsweise eine geringere Latenz als Batchverarbeitungsaufgaben.
  • Entwicklungs- und Wartungszeit:Berücksichtigen Sie den Zeitaufwand für die erste Entwicklung und laufende Wartung. Verwaltete Modelle erfordern häufig weniger Aufwand als öffentlich verfügbare Modelle, die Sie selbst bereitstellen.
  • Nutzungskosten:Berücksichtigen Sie die Infrastruktur- und Verbrauchskosten, die mit dem Modell verbunden sind.
  • Compliance: Bewerten Sie, ob das Modell die relevanten Vorschriften und Lizenzbedingungen einhalten kann.

Entwickeln und testen

Beim Erstellen von generativen KI-Anwendungen laufen Entwicklung und Experimente iterativ und orchestriert. Jede experimentelle Iteration umfasst die Verfeinerung von Daten, die Anpassung des Basismodells und die Bewertung der Ergebnisse. Die Bewertung gibt Feedback, das nachfolgende Iterationen in einer kontinuierlichen Feedbackschleife leitet. Wenn die Leistung nicht den Erwartungen entspricht, können Sie weitere Daten erfassen, die Daten erweitern oder die Daten weiter kuratieren. Darüber hinaus müssen Sie möglicherweise Aufforderungen optimieren, Techniken zur Feinabstimmung anwenden oder zu einem anderen Foundation Model wechseln. Dieser iterative, auf Bewertungserkenntnisse basierende Optimierungszyklus ist für die Optimierung von Generative-AI-Anwendungen genauso wichtig wie für maschinelles Lernen und prädiktive KI.

Das Foundation Model-Paradigma

Foundation Models unterscheiden sich von Vorhersagemodellen, da sie Mehrzweckmodelle sind. Foundation Models werden nicht für einen einzelnen Zweck mit Daten speziell für diese Aufgabe trainiert, sondern anhand von breiten Datasets. So können Sie ein Foundation Model auf viele verschiedene Anwendungsfälle anwenden.

Foundation Models reagieren auch sehr empfindlich auf Änderungen ihrer Eingaben. Die Ausgabe des Modells und die auszuführende Aufgabe werden durch die Eingabe in das Modell bestimmt. Ein Foundation Model kann durch einfaches Ändern der Eingabe Text übersetzen, Videos generieren oder Daten klassifizieren. Selbst geringfügige Änderungen an der Eingabe können sich auf die Fähigkeit des Modells zur ordnungsgemäßen Ausführung dieser Aufgabe auswirken.

Diese Eigenschaften von Foundation Models erfordern unterschiedliche Entwicklungs- und Betriebspraktiken. Obwohl Modelle im Kontext der prädiktiven KI eigenständig und aufgabenspezifisch sind, sind Foundation Models vielfältig und benötigen zusätzlich zur Nutzereingabe ein zusätzliches Element. Modelle für generative KI erfordern einen Prompt und genauer eine Prompt-Vorlage. Eine Prompt-Vorlage besteht aus einer Reihe von Anleitungen und Beispielen sowie Platzhaltern für Nutzereingaben. Die Anwendung kann die Prompt-Vorlage und die dynamischen Daten (z. B. die Nutzereingabe) kombinieren, um einen vollständigen Prompt zu erstellen. Das ist der Text, der als Eingabe an das Foundation Model übergeben wird.

Komponente des angeforderten Modells

Das Vorhandensein des Prompts ist ein Unterscheidungsmerkmal von Anwendungen mit generativer KI. Das Modell und der Prompt reichen zum Generieren von Inhalten nicht aus. Generative AI benötigt beides. Die Kombination aus Modell und Prompt wird als Komponente des angeforderten Modells bezeichnet. Die Komponente des angeforderten Modells ist die kleinste unabhängige Komponente, die zum Erstellen einer Anwendung mit generativer KI ausreicht. Die Aufforderung muss nicht kompliziert sein. Es kann sich beispielsweise um eine einfache Anweisung wie „Übersetze den folgenden Satz aus dem Englischen ins Französische“, gefolgt vom zu übersetzenden Satz, handeln. Ohne diese einleitende Anleitung kann ein Foundation Model jedoch nicht die erforderliche Übersetzungsaufgabe ausführen. Daher ist neben der Eingabe auch eine einfache Anweisung erforderlich, um das Foundation Model für die von der Anwendung erforderliche Aufgabe zu erhalten.

Die Komponente des angeforderten Modells sorgt für eine wichtige Unterscheidung für MLOps-Praktiken bei der Entwicklung von Anwendungen mit generativer KI. Bei der Entwicklung einer generativen KI-Anwendung müssen Tests und Iterationen im Kontext einer angeforderten Modellkomponente erfolgen. Der Testzyklus für Generative AI beginnt in der Regel damit, verschiedene Varianten des Prompts zu testen. Dabei wird der Wortlaut der Anleitung geändert, zusätzlicher Kontext bereitgestellt oder relevante Beispiele hinzugefügt. Anschließend werden die Auswirkungen dieser Änderungen bewertet. Diese Vorgehensweise wird allgemein als Prompt Engineering bezeichnet.

Das Prompt Engineering umfasst die folgenden iterativen Schritte:

  • Prompts:Erstellen und optimieren Sie Aufforderungen, um das gewünschte Verhalten von einem Foundation Model für einen bestimmten Anwendungsfall zu erreichen.
  • Bewertung: Bewerten Sie die Ausgaben des Modells, idealerweise programmatisch, um das Verständnis und den Erfolg bei der Ausführung der Anweisungen des Prompts zu beurteilen.

Wenn Sie die Bewertungsergebnisse verfolgen möchten, können Sie die Ergebnisse eines Tests registrieren. Da die Aufforderung selbst ein Kernelement des Prompt-Entwicklungsprozesses ist, wird sie zum wichtigsten Artefakt in den Artefakten, die Teil des Tests sind.

Wenn Sie jedoch mit einer Generative-AI-Anwendung experimentieren möchten, müssen Sie die Artefakttypen identifizieren. Bei der Vorhersage-KI unterscheiden sich Daten, Pipelines und Code. Beim Prompt-Paradigma in der generativen KI können Aufforderungen jedoch Kontext, Anleitungen, Beispiele, Schutzmaßnahmen und tatsächliche interne oder externe Daten enthalten, die von anderen Quellen abgerufen werden.

Wenn Sie den Artefakttyp ermitteln möchten, müssen Sie erkennen, dass eine Aufforderung unterschiedliche Komponenten hat und unterschiedliche Verwaltungsstrategien erfordert. Berücksichtige Folgendes:

  • Prompt als Daten:Einige Teile des Prompts verhalten sich wie Daten. Elemente wie kurze Beispiele, Wissensdatenbanken und Nutzerabfragen sind im Wesentlichen Datenpunkte. Diese Komponenten erfordern datenzentrierte MLOps-Praktiken wie Datenvalidierung, Drifterkennung und Lebenszyklusverwaltung.
  • Prompt als Code:Andere Komponenten wie Kontext, Prompt-Vorlagen und Schutzmaßnahmen ähneln Code. Diese Komponenten definieren die Struktur und Regeln der Aufforderung selbst und erfordern mehr codeorientierte Praktiken wie Genehmigungsprozesse, Codeversionsverwaltung und Tests.

Wenn Sie daher MLOps-Praktiken auf Generative AI anwenden, benötigen Sie Prozesse, die Entwicklern eine einfache Möglichkeit zum Speichern, Abrufen, Verfolgen und Ändern von Aufforderungen bieten. Diese Prozesse ermöglichen eine schnelle Iteration und prinzipielle Experimente. Häufig funktioniert eine Version eines Prompts mit einer bestimmten Version des Modells gut und mit einer anderen Version weniger gut. Wenn Sie die Ergebnisse eines Tests verfolgen, müssen Sie den Prompt, die Versionen der Komponenten, die Modellversion, Messwerte und Ausgabedaten aufzeichnen.

Modellverkettung und ‐erweiterung

Modelle für generative KI, insbesondere Large Language Models (LLMs), sind mit Herausforderungen verbunden, wenn es um die Aufrechterhaltung der Aktualität und die Vermeidung von Halluzinationen geht. Die Codierung neuer Informationen in LLMs erfordert ein teures und datenintensives Vortraining, bevor sie bereitgestellt werden können. Je nach Anwendungsfall reicht es möglicherweise nicht aus, nur ein einziges Modell zur Ausführung einer bestimmten Generierung zu verwenden. Zum Beheben dieses Problems können Sie mehrere aufgeforderte Modelle zusammen mit Aufrufen externer APIs und Logik verbinden, die als Code ausgedrückt werden. Eine Abfolge von auf diese Weise miteinander verbundenen Modellkomponenten, die dazu aufgefordert werden, wird allgemein als Kette bezeichnet.

Das folgende Diagramm zeigt die Komponenten einer Kette und den relativen Entwicklungsprozess.

Modellketten im Entwicklungsprozess.

Abwehr von Aktualität und Halluzination

Zwei gängige kettenbasierte Muster, die Recency und Halluzinationen abschwächen können, sind Retrieval-Augmented Generation (RAG) (PDF) und Agents.

  • RAG ergänzt vortrainierte Modelle mit Wissen, das aus Datenbanken abgerufen wurde. Ein Vortraining ist dadurch nicht mehr erforderlich. RAG ermöglicht Fundierung und reduziert KI-Halluzinationen, indem aktuelle Sachinformationen direkt in den Generierungsprozess eingebunden werden.
  • Agents, die durch die ReAct-Prompting-Technik (PDF) bekannt sind, verwenden LLMs als Vermittler, die mit verschiedenen Tools interagieren, darunter RAG-Systeme, interne oder externe APIs, benutzerdefinierte Erweiterungen oder sogar andere Agents. Agents ermöglichen komplexe Abfragen und Echtzeitaktionen, indem sie relevante Informationsquellen dynamisch auswählen und verwenden. Das LLM interpretiert als Agent die Abfrage des Nutzers, entscheidet, welches Tool verwendet werden soll, und formuliert die Antwort anhand der abgerufenen Informationen.

Sie können RAG und Agents verwenden, um Multi-Agent-Systeme zu erstellen, die mit großen Informationsnetzwerken verbunden sind. Dies ermöglicht eine komplexe Abfrageverarbeitung und Entscheidungsfindung in Echtzeit.

Die Orchestrierung verschiedener Modelle, Logik und APIs ist für Generative-AI-Anwendungen nicht neu. Empfehlungssysteme kombinieren beispielsweise kollaborative Filtermodelle, inhaltsbasierte Modelle und Geschäftsregeln, um personalisierte Produktempfehlungen für Nutzer zu generieren. Ebenso werden bei der Betrugserkennung Modelle für maschinelles Lernen in regelbasierte Systeme und externe Datenquellen eingebunden, um verdächtige Aktivitäten zu identifizieren.

Der Unterschied zwischen diesen Ketten von Komponenten der generativen KI besteht darin, dass Sie die Verteilung der Komponenteneingaben nicht im Voraus charakterisieren können. Dadurch ist es viel schwieriger, die einzelnen Komponenten isoliert zu bewerten und zu verwalten. Die Orchestrierung führt zu einem Paradigmenwechsel bei der Entwicklung von KI-Anwendungen für Generative AI.

In prädiktiver KI können Sie die separaten Modelle und Komponenten isoliert iterieren und dann in der KI-Anwendung verketten. Bei der generativen KI entwickeln Sie während der Einbindung eine Kette, führen durchgängige Tests in der Kette durch und iterieren Verkettungsstrategien, Prompts, Foundation Models und andere APIs auf koordinierte Weise, um ein bestimmtes Ziel zu erreichen. Oft benötigen Sie weder Feature Engineering noch Datenerfassung oder zusätzliche Modelltrainingszyklen. Es reicht, wenn Sie den Wortlaut der Prompt-Vorlage ändern.

Die Verlagerung hin zu MLOps für generative KI führt im Gegensatz zu MLOps für prädiktive KI zu folgenden Unterschieden:

  • Bewertung: Aufgrund der engen Kopplung von Ketten erfordern Ketten nicht nur für jede Komponente eine End-to-End-Bewertung, um ihre Gesamtleistung und die Qualität ihrer Ausgabe zu messen. In Bezug auf Bewertungstechniken und -messwerte ähnelt die Bewertung von Ketten der Bewertung von aufgeforderten Modellen.
  • Versionsverwaltung:Sie müssen eine Kette als vollständiges Artefakt verwalten. Sie müssen die Kettenkonfiguration mit einem eigenen Überarbeitungsverlauf zur Analyse, aus Gründen der Reproduzierbarkeit und zum Verständnis der Auswirkungen von Änderungen auf die Ausgabe verfolgen. Die Logs müssen die Eingaben, Ausgaben, Zwischenstatus der Kette und alle Kettenkonfigurationen enthalten, die bei jeder Ausführung verwendet wurden.
  • Kontinuierliches Monitoring:Um Leistungseinbußen, Datenabweichungen oder ein unerwartetes Verhalten in der Kette zu erkennen, müssen Sie proaktive Monitoringsysteme konfigurieren. Durch kontinuierliches Monitoring lassen sich potenzielle Probleme frühzeitig erkennen und die Qualität der generierten Ausgabe aufrechterhalten.
  • Introspektion:Sie müssen die internen Datenflüsse einer Kette (d. h. die Ein- und Ausgaben jeder Komponente) sowie die Ein- und Ausgaben der gesamten Kette überprüfen. Durch die Einsicht in die Daten, die durch die Kette fließen, und die daraus resultierenden Inhalte können Entwickler die Quellen von Fehlern, Verzerrungen oder unerwünschtem Verhalten bestimmen.

Das folgende Diagramm zeigt, wie Ketten, aufgeforderte Modellkomponenten und Modellabstimmung in einer generativen KI-Anwendung zusammenarbeiten, um Aktualität und KI-Halluzinationen zu reduzieren. Daten werden kuratiert, Modelle abgestimmt und Ketten hinzugefügt, um Antworten weiter zu verfeinern. Nach der Auswertung der Ergebnisse können Entwickler den Test protokollieren und die Iteration fortsetzen.

Verketten, Prompts für Modelle und Abstimmung von Modellen in Generative-AI-Anwendungen.

Abstimmung

Wenn Sie einen Generative-AI-Anwendungsfall mit Basismodellen entwickeln, kann es insbesondere bei komplexen Aufgaben schwierig sein, sich auf schnelles Engineering und Verketten zur Lösung des Anwendungsfalls zu verlassen. Um die Aufgabenleistung zu verbessern, müssen Entwickler das Modell oft direkt abstimmen. Mit der Feinabstimmung können Sie aktiv alle Ebenen oder eine Teilmenge von Ebenen (Parametereffiziente Feinabstimmung) des Modells ändern, um seine Fähigkeit zur Ausführung einer bestimmten Aufgabe zu optimieren. Die gängigsten Methoden zum Abstimmen eines Modells sind:

  • Überwachte Feinabstimmung:Sie trainieren das Modell überwacht und bringen es bei, die richtige Ausgabesequenz für eine bestimmte Eingabe vorherzusagen.
  • Bestärkendes Lernen durch menschliches Feedback (RLHF): Sie trainieren ein Belohnungsmodell, um vorherzusagen, was Menschen als Antwort bevorzugen würden. Anschließend verwenden Sie dieses Prämienmodell, um das LLM während des Abstimmungsprozesses in die richtige Richtung zu bewegen. Dieser Prozess ähnelt dem Vorgang, bei dem eine Jury das Lernen des Modells von einer Jury begleitet.

Das folgende Diagramm zeigt, wie die Abstimmung hilft, das Modell während des Testzyklus zu verfeinern.

Modelle, die feinere Runden sind.

Bei MLOps stehen für die Feinabstimmung die folgenden Funktionen zum Modelltraining zur Verfügung:

  • Die Fähigkeit, die Artefakte zu verfolgen, die Teil des Abstimmungsjobs sind. Artefakte enthalten beispielsweise die Eingabedaten oder die Parameter, die zur Abstimmung des Modells verwendet werden.
  • Die Möglichkeit, die Auswirkungen der Abstimmung zu messen. Mit dieser Funktion können Sie das abgestimmte Modell im Hinblick auf die Aufgaben bewerten, für die es trainiert wurde, und die Ergebnisse mit zuvor abgestimmten Modellen oder eingefrorenen Modellen für dieselbe Aufgabe vergleichen.

Kontinuierliches Training und Feinabstimmung

Bei MLOps bezeichnet kontinuierliches Training das wiederholte erneute Trainieren von Modellen für maschinelles Lernen in einer Produktionsumgebung. Kontinuierliches Training trägt dazu bei, dass das Modell auf dem neuesten Stand bleibt und funktioniert, wenn sich reale Datenmuster im Laufe der Zeit ändern. Bei generativen KI-Modellen ist die kontinuierliche Abstimmung der Modelle aufgrund der hohen Daten- und Rechenkosten oft praktischer als ein erneutes Training.

Der Ansatz der kontinuierlichen Abstimmung hängt von Ihrem spezifischen Anwendungsfall und Ihren Zielen ab. Bei relativ statischen Aufgaben wie Textzusammenfassung können die Anforderungen an die kontinuierliche Abstimmung geringer sein. Für dynamische Anwendungen wie Chatbots, die eine ständige menschliche Ausrichtung benötigen, ist jedoch eine häufigere Feinabstimmung mit Techniken wie RLHF, die auf menschlichem Feedback basieren, erforderlich.

Um die richtige Strategie für die kontinuierliche Abstimmung zu bestimmen, müssen Sie die Art Ihres Anwendungsfalls und die Entwicklung der Eingabedaten im Laufe der Zeit auswerten. Die Kosten spielen ebenfalls eine wichtige Rolle, da sich die Computing-Infrastruktur stark auf die Geschwindigkeit und die Kosten der Abstimmung auswirkt. Grafikprozessoren (GPUs) und Tensor Processing Units (TPUs) sind Hardware, die für die Feinabstimmung erforderlich ist. GPUs, die für ihre parallele Prozessorleistung bekannt sind, sind bei der Verarbeitung rechenintensiver Arbeitslasten äußerst effektiv und werden häufig mit dem Trainieren und Ausführen komplexer Modelle für maschinelles Lernen verbunden. TPUs hingegen wurden von Google speziell für die Beschleunigung von ML-Aufgaben entwickelt. TPUs eignen sich hervorragend für die Verarbeitung großer Matrixvorgänge, die in neuronalen Deep-Learning-Netzwerken üblich sind.

Umgang mit Daten

Zuvor wurde das Verhalten des ML-Modells ausschließlich durch die Trainingsdaten bestimmt. Auch wenn dies auch für Foundation Models gilt, wird das Modellverhalten bei generativen KI-Anwendungen, die auf Basismodellen basieren, dadurch bestimmt, wie Sie das Modell an verschiedene Arten von Eingabedaten anpassen.

Foundation Models werden mit folgenden Daten trainiert:

  • Vortrainings-Datasets (z. B. C4, The Pile oder proprietäre Daten)
  • Datasets zur Feinabstimmung von Anweisungen
  • Datasets für die Sicherheitsabstimmung
  • Daten zu menschlichen Präferenzen

Generative AI-Anwendungen werden auf 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 zwischen prädiktivem ML und generativer KI bei der Datennutzung besteht zu Beginn des Lebenszyklusprozesses. Bei prädiktivem ML verbringen Sie viel Zeit mit Data Engineering und wenn Sie nicht die richtigen Daten haben, können Sie keine Anwendung erstellen. In generativer KI beginnen Sie mit einem Basismodell, einigen Anweisungen und möglicherweise einigen Beispieleingaben (z. B. kontextbezogenes Lernen). Sie können mit sehr wenigen Daten einen Prototyp erstellen und eine Anwendung starten.

Das einfache Prototyping birgt jedoch eine zusätzliche Herausforderung, die die Verwaltung unterschiedlicher Daten mit sich bringt. Predictive AI stützt sich auf klar definierte Datasets. In generativer KI kann eine einzelne Anwendung in Zusammenarbeit verschiedene Datentypen aus völlig verschiedenen Datenquellen verwenden.

Betrachten Sie die folgenden Datentypen:

  • Aufforderungen zur Konditionierung:Anweisungen für das Foundation Model zur Steuerung der Ausgabe und zum Festlegen von Grenzen dafür, was es generieren kann.
  • Kleine Beispiele: Eine Möglichkeit, dem Modell zu zeigen, was Sie mit Eingabe/Ausgabe-Paaren erreichen möchten. Diese Beispiele helfen dem Modell, die spezifischen Aufgaben zu verstehen, und können in vielen Fällen die Leistung steigern.
  • Fundierungs- oder Erweiterungsdaten: Die Daten, mit denen das Foundation Model Antworten für einen bestimmten Kontext erstellen und die Antworten aktuell und relevant halten kann, ohne das gesamte Foundation Model neu zu trainieren. Diese Daten können aus externen APIs (wie der Google Suche) oder aus internen APIs und Datenquellen stammen.
  • Aufgabenspezifische Datasets: Die Datasets, die dabei helfen, ein vorhandenes Fundamentmodell für eine bestimmte Aufgabe zu optimieren und so seine Leistung in diesem bestimmten Bereich zu verbessern.
  • Vollständige Datasets vor dem Training:Die umfangreichen Datasets, die zum Trainieren von Foundation Models verwendet werden. Auch wenn Anwendungsentwickler möglicherweise keinen Zugriff auf sie oder die Tokenizer haben, beeinflussen die im Modell codierten Informationen die Ausgabe und Leistung der Anwendung.

Diese Vielfalt an Datentypen erhöht die Komplexität in Bezug auf Datenorganisation, Tracking und Lebenszyklusverwaltung. Eine RAG-basierte Anwendung kann beispielsweise Nutzerabfragen umschreiben, relevante Beispiele anhand ausgewählter Beispiele dynamisch erfassen, eine Vektordatenbank abfragen und die Informationen mit einer Eingabeaufforderungsvorlage kombinieren. Für eine RAG-basierte Anwendung müssen Sie mehrere Datentypen verwalten, darunter Nutzerabfragen, Vektordatenbanken mit ausgewählten wenigen Aufnahmebeispielen und Unternehmensinformationen sowie Prompt-Vorlagen.

Jeder Datentyp muss sorgfältig organisiert und gepflegt werden. Eine Vektordatenbank erfordert beispielsweise die Verarbeitung von Daten in Einbettungen, die Optimierung von Chunking-Strategien und die Gewährleistung, dass nur relevante Informationen verfügbar sind. Eine Prompt-Vorlage erfordert die Versionsverwaltung und Verfolgung und Nutzerabfragen müssen neu geschrieben werden. Best Practices für MLOps und DevOps können bei diesen Aufgaben hilfreich sein. In Predictive AI erstellen Sie Datenpipelines zum Extrahieren, Transformieren und Laden. In der generativen KI erstellen Sie Pipelines, mit denen Sie verschiedene Datentypen auf versionierbare, nachverfolgbare und reproduzierbare Weise verwalten, weiterentwickeln, anpassen und einbinden können.

Die Optimierung von Foundation Models kann die Leistung von Generative AI-Anwendungen steigern, die Modelle benötigen jedoch Daten. Sie können diese Daten abrufen, indem Sie Ihre Anwendung starten und reale Daten erfassen, synthetische Daten generieren oder eine Kombination aus beidem verwenden. Die Verwendung großer Modelle zum Generieren synthetischer Daten wird immer beliebter, da diese Methode den Bereitstellungsprozess beschleunigt. Es ist aber trotzdem wichtig, dass die Ergebnisse zur Qualitätssicherung von Menschen überprüft werden. Die folgenden Beispiele zeigen, 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 in Bezug auf ihre Eigenschaften und statistischen Eigenschaften realen Daten sehr ähnlich sind. Große und leistungsfähige Modelle erledigen diese Aufgabe häufig. Synthetische Daten dienen als zusätzliche Trainingsdaten für die generative KI, die es ihnen ermöglichen, Muster und Beziehungen zu lernen, selbst wenn reale Daten mit Labels knapp sind.
  • Korrektur synthetischer Daten: Diese Technik konzentriert sich auf das Identifizieren und Korrigieren von Fehlern und Inkonsistenzen in vorhandenen mit Labels versehenen Datasets. Durch die Nutzung größerer Modelle kann Generative AI potenzielle Labeling-Fehler melden und Korrekturen vorschlagen, um die Qualität und Zuverlässigkeit der Trainingsdaten zu verbessern.
  • Erweiterung synthetischer Daten: Dieser Ansatz geht über das Generieren neuer Daten hinaus. Bei der Erweiterung von synthetischen Daten werden vorhandene Daten intelligent manipuliert, um verschiedene Variationen zu erstellen, während wesentliche Merkmale und Beziehungen erhalten bleiben. Während des Trainings kann generative KI auf eine größere Bandbreite von Szenarien stoßen als die Vorhersage-KI. Dies führt zu einer verbesserten Generalisierung und der Möglichkeit, differenzierte und relevante Ausgaben zu generieren.

Im Gegensatz zu prädiktiver KI ist es schwierig, Generative AI zu bewerten. Beispielsweise kennen Sie die Verteilung der Trainingsdaten der Foundation Models möglicherweise nicht. Sie müssen ein benutzerdefiniertes Bewertungs-Dataset erstellen, das alle Ihre Anwendungsfälle abbildet, einschließlich der wesentlichen, der Durchschnitts- und Grenzfälle. Ähnlich wie bei der Feinabstimmung von Daten können Sie mithilfe von leistungsstarken LLMs Daten generieren, auswählen und erweitern, um zuverlässige Bewertungs-Datasets zu erstellen.

Bewertung

Der Bewertungsprozess ist eine zentrale Aktivität bei der Entwicklung von Anwendungen für Generative AI. Die Bewertung kann unterschiedliche Automatisierungsgrade haben: von vollständig durch Menschen gesteuert bis hin zu vollständig automatisiert durch einen Prozess.

Beim Erstellen eines Prototyps für ein Projekt ist die Bewertung oft ein manueller Prozess. Entwickler sehen sich die Ergebnisse des Modells an und erhalten ein qualitatives Gefühl von seiner Leistung. Wenn das Projekt jedoch weiterentwickelt wird und die Anzahl der Testfälle zunimmt, wird die manuelle Bewertung zu einem Engpass.

Die Automatisierung der Bewertung hat zwei große Vorteile: Sie beschleunigt den Prozess und macht die Bewertungen zuverlässiger. Außerdem wird die menschliche Subjektivität außer Acht gelassen, sodass die Ergebnisse reproduzierbar sind.

Die Automatisierung der Bewertung von Generative-AI-Anwendungen birgt jedoch auch Herausforderungen. Sie könnten beispielsweise Folgendes versuchen:

  • Sowohl Eingaben (Aufforderungen) als auch Ausgaben können sehr komplex sein. Eine einzelne Aufforderung kann mehrere Anweisungen und Einschränkungen enthalten, die das Modell verwalten muss. Die Ausgaben selbst sind oft hochdimensional, z. B. ein generiertes Bild oder ein Textblock. Es ist schwierig, die Qualität dieser Ausgaben anhand eines einfachen Messwerts zu erfassen. Einige etablierte Messwerte wie BLEU für Übersetzungen und ROUGE für Zusammenfassungen reichen nicht immer aus. Daher können Sie Ihr System mit benutzerdefinierten Bewertungsmethoden oder einem anderen Foundation Model bewerten. Sie können beispielsweise ein Large Language Model (wie AutoSxS) auffordern, die Qualität generierter Texte in verschiedenen Dimensionen zu bewerten.
  • Viele Bewertungsmesswerte für Generative AI sind subjektiv. Wodurch ein Resultat besser ist als das andere, kann Ansichtssache sein. Sie müssen dafür sorgen, dass Ihre automatisierte Bewertung mit dem menschlichen Urteilsvermögen übereinstimmt, da Ihre Messwerte ein zuverlässiger Proxy dessen sein sollen, was Nutzer denken würden. Damit Tests miteinander verglichen werden können, müssen Sie den Bewertungsansatz und die Messwerte frühzeitig im Entwicklungsprozess festlegen.
  • Fehlende Ground-Truth-Daten, insbesondere in den frühen Phasen eines Projekts Eine Problemumgehung besteht darin, synthetische Daten zu generieren, die als temporäre Grundwahrheit dienen, die Sie im Laufe der Zeit durch menschliches Feedback optimieren können.
  • Eine umfassende Bewertung ist unerlässlich, um Generative-AI-Anwendungen vor Angriffen zu schützen. Böswillige Akteure können Prompts erstellen, um vertrauliche Informationen zu extrahieren oder die Ausgaben des Modells zu manipulieren. Bewertungs-Datasets müssen speziell auf diese Angriffsvektoren eingehen, und zwar durch Techniken wie Prompt-Fuzzing (Einspeisung zufälliger Variationen von Prompts an das Modell) und Tests auf Datenlecks.

Implementieren Sie Folgendes, um Generative AI-Anwendungen zu bewerten:

  • Automatisieren Sie den Bewertungsprozess, um Geschwindigkeit, Skalierbarkeit und Reproduzierbarkeit zu gewährleisten. Sie können Automatisierung als Stellvertreter für die menschliche Beurteilung betrachten.
  • Passen Sie den Bewertungsprozess an Ihre Anwendungsfälle an.
  • Damit Vergleiche möglich sind, sollten Sie den Bewertungsansatz, die Messwerte und die Ground-Truth-Daten so früh wie möglich in der Entwicklungsphase stabilisieren.
  • Generieren Sie synthetische Ground-Truth-Daten, um das Fehlen von echten Ground-Truth-Daten auszugleichen.
  • Binden Sie Testfälle für bösartige Prompts in das Bewertungs-Dataset ein, um die Zuverlässigkeit des Systems selbst gegen diese Angriffe zu testen.

Bereitstellen

Generative AI-Anwendungen auf Produktionsebene sind komplexe Systeme mit vielen interagierenden Komponenten. Zum Bereitstellen einer Generative-AI-Anwendung für die Produktion müssen Sie diese Komponenten mit den vorherigen Phasen der Entwicklung von generativen KI-Anwendungen verwalten und koordinieren. Beispielsweise kann eine einzelne Anwendung 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 generativen KI-Anwendungen ähnelt der Bereitstellung anderer komplexer Softwaresysteme, da Systemkomponenten wie Datenbanken und Python-Anwendungen bereitgestellt werden müssen. Wir empfehlen die Verwendung standardmäßiger Softwareentwicklungspraktiken wie Versionsverwaltung und CI/CD.

Versionsverwaltung

Das Experimentieren mit generativer KI ist ein iterativer Prozess, der sich wiederholende Entwicklungs-, Bewertungs- und Änderungszyklen umfasst. Für einen strukturierten und verwaltbaren Ansatz müssen Sie für alle modifizierbaren Komponenten eine strikte Versionsverwaltung implementieren. Diese Komponenten sind:

  • Prompt-Vorlagen:Wenn Sie keine speziellen Lösungen für die Prompt-Verwaltung verwenden, verwenden Sie zur Verfolgung von Versionen die Tools zur Versionsverwaltung.
  • Kettendefinitionen:Verwenden Sie Versionsverwaltungstools, um Versionen des Codes zu verfolgen, der die Kette definiert (einschließlich API-Integrationen, Datenbankaufrufe und Funktionen).
  • Externe Datasets: In RAG-Systemen spielen externe Datasets eine wichtige Rolle. Verwenden Sie vorhandene Datenanalyselösungen wie BigQuery, AlloyDB for PostgreSQL und Vertex AI Feature Store, um diese Änderungen und Versionen dieser Datasets zu verfolgen.
  • Adaptermodelle:Techniken wie die LoRA-Abstimmung für Adaptermodelle werden ständig weiterentwickelt. Nutzen Sie etablierte 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. Einheiten- und Integrationstests sind wichtig für die Qualität und Zuverlässigkeit. Unittests konzentrieren sich auf einzelne Codeteile, während Integrationstests prüfen, ob verschiedene Komponenten zusammenwirken.

Die Implementierung eines kontinuierlichen Integrationssystems hilft bei Folgendem:

  • Zuverlässige, hochwertige Ausgaben gewährleisten: Strenge Tests erhöhen das Vertrauen in die Leistung und Konsistenz des Systems.
  • Fehler frühzeitig erkennen:Wenn Probleme durch Tests erkannt werden, können sie später keine größeren Probleme verursachen. Das frühzeitige Erkennen von Fehlern macht das System robuster und widerstandsfähiger gegenüber Grenzfällen und unerwarteten Eingaben.
  • Geringere Wartungskosten: Gut dokumentierte Testfälle vereinfachen die Fehlerbehebung und ermöglichen in Zukunft reibungslosere Änderungen, wodurch der gesamte Wartungsaufwand reduziert wird.

Diese Vorteile gelten auch für Generative AI-Anwendungen. Wenden Sie kontinuierliche Integration auf alle Elemente des Systems an, einschließlich der Prompt-Vorlagen, der Kette, der Verkettungslogik, aller eingebetteten Modelle und der Abrufsysteme.

Die Anwendung von Continuous Integration auf Generative AI bringt jedoch auch folgende Herausforderungen mit sich:

  • Schwierigkeiten beim Generieren umfassender Testläufe: Da generative KI-Ausgaben komplex und offen sind, ist es schwierig, eine umfassende Reihe von Testläufen zu definieren und zu erstellen, die alle Möglichkeiten abdecken.
  • Probleme mit der Reproduzierbarkeit:Das Erreichen deterministischer, reproduzierbarer Ergebnisse ist schwierig, da generative Modelle selbst bei identischen Eingaben oft eine intrinsische Zufälligkeit und Variabilität in ihren Ausgaben aufweisen. Diese Zufälligkeit erschwert es, konsistent auf erwartete Verhaltensweisen zu testen.

Diese Herausforderungen stehen in engem Zusammenhang mit der allgemeinen Frage, wie Generative AI-Anwendungen bewertet werden. Sie können viele der gleichen Bewertungstechniken auf die Entwicklung von CI-Systemen für Generative AI anwenden.

Continuous Delivery

Nach dem Zusammenführen des Codes beginnt ein Continuous Delivery-Prozess, den erstellten und getesteten Code durch Umgebungen zu verschieben, die der Produktion sehr ähnlich sind, um vor der endgültigen Bereitstellung weitere Tests durchzuführen.

Wie unter Entwickeln und experimentieren beschrieben, werden Kettenelemente zu einer der Hauptkomponenten für die Bereitstellung, da sie im Wesentlichen die Generative AI-Anwendung bilden. Der Bereitstellungsprozess für die Generative AI-Anwendung, die die Kette enthält, kann je nach Latenzanforderungen und davon, ob es sich beim Anwendungsfall um Batch oder Online handelt, variieren.

Batch-Anwendungsfälle erfordern die Bereitstellung eines Batchprozesses, der nach einem Zeitplan in der Produktion ausgeführt wird. Der Bereitstellungsprozess konzentriert sich auf das Testen der gesamten integrierten Pipeline in einer Umgebung, die der Produktion vor der Bereitstellung ähnelt. Im Rahmen des Testprozesses können Entwickler bestimmte Anforderungen an den Durchsatz des Batchprozesses selbst geltend machen und prüfen, ob alle Komponenten der Anwendung ordnungsgemäß funktionieren. (Entwickler können beispielsweise Berechtigungen, Infrastruktur und Codeabhängigkeiten prüfen.)

Online-Anwendungsfälle erfordern die Bereitstellung einer API. Dies ist die Anwendung, die die Kette enthält und in der Lage ist, mit niedriger Latenz auf Nutzer zu reagieren. Ihr Übermittlungsprozess umfasst das Testen der API in der Integration in einer Umgebung, die der Produktion ähnelt. Mit diesen Tests wird geprüft, ob alle Komponenten der Anwendung ordnungsgemäß funktionieren. Sie können nicht funktionale Anforderungen (z. B. Skalierbarkeit, Zuverlässigkeit und Leistung) mithilfe einer Reihe von Tests, einschließlich Lasttests, prüfen.

Checkliste für die Bereitstellung

In der folgenden Liste werden die Schritte beschrieben, die Sie ausführen müssen, wenn Sie eine Generative AI-Anwendung mit einem verwalteten Dienst wie Vertex AI bereitstellen:

  • Versionsverwaltung konfigurieren:Implementieren Sie Methoden zur Versionsverwaltung für Modellbereitstellungen. Mit der Versionsverwaltung können Sie bei Bedarf ein Rollback zu vorherigen Versionen durchführen und Änderungen am Modell oder der Bereitstellungskonfiguration verfolgen.
  • Modell optimieren:Führen Sie vor dem Verpacken oder Bereitstellen des Modells Modelloptimierungsaufgaben durch (Destillation, Quantisierung und Bereinigung).
  • Modell containerisieren:Verpacken Sie das trainierte Modell in einem Container.
  • Zielhardwareanforderungen definieren:Sorgen Sie dafür, dass die Zielbereitstellungsumgebung die Anforderungen für eine 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 Traffic- 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. Die Zugriffssteuerung sorgt dafür, 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, die Ressourcennutzung und die Fehlerlogs des Endpunkts zu verfolgen.
  • Benutzerdefinierte Integrationen bereitstellen: Binden Sie das Modell über das SDK oder die APIs des Modells in benutzerdefinierte Anwendungen oder Dienste ein.
  • Echtzeitanwendungen bereitstellen:Erstellen Sie eine Streamingpipeline, die Daten verarbeitet und Antworten in Echtzeit generiert.

Logging und Monitoring

Das Monitoring generativer KI-Anwendungen und ihrer Komponenten erfordert Techniken, die Sie den Monitoringtechniken für konventionelle MLOps hinzufügen können. Sie müssen Ihre Anwendung durchgängig protokollieren und überwachen. Dazu gehört das Logging und Monitoring der gesamten Eingabe und Ausgabe Ihrer Anwendung und aller Komponenten.

Eingaben für die Anwendung lösen mehrere Komponenten aus, um die Ausgaben zu erzeugen. Wenn die Ausgabe zu einer bestimmten Eingabe sachlich falsch ist, müssen Sie ermitteln, welche der Komponenten keine gute Leistung erzielt haben. Sie benötigen die Herkunft in Ihrem Logging für alle ausgeführten Komponenten. Außerdem müssen Sie die Eingaben und Komponenten den zusätzlichen Artefakten und Parametern zuordnen, von denen sie abhängig sind, damit Sie die Ein- und Ausgaben analysieren können.

Beim Anwenden von Monitoring sollten Sie das Monitoring auf Anwendungsebene priorisieren. Wenn das Monitoring auf Anwendungsebene beweist, dass die Anwendung gut funktioniert, wird davon ausgegangen, dass auch alle Komponenten eine gute Leistung erzielen. Wenden Sie anschließend Monitoring auf die angeforderten Modellkomponenten an, um detailliertere Ergebnisse zu erhalten und Ihre Anwendung besser zu verstehen.

Wie beim herkömmlichen Monitoring in MLOps müssen Sie einen Benachrichtigungsprozess bereitstellen, um Anwendungsinhaber zu benachrichtigen, wenn eine Abweichung, eine Verzerrung oder einen Leistungsabfall erkannt wird. Zum Einrichten von Benachrichtigungen müssen Sie Warn- und Benachrichtigungstools in den Monitoringprozess einbinden.

In den folgenden Abschnitten werden Monitoring-Abweichungen und -Drift sowie kontinuierliche Evaluierungsaufgaben beschrieben. Darüber hinaus umfasst das Monitoring in MLOps das Überwachen der Messwerte für den allgemeinen Systemzustand wie Ressourcennutzung und Latenz. Diese Effizienzmesswerte gelten auch für Generative AI-Anwendungen.

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 aus dem Modelltraining abweicht. Bei generativen KI-Anwendungen, die vortrainierte Modelle in Komponenten verwenden, die zum Erzeugen der Ausgabe verkettet sind, müssen Sie auch die Abweichung 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 an Ihre Anwendung in der Produktion vergleichen. Wenn die beiden Verteilungen auseinanderliegen, müssen Sie dies genauer untersuchen. Sie können den gleichen Prozess auch auf die Ausgabedaten anwenden.

Drifterkennung

Wie die Abweichungserkennung prüft die Abweichungserkennung auf statistische Unterschiede zwischen zwei Datasets. Anstatt Bewertungen und Bereitstellungseingaben zu vergleichen, sucht Drift jedoch nach Änderungen der Eingabedaten. Mit Drift können Sie die Eingaben bewerten und so nachvollziehen, wie sich das Verhalten Ihrer Nutzer im Laufe der Zeit ändert.

Da die Eingabe für die Anwendung in der Regel aus Text besteht, können Sie verschiedene Methoden verwenden, um Verzerrungen und Abweichungen zu messen. Im Allgemeinen wird mit diesen Methoden versucht, signifikante Änderungen an Produktionsdaten, sowohl textuell (z. B. die Größe der Eingabe) als auch konzeptionelle (z. B. Themen in Eingabe) – im Vergleich zum Bewertungs-Dataset zu identifizieren. Alle diese Methoden suchen nach Änderungen, die darauf hindeuten, dass die Anwendung die Art der neuen Daten, die jetzt eingehen, möglicherweise nicht erfolgreich verarbeitet werden können. Hier einige gängige Methoden:

Da Generative AI-Anwendungsfälle so vielfältig sind, benötigen Sie möglicherweise zusätzliche benutzerdefinierte Messwerte, mit denen unerwartete Änderungen Ihrer Daten besser erfasst werden können.

Kontinuierliche Evaluierung

Kontinuierliche Evaluierung ist ein weiterer gängiger Ansatz für das Monitoring von Anwendungen mit generativer KI. In einem kontinuierlichen Evaluierungssystem erfassen Sie die Produktionsausgabe des Modells und führen eine Bewertungsaufgabe mit dieser Ausgabe aus, um die Leistung des Modells im Zeitverlauf zu verfolgen. Sie können direktes Nutzerfeedback einholen, z. B. Bewertungen, die einen sofortigen Einblick in die wahrgenommene Qualität der Ausgaben geben. Parallel dazu ermöglicht der Vergleich von modellgenerierten Antworten mit etablierten Ground-Truth-Antworten eine umfassendere Leistungsanalyse. Sie können Ground-Truth-Daten durch eine manuelle Bewertung oder als Ergebnis eines Ensemble-KI-Modellansatzes erfassen, um Bewertungsmesswerte zu generieren. Dieser Prozess bietet einen Überblick darüber, wie sich Ihre Bewertungsmesswerte von der Entwicklung Ihres Modells zu dem, was Sie heute in der Produktion haben, geändert haben.

Regulieren

Im Kontext von MLOps umfasst Governance alle Praktiken und Richtlinien, die die Kontrolle, Rechenschaftspflicht und Transparenz in Bezug auf die Entwicklung, Bereitstellung und laufende Verwaltung von ML-Modellen schaffen, einschließlich aller Aktivitäten im Zusammenhang mit dem Code, den Daten und dem Modelllebenszyklus.

Bei prädiktiven KI-Anwendungen konzentriert sich die Lineage darauf, den gesamten Prozess eines ML-Modells zu verfolgen und zu verstehen. Bei generativer KI geht die Lineage ü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 Evaluationsdaten und Messwerte. Das Lineage-Tracking kann Ihnen beim Prüfen, Debuggen und Verbessern Ihrer Modelle helfen.

Neben diesen neuen Praktiken können Sie den Datenlebenszyklus und die Lebenszyklen der generativen KI-Komponenten mithilfe von MLOps- und DevOps-Standardpraktiken steuern.

Nächste Schritte

Generative AI-Anwendung mit Vertex AI bereitstellen

Autoren: Anant Nawalgaria, Christos Aniftos, Elia Secchi, Gabriela Hernandez Larios, Mike Styer und Onofrio Petragallo