Einsatzgebiete für die Optimierung mit Azure OpenAI
Bei der Frage, ob die Optimierung die richtige Lösung für einen bestimmten Anwendungsfall ist, gibt es einige wichtige Begriffe, mit denen Sie vertraut sein sollten:
- Prompt Engineering ist eine Technik zur Gestaltung von Eingabeaufforderungen für Modelle für die linguistische Datenverarbeitung. Dieser Prozess verbessert die Genauigkeit und Relevanz von Antworten und optimiert die Leistung des Modells.
- Retrieval Augmented Generation (RAG) verbessert die LLM-Leistung (Large Language Model, großes Sprachmodell), indem Daten von externen Quellen abgerufen und in eine Eingabeaufforderung integriert werden. Mit RAG können Unternehmen maßgeschneiderte Lösungen erreichen, wobei die Relevanz der Daten erhalten bleibt und die Kosten optimiert werden.
- Bei der Optimierung wird ein vorhandenes großes Sprachmodell mithilfe von Beispieldaten neu trainiert. Dadurch entsteht ein neues (benutzerdefiniertes) großes Sprachmodell, das mithilfe der bereitgestellten Beispiele optimiert wurde.
Was ist die Optimierung mit Azure OpenAI?
Wenn wir über Optimierung sprechen, meinen wir eine beaufsichtigte Optimierung und kein kontinuierliches Vorabtraining oder vertiefendes Lernen durch menschliches Feedback (Reinforcement Learning through Human Feedback, RLHF). Mit beaufsichtigter Optimierung ist der Prozess des erneuten Trainierens vortrainierter Modelle mit bestimmten Datasets gemeint. Dies dient in der Regel zur Verbesserung der Modellleistung bei bestimmten Aufgaben oder zur Einführung von Informationen, die beim ursprünglichen Trainieren des Basismodells nicht gut repräsentiert waren.
Die Optimierung ist eine Technik für erfahrene Benutzer*innen und erfordert das nötige Fachwissen, um korrekt verwendet werden zu können. Die nachstehenden Fragen helfen Ihnen dabei, zu bewerten, ob Sie für die Optimierung bereit sind und wie gut Sie den Prozess durchdacht haben. Sie können diese Fragen als Orientierungshilfe für Ihre nächsten Schritte verwenden oder andere Ansätze identifizieren, die möglicherweise geeigneter sind.
Warum möchten Sie ein Modell optimieren?
- Sie sollten in der Lage sein, einen bestimmten Anwendungsfall für die Optimierung zu formulieren und das Modell zu identifizieren, das Sie optimieren möchten.
- Gute Anwendungsfälle für die Feinabstimmung sind Szenarien, in denen das Modell Inhalte in einem spezifischen und angepassten Stil, Ton oder Format ausgeben muss, sowie Szenarien, in denen die zum Steuern des Modells benötigten Informationen aufgrund ihrer Länge oder Komplexität nicht in das Eingabeaufforderungsfenster passen.
Allgemeine Anzeichen dafür, dass Sie möglicherweise noch nicht zur Optimierung bereit sind:
- Kein klarer Anwendungsfall für die Optimierung oder keine genauere Formulierung als: „Ich möchte ein Modell besser machen.”
- Falls die Kosten der Hauptgrund sind, ist Vorsicht geboten. Eine Optimierung kann zwar die Kosten in bestimmten Anwendungsfällen reduzieren, indem sie Prompts verkürzt oder die Verwendung eines kleineren Modells ermöglicht, dafür fallen aber höhere Vorabkosten für das Training an, und Sie müssen für das Hosting Ihres eigenen benutzerdefinierten Modells bezahlen. Weitere Informationen zu den Kosten der Azure OpenAI-Optimierung finden Sie auf der Seite mit der Preisübersicht.
- Wenn Sie dem Modell domänenfremdes Wissen hinzufügen möchten, sollten Sie zunächst RAG (Retrieval Augmented Generation) mit Features wie Für Ihre Daten oder Einbettungen von Azure OpenAI verwenden. Dies ist je nach Anwendungsfall und Daten häufig eine günstigere, besser anpassbare und potenziell effektivere Option.
Was haben Sie bislang versucht?
Die Optimierung ist eine erweiterte Funktion, nicht der Ausgangspunkt für generative KI. Sie sollten bereits mit den Grundlagen der Verwendung großer Sprachmodelle (Large Language Models, LLMs) vertraut sein. Bewerten Sie zunächst die Leistung eines Basismodells mit Prompt Engineering und/oder Retrieval Augmented Generation (RAG), um eine Leistungsbaseline zu erhalten.
Eine Leistungsbaseline ohne Optimierung ist unerlässlich, um beurteilen zu können, ob sich die Leistung des Modells verbessert hat. Eine Optimierung mit schlechten Daten macht das Basismodell schlechter, aber ohne Baseline sind Regressionen nur schwer zu erkennen.
Wenn Sie für die Optimierung bereit sind, gilt Folgendes:
- Sie sollten Nachweise und Kenntnisse für Ansätze vorweisen können, die auf Prompt Engineering und RAG basieren.
- Sie können über spezifische Erfahrungen und Herausforderungen mit anderen Techniken als der Optimierung berichten, die bereits für Ihren Anwendungsfall getestet wurden.
- Sie benötigen quantitative Bewertungen der Baselineleistung, wo immer dies möglich ist.
Allgemeine Anzeichen dafür, dass Sie möglicherweise noch nicht zur Optimierung bereit sind:
- Beginn mit der Optimierung, ohne vorher andere Techniken getestet zu haben
- Unzureichendes Wissen oder Verständnis im Zusammenhang mit der spezifischen Relevanz der Optimierung für große Sprachmodelle (Large Language Models, LLMs)
- Keine Benchmarkmessungen zur Bewertung der Optimierung
Was funktioniert bei alternativen Ansätzen nicht?
Wenn Sie verstehen, wo Prompt Engineering die Erwartungen nicht erfüllt, haben Sie einen Anhaltspunkt für Ihre Optimierung. Funktioniert das Basismodell bei Grenzfällen oder Ausnahmen nicht? Liefert das Basismodell keine konsistente Ausgabe im richtigen Format, und können Sie nicht genügend Beispiele in das Kontextfenster einfügen, um das Problem zu beheben?
Beispiele für Probleme mit dem Basismodell und dem Prompt Engineering helfen Ihnen dabei, die Daten zu identifizieren, die zur Optimierung gesammelt werden müssen, und zu ermitteln, wie Sie Ihr optimiertes Modell auswerten müssen.
Ein Beispiel: Ein Kunde wollte GPT-3.5-Turbo verwenden, um in natürlicher Sprache gestellte Fragen in Abfragen in einer bestimmten, nicht standardmäßigen Abfragesprache umzuwandeln. Er hat eine Anleitung in der Eingabeaufforderung angegeben („Immer GQL zurückgeben“) und RAG zum Abrufen des Datenbankschemas verwendet. Die Syntax war jedoch nicht immer korrekt und in Grenzfällen häufig nicht erfolgreich. Der Kunde sammelte tausende Beispiele für Fragen in natürlicher Sprache sowie die entsprechenden Abfragen für seine Datenbank (einschließlich Fälle, in denen das Modell vorher nicht funktioniert hat) und nutzte diese Daten, um das Modell zu optimieren. Durch die Kombination des neuen optimierten Modells mit der angepassten Eingabeaufforderung und dem Abruf konnte bei der Genauigkeit der Modellausgabe ein akzeptabler Standard für die Verwendung erreicht werden.
Wenn Sie für die Optimierung bereit sind, gilt Folgendes:
- Sie verfügen über klare Beispiele für Ihre Herangehensweise an Herausforderungen in alternativen Ansätzen sowie dafür, was als mögliche Lösungen zur Verbesserung der Leistung getestet wurde.
- Sie haben mithilfe eines Basismodells Mängel wie inkonsistente Leistung in Grenzfällen, lange Wartezeit oder zu wenig Platz, um im Kontextfenster genügend kurze Eingabeaufforderungen zur Steuerung des Modells zu platzieren, identifiziert.
Allgemeine Anzeichen dafür, dass Sie möglicherweise noch nicht zur Optimierung bereit sind:
- Unzureichende Erkenntnisse aus dem Modell oder der Datenquelle
- Probleme, die richtigen Daten für das Modell zu finden
Welche Daten verwenden Sie zur Optimierung?
Die Optimierung ist immer nur so gut wie die Qualität der Daten, die Sie bereitstellen können. Das gilt selbst in gut geeigneten Anwendungsfällen. Sie müssen bereit sein, die nötige Zeit und Arbeit zu investieren, damit die Optimierung erfolgreich ist. Für jedes Modell werden unterschiedliche Datenmengen benötigt. Häufig müssen jedoch relativ große Mengen hochwertiger kuratierter Daten bereitgestellt werden.
Ein weiterer wichtiger Punkt (auch für hochwertige Daten): Wenn Ihre Daten nicht im erforderlichen Format für die Optimierung vorliegen, müssen technische Ressourcen für die ordnungsgemäße Formatierung der Daten beansprucht werden.
Daten | Babbage-002 Davinci-002 |
GPT-3.5-Turbo GPT-4o und GPT-4o mini GPT-4 |
---|---|---|
Volumen | Tausende Beispiele | Tausende Beispiele |
Format | Eingabeaufforderung/Abschluss | Konversationschat |
Wenn Sie für die Optimierung bereit sind, gilt Folgendes:
- Sie haben ein Dataset für die Optimierung identifiziert.
- Das Dataset befindet sich im passenden Format für das Training.
- Die Qualität der Datensätze wurde durch ein gewisses Maß an Kuratierung sichergestellt.
Allgemeine Anzeichen dafür, dass Sie möglicherweise noch nicht zur Optimierung bereit sind:
- Das Dataset wurde noch nicht identifiziert.
- Das Datasetformat passt nicht zu dem Modell, das Sie optimieren möchten.
Wie messen Sie die Qualität Ihres optimierten Modells?
Auf diese Frage gibt es keine einzelne richtige Antwort. Sie sollten jedoch klar definierte Ziele für den Erfolg der Optimierung haben. Im Idealfall sollte dies nicht nur qualitative Aspekte, sondern auch quantitative Erfolgskennzahlen umfassen, etwa die Verwendung zurückgehaltener Daten für die Überprüfung sowie Benutzerakzeptanztests oder A/B-Tests des optimierten Modells anhand eines Basismodells.
Nächste Schritte
- Sehen Sie sich die Episode To fine-tune or not to fine-tune, that is the question der Azure KI-Show an.
- Weitere Informationen zur Azure OpenAI-Optimierung finden Sie hier.
- Unser Tutorial zur Optimierung finden Sie hier.