Optimieren von Modellen mit Azure KI Foundry
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.
Optimierung bezieht sich auf das Anpassen eines vortrainierten generativen KI-Modells mit zusätzlichem Training für eine bestimmte Aufgabe oder einem neuen Dataset für verbesserte Leistung, neue Skills oder verbesserte Genauigkeit. Das Ergebnis ist ein neues, benutzerdefiniertes GenAI-Modell, das basierend auf den bereitgestellten Beispielen optimiert ist.
Erwägen Sie die Feinabstimmung von GenAI-Modellen für Folgendes:
- Skalieren und Anpassen an bestimmte Bedürfnisse des Unternehmens
- Reduzieren falsch positiver Ergebnisse, da maßgeschneiderte Modelle weniger wahrscheinlich ungenaue oder irrelevante Antworten liefern
- Verbessern der Genauigkeit des Modells für domänenspezifische Aufgaben
- Sparen von Zeit und Ressourcen mit schnelleren und präziseren Ergebnissen
- Erhalten relevanterer und kontextbezogener Ergebnisse, da Modelle für bestimmte Anwendungsfälle optimiert sind
Azure KI Foundry bietet mehrere Modelle über Modellanbieter hinweg, so dass Sie Zugang zu den neuesten und besten Modellen auf dem Markt erhalten. Sie können unterstützte Modelle für die Optimierung über unseren Modellkatalog entdecken, indem Sie den Filter Optimierungsaufgaben verwenden und die Modellkarte auswählen, um detaillierte Informationen zu den einzelnen Modellen zu erhalten. Bestimmte Modelle können regionalen Einschränkungen unterliegen, weitere Details finden Sie in dieser Liste.
In diesem Artikel werden Sie durch Anwendungsfälle für die Optimierung geführt und erfahren, wie dies Ihnen auf Ihrer GenAI-Journey helfen kann.
Erste Schritte mit Optimierung
Wenn Sie mit Ihrer generativen KI-Journey beginnen, empfehlen wir Ihnen, mit Prompt Engineering und RAG zu beginnen, um sich mit Basismodellen und ihren Fähigkeiten vertraut zu machen.
- Prompt Engineering ist eine Technik, die das Entwerfen von Prompts mit Ton- und Stildetails, Beispielantworten und Absichtszuordnungen für Modelle für die Verarbeitung natürlicher Sprache umfasst. 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.
Wenn Sie sich eingewöhnt haben und mit dem Aufbau Ihrer Lösung beginnen, ist es wichtig zu verstehen, wo Prompt Engineering nicht ausreicht. Dies hilft Ihnen zu erkennen, ob Sie eine Optimierung vornehmen sollten.
- Funktioniert das Basismodell bei Grenzfällen oder Ausnahmen nicht?
- Liefert das Basismodell keine konsistente Ausgabe im richtigen Format?
- Ist es schwierig, genügend Beispiele in das Kontextfenster einzupassen, um das Modell zu steuern?
- Gibt es eine hohe Wartezeit?
Beispiele für Fehler mit dem Basismodell und dem Prompt Engineering können Ihnen helfen, die Daten zu identifizieren, die zur Optimierung gesammelt werden sollen, und eine Leistungsbaseline einzurichten, gegen die Sie Ihr optimiertes Modell auswerten und vergleichen können. Eine Leistungsbaseline ohne Feinabstimmung ist unerlässlich, um beurteilen zu können, ob sich die Leistung des Modells durch die Feinabstimmung verbessert hat.
Hier sehen Sie ein 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.
Anwendungsfälle
Basismodelle sind bereits anhand großer Datenmengen vortrainiert, und in den meisten Fällen werden Sie Anweisungen und Beispiele zum Prompt hinzufügen, um die Antwortqualität zu erhalten, die Sie suchen – dieser Prozess wird „Few-Shot-Learning“ genannt. Die Optimierung ermöglicht es Ihnen, ein Modell mit vielen weiteren Beispielen zu trainieren, die Sie auf Ihren spezifischen Anwendungsfall anpassen können, um so vom Few-Shot-Learning zu profitieren. Dies kann die Anzahl der Token im Prompt zu reduzieren, was zu potenziellen Kosteneinsparungen und zu Anforderungen mit geringerer Wartezeit führt.
Das Umwandeln natürlicher Sprache in eine Abfragesprache ist nur ein Anwendungsfall, in dem Sie dem Modell zeigen und nicht sagen, wie es sich verhalten soll. Hier sind einige zusätzliche Anwendungsfälle:
- Verbesserung des Umgangs des Modells mit den abgerufenen Daten
- Steuern des Modells zum Ausgeben von Inhalten in einem bestimmten Stil, Ton oder Format
- Verbessern der Genauigkeit beim Suchen von Informationen
- Verringern der Länge ihres Prompts
- Vermitteln neuer Skills (z. B. natürliche Sprache zu Code)
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 höhere Vorauskosten für das Training an, und Sie müssen für das Hosting Ihres eigenen benutzerdefinierten Modells bezahlen.
Schritte zum Optimieren eines Modells
Hier sind die allgemeinen Schritte zum Optimieren eines Modells:
- Wählen Sie basierend auf Ihrem Anwendungsfall ein Modell aus, das Ihre Aufgabe unterstützt
- Vorbereiten und Hochladen von Trainingsdaten
- (Optional) Vorbereiten und Hochladen von Validierungsdaten
- (Optional) Konfigurieren von Aufgabenparametern
- Trainieren Sie Ihr Modell.
- Überprüfen Sie nach Abschluss die Metriken und bewerten Sie das Modell. Wenn die Ergebnisse Ihren Benchmark nicht erfüllen, gehen Sie zurück zu Schritt 2.
- Nutzung Ihres optimierten Modells
Es ist wichtig, festzuhalten, dass die Optimierung stark von der Qualität der Daten abhängig sind, die Sie bereitstellen können. Es ist eine bewährte Methode, Hunderte, wenn nicht Tausende von Trainingsbeispielen bereitzustellen, um erfolgreich zu sein und Ihre gewünschten Ergebnisse zu erzielen.
Unterstützte Modelle für die Optimierung
Nachdem Sie nun wissen, wann Sie die Optimierung für Ihren Anwendungsfall nutzen möchten, können Sie zu Azure KI Foundry wechseln, um Modelle für die Optimierung auszuwählen. Bei einigen Modellen im Modellkatalog steht die Optimierung über eine serverlose API oder eine verwaltete Computeressource (Vorschau) oder beides zur Verfügung.
Die Optimierung ist in bestimmten Azure-Regionen für einige Modelle verfügbar, die über serverlose APIs bereitgestellt werden. Um solche Modelle zu optimieren, muss ein Benutzer über einen Hub/ein Projekt in der Region verfügen, in der das Modell zur Optimierung verfügbar ist. Ausführliche Informationen finden Sie unter Regionale Verfügbarkeit für Modelle an serverlosen API-Endpunkten.
Weitere Informationen zur Optimierung mithilfe einer verwalteten Computeressource (Vorschau) finden Sie unter Optimieren von Modellen mit verwalteten Computeressourcen (Vorschau).
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.
Die unterstützten Regionen zur Optimierung von Azure OpenAI Service-Modelle, die Sie optimieren können, umfassen „USA, Norden-Mitte“, „Schweden, Mitte“ und weitere.
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, je nachdem, ob Sie Azure OpenAI-Modelle in einem Azure KI Foundry-Projekt oder 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 (2024-07-18) |
USA Nord Mitte Schweden, Mitte |
Eingabe: 128.000 Ausgabe: 16.384 Kontextlänge im Beispieltraining: 64.536 |
Oktober 2023 |
gpt-4o (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.
Zugehöriger Inhalt
- Optimieren von Modellen mit verwalteten Computeressourcen (Vorschau)
- Optimieren eines Azure OpenAI-Modells im Azure KI Foundry-Portal
- Optimieren eines Llama 2-Modells im Azure KI Foundry-Portal
- Optimieren eines Phi-3-Modells im Azure KI Foundry-Portal
- Bereitstellen kleiner Sprachmodelle der Phi-3-Familie mit Azure KI Foundry