Teilen über


Optimieren von Modellen mithilfe von Standardbereitstellungen in Azure AI Foundry

Von Bedeutung

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.

Azure AI Foundry ermöglicht Ihnen das Anpassen großer Sprachmodelle an Ihre spezifischen Datasets durch einen Prozess, der als Feinabstimmung bezeichnet wird. Dieser Prozess bietet erhebliche Vorteile, da er eine Anpassung und Optimierung für spezifische Aufgaben und Anwendungen ermöglicht. Zu den Vorteilen gehören verbesserte Leistung, Kosteneffizienz, reduzierte Latenz und maßgeschneiderte Ausgaben.

Kosteneffizienz: Die Feinabstimmung von Azure AI Foundry kann kostengünstiger sein, insbesondere für groß angelegte Bereitstellungen, dank Standardpreisen.

Modellvielfalt: Die Standardmäßige Optimierung der Bereitstellung von Azure AI Foundry bietet Unterstützung für proprietäre und Open-Source-Modelle und bietet Benutzern die Flexibilität, die Modelle auszuwählen, die ihren Anforderungen am besten entsprechen, ohne auf einen einzelnen Typ beschränkt zu sein.

Anpassung und Kontrolle: Azure AI Foundry bietet eine bessere Anpassung und Kontrolle über den Feinabstimmungsprozess, sodass Benutzer Modelle präziser auf ihre spezifischen Anforderungen anpassen können.

In diesem Artikel erfahren Sie, wie Sie Modelle optimieren können, die mithilfe von Standardbereitstellungen in Azure AI Foundry bereitgestellt werden.

Voraussetzungen

  • Ein Azure-Abonnement mit einer gültigen Zahlungsmethode. Kostenlose Versionen oder Testversionen von Azure-Abonnements funktionieren nicht. Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie zunächst ein kostenpflichtiges Azure-Konto.

  • Zugriff auf das Azure-Portal.

  • Ein Azure KI Foundry-Projekt

  • Die rollenbasierten Zugriffssteuerungen in Azure (Azure Role-Based Access Control, Azure RBAC) werden verwendet, um Zugriff auf Vorgänge im Azure KI Foundry-Portal zu gewähren. Um die Schritte in diesem Artikel auszuführen, muss Ihrem Benutzerkonto die Rolle Besitzer oder Mitwirkender für das Azure-Abonnement zugewiesen werden. Weitere Informationen zu Berechtigungen finden Sie unter Rollenbasierte Zugriffssteuerung im Azure KI Foundry-Portal.

Überprüfen der Registrierung des Abonnementanbieters

Überprüfen Sie, ob das Abonnement beim Microsoft.Network-Ressourcenanbieter registriert ist.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie im linken Menü die Option Abonnements aus.
  3. Wählen Sie das Abonnement aus, das Sie verwenden möchten.
  4. Wählen Sie im linken Menü Einstellungen>Ressourcenanbieter aus.
  5. Fügen Sie Microsoft.Network zur Liste der Ressourcenanbieter hinzu, wenn sie nicht in der Liste enthalten ist.

Suchen von Modellen mit Optimierungsunterstützung

Der AI Foundry-Modellkatalog bietet Optimierungsunterstützung für mehrere Modelltypen, einschließlich Chatvervollständigungen und Textgenerierung. Eine Liste der Modelle, die Feinabstimmungen und die Azure-Regionen der Unterstützung für feinabstimmungen unterstützen, finden Sie unter Regionsverfügbarkeit für Modelle als Standardbereitstellung. Feinabstimmungsaufgaben sind nur für Benutzer verfügbar, deren Azure-Abonnement zu einem Abrechnungskonto in einem Land/einer Region gehört, in dem der Modellanbieter das Angebot zur Verfügung gestellt hat. Wenn das Angebot in der relevanten Region verfügbar ist, müssen die Benutzer über eine Projektressource in der Azure-Region verfügen, in der das Modell für die Bereitstellung oder Optimierung verfügbar ist.

Sie können auch das Azure AI Foundry-Portal besuchen, um alle Modelle anzuzeigen, die Unterstützung bei der Optimierung bieten:

  1. Melden Sie sich bei Azure KI Foundry an.

  2. Wenn Sie sich noch nicht in Ihrem Projekt befinden, wählen Sie es aus.

  3. Navigieren Sie zum Modellkatalog.

  4. Wählen Sie den Filter Optimierungsaufgaben.

    Screenshot: Filteroptionen der Feinabstimmung des Modellkatalogs

  5. Wählen Sie Alle aus, oder wählen Sie eine bestimmte Aufgabe aus.

Vorbereiten von Daten für die Feinabstimmung

Bereiten Sie Ihre Trainings- und Validierungsdaten vor, um das Modell zu optimieren. Ihre Schulungs- und Validierungsdaten bestehen aus Eingabe- und Ausgabebeispielen für die Durchführung des Modells.

Stellen Sie sicher, dass alle Trainingsbeispiele das erwartete Format für Rückschlüsse haben. Um Modelle effektiv zu optimieren, stellen Sie ein vielfältiges Dataset sicher, indem Sie das Gleichgewicht der Daten sicherstellen und verschiedene Szenarien einbeziehen, und verfeinern Sie regelmäßig die Schulungsdaten, um die Erwartungen der realen Welt zu erfüllen. Diese Aktionen führen letztendlich zu genaueren und ausgewogeneren Modellantworten.

Tipp

Für verschiedene Modelltypen ist ein anderes Format von Trainingsdaten erforderlich.

Beispieldateiformat

Der unterstützte Dateityp ist JSON-Zeilen. Dateien werden in den Standarddatenspeicher hochgeladen und in Ihrem Projekt verfügbar gemacht.

    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}

Verwenden des Assistenten zur Optimierung von Modellen

Das Azure AI Foundry-Portal stellt den Assistenten zum Erstellen von benutzerdefinierten Modellen bereit, sodass Sie ein abgestimmtes Modell für Ihre Azure-Ressource interaktiv erstellen und trainieren können.

Auswählen des Basismodells

  1. Wählen Sie das Modell, das Sie optimieren möchten, aus dem Modellkatalog im Azure AI Foundry aus.
  2. Wählen Sie auf der Seite Details des Modells Optimieren aus. Einige Foundation-Modelle unterstützen sowohl die Standardbereitstellung als auch die verwaltete Berechnung, während andere eine oder andere unterstützen.
  3. Wenn Ihnen die Optionen für die Standardbereitstellung und die verwaltete Berechnung angezeigt werden, wählen Sie die Standardbereitstellung für die Feinabstimmung aus. Mit dieser Aktion wird ein Assistent geöffnet, der Informationen zur Optimierung der Standardbereitstellung für Ihr Modell anzeigt.

Auswahl Ihrer Trainingsdaten

Der nächste Schritt besteht darin, entweder vorhandene vorbereitete Trainingsdaten auszuwählen oder neue vorbereitete Trainingsdaten für die Verwendung beim Anpassen des Modells hochzuladen. Im Bereich Trainingsdaten werden alle vorhandenen, zuvor hochgeladenen Datasets sowie Optionen zum Hochladen neuer Trainingsdaten angezeigt.

  • Wenn Ihre Schulungsdaten bereits in den Dienst hochgeladen wurden, wählen Sie "Dateien aus Azure AI Foundry" aus.
    • Wählen Sie die Datei aus der angezeigten Dropdownliste aus.
  • Verwenden Sie eine der folgenden Optionen, um neue Schulungsdaten hochzuladen:
    • Wählen Sie "Lokale Datei " aus, um Schulungsdaten aus einer lokalen Datei hochzuladen.
    • Wählen Sie Azure-Blob oder andere freigegebene Webspeicherorte aus, um Schulungsdaten aus Azure Blob oder einem anderen freigegebenen Webspeicherort zu importieren.

Für große Datendateien wird der Import aus Azure Blob Storage empfohlen. Weitere Informationen zu Azure Blob Storage finden Sie unter Was ist Azure Blob Storage?.

Hochladen von Trainingsdaten aus einer lokalen Datei

Sie können ein neues Trainingsdataset aus einer lokalen Datei in den Dienst hochladen, indem Sie eine der folgenden Methoden verwenden:

  • Ziehen Sie die Datei in den Clientbereich des Schulungsdatenbereichs, und wählen Sie danach Datei hochladen aus.
  • Wählen Sie im Clientbereich des Schulungsdatenbereichs "Suchen nach einer Datei" aus, wählen Sie die Datei aus, die im Dialogfeld "Öffnen" hochgeladen werden soll, und wählen Sie dann "Datei hochladen" aus. Nachdem Sie das Trainingsdataset ausgewählt und hochgeladen haben, wählen Sie Weiter aus, um fortzufahren.

Auswählen Ihrer Validierungsdaten

Der nächste Schritt bietet Optionen zum Konfigurieren des Modells für die Verwendung von Validierungsdaten im Trainingsprozess. Wenn Sie keine Validierungsdaten verwenden möchten, können Sie Weiter auswählen, um erweiterte Optionen für das Modell auszuwählen. Andernfalls können Sie, falls Sie über ein Validierungsdataset verfügen, entweder vorhandene vorbereitete Validierungsdaten oder neue vorbereitete Validierungsdaten für die Verwendung beim Anpassen Ihres Modells auswählen. Im Bereich Validierungsdaten werden alle vorhandenen, zuvor hochgeladenen Trainings- und Validierungsdatasets und Optionen für das Hochladen neuer Validierungsdaten angezeigt.

Teilen von Schulungsdaten

Sie können Ihre Schulungsdaten automatisch aufteilen, um ein Validierungsdatenset zu generieren. Nachdem Sie die option "Automatische Aufteilung von Schulungsdaten" ausgewählt haben, wählen Sie "Weiter" aus, um fortzufahren.

Verwenden vorhandener Daten in Azure AI Foundry

  • Wenn Ihre Validierungsdaten bereits in den Dienst hochgeladen wurden, wählen Sie Dataset auswählen aus.
    • Wählen Sie die Datei in der Liste aus, die im Bereich Validierungsdaten angezeigt wird.
  • Verwenden Sie eine der folgenden Optionen, um neue Überprüfungsdaten hochzuladen:
    • Wählen Sie "Lokale Datei " aus, um Validierungsdaten aus einer lokalen Datei hochzuladen.
    • Wählen Sie Azure-Blob oder andere freigegebene Webspeicherorte aus, um Validierungsdaten aus Azure Blob oder einem anderen freigegebenen Webspeicherort zu importieren. Für große Datendateien wird der Import aus Azure Blob Storage empfohlen. Große Dateien können instabil werden, wenn sie über mehrteilige Formulare hochgeladen werden, da die Anforderungen atomar sind und nicht erneut ausgeführt oder fortgesetzt werden können.

Hinweis

  • Ähnlich wie Schulungsdatendateien müssen Validierungsdatendateien als JSONL-Dateien formatiert werden.
  • codiert in UTF-8 mit einer Bytereihenfolge-Marke (BOM). Die Datei muss kleiner als 512 MB sein.

Hochladen von Validierungsdaten aus einer lokalen Datei

Sie können ein neues Validierungsdataset aus einer lokalen Datei in den Dienst hochladen, indem Sie eine der folgenden Methoden verwenden:

  • Ziehen Sie die Datei per Drag & Drop in den Clientbereich des Bereichs Validierungsdaten, und wählen Sie anschließend Datei hochladen aus.
  • Wählen Sie im Clientbereich des Fensterbereichs Validierungsdaten die Option Nach einer Datei suchen aus. Wählen Sie im Dialogfeld Öffnen die hochzuladende Datei und dann Datei hochladen aus. Nachdem Sie das Validierungsdataset ausgewählt und hochgeladen haben, wählen Sie Weiter aus, um fortzufahren.

Konfigurieren von Aufgabenparametern

Der Assistent zum Optimieren des Modells zeigt die Parameter für die Schulung Ihres feingetunten Modells im Bereich "Aufgabenparameter" an. Folgende Parameter sind verfügbar:

Name Typ Beschreibung
batch_size Integer Die für das Training zu verwendende Batchgröße. Die Batchgröße ist die Anzahl der Trainingsbeispiele, die zum Trainieren einer einzelnen Vorwärts- und Rückwärtsberechnung verwendet werden. Im Allgemeinen haben wir festgestellt, dass größere Batchgrößen tendenziell besser für größere Datasets funktionieren. Der Standardwert sowie der Maximalwert für diese Eigenschaft sind spezifisch für ein Basismodell. Eine größere Batchgröße bedeutet, dass Modellparameter weniger häufig aktualisiert werden, aber mit geringerer Varianz.
learning_rate_multiplier Zahl Der Lernratenmultiplikator, der für das Training verwendet werden soll. Die Feinabstimmung der Lernrate ist die ursprüngliche Lernrate, die für die Vorschulung multipliziert mit diesem Wert verwendet wird. Größere Lernraten weisen für größere Batches tendenziell eine bessere Leistung auf. Es empfiehlt sich, mit Werten im Bereich 0,02 bis 0,2 zu experimentieren, um zu sehen, was die besten Ergebnisse erzeugt. Eine kleinere Lernrate kann nützlich sein, um Überanpassung zu vermeiden.
n_epochs Integer Die Anzahl der Epochen zum Trainieren des Modells. Eine Epoche bezieht sich auf einen vollständigen Zyklus durch das Trainingsdataset.

Wählen Sie entweder Standard aus, um die Standardwerte für den Optimierungsauftrag zu verwenden, oder wählen Sie Benutzerdefiniert aus, um die Hyperparameterwerte anzuzeigen und zu bearbeiten. Wenn Standardwerte ausgewählt sind, bestimmen wir den richtigen Wert algorithmisch basierend auf Ihren Trainingsdaten. Nachdem Sie die erweiterten Optionen konfiguriert haben, wählen Sie Weiter aus, um Ihre Auswahl zu überprüfen und Ihr optimiertes Modell zu trainieren.

Überprüfen Ihrer Auswahl und Trainieren Ihres Modells

Im Bereich Überprüfen des Assistenten werden Informationen zu Ihren Konfigurationsoptionen angezeigt.

Wenn Sie bereit sind, Ihr Modell zu trainieren, wählen Sie Trainingsauftrag starten, um den Optimierungsauftrag zu starten und zur Registerkarte Modelle zurückzukehren.

Überprüfen des Status Ihres benutzerdefinierten Modells

Auf der Registerkarte Optimierung werden Informationen zu Ihrem benutzerdefinierten Modell angezeigt. Die Registerkarte enthält Informationen über den Status und die Auftrags-ID des Optimierungsauftrags für Ihr benutzerdefiniertes Modell. Nach Abschluss des Auftrags wird auf der Registerkarte die Datei-ID der Ergebnisdatei angezeigt. Möglicherweise müssen Sie Aktualisieren auswählen, um einen aktualisierten Status für den Modelltrainingsauftrag anzuzeigen.

Screenshot des Dashboards für ausgeführte Projekte.

Ein Optimierungsauftrag benötigt nach dem Start möglicherweise einige Zeit bis zum Abschluss. Ihr Auftrag befindet sich möglicherweise in der Warteschlange hinter anderen Aufträgen im System. Das Trainieren Ihres Modells kann je nach Größe von Modell und Dataset Minuten oder Stunden dauern. Hier sind einige der Aufgaben, die Sie auf der Registerkarte "Modelle " ausführen können:

  • Überprüfen Sie den Status des Optimierungsauftrags für Ihr benutzerdefiniertes Modell in der Spalte „Status” auf der Registerkarte „Benutzerdefinierte Modelle”.
  • Wählen Sie in der Spalte "Modellname" den Namen des Modells aus, um weitere Informationen zum benutzerdefinierten Modell anzuzeigen. Sie können den Status des Optimierungsauftrags, die Trainingsergebnisse, die Trainingsereignisse und die Hyperparameter anzeigen, die für den Auftrag verwendet wurden.
  • Wählen Sie Aktualisieren aus, um die Informationen auf der Seite zu aktualisieren.

Screenshot: Dashboards mit den Details zur Feinabstimmung

Unterstützte Geschäftsszenarien für die Anpassung

Für die Optimierung der Standardimplementierung werden mehrere Unternehmensszenarien unterstützt. In der folgenden Tabelle sind die unterstützten Konfigurationen für Benutzerspeichernetzwerke und die Authentifizierung aufgeführt, um einen reibungslosen Betrieb in Unternehmensszenarios sicherzustellen:

Hinweis

  • Die Authentifizierung von Datenverbindungen kann über AI Foundry geändert werden, indem Sie auf die Datenspeicherverbindung klicken, in der Ihr Dataset gespeichert ist, und zur Einstellung derAccess-Details-Authentifizierungsmethode> navigieren.
  • Die Speicherauthentifizierung kann auf der Azure Storage-Seite >Einstellungen>Konfigurationen unter >Zugriff auf Speicherkontoschlüssel erlauben geändert werden.
  • Speichernetzwerke können auf der Azure Storage-Seite >Netzwerk geändert werden.
Speichernetzwerk Speicherauthentifizierung Datenverbindungsauthentifizierung Unterstützung
Öffentlicher Netzwerkzugriff = aktiviert Kontoschlüssel aktiviert SAS/Kontoschlüssel Ja, UX und SDK
Öffentlicher Netzwerkzugriff = aktiviert Kontoschlüssel deaktiviert Entra-basierte Authentifizierung (ohne Anmeldeinformationen) Ja, UX und SDK

Hinweis: Für die UX müssen Sie möglicherweise „Storage-Blobdatenleser“ oder „Mitwirkender an Storage-Blobdaten“ für Ihre Benutzer-ID für das Speicherkonto hinzufügen oder die Authentifizierung der Verbindung so ändern, dass ein Kontoschlüssel bzw. SAS-Token verwendet wird.
Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen Kontoschlüssel aktiviert Kontoschlüssel Ja, UX und SDK

Hinweis: Für die UX muss sich die IP des Computes, auf dem der Browser ausgeführt wird, in der ausgewählten Liste befinden.
Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen Kontoschlüssel aktiviert SAS Ja, UX und SDK

Hinweis: Für die UX muss sich die IP des Computes, auf dem der Browser ausgeführt wird, in der ausgewählten Liste befinden.
Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen Kontoschlüssel deaktiviert Entra-basierte Authentifizierung (ohne Anmeldeinformationen) Ja, UX und SDK.

Hinweis: Für die UX müssen Sie möglicherweise „Storage-Blobdatenleser“ oder „Mitwirkender an Storage-Blobdaten“ für Ihre Benutzer-ID für das Speicherkonto hinzufügen oder die Authentifizierung der Verbindung so ändern, dass ein Kontoschlüssel bzw. SAS-Token verwendet wird. Stellen Sie außerdem sicher, dass die IP der Compute, über die der Browser ausgeführt wird, in der ausgewählten Liste verfügbar ist.
Öffentlicher Netzwerkzugriff = deaktiviert Kontoschlüssel aktiviert SAS/Kontoschlüssel Ja, UX und SDK.

Hinweis: Damit der Upload und die Übermittlung von UX-Daten funktioniert, muss innerhalb des VNet mit den geeigneten Zugriffsberechtigungen für den Speicher auf den Arbeitsbereich zugegriffen werden.
Öffentlicher Netzwerkzugriff = deaktiviert Kontoschlüssel deaktiviert Entra-basierte Authentifizierung (ohne Anmeldeinformationen) Ja, UX und SDK.

Hinweis: Damit der Upload und die Übermittlung von UX-Daten funktioniert, muss innerhalb des VNet mit den geeigneten Zugriffsberechtigungen für den Speicher auf den Arbeitsbereich zugegriffen werden.

Die oben genannten Szenarios sollten auch in einem verwalteten VNET-Arbeitsbereich funktionieren. Hier finden Sie das Setup des Azure AI Foundry-Hubs für das verwaltete VNET: Konfigurieren eines verwalteten Netzwerks für Azure AI Foundry-Hubs.

Customer-Managed Keys (CMKs) ist kein unterstütztes Unternehmensszenario mit standardmäßiger Optimierung der Bereitstellung.

Probleme bei der Feinabstimmung mit einzigartigen Netzwerkeinrichtungen im Arbeitsbereich und im Speicherbereich weisen in der Regel auf ein Netzwerkproblem hin.


Bereitstellen eines optimierten Modells

Wenn der Optimierungsauftrag erfolgreich war, können Sie das benutzerdefinierte Modell auf der Registerkarte Optimierung bereitstellen. Sie müssen Ihr benutzerdefiniertes Modell bereitstellen, um es für die Verwendung in Vervollständigungsaufrufen verfügbar zu machen.

Von Bedeutung

Nachdem Sie ein benutzerdefiniertes Modell bereitgestellt haben und mit dem Endpunkt fertig sind, sollten Sie alle inaktiven Endpunkte bereinigen. Durch das Löschen einer inaktiven Bereitstellung wird das zugrunde liegende angepasste Modell nicht gelöscht oder verändert. Das angepasste Modell kann jederzeit erneut bereitgestellt werden. Wie in Azure AI Foundry-Preisen beschrieben, entstehen bei jedem angepassten (fein abgestimmten) Modell, das bereitgestellt wird, stündliche Hostingkosten, unabhängig davon, ob Abschlüsse oder Chat-Abschlussanfragen an das Modell getätigt werden. Weitere Informationen zum Planen und Verwalten von Kosten mit Azure AI Foundry finden Sie in den Anleitungen in "Plan to manage costs for Azure AI Foundry Service".

Hinweis

Für ein benutzerdefiniertes Modell ist nur eine Bereitstellung zulässig. Wenn Sie ein bereits bereitgestelltes benutzerdefiniertes Modell auswählen, wird eine Fehlermeldung angezeigt. Um Ihr benutzerdefiniertes Modell bereitzustellen, wählen Sie das benutzerdefinierte Modell aus, das Sie bereitstellen möchten, und klicken Sie dann auf Modell bereitstellen.

Das Dialogfeld Modell bereitstellen wird geöffnet. Geben Sie im Dialogfeld Ihren Bereitstellungsnamen ein, und wählen Sie dann "Bereitstellen" aus, um die Bereitstellung Ihres benutzerdefinierten Modells zu starten.

Sie können ein fein abgestimmtes Modell auch über die Registerkarte " Modelle + Endpunkte " bereitstellen, indem Sie die Schaltfläche " Modell bereitstellen " und dann in der Dropdownliste "Fein abgestimmtes Modell bereitstellen" auswählen.

Screenshot: Dashboard für die Feinabstimmung zum Verwalten von Bereitstellungen

Wählen Sie zunächst das fein abgestimmte Modell aus, das Sie bereitstellen möchten, und klicken Sie dann auf "Bereitstellen".

Regionsübergreifende Bereitstellung

Die Optimierung unterstützt die Bereitstellung eines optimierten Modells in einer anderen Region als bei der ursprünglichen Optimierung des Modells. Sie können es auch für ein anderes Abonnement/eine andere Region bereitstellen. Die einzigen Einschränkungen sind, dass die neue Region auch die Feinabstimmung unterstützen muss und bei der abonnementübergreifenden Bereitstellung das Konto, das das Autorisierungstoken für die Bereitstellung generiert, sowohl auf die Quell- als auch auf die Zielabonnements zugreifen können muss. Die Bereitstellung über Abonnements/Regionen hinweg kann über Python erfolgen

Verwenden eines bereitgestellten benutzerdefinierten Modells

Nachdem Ihr benutzerdefiniertes Modell bereitgestellt wurde, können Sie es wie jedes andere bereitgestellte Modell verwenden. Sie können Playgrounds im Azure AI Foundry-Portal verwenden, um mit Ihrer neuen Bereitstellung zu experimentieren. Sie können weiterhin dieselben Parameter mit Ihrem benutzerdefinierten Modell wie Temperatur und max_tokens wie bei anderen bereitgestellten Modellen verwenden.

Bereinigen der optimierten Modelle

Sie können ein optimiertes Modell aus der Optimierungsmodellliste in Azure KI Foundry oder auf der Modelldetailseite löschen. So löschen Sie das optimierte Modell von der Optimierungsseite,

  1. Wählen Sie Optimierung aus der linken Navigation in Ihrem Azure AI Foundry-Projekt aus.
  2. Wählen Sie die Schaltfläche Löschen aus, um das optimierte Modell zu löschen.

Hinweis

Sie können kein benutzerdefiniertes Modell löschen, für das eine Bereitstellung vorhanden ist. Sie müssen zunächst die Modellimplementierung löschen, bevor Sie Ihr benutzerdefiniertes Modell löschen können.

Erstellen eines Clients zur Nutzung des Modells

In den folgenden Abschnitten erfahren Sie, wie Sie ein Modell in Python optimieren. Ein Notizbuchbeispiel für diesen Code finden Sie unter Fine-Tuning LLM mit Model-As-Service

  1. Stellen Sie sicher, dass Abhängigkeiten installiert werden, um mit der Feinabstimmung Ihres Modells zu beginnen.
%pip install azure-ai-ml
%pip install azure-identity

%pip install mlflow
%pip install azureml-mlflow
  1. Erstellen Sie den Client, um das Modell zu nutzen. Der folgende Code verwendet eine Endpunkt-URL und einen Schlüssel, die in Umgebungsvariablen gespeichert sind.
from azure.ai.ml import MLClient
from azure.identity import (
    DefaultAzureCredential,
    InteractiveBrowserCredential,
)

try:
    credential = DefaultAzureCredential()
    credential.get_token("https://management.azure.com/.default")
except Exception as ex:
    credential = InteractiveBrowserCredential()

try:
    workspace_ml_client = MLClient.from_config(credential=credential)
except:
    workspace_ml_client = MLClient(
        credential,
        subscription_id="<SUBSCRIPTION_ID>",
        resource_group_name="<RESOURCE_GROUP_NAME>",
        workspace_name="<PROJECT_NAME OR WORKSPACE_NAME>",
    )

# the models, fine tuning pipelines and environments are available in various AzureML system registries,
# Example: Phi family of models are in "azureml", Llama family of models are in "azureml-meta" registry.
registry_ml_client = MLClient(credential, registry_name="azureml")

# Get AzureML workspace object.
workspace = workspace_ml_client._workspaces.get(workspace_ml_client.workspace_name)
workspace.id

Suchen von Modellen mit Optimierungsunterstützung

Der AI Foundry-Modellkatalog bietet Optimierungsunterstützung für mehrere Modelltypen, einschließlich Chatvervollständigungen und Textgenerierung. Eine Liste der Modelle, die Feinabstimmungen unterstützen, und die Azure-Regionen der Unterstützung für die Feinabstimmung finden Sie unter "Verfügbarkeit von Regionen für Modelle in einer Standardbereitstellung". Feinabstimmungsaufgaben sind nur für Benutzer verfügbar, deren Azure-Abonnement zu einem Abrechnungskonto in einem Land/einer Region gehört, in dem der Modellanbieter das Modell bereitgestellt hat. Wenn das Angebot in der relevanten Region verfügbar ist, müssen die Benutzer über eine Projektressource in der Azure-Region verfügen, in der das Modell für die Bereitstellung oder Optimierung verfügbar ist.

In diesem Beispiel verwenden wir ein Phi-4-mini-instruct-Modell. In diesem Codeschnipsel wird die Modell-ID-Eigenschaft des Modells als Eingabe an den Feinabstimmungsauftrag übergeben. Dies ist auch als Objekt-ID-Feld auf der Modelldetailseite im Azure AI Foundry-Modellkatalog verfügbar.

model_name = "Phi-4-mini-instruct"
model_to_finetune = registry_ml_client.models.get(model_name, label="latest")
print(
    "\n\nUsing model name: {0}, version: {1}, id: {2} for fine tuning".format(
        model_to_finetune.name, model_to_finetune.version, model_to_finetune.id
    )
)

Vorbereiten von Daten für die Feinabstimmung

Bereiten Sie Ihre Trainings- und Validierungsdaten vor, um das Modell zu optimieren. Ihre Schulungs- und Validierungsdaten bestehen aus Eingabe- und Ausgabebeispielen für die Durchführung des Modells.

Stellen Sie sicher, dass alle Trainingsbeispiele das erwartete Format für Rückschlüsse haben. Um Modelle effektiv zu optimieren, stellen Sie ein vielfältiges Dataset sicher, indem Sie das Gleichgewicht der Daten sicherstellen und verschiedene Szenarien einbeziehen, und verfeinern Sie regelmäßig die Schulungsdaten, um die Erwartungen der realen Welt zu erfüllen. Diese Aktionen führen letztendlich zu genaueren und ausgewogeneren Modellantworten.

Tipp

Für verschiedene Modelltypen ist ein anderes Format von Trainingsdaten erforderlich.

Beispieldateiformat

Der unterstützte Dateityp ist JSON-Zeilen. Dateien werden in den Standarddatenspeicher hochgeladen und in Ihrem Projekt verfügbar gemacht.

    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
    {"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}

Erstellen von Schulungsdateneingaben

Dieser Codeausschnitt zeigt Ihnen, wie Sie ein Schulungsdatenset definieren.

from azure.ai.ml.constants import AssetTypes
from azure.ai.ml.entities import Data

dataset_version = "1"
train_dataset_name = "chat_training_small"
try:
    train_data_asset = workspace_ml_client.data.get(
        train_dataset_name, version=dataset_version
    )
    print(f"Dataset {train_dataset_name} already exists")
except:
    print("creating dataset")
    train_data = Data(
        path=f"./train.jsonl",
        type=AssetTypes.URI_FILE,
        description="Training dataset",
        name=train_dataset_name,
        version="1",
    )
    train_data_asset = workspace_ml_client.data.create_or_update(train_data)

Erstellen von Validierungsdaten

Der nächste Schritt bietet Optionen zum Konfigurieren des Modells für die Verwendung von Validierungsdaten im Trainingsprozess. Wenn Sie keine Überprüfungsdaten verwenden möchten, können Sie diesen Schritt überspringen, um mit dem nächsten Abschnitt fortzufahren. Andernfalls können Sie, falls Sie über ein Validierungsdataset verfügen, entweder vorhandene vorbereitete Validierungsdaten oder neue vorbereitete Validierungsdaten für die Verwendung beim Anpassen Ihres Modells auswählen.

from azure.ai.ml.entities import Data

dataset_version = "1"
validation_dataset_name = "chat_validation_small"
try:
    validation_data_asset = workspace_ml_client.data.get(
        validation_dataset_name, version=dataset_version
    )
    print(f"Dataset {validation_dataset_name} already exists")
except:
    print("creating dataset")
    validation_data = Data(
        path=f"./validation.jsonl",
        type=AssetTypes.URI_FILE,
        description="Validation dataset",
        name=validation_dataset_name,
        version="1",
    )
    validation_data_asset = workspace_ml_client.data.create_or_update(validation_data)

Erstellen eines Marketplace-Abonnements für Drittanbietermodelle

Dieser Schritt ist für alle Nicht-Microsoft-Modelle erforderlich. Ein Beispiel für ein Microsoft-Modell ist die Phi-Modellfamilie.

model_id_to_subscribe = "/".join(model_to_finetune.id.split("/")[:-2])
print(model_id_to_subscribe)

normalized_model_name = model_name.replace(".", "-")

from azure.ai.ml.entities import MarketplaceSubscription


subscription_name = f"{normalized_model_name}-sub"

marketplace_subscription = MarketplaceSubscription(
    model_id=model_id_to_subscribe,
    name=subscription_name,
)

# note: this will throw exception if the subscription already exists or subscription is not required (for example, if the model is not in the marketplace like Phi family)
try:
    marketplace_subscription = (
        workspace_ml_client.marketplace_subscriptions.begin_create_or_update(
            marketplace_subscription
        ).result()
    )
except Exception as ex:
    print(ex)

Übermitteln des Feinabstimmungsauftrags mithilfe des Modells und der Daten als Eingaben

Es gibt einen folgenden Satz von Parametern, die erforderlich sind, um Ihr Modell zu optimieren. Jeder Parameter wird wie folgt definiert:

  • Modell: Basismodell zum Feinabstimmen.
  • training_data: Schulungsdaten zur Feinabstimmung des Basismodells.
  • validation_data: Validierungsdaten zur Feinabstimmung des Basismodells.
  • task: Feinabstimmung der auszuführenden Aufgabe. Zb. CHAT_COMPLETION für die Feinabstimmungsaufträge für Chatvervollständigung.
  • outputs: Ausgabe des registrierten Modellnamens.

Die folgenden Parameter sind optional:

  • hyperparameters: Parameter, die das Feinabstimmungsverhalten zur Laufzeit steuern.
  • name: Name des Feinabstimmungsauftrags
  • experiment_name: Experimentname für Feinabstimmungsauftrag.
  • display_name: Anzeigename des Feinabstimmungsauftrags.
from azure.ai.ml.finetuning import FineTuningTaskType, create_finetuning_job
import uuid

guid = uuid.uuid4()
short_guid = str(guid)[:8]
display_name = f"{model_name}-display-name-{short_guid}-from-sdk"
name = f"{model_name}t-{short_guid}-from-sdk"
output_model_name_prefix = f"{model_name}-{short_guid}-from-sdk-finetuned"
experiment_name = f"{model_name}-from-sdk"

finetuning_job = create_finetuning_job(
    task=FineTuningTaskType.CHAT_COMPLETION,
    training_data=train_data_asset.id,
    validation_data=validation_data_asset.id,
    hyperparameters={
        "per_device_train_batch_size": "1",
        "learning_rate": "0.00002",
        "num_train_epochs": "1",
    },
    model=model_to_finetune.id,
    display_name=display_name,
    name=name,
    experiment_name=experiment_name,
    tags={"foo_tag": "bar"},
    properties={"my_property": "my_value"},
    output_model_name_prefix=output_model_name_prefix,
created_job = workspace_ml_client.jobs.create_or_update(finetuning_job)
workspace_ml_client.jobs.get(created_job.name)

status = workspace_ml_client.jobs.get(created_job.name).status

import time

while True:
    status = workspace_ml_client.jobs.get(created_job.name).status
    print(f"Current job status: {status}")
    if status in ["Failed", "Completed", "Canceled"]:
        print("Job has finished with status: {0}".format(status))
        break
    else:
        print("Job is still running. Checking again in 30 seconds.")
        time.sleep(30)
finetune_model_name = created_job.outputs["registered_model"]["name"]
finetune_model_name

Bereitstellen eines optimierten Modells

Wenn der Feinabstimmungsauftrag erfolgreich war, können Sie das benutzerdefinierte Modell bereitstellen.

Von Bedeutung

Nachdem Sie ein benutzerdefiniertes Modell bereitgestellt haben und mit dem Endpunkt fertig sind, sollten Sie alle inaktiven Endpunkte bereinigen. Durch das Löschen einer inaktiven Bereitstellung wird das zugrunde liegende angepasste Modell nicht gelöscht oder verändert. Das angepasste Modell kann jederzeit erneut bereitgestellt werden. Wie in Azure AI Foundry-Preisen beschrieben, entstehen bei jedem angepassten (fein abgestimmten) Modell, das bereitgestellt wird, stündliche Hostingkosten, unabhängig davon, ob Abschlüsse oder Chat-Abschlussanfragen an das Modell getätigt werden. Weitere Informationen zum Planen und Verwalten von Kosten mit Azure AI Foundry finden Sie in den Anleitungen in "Plan to manage costs for Azure AI Foundry Service".

# Deploy the model as a serverless endpoint

endpoint_name = f"{normalized_model_name}-ft-{short_guid}"  # Name must be unique
model_id = f"azureml://locations/{workspace.location}/workspaces/{workspace._workspace_id}/models/{finetune_model_name}/versions/1"

Unterstützte Geschäftsszenarien für die Anpassung

Für die Optimierung der Standardimplementierung werden mehrere Unternehmensszenarien unterstützt. In der folgenden Tabelle sind die unterstützten Konfigurationen für Benutzerspeichernetzwerke und die Authentifizierung aufgeführt, um einen reibungslosen Betrieb in Unternehmensszenarios sicherzustellen:

Hinweis

  • Die Authentifizierung von Datenverbindungen kann über AI Foundry geändert werden, indem Sie auf die Datenspeicherverbindung klicken, in der Ihr Dataset gespeichert ist, und zur Einstellung derAccess-Details-Authentifizierungsmethode> navigieren.
  • Die Speicherauthentifizierung kann auf der Azure Storage-Seite >Einstellungen>Konfigurationen unter >Zugriff auf Speicherkontoschlüssel erlauben geändert werden.
  • Speichernetzwerke können auf der Azure Storage-Seite >Netzwerk geändert werden.
Speichernetzwerk Speicherauthentifizierung Datenverbindungsauthentifizierung Unterstützung
Öffentlicher Netzwerkzugriff = aktiviert Kontoschlüssel aktiviert SAS/Kontoschlüssel Ja, UX und SDK
Öffentlicher Netzwerkzugriff = aktiviert Kontoschlüssel deaktiviert Entra-basierte Authentifizierung (ohne Anmeldeinformationen) Ja, UX und SDK

Hinweis: Für die UX müssen Sie möglicherweise „Storage-Blobdatenleser“ oder „Mitwirkender an Storage-Blobdaten“ für Ihre Benutzer-ID für das Speicherkonto hinzufügen oder die Authentifizierung der Verbindung so ändern, dass ein Kontoschlüssel bzw. SAS-Token verwendet wird.
Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen Kontoschlüssel aktiviert Kontoschlüssel Ja, UX und SDK

Hinweis: Für die UX muss sich die IP des Computes, auf dem der Browser ausgeführt wird, in der ausgewählten Liste befinden.
Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen Kontoschlüssel aktiviert SAS Ja, UX und SDK

Hinweis: Für die UX muss sich die IP des Computes, auf dem der Browser ausgeführt wird, in der ausgewählten Liste befinden.
Aktiviert von ausgewählten virtuellen Netzwerken und IP-Adressen Kontoschlüssel deaktiviert Entra-basierte Authentifizierung (ohne Anmeldeinformationen) Ja, UX und SDK.

Hinweis: Für die UX müssen Sie möglicherweise „Storage-Blobdatenleser“ oder „Mitwirkender an Storage-Blobdaten“ für Ihre Benutzer-ID für das Speicherkonto hinzufügen oder die Authentifizierung der Verbindung so ändern, dass ein Kontoschlüssel bzw. SAS-Token verwendet wird. Stellen Sie außerdem sicher, dass die IP der Compute, über die der Browser ausgeführt wird, in der ausgewählten Liste verfügbar ist.
Öffentlicher Netzwerkzugriff = deaktiviert Kontoschlüssel aktiviert SAS/Kontoschlüssel Ja, UX und SDK.

Hinweis: Damit der Upload und die Übermittlung von UX-Daten funktioniert, muss innerhalb des VNet mit den geeigneten Zugriffsberechtigungen für den Speicher auf den Arbeitsbereich zugegriffen werden.
Öffentlicher Netzwerkzugriff = deaktiviert Kontoschlüssel deaktiviert Entra-basierte Authentifizierung (ohne Anmeldeinformationen) Ja, UX und SDK.

Hinweis: Damit der Upload und die Übermittlung von UX-Daten funktioniert, muss innerhalb des VNet mit den geeigneten Zugriffsberechtigungen für den Speicher auf den Arbeitsbereich zugegriffen werden.

Die oben genannten Szenarios sollten auch in einem verwalteten VNET-Arbeitsbereich funktionieren. Hier finden Sie das Setup des Azure AI Foundry-Hubs für das verwaltete VNET: Konfigurieren eines verwalteten Netzwerks für Azure AI Foundry-Hubs.

Customer-Managed Keys (CMKs) ist kein unterstütztes Unternehmensszenario mit standardmäßiger Optimierung der Bereitstellung.

Probleme bei der Feinabstimmung mit einzigartigen Netzwerkeinrichtungen im Arbeitsbereich und im Speicherbereich weisen in der Regel auf ein Netzwerkproblem hin.

Regionsübergreifende Bereitstellung

Die Optimierung unterstützt die Bereitstellung eines optimierten Modells in einer anderen Region als bei der ursprünglichen Optimierung des Modells. Sie können es auch für ein anderes Abonnement/eine andere Region bereitstellen. Die einzigen Einschränkungen sind, dass die neue Region auch die Feinabstimmung unterstützen muss und bei der abonnementübergreifenden Bereitstellung das Konto, das das Autorisierungstoken für die Bereitstellung generiert, sowohl auf die Quell- als auch auf die Zielabonnements zugreifen können muss. Die Bereitstellung über Abonnements/Regionen hinweg kann über Python erfolgen


# Create Cross region FT deployment client
from azure.ai.ml.entities import ServerlessEndpoint
from azure.ai.ml import MLClient
from azure.identity import (
    DefaultAzureCredential,
    InteractiveBrowserCredential,
)

try:
    credential = DefaultAzureCredential()
    credential.get_token("https://management.azure.com/.default")
except Exception as ex:
    credential = InteractiveBrowserCredential()
try:
    workspace_ml_client = MLClient.from_config(credential=credential)
except:
    workspace_ml_client = MLClient(
        credential,
        subscription_id="<TARGET_SUBSCRIPTION_ID>",
        resource_group_name="<TARGET_RESOURCE_GROUP_NAME>",
        workspace_name="<TARGET_PROJECT_NAME>",
    )

workspace = workspace_ml_client._workspaces.get(workspace_ml_client.workspace_name)
workspace_region = workspace.location
model_to_finetune.tags
supported_regions = model_to_finetune.tags["maas-finetuning-deploy-regions"]
supported_regions
if workspace_region in supported_regions:
    print(f"Creating endpoint in the region:{workspace_region}")
    serverless_endpoint = ServerlessEndpoint(name=endpoint_name, model_id=model_id)
    created_endpoint = workspace_ml_client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
else:
    raise ValueError(
        f"For the model : {model_to_finetune}, the target region: {workspace_region} is not supported for deployment, the supported regions: {supported_regions}"
    )

Verwenden eines bereitgestellten benutzerdefinierten Modells

Nachdem Ihr benutzerdefiniertes Modell bereitgestellt wurde, können Sie es wie jedes andere bereitgestellte Modell verwenden. Sie können weiterhin dieselben Parameter mit Ihrem benutzerdefinierten Modell wie Temperatur und max_tokens wie bei anderen bereitgestellten Modellen verwenden.

endpoint = workspace_ml_client.serverless_endpoints.get(endpoint_name)
endpoint_keys = workspace_ml_client.serverless_endpoints.get_keys(endpoint_name)
auth_key = endpoint_keys.primary_key

import requests

url = f"{endpoint.scoring_uri}/v1/chat/completions"

payload = {
    "max_tokens": 1024,
    "messages": [
        {
            "content": "This script is great so far. Can you add more dialogue between Amanda and Thierry to build up their chemistry and connection?",
            "role": "user",
        }
    ],
}
headers = {"Content-Type": "application/json", "Authorization": f"{auth_key}"}

response = requests.post(url, json=payload, headers=headers)

response.json()

Bereinigen der optimierten Modelle

Wenn Sie mit dem Modell fertig sind, führen Sie den folgenden Code aus, um Ihr angepasstes Modell zu bereinigen.

workspace_ml_client.serverless_endpoints.begin_delete(endpoint_name).result()

Überlegungen zu Kosten und Kontingenten für Modelle, die als Standardbereitstellung bereitgestellt werden

Das Kontingent wird pro Bereitstellung verwaltet. Jede Bereitstellung hat eine Rate von 200.000 Token pro Minute und 1.000 API-Anforderungen pro Minute. Derzeit wird jedoch eine Bereitstellung pro Modell und Projekt beschränkt. Wenden Sie sich an den Microsoft Azure-Support, wenn die aktuellen Ratenbegrenzungen für Ihre Szenarien nicht ausreichen.

Kosten für Microsoft-Modelle

Die Preisinformationen finden Sie auf der Registerkarte " Preise und Bedingungen " des Bereitstellungs-Assistenten beim Bereitstellen von Microsoft-Modellen (z. B. Phi-3-Modelle) als Standardbereitstellung.

Kosten für Nicht-Microsoft-Modelle

Nicht-Microsoft-Modelle, die als Standardbereitstellung bereitgestellt werden, werden über Azure Marketplace angeboten und in Azure AI Foundry zur Verwendung integriert. Die Azure Marketplace-Preise werden bei der Bereitstellung oder bei der Optimierung dieser Modelle angezeigt.

Jedes Mal, wenn ein Projekt ein bestimmtes Angebot aus dem Azure Marketplace abonniert, wird eine neue Ressource erstellt, um die mit der Nutzung verbundenen Kosten nachzuverfolgen. Die gleiche Ressource wird zum Nachverfolgen der Kosten im Zusammenhang mit Rückschluss und Optimierung verwendet. Es stehen jedoch mehrere Verbrauchseinheiten zur Verfügung, um die einzelnen Szenarien unabhängig voneinander nachzuverfolgen.

Weitere Informationen zum Nachverfolgen von Kosten finden Sie unter Überwachen der Kosten für Modelle, die über den Azure Marketplace angeboten werden.

Screenshot unterschiedlicher Ressourcen, die verschiedenen Modellangeboten und den zugehörigen Zählern entsprechen.

Beispiel Notebook

Sie können dieses Beispielnotebook verwenden, um einen eigenständigen Optimierungsauftrag zu erstellen und die Fähigkeit eines Modells zu verbessern, Dialoge zwischen zwei Personen mithilfe des Samsum-Datasets zusammenzufassen. Als Trainingsdaten wird das Dataset „ultrachat_200k“ verwendet, das in vier Teile unterteilt ist, die sich für überwachte Optimierung (Supervised Fine-Tuning, SFT) und Generationsbewertung (GEN) eignen. Das Notebook verwendet die verfügbaren Azure KI-Modelle für die Chatvervollständigungsaufgabe. (Wenn Sie ein anderes Modell als das im Notebook verwendete Modell verwenden möchten, können Sie den Modellnamen ersetzen.) Das Notebook umfasst das Einrichten von erforderlichen Komponenten, das Auswählen eines Modells zur Optimierung, das Erstellen von Trainings- und Validierungsdatasets, das Konfigurieren und Übermitteln des Optimierungsauftrags und schließlich das Erstellen einer serverlosen Bereitstellung mithilfe des optimierten Modells für Beispielrückschlüsse.

Beispiel-CLI

Sie können außerdem diese Beispiel-CLI verwenden, um einen eigenständigen Optimierungsauftrag zu erstellen und die Fähigkeit eines Modells zu verbessern, Dialoge zwischen zwei Personen mithilfe eines Datasets zusammenzufassen.

type: finetuning

name: "Phi-3-mini-4k-instruct-with-amlcompute"
experiment_name: "Phi-3-mini-4k-instruct-finetuning-experiment"
display_name: "Phi-3-mini-4k-instruct-display-name"
task: chat_completion
model_provider: custom
model: 
  path: "azureml://registries/azureml/models/Phi-3-mini-4k-instruct/versions/14"
  type: mlflow_model
training_data: train.jsonl
validation_data:
  path: validation.jsonl
  type: uri_file
hyperparameters:
  num_train_epochs: "1"
  per_device_train_batch_size: "1"
  learning_rate: "0.00002"
properties:
  my_property: "my_value"
tags:
  foo_tag: "bar"
outputs:
  registered_model:
    name: "Phi-3-mini-4k-instruct-finetuned-model"
    type: mlflow_model 

Die verwendeten Trainingsdaten sind dieselben wie im SDK-Notizbuch. Die CLI verwendet die verfügbaren Azure KI-Modelle für die Chatvervollständigungsaufgabe. Wenn Sie ein anderes Modell als das im CLI-Beispiel verwenden möchten, können Sie die Argumente wie "Modellpfad" entsprechend aktualisieren.

Inhaltsfilterung

Standardbereitstellungsmodelle werden durch Azure AI Content Safety geschützt. Bei der Bereitstellung auf Echtzeitendpunkten können Sie diese Funktion deaktivieren. Mit aktivierter Azure AI Content Safety durchlaufen sowohl die Eingabeaufforderung als auch die Fertigstellung ein Ensemble von Klassifizierungsmodellen, die darauf abzielen, die Ausgabe schädlicher Inhalte zu erkennen und zu verhindern. Das Inhaltsfiltersystem erkennt bestimmte Kategorien potenziell schädlicher Inhalte sowohl in Eingabeeingabeaufforderungen als auch in Ausgabeabschlüssen und ergreift entsprechende Maßnahmen. Erfahren Sie mehr über Azure KI Inhaltssicherheit.

Nächste Schritte