Optimieren von Modellen in Azure KI Studio

Wichtig

Einige der in diesem Artikel beschriebenen Features sind möglicherweise nur in der 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.

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 Feinabstimmung 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 besser geeignet sind.

Warum möchten Sie ein Modell optimieren?

Sie sind möglicherweise bereit für die Feinabstimmung, wenn Folgendes zutrifft:

  • Sie können einen bestimmten Anwendungsfall für die Feinabstimmungen formulieren und das Modell identifizieren, das Sie optimieren möchten.

    Zu den geeigneten Anwendungsfällen für die Feinabstimmung gehören die Steuerung des Modells zum Ausgeben von Inhalten in einem bestimmten und angepassten Stil, Ton oder Format. Sie umfassen auch Szenarios, in denen die zum Steuern des Modells benötigten Informationen zu umfangreich oder komplex sind, um in das Promptfenster zu passen.

  • Sie verfügen über klare Beispiele für Ihre Herangehensweise an Herausforderungen mit 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, hohe Latenz oder zu wenig Platz für genügend Shot-Prompts zur Steuerung des Modells identifiziert.

Möglicherweise sind Sie nicht bereit für die Optimierung, wenn Folgendes zutrifft:

  • Die Erkenntnisse aus dem Modell oder der Datenquelle sind unzureichend.
  • Sie haben Probleme, die richtigen Daten für das Modell zu finden.
  • Sie haben keinen klaren Anwendungsfall für die Feinabstimmung oder möchten ein Modell einfach nur optimieren.

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 Kosten im Voraus für das Training an, und Sie müssen für das Hosting Ihres eigenen benutzerdefinierten Modells bezahlen. Weitere Informationen zu den Kosten für die Feinabstimmung in Azure OpenAI Service finden Sie auf der Preisseite.

Wenn Sie domänenfremdes Wissen in das Modell integrieren möchten, sollten Sie mit RAG beginnen, indem Sie Features wie Azure OpenAI On Your Data oder Azure OpenAI Service-Einbettungen verwenden. In Abhängigkeit vom Anwendungsfall und den Daten ist die Verwendung von RAG auf diese Weise häufig eine günstigere, besser anpassbare und potenziell effektivere Option.

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.

Sie sind möglicherweise bereit für die Feinabstimmung, wenn Folgendes zutrifft:

  • Sie können Nachweise und Kenntnisse für Ansätze 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.

Möglicherweise sind Sie nicht bereit für die Optimierung, wenn Folgendes zutrifft:

  • Sie haben keine anderen Techniken getestet.
  • Sie verfügen nicht über das erforderliche Wissen, wie sich die Feinabstimmung speziell auf LLMs bezieht.
  • Sie verfügen über keine Benchmarkmessungen zur Bewertung der Feinabstimmung.

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.

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. Weitere Informationen zum Vorbereiten Ihrer Daten für die Optimierung finden Sie in der Optimierungsdokumentation.

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 vor.
  • Die Qualität der Datensätze wurde durch ein gewisses Maß an Kuratierung sichergestellt.

Möglicherweise sind Sie nicht bereit für die Optimierung, wenn Folgendes zutrifft:

  • Sie haben noch kein Dataset identifiziert.
  • Das Datasetformat stimmt nicht mit dem Modell überein, 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. 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 den folgenden Abschnitten werden die verfügbaren Modelle beschrieben.

Azure OpenAI-Modelle

Die folgenden Azure OpenAI Modelle werden in Azure KI Studio für die Optimierung unterstützt:

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

1 GPT-4 Feinabstimmung befindet sich derzeit in der öffentlichen Vorschau. Weitere Informationen finden Sie unter GPT-4-Leitfaden zur Feinabstimmung der Sicherheitsbewertung.

Zur Feinabstimmung von Azure OpenAI-Modellen müssen Sie eine Verbindung mit einer Azure OpenAI-Ressource mit einer unterstützten Region zu Ihrem Projekt hinzufügen.

Modelle der Phi-3-Familie

Die folgenden Modelle der Phi-3-Familie werden in Azure KI Studio für die Optimierung unterstützt:

  • Phi-3-mini-4k-instruct
  • Phi-3-mini-128k-instruct
  • Phi-3-medium-4k-instruct
  • Phi-3-medium-128k-instruct

Die Optimierung von Phi-3-Modellen wird derzeit in Projekten in der Region „USA, Osten 2“ unterstützt.

Modelle der Meta Llama 2-Familie

Die folgenden Modelle der Llama 2-Familie werden in Azure KI Studio für die Optimierung unterstützt:

  • Meta-Llama-2-70b
  • Meta-Llama-2-7b
  • Meta-Llama-2-13b

Die Optimierung von Llama 2-Modellen wird derzeit in Projekten in der Region „USA, Westen 3“ unterstützt.

Modelle der Meta Llama 3.1-Familie

Die folgenden Modelle der Llama 3.1-Familie werden in Azure KI Studio für die Optimierung unterstützt:

  • Meta-Llama-3.1-70b-Instruct
  • Meta-Llama-3.1-8b-Instruct

Die Optimierung von Llama 3.1-Modellen wird derzeit in Projekten in der Region „USA, Westen 3“ unterstützt.