Optimieren von Modellen in Azure KI Studio
Wichtig
Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Durch die Feinabstimmung wird ein vorhandenes großes Sprachmodell (Large Language Model, LLM) mithilfe von Beispieldaten neu trainiert. Das Ergebnis ist ein neues, benutzerdefiniertes LLM, das für die bereitgestellten Beispiele optimiert ist.
Dieser Artikel kann Ihnen bei der Entscheidung helfen, ob eine Feinabstimmung in Ihrem Anwendungsfall die richtige Lösung ist. Zudem wird beschrieben, wie Azure KI Studio Ihre Feinabstimmungsanforderungen unterstützen kann.
In diesem Artikel bezieht sich „Feinabstimmung“ auf die überwachte Feinabstimmungen, nicht auf das kontinuierliche Vorabtraining oder vertiefende Lernen durch menschliches Feedback (Reinforcement Learning from Human Feedback, RLHF). Die überwachte Feinabstimmung ist der Prozess des erneuten Trainierens von vortrainierten Modellen für bestimmte Datasets. Der Zweck besteht in der Regel darin, die Modellleistung für bestimmte Aufgaben zu verbessern oder Informationen zu integrieren, die beim ursprünglichen Trainieren des Basismodells nicht gut dargestellt wurden.
Erste Schritte bei der Feinabstimmung
Wenn Sie entscheiden müssen, ob es sich bei der Feinabstimmung um die richtige Lösung für Ihren Anwendungsfall handelt, ist es hilfreich, sich mit diesen Schlüsselbegriffen vertraut zu machen:
- Prompt Engineering ist eine Technik zur Gestaltung von Prompts für Modelle für die Verarbeitung natürlicher Sprache. Dieser Prozess verbessert die Genauigkeit und Relevanz bei Antworten, um die Leistung des Modells zu optimieren.
- Retrieval Augmented Generation (RAG) verbessert die LLM-Leistung, indem Daten von externen Quellen abgerufen und in einen Prompt integriert werden. Mit RAG können Unternehmen spezifische Lösungen erreichen, wobei die Relevanz der Daten erhalten bleibt und die Kosten optimiert werden.
Optimierung ist eine hervorragende Möglichkeit, um Ergebnisse mit höherer Qualität zu erzielen und gleichzeitig die Latenz zu reduzieren. Die nachstehenden Fragen können Ihnen dabei helfen, die Gründe für Optimierung besser zu verstehen und zu bewerten, ob Sie für die Optimierung bereit sind. Sie können diese Fragen verwenden, um Ihre nächsten Schritte zu ermitteln.
Warum möchten Sie ein Modell optimieren?
Bevor Sie mit der Optimierung eines Modells beginnen, sollten Sie berücksichtigen, ob bei der Verwendung eines Basismodells Mängel festgestellt wurden. Beispiele für solche Mängel: inkonsistente Leistung in Edgefällen, zu wenig Platz im Kontextfenster für genügend Prompts zur Steuerung des Modells oder hohe Latenz.
Basismodelle werden bereits anhand großer Datenmengen vortrainiert. In den meisten Fällen müssen Sie jedoch Anweisungen und Beispiele zum Prompt hinzufügen, um die gewünschte Antwortqualität zu erhalten. Dieser als „Few-Shot-Lernen“ bezeichnete Prozess kann durch Optimierung verbessert werden.
Mit Optimierung können Sie ein Modell mit vielen weiteren Beispielen trainieren. Sie können Ihre Beispiele an Ihren spezifischen Anwendungsfall anpassen. Dies kann Ihnen helfen, die Anzahl der Token im Prompt zu reduzieren, was zu potenziellen Kosteneinsparungen und zu Anforderungen mit geringerer Latenz führt.
Mögliche Anwendungsfälle für die Optimierung eines Modells:
- Steuerung des Modells zum Ausgeben von Inhalten in einem bestimmten und angepassten Stil, Ton oder Format
Falls die Kosten der Hauptgrund sind, ist Vorsicht geboten. Durch die Feinabstimmung können die Kosten für bestimmte Anwendungsfälle reduziert werden, indem Sie Prompts verkürzen oder ein kleineres Modell verwenden können. Es fallen jedoch normalerweise höhere Kosten im Voraus für das Training an, und Sie müssen für das Hosting Ihres eigenen benutzerdefinierten Modells bezahlen.
Was funktioniert bei alternativen Ansätzen nicht?
Wenn Sie verstehen, wo Prompt Engineering die Erwartungen nicht erfüllt, haben Sie einen Anhaltspunkt für die Feinabstimmung. 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 können Ihnen dabei helfen, die Daten zu identifizieren, die zur Feinabstimmung gesammelt werden müssen, und zu ermitteln, wie Sie Ihr optimiertes Modell auswerten müssen.
Beispiel: Ein Kunde möchte GPT-3.5-Turbo verwenden, um in natürlicher Sprache gestellte Fragen in Abfragen in einer bestimmten, nicht standardmäßigen Abfragesprache umzuwandeln. Der Kunde hat im Prompt eine Angabe gemacht („Immer GQL zurückgeben“) und verwendet RAG zum Abrufen des Datenbankschemas. Die Syntax ist jedoch nicht immer korrekt und in Grenzfällen häufig nicht erfolgreich. Der Kunde sammelt Tausende von Beispielen für Fragen in natürlicher Sprache und die entsprechenden Abfragen für die Datenbank (einschließlich Fälle, in denen das Modell zuvor fehlgeschlagen ist). Der Kunde verwendet diese Daten dann, um das Modell zu optimieren. Durch die Kombination des neu optimierten Modells mit dem angepassten Prompt und dem Abruf konnte bei der Genauigkeit der Modellausgabe ein akzeptabler Standard für die Verwendung erreicht werden.
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 von LLMs vertraut sein. Bewerten Sie zunächst die Leistung eines Basismodells mit Prompt Engineering und/oder RAG, um eine Leistungsbaseline zu erhalten.
Eine Leistungsbaseline ohne Feinabstimmung ist unerlässlich, um beurteilen zu können, ob sich die Leistung des Modells durch die Feinabstimmung verbessert hat. Eine Optimierung mit schlechten Daten macht das Basismodell schlechter, aber ohne Baseline sind Regressionen nur schwer zu erkennen.
Bevor Sie mit der Optimierung eines Modells beginnen, müssen Sie Folgendes sicherstellen:
- Sie können Nachweise und Kenntnisse für die Nutzung von Ansätzen für Ihr LLM vorweisen, die auf Prompt Engineering und RAG basieren.
- Sie können über spezifische Erfahrungen und Herausforderungen mit anderen Techniken als der Feinabstimmung berichten, die bereits für Ihren Anwendungsfall getestet wurden.
- Sie benötigen quantitative Bewertungen der Baselineleistung, wo immer dies möglich ist.
- Sie verfügen über ein beschriftetes Dataset, das dem spezifischen Anwendungsfall entspricht, für den Sie Ihr LLM trainieren möchten.
Welche Daten verwenden Sie zur Optimierung?
Die Feinabstimmung 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. Bei überwachter Optimierung wird ein generischer Modell anhand eines themenspezifischen beschrifteten Datasets trainiert. Das Modell passt seine Parameter an die neuen Daten an und wendet bereits vorhandenes Wissen beim Ausgeben neuer Inhalte an.
Ein weiterer wichtiger Punkt (auch für hochwertige Daten): Wenn Ihre Daten nicht im erforderlichen Format für die Feinabstimmung vorliegen, müssen technische Ressourcen für die Formatierung der Daten beansprucht werden.
Sie sind möglicherweise bereit für die Feinabstimmung, wenn Folgendes zutrifft:
- Sie haben ein Dataset für die Feinabstimmung identifiziert.
- Das Dataset liegt im passenden Format für das Training des vorhandenen Modells vor.
- Die Qualität der Datensätze wurde durch ein gewisses Maß an Kuratierung sichergestellt.
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. Idealerweise sollte dieser Aufwand nicht nur qualitativ sein. Zusätzlich zu Benutzerakzeptanztests oder A/B-Tests für das optimierte Modell im Vergleich zum Basismodell sollten auch quantitative Erfolgskennzahlen berücksichtigt werden (z. B. die Verwendung eines zurückgehaltenen Datasets für die Validierung).
Unterstützte Modelle zur Optimierung in Azure KI Studio
Nachdem Sie nun wissen, wann Sie die Feinabstimmung für Ihren Anwendungsfall nutzen möchten, können Sie zu Azure KI Studio wechseln, um Modelle für die Optimierung auszuwählen. In der folgenden Tabelle werden Modelle beschrieben, für die Sie in Azure KI Studio die Feinabstimmung vornehmen können, zusammen mit den Regionen, in denen Sie die Feinabstimmung vornehmen können.
Modellfamilie | Modell-ID | Regionen mit Feinabstimmung |
---|---|---|
Azure OpenAI-Modelle | Azure OpenAI Service-Modelle, bei denen Sie die Feinabstimmung vornehmen können, umfassen unter anderem gpt-4 und gpt-4o-mini .Ausführliche Informationen zu Azure OpenAI-Modellen, die zur Feinabstimmung verfügbar sind, finden Sie in der Dokumentation zu Azure OpenAI-Dienstmodellen oder in der Tabelle Azure OpenAI-Modelle weiter unten in diesem Handbuch. |
Azure OpenAI Service-Modelle, die Sie optimieren können, umfassen unter anderem USA, Norden-Mitte und Schweden, Mitte. Die unterstützten Regionen können variieren, wenn Sie Azure OpenAI-Modelle in einem KI Studio-Projekt im Vergleich zu außerhalb eines Projekts verwenden. Ausführliche Informationen zu Feinabstimmungsregionen finden Sie in der Dokumentation für Azure OpenAI-Dienstmodelle. |
Modelle der Phi-3-Familie | Phi-3-mini-4k-instruct Phi-3-mini-128k-instruct Phi-3-medium-4k-instruct Phi-3-medium-128k-instruct |
USA (Ost 2) |
Modelle der Meta Llama 2-Familie | Meta-Llama-2-70b Meta-Llama-2-7b Meta-Llama-2-13b Llama-2-7B-chat Llama-2-70B-chat |
USA, Westen 3 |
Modelle der Meta Llama 3.1-Familie | Meta-Llama-3.1-70b-Instruct Meta-Llama-3.1-8b-Instruct |
USA, Westen 3 |
Diese Tabelle enthält weitere Details zu den Azure OpenAI-Dienstmodellen, die Feinabstimmungen unterstützen, und zu den Regionen, in denen Feinabstimmungen verfügbar sind.
Feinabstimmung bei Azure OpenAI-Modellen
Hinweis
gpt-35-turbo
– Die Feinabstimmung dieses Modells ist auf eine Teilmenge von Regionen beschränkt und ist nicht in allen Regionen, in denen das Basismodell verfügbar ist, verfügbar.
Die unterstützten Regionen für die Feinabstimmung können variieren, wenn Sie Azure OpenAI-Modelle in einem KI Studio-Projekt im Vergleich zu außerhalb eines Projekts verwenden.
Modell-ID | Regionen mit Feinabstimmung | Maximale Anforderung (Token) | Trainingsdaten (bis) |
---|---|---|---|
babbage-002 |
USA Nord Mitte Schweden, Mitte Schweiz, Westen |
16.384 | September 2021 |
davinci-002 |
USA Nord Mitte Schweden, Mitte Schweiz, Westen |
16.384 | September 2021 |
gpt-35-turbo (0613) |
USA (Ost 2) USA Nord Mitte Schweden, Mitte Schweiz, Westen |
4\.096 | September 2021 |
gpt-35-turbo (1106) |
USA (Ost 2) USA Nord Mitte Schweden, Mitte Schweiz, Westen |
Eingabe: 16.385 Ausgabe: 4.096 |
September 2021 |
gpt-35-turbo (0125) |
USA (Ost 2) USA Nord Mitte Schweden, Mitte Schweiz, Westen |
16.385 | September 2021 |
gpt-4 (0613) 1 |
USA Nord Mitte Schweden, Mitte |
8192 | September 2021 |
gpt-4o-mini 1 (2024-07-18) |
USA Nord Mitte Schweden, Mitte |
Eingabe: 128.000 Ausgabe: 16.384 Kontextlänge im Beispieltraining: 64.536 |
Oktober 2023 |
gpt-4o 1 (2024-08-06) |
USA (Ost 2) USA Nord Mitte Schweden, Mitte |
Eingabe: 128.000 Ausgabe: 16.384 Kontextlänge im Beispieltraining: 64.536 |
Oktober 2023 |
1 GPT-4 befindet sich derzeit in der öffentlichen Vorschau.