Optimieren von Meta Llama-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.

Mit Azure KI Studio können Sie große Sprachmodelle mit einem Prozess für Ihre persönlichen Datasets anpassen, der als Optimierung bezeichnet wird.

Optimierung bietet einen erheblichen Nutzen, da Anpassung und Optimierung für bestimmte Aufgaben und Anwendungen ermöglicht werden. Dies führt zu einer verbesserten Leistung, Kosteneffizienz, geringerer Latenz und maßgeschneiderten Ausgaben.

In diesem Artikel erfahren Sie, wie Sie Meta Llama-Modelle in Azure KI Studio optimieren.

Die Meta Llama-Familie großer Sprachmodelle (Large Language Models, LLMs) ist eine Sammlung von vortrainierten und optimierten generativen Textmodellen mit 7 Milliarden bis 70 Milliarden Parametern. Die Modellfamilie enthält außerdem optimierte Versionen, die für Dialoganwendungsfälle mit Reinforcement Learning from Human Feedback (RLHF), genannt Llama-Instruct, optimiert sind.

Modelle

Die folgenden Modelle sind im Azure Marketplace für Llama 3.1 verfügbar, wenn sie als Dienst mit nutzungsbasierter Bezahlung optimiert werden:

  • Meta-Llama-3.1-70B-Instruct (Vorschau)
  • Meta-LLama-3.1-8b-Instruct (Vorschau)

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

Wichtig

Zu diesem Zeitpunkt können wir keine Feinabstimmung für Llama 3.1 mit der Sequenzlänge 128.000 durchführen.

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.

  • Ein Azure KI Studio-Hub.

    Wichtig

    Für Meta Llama 3.1-Modelle ist das Modelloptimierungsangebot mit nutzungsbasierter Bezahlung nur mit Hubs verfügbar, die in der Region USA, Westen 3 erstellt wurden.

  • Azure KI Studio-Projekt in Azure KI Studio.

  • Die rollenbasierten Zugriffssteuerungen in Azure (Azure RBAC) werden verwendet, um Zugriff auf Vorgänge in Azure KI Studio zuzuweisen. Um die Schritte in diesem Artikel auszuführen, muss Ihrem Benutzerkonto die Rolle Besitzer oder Mitwirkender für das Azure-Abonnement zugewiesen werden. Alternativ kann Ihrem Konto eine benutzerdefinierte Rolle zugewiesen werden, die über die folgenden Berechtigungen verfügt:

    • Im Azure-Abonnement – zum Abonnieren des Azure Marketplace-Angebots für das KI Studio-Projekt, einmal für jedes Projekt, pro Angebot:

      • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
      • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
      • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.SaaS/register/action
    • Für die Ressourcengruppe: Zum Erstellen und Verwenden der SaaS-Ressource:

      • Microsoft.SaaS/resources/read
      • Microsoft.SaaS/resources/write
    • Im KI Studio-Projekt – zum Bereitstellen von Endpunkten (die Rolle „Azure KI-Entwickler“ enthält diese Berechtigungen bereits):

      • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
      • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

    Weitere Informationen zu Berechtigungen finden Sie unter Rollenbasierte Zugriffssteuerung in Azure KI Studio.

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. Vergewissern Sie sich, dass Microsoft.Network in der Liste der Ressourcenanbieter enthalten ist. Fügen Sie ihn andernfalls hinzu.

    Screenshot der Abonnementressourcenanbieter im Azure-Portal.

Datenaufbereitung

Bereiten Sie Ihre Trainings- und Validierungsdaten vor, um das Modell zu optimieren. Ihre Trainings- und Validierungsdatasets bestehen aus Ein- und Ausgabebeispielen für das gewünschte Verhalten des Modells.

Stellen Sie sicher, dass alle Trainingsbeispiele das erwartete Format für Rückschlüsse haben. Für die effektive Optimierung von Modellen ist ein ausgewogenes und vielfältiges Dataset erforderlich.

Dazu gehören die Aufrechterhaltung des Datengleichgewichts, die Einbeziehung verschiedener Szenarien und das regelmäßige Optimieren von Trainingsdaten zur Ausrichtung an realen Erwartungen, was letztendlich zu genaueren und ausgewogeneren Modellantworten führt.

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

Die Trainings- und Validierungsdaten, die Sie verwenden, müssen als JSON Lines (JSONL)-Dokument formatiert werden. Für Meta-Llama-3.1-70B-Instruct muss das Optimierungs-Dataset im Konversationsformat formatiert werden, das von der Chatvervollständigungs-API verwendet wird.

Beispieldateiformat

    {"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?"}]}

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

Optimieren eines Meta Llama-Modells

Optimieren eines Llama 3.1-Modells:

  1. Melden Sie sich beim Azure KI Studio an.

  2. Wählen Sie das Modell, das Sie optimieren möchten, aus dem Azure KI Studio-Modellkatalog aus.

  3. Wählen Sie auf der Seite Details des Modells Optimieren aus.

  4. Wählen Sie das Projekt, in dem Sie Ihre Modelle optimieren möchten. Um das Modelloptimierungsangebot mit nutzungsbasierter Bezahlung zu verwenden, muss Ihr Arbeitsbereich zur Region USA, Westen 3 gehören.

  5. Wählen Sie im Optimierungsassistenten den Link zu Azure Marketplace-Nutzungsbedingungen aus, um mehr über die Nutzungsbedingungen zu erfahren. Sie können auch die Registerkarte Marketplace – Angebotsdetails auswählen, um mehr über die Preise für das ausgewählte Modell zu erfahren.

  6. Wenn Sie das Modell zum ersten Mal in Ihrem Projekt optimiert, müssen Sie Ihr Projekt für das jeweilige Angebot (z. B. Meta-Llama-3.1-70B-Instruct) im Azure Marketplace abonnieren. Dieser Schritt erfordert, dass Ihr Konto über die Azure-Abonnementberechtigungen und Ressourcengruppenberechtigungen verfügt, die in den Voraussetzungen aufgeführt sind. Jedes Projekt hat sein eigenes Abonnement für das jeweilige Azure Marketplace-Angebot, mit dem Sie die Ausgaben kontrollieren und überwachen können. Wählen Sie Abonnieren und optimieren aus.

    Hinweis

    Für das Abonnieren eines Projekts für ein bestimmtes Azure Marketplace-Angebot (in diesem Fall Meta-Llama-3.1-70B-Instruct) muss Ihr Konto über Zugriff vom Typ Mitwirkender oder Besitzer auf der Abonnementebene verfügen, auf der das Projekt erstellt wird. Alternativ kann Ihrem Benutzerkonto eine benutzerdefinierte Rolle zugewiesen werden, die über die Azure-Abonnementberechtigungen und Ressourcengruppenberechtigungen verfügt, die in den Voraussetzungen aufgeführt sind.

  7. Sobald Sie den Arbeitsbereich für das jeweilige Azure Marketplace-Angebot registriert haben, müssen nachfolgende Optimierungen desselben Angebots im selben Projekt nicht mehr abonniert werden. Daher müssen Sie nicht über die Berechtigungen auf Abonnementebene für nachfolgende Optimierungen verfügen. Wenn dieses Szenario für Sie gilt, wählen Sie Optimierung fortsetzen aus.

  8. Geben Sie einen Namen für das optimierte Modell sowie die optionalen Tags und Beschreibungen ein.

  9. Wählen Sie Trainingsdaten zum Optimieren Ihres Modells aus. Weitere Informationen finden Sie unter Datenaufbereitung.

    Hinweis

    Wenn sich Ihre Trainings-/Validierungsdateien in einem Datenspeicher ohne Anmeldeinformationen befinden, müssen Sie den vom Arbeitsbereich verwalteten Identitätszugriff auf ihren Datenspeicher zulassen, um mit der MaaS-Feinabstimmungen mit einem Speicher ohne Anmeldeinformationen fortzufahren. Auf der Seite „Datenspeicher“, nachdem Sie auf „Authentifizierung aktualisieren“ geklickt haben. > Wählen Sie die folgende Option aus:

    Verwenden Sie für Datenvorschau und Profilerstellung in Azure Machine Learning Studio eine im Arbeitsbereich verwaltete Identität.

    Stellen Sie sicher, dass alle Trainingsbeispiele das erwartete Format für Rückschlüsse haben. Für die effektive Optimierung von Modellen ist ein ausgewogenes und vielfältiges Dataset erforderlich. Dazu gehören die Aufrechterhaltung des Datengleichgewichts, die Einbeziehung verschiedener Szenarien und das regelmäßige Optimieren von Trainingsdaten zur Ausrichtung an realen Erwartungen, was letztendlich zu genaueren und ausgewogeneren Modellantworten führt.

    • Die für das Training zu verwendende Batchgröße. Bei Festlegung auf -1 wird batch_size als 0,2 % der Beispiele im Trainingssatz berechnet. Der maximale Wert beträgt 256.
    • Die Optimierungslernrate ist die ursprüngliche Lernrate, die für das Vorabtraining verwendet wurde, mit diesem Multiplikator multipliziert. Es wird empfohlen, mit Werten zwischen 0,5 und 2 zu experimentieren. Empirisch haben wir festgestellt, dass größere Lernraten mit größeren Batchgrößen oftmals besser funktionieren. Der Wert muss zwischen 0,0 und 5,0 liegen.
    • Anzahl der Trainingsepochen Eine Epoche bezeichnet einen vollständigen Zyklus über das Dataset.
  10. Aufgabenparameter sind ein optionaler Schritt und eine erweiterte Option. Der Hyperparameter für die Optimierung ist für die Optimierung großer Sprachmodelle (Large Language Models, LLMs) in realen Anwendungen unerlässlich. Er ermöglicht eine bessere Leistung und eine effiziente Ressourcennutzung. Sie können die Standardeinstellungen verwenden. Erfahrenere Benutzer*innen können Parameter wie Epochen oder Lernrate anpassen.

  11. Überprüfen Sie Ihre Auswahl, und fahren Sie mit dem Trainieren Ihres Modells fort.

Sobald Ihr Modell optimiert wurde, können Sie das Modell bereitstellen und es in Ihrer eigenen Anwendung, im Playground oder in prompt flow verwenden. Weitere Informationen finden Sie unter Bereitstellen großer Sprachmodelle der Llama 3.1-Familie mit Azure KI Studio.

Bereinigen der optimierten Modelle

Sie können ein optimiertes Modell aus der Optimierungsmodellliste in Azure KI Studio oder auf der Modelldetailseite löschen. Wählen Sie auf der Seite „Optimierung“ das optimierte Modell aus, das Sie löschen möchten, und wählen Sie dann 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.

Kosten und Kontingente

Kosten- und Kontingentüberlegungen zu Meta Llama-Modellen, die als Dienst optimiert werden

Meta Llama-Modelle, die als Dienst optimiert werden, werden von Meta über den Azure Marketplace angeboten und zur Verwendung in Azure KI Studio integriert. Die Azure Marketplace-Preise werden bei der Bereitstellung oder bei der Optimierung der 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.

Inhaltsfilterung

Modelle, die als Dienst mit Abrechnung mit nutzungsbasierter Bezahlung bereitgestellt werden, werden durch Azure KI Inhaltssicherheit geschützt. Bei der Bereitstellung auf Echtzeitendpunkten können Sie diese Funktion deaktivieren. Wenn Azure KI Inhaltssicherheit aktiviert ist, durchlaufen sowohl Prompt als auch Vervollständigung ein Ensemble von Klassifizierungsmodellen, das darauf abzielt, 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