Generative KI-Anwendung entwickeln

Last reviewed 2024-03-26 UTC

In diesem Dokument erfahren Sie, wie Sie die Herausforderungen in den einzelnen Phase der Entwicklung einer generativen KI-Anwendung bewältigen. Es wird beschrieben, wie Sie ein Modell auswählen, die Ausgabe des Modells an Ihre Anforderungen anpassen, Ihre Anpassungen bewerten und Ihr Modell bereitstellen. In diesem Dokument wird davon ausgegangen, dass Sie bereits einen Anwendungsfall haben und dieser für generative KI geeignet ist. Informationen zum Entwickeln eines Anwendungsfalls finden Sie unter Geschäftsanwendungsfall für generative KI bewerten und definieren.

Bevor Sie mit der Entwicklung einer generativen KI-Anwendung beginnen, prüfen Sie die technische Bereitschaft Ihres Unternehmens (Fähigkeiten und Infrastruktur). Informationen zur Bewertung Ihrer KI-Fähigkeiten und zur Erstellung einer Roadmap, um deren Potenzial auszuschöpfen, finden Sie unter AI Readiness Workshop. Wenn Sie Workflows entwickeln möchten, die von generativer KI automatisiert werden, prüfen Sie, ob Menschen für kritische Entscheidungsphasen einbezogen werden sollen. Die Prüfung durch Menschen kann bei Entscheidungen helfen, z. B. wo es um die verantwortungsvolle Nutzung, die Erfüllung bestimmter Anforderungen in Sachen Qualitätskontrolle oder um die Überwachung generierter Inhalte geht.

Generative KI-Modelle

Foundation Models für generative KI werden mit Multi-Terabyte-Datasets trainiert, die Texte, Bildern, Code oder auch andere Medienarten umfassen. Anhand der Daten und der Modellarchitektur können die Modelle komplexe Muster identifizieren und ein tiefes, kontextabhängiges Verständnis gewinnen sowie auf Basis der Trainingsdaten neue Inhalte wie Texte, Bilder, Musiken oder Videos erstellen.

Foundation Models bilden den Kern, auf dem zahlreiche generative KI-Anwendungen basieren. Die Funktionen der Modelle bedingen neue Fähigkeiten: Auf Basis einfacher Text-Prompts können Foundation Models für generative KI lernen, verschiedene Aufgaben auszuführen, darunter Texte übersetzen, Fragen beantworten, Gedicht oder auch Code schreiben – ohne explizites Training für die einzelnen Aufgaben. Foundation Models für generative KI können auch mit verschiedenen Prompt-Techniken an bestimmte Aufgaben angepasst oder mit minimalen zusätzlichen Trainingsdaten optimiert werden.

Large Language Models (LLMs) werden mit Text trainiert. Sie sind ein Beispiel für Foundation Models, die in der Regel auf Deep-Learning-Architekturen basieren, z. B. der 2017 von Google entwickelten Transformer-Architektur. LLMs können mit Milliarden von Textbeispielen und anderen Inhalten trainiert und an spezifische Bereiche angepasst werden.

Andere multimodale Modelle erweitern die Fähigkeit generativer KI-Anwendungen, Informationen aus mehreren Modalitäten zu verarbeiten, darunter Bilder, Videos, Audio und Texte. Multimodale Prompts kombinieren mehrere Eingabeformate (Text, Bilder, Audio). Sie können beispielsweise ein Bild eingeben und eine generative KI-Anwendung bitten, die Objekte im Bild aufzulisten oder zu beschreiben. Die Gemini-Modelle von Google sind von Grund auf für Multimodalitäten ausgelegt und können nahtlos mit Elementen wie Texten, Bildern, Videos, Audio und Code arbeiten. Der Model Garden von Google Cloud und Vertex AI können Ihnen dabei helfen, verschiedene Basismodellen von Google, von Open Source- und von Drittanbieterquellen zu finden und anzupassen.

Modell auswählen

Berücksichtigen Sie bei der Auswahl eines Modells die Modalität, die Größe und die Kosten des Modells. Wählen Sie das günstigste Modell aus, das dennoch Ihren Anforderungen an Antwortqualität und Latenz entspricht.

  • Modalität: Wie im vorherigen Abschnitt beschrieben, entspricht die Modalität eines Modells den übergeordneten Datenkategorien, für die ein Modell trainiert wird, z. B. Texte, Bilder und Video. In der Regel sind Ihr Anwendungsfall und die Modalität des Modells eng miteinander verbunden. Wenn Ihr Anwendungsfall die Text-zu-Bild-Generierung umfasst, müssen Sie ein Modell finden, das mit Text- und Bilddaten trainiert wurde. Wenn Sie die Flexibilität mehrerer Modalitäten benötigen, wie z. B. bei multimodalen Suchen, gibt es Modelle, die auch multimodale Anwendungsfälle unterstützen. Kosten und Latenz können hier jedoch höher sein.
    • Vertex AI-Modelle bieten eine umfangreiche Liste generativer KI-Modelle, die Sie verwenden können.
    • Model Garden bietet eine Liste von Erstanbieter- und Open-Source-ML-Modelle-Angeboten in Google Cloud.
  • Größe: Die Größe eines Modells wird in der Regel anhand der Anzahl der Parameter gemessen. Im Allgemeinen kann ein größeres Modell komplexere Muster und Beziehungen innerhalb von Daten erlernen, was zu qualitativ besseren Antworten führen kann. Da größere Modelle in derselben Familie eine höhere Latenz und höhere Kosten haben können, müssen Sie die Modelle möglicherweise testen und bewerten, um zu ermitteln, welche Modellgröße für Ihren Anwendungsfall am besten geeignet ist.
  • Kosten: Die Kosten eines Modells hängen von seinen Funktionen ab, die sich normalerweise auf die Parameterzahl des Modells beziehen. Modelle können auch unterschiedlich angerechnet und abgerechnet werden. Einige Modelle werden beispielsweise basierend auf der Anzahl der Eingabe- und Ausgabetokens abgerechnet. Andere Modelle werden basierend auf der Anzahl der Knotenstunden abgerechnet, die während der Bereitstellung des Modells verbraucht werden.

    • Informationen zu den Preisen für generative KI-Modelle für Vertex AI finden Sie unter Vertex AI-Preise.

    • Informationen zu den Kosten für die Bereitstellung von Modellen in Google Kubernetes Engine (GKE) finden Sie unter GKE-Preise.

  • Features: Nicht alle Modelle unterstützen Features wie Feinabstimmung und Destillation. Wenn diese Funktionen für Sie wichtig sind, prüfen Sie die Features, die von den einzelnen Modellen unterstützt werden.

Prompts entwerfen

„Prompt Design“ ist der Prozess des Erstellens von Prompt- und Antwortpaaren, um Sprachmodellen zusätzlichen Kontext und zusätzliche Anweisungen zu geben. Nachdem Sie Prompts erstellt haben, geben Sie diese als Prompt-Dataset zum Vortraining an das Modell. Wenn ein Modell Vorhersagen bereitstellt, antwortet es mit Ihren integrierten Anweisungen.

Wenn Sie eine bestimmte Ausgabe erhalten möchten, können Sie Prompt-Design-Strategien nutzen, z. B. das Modell anweisen, eine Teileingabe abzuschließen oder dem Modell Beispiele für ideale Antworten bereitzustellen. Weitere Informationen finden Sie unter Einführung in das Prompt-Design.

Modell anpassen

Nach dem Design des Prompts stellen Sie möglicherweise fest, dass die Antworten eines Modells so gut funktionieren, dass Sie es nicht anpassen müssen. Wenn das Modell nicht gut funktioniert, z. B. wenn es zu Halluzinationen kommt, können Sie zusätzliche Anpassungsmethoden verwenden. In den folgenden Abschnitten werden solche Techniken vorgestellt und Sie können verstehen, wie diese Optionen die Ausgabe des Modells beeinflussen.

Funktionsaufrufe und Erweiterungen

Durch Funktionsaufrufe und Vertex AI-Erweiterungen werden die Funktionen Ihres Modells erweitert. Betrachten Sie die Anwendungsfälle für Ihre Anwendung und bedenken Sie, in welchen Fällen die Verwendung eines Modells allein möglicherweise nicht ausreicht. Um ein Modell zu unterstützen, fügen Sie Funktionsaufrufe oder Erweiterungen hinzu. Beispielsweise kann Ihr Modell Kalenderinformationen aus Text extrahieren und dann mithilfe einer Erweiterung eine Reservierung suchen und die Buchung vornehmen.

Sie können Funktionsaufrufe und Erweiterungen synonym verwenden, es gibt jedoch einige allgemeine Unterschiede. Ein Funktionsaufruf ist ein asynchroner Vorgang. Sie müssen keine Anmeldedaten in Ihren Code aufnehmen. Vertex AI-Erweiterungen bieten vordefinierte Optionen, die Sie für komplexe Aufgaben verwenden können, sodass Sie keine eigenen Funktionen schreiben müssen. Da Vertex AI-Extensions jedoch Funktionen für Sie zurückgeben und aufrufen, müssen Sie für Erweiterungen Anmeldedaten in Ihren Code aufnehmen.

Nullniveau

Fundierung bezieht sich auf die Erweiterung von Modellantworten, indem sie an überprüfbaren Informationsquellen gebunden werden. Um ein Modell zu fundieren, verbinden Sie es mit einer Datenquelle. Durch das Fundieren eines Modells können Sie die Vertrauenswürdigkeit der generierten Inhalte verbessern, indem die Halluzinationen reduziert werden.

Die Retrieval Augmented Generation (RAG) ist eine häufig verwendete Fundierungstechnik. RAG verwendet die Suchfunktion, um relevante Informationen zu finden, und fügt diese Informationen dann einem Modell-Prompt hinzu. Wenn Sie RAG verwenden, basiert die Ausgabe auf Fakten und den neuesten Informationen. Die RAG-Suche verwendet Vektoreinbettungen und Vektordatenbanken, in denen Daten als numerische Darstellungen unstrukturierter Daten (z. B. Texte und Bilder) gespeichert werden. Weitere Informationen finden Sie unter Was ist eine Vektordatenbank?.

Weitere Informationen zur Fundierung in Vertex AI finden Sie im Fundierungs-Überblick. Informationen zum Einrichten eines Einbettungsworkflows in AlloyDB for PostgreSQL finden Sie im Einbettungsworkflow-Beispiel.

Modellabstimmung

Spezialisierte Aufgaben, wie das Trainieren eines Sprachmodells mit einer bestimmten Terminologie, erfordern möglicherweise mehr Training, als allein mit dem Prompt-Design möglich ist. In diesem Szenario können Sie die Modellabstimmung verwenden, um die Leistung zu verbessern und das Modell zu zwingen, sich an bestimmte Ausgabeanforderungen anzupassen.

Zum Optimieren eines Modells müssen Sie ein Trainings-Dataset erstellen und dann eine Abstimmungsmethode auswählen, z. B. überwachte Abstimmung, Abstimmung durch bestärkendes Lernen durch menschliches Feedback (RLHF) oder Modelldestillation. Die Größe des Datasets und die Abstimmungsmethoden hängen von Ihrem Modell und dem Zweck der Optimierung ab. Beispielsweise erfordern spezielle Nischenaufgaben ein kleineres Dataset, um erhebliche Verbesserungen zu erhalten. Weitere Informationen zur Modelloptimierung finden Sie unter Language Foundations Models optimieren.

Modell bewerten

Mit der Modellbewertung können Sie beurteilen, wie sich Ihre Prompts und Anpassungen auf die Leistung eines Modells auswirken. Jede Bewertungsmethode hat ihre Stärken und Schwächen. Beispielsweise können messwertbasierte Bewertungen automatisiert und schnell mit einer quantifizierbaren Methode zur Leistungsmessung skaliert werden. Messwerte können jedoch die Ergebnisse zu sehr vereinfachen und den Kontext und Nuancen natürlicher Sprache verpassen. Um diese Schwachstellen zu minimieren,können Sie verschiedene Messwerten in Kombination mit menschlichen Bewertungen verwenden.

Generative AI für Vertex AI bietet eine automatische vergleichende Bewertung, mit der Sie die Ausgabe zweier Modelle mit der Grundwahrheit vergleichen können. “ Ein drittes Modell hilft Ihnen bei der Auswahl der qualitativ besseren Antworten. Die automatische vergleichende Bewertung entspricht der von menschlichen Evaluators, ist jedoch schneller und ist bei Bedarf verfügbar. Für die Vergleiche erfordert diese Methode jedoch ein Modell, das größer als die zu bewertenden Modelle ist, die nämlich inhärente Verzerrungen haben können. Sie sollten daher dennoch einige menschliche Bewertungen durchführen.

Für alle Bewertungsmethoden benötigen Sie ein Bewertungs-Dataset. Ein Bewertungs-Dataset enthält Prompt- und Grundwahrheit-Paare (ideale Antwort), die Sie erstellen. Fügen Sie beim Erstellen Ihres Datasets eine Reihe verschiedener Beispiele hinzu, die auf die Aufgabe abgestimmt sind, die Sie bewerten, um aussagekräftige Ergebnisse zu erhalten.

Modell bereitstellen

Durch die Bereitstellung eines Modells werden dem Modell ein Endpunkt und physische Maschinenressourcen zugeordnet, um Online-Vorhersagen mit niedriger Latenz bereitzustellen. Nicht alle Modelle müssen bereitgestellt werden. Beispielsweise haben die Foundation Models von Google, die in der generativen KI für Vertex AI verfügbar sind, bereits Endpunkte. Die Endpunkte sind für Ihr Google Cloud-Projekt spezifisch und stehen Ihnen sofort zur Verfügung. Wenn Sie jedoch eines dieser Modelle optimieren, müssen Sie sie auf einem Endpunkt bereitstellen.

Entscheiden Sie beim Bereitstellen eines Modells, ob Sie Modelle in einer vollständig verwalteten oder in einer selbstverwalteten Umgebung bereitstellen möchten. In einer vollständig verwalteten Umgebung wählen Sie die benötigten physischen Ressourcen aus, darunter Maschinen- und Beschleunigertyp. Vertex AI instanziiert und verwaltet dann die Ressourcen für Sie. Informationen zum Aktivieren von Onlinevorhersagen, bei denen Vertex AI die Bereitstellungsressourcen für Sie verwaltet, finden Sie unter Modell auf einem Endpunkt bereitstellen. In einer selbstverwalteten Umgebung haben Sie eine genauere Kontrolle über Ihre Ressourcen, verwalten sie jedoch selbst. Mit selbstverwalteten Umgebungen können Sie Modelle auf Plattformen wie GKE bereitstellen.

Nachdem Sie sich entschieden haben, in welcher Art von Umgebung Sie die Bereitstellung vornehmen möchten, berücksichtigen Sie den erwarteten Traffic, die Latenzanforderungen und das Budget. Sie müssen diese Faktoren mit Ihren physischen Ressourcen in Einklang bringen. Wenn beispielsweise niedrigere Kosten Priorität haben, können Sie möglicherweise die höhere Latenz der kostengünstigeren Maschinen tolerieren. Testumgebungen sind ein gutes Beispiel für diesen Kompromiss. Weitere Informationen zur Auswahl eines Maschinentyps finden Sie im Notebook Idealen Maschinentyp für Vertex AI-Endpunkte bestimmen.

Responsible AI

Die generative KI in Vertex AI wurde unter Berücksichtigung der KI-Prinzipien von Google entwickelt. Es ist jedoch wichtig, dass Sie Modelle testen, um zu gewährleisten, dass sie sicher und verantwortungsvoll verwendet werden. Aufgrund der unglaublichen Vielseitigkeit von LLMs ist es schwierig, unbeabsichtigte oder unvorhergesehene Antworten vorherzusagen.

Berücksichtigen Sie bei der Entwicklung von Anwendungen für Ihren Anwendungsfall die Einschränkungen von generativen KI-Modellen, damit Sie potenziellen Missbrauch und unbeabsichtigte Probleme ordnungsgemäß minimieren können. Ein Beispiel für eine Modelleinschränkung ist, dass ein Modell nur so gut wie die verwendeten Daten ist. Wenn Sie dem Modell suboptimale Daten liefern, wie z. B. ungenaue oder unvollständige Daten, können Sie keine optimale Leistung erwarten. Prüfen Sie, ob Ihre Eingabedaten und Prompts korrekt sind. Andernfalls kann das Modell eine suboptimale Leistung oder falsche Modellausgaben aufweisen. Weitere Informationen zu den Einschränkungen der generativen KI-Modelle finden Sie unter Responsible AI.

Nächste Schritte