Freigeben über


Verwenden der Meta Llama-Familie von Modellen mit Azure Machine Learning Studio

In diesem Artikel erfahren Sie mehr über die Familie der Meta Llama Modelle (LLMs). Meta Llama-Modelle und Tools sind eine Sammlung vortrainierter und optimierter Text- und Bildansatzmodelle mit generativer KI, die von SLMs (1B- und 3B-Basismodelle und -Instruct-Modelle) für Rückschlüsse auf dem Gerät und am Edge und mittelgroßen LLMs (7B-, 8B- und 70B-Basismodelle und -Instruct-Modelle) bis hin zu hochleistungsfähigen Modellen wie Meta Llama 3.1 405B Instruct für synthetische Datengenerierung und Destillation reichen.

Tipp

Im Meta-Blog und Microsoft Tech Community-Blog finden Sie unsere Ankündigungen zu den Llama 3.2-Familienmodellen von Meta, die jetzt im Azure KI-Modellkatalog verfügbar sind.

Sehen Sie sich die folgenden GitHub-Beispiele an, um Integrationen mit LangChain, LiteLLM, OpenAI und der Azure API zu erkunden.

Wichtig

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. 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.

Meta Llama-Modellfamilie

Zu den Meta Llama-Modellfamilien gehören die folgenden Modelle:

Die Llama 3.2-Sammlung von SLMs und Bildansatzmodellen ist jetzt verfügbar. In Kürze werden Llama 3.2 11B Vision Instruct und Llama 3.2 90B Vision Instruct als serverloser API-Endpunkt über Models-as-a-Service verfügbar sein. Ab heute stehen die folgenden Modelle für die Bereitstellung über verwaltetes Compute zur Verfügung:

  • Llama 3.2 1B
  • Llama 3.2 3B
  • Llama 3.2 1B Instruct
  • Llama 3.2 3B Instruct
  • Llama Guard 3 1B
  • Llama Guard 11B Vision
  • Llama 3.2 11B Vision Instruct
  • Llama 3.2 90B Vision Instruct ist für die Bereitstellung von verwaltetem Compute verfügbar.

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.

  • Einen Azure Machine Learning-Arbeitsbereich und eine Compute-Instanz. Falls Sie nicht über diese Komponenten verfügen, führen Sie die Schritte unter Schnellstart: So erstellen Sie Arbeitsbereichsressourcen, die Sie für die ersten Schritte mit Azure Machine Learning benötigen aus, um sie zu erstellen. Das Angebot für die Modellimplementierung als serverlose API für Meta Llama 3.1 oder Llama 3 ist nur mit Arbeitsbereichen verfügbar, die in den folgenden Regionen erstellt wurden:

    • East US
    • USA (Ost) 2
    • USA Nord Mitte
    • USA Süd Mitte
    • USA (Westen)
    • USA, Westen 3
    • Schweden, Mitte

    Eine Liste der Regionen, die für jedes der Modelle verfügbar sind, die Bereitstellungen mit serverlosen API-Endpunkten unterstützen, finden Sie unter Verfügbarkeit von Regionen für Modelle in serverlosen API-Endpunkten.

  • Die rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) wird verwendet, um Zugriff auf Vorgänge in Azure Machine Learning 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. Alternativ kann Ihrem Konto eine benutzerdefinierte Rolle zugewiesen werden, die über die folgenden Berechtigungen verfügt:

    • Für das Azure-Abonnement: Zum Abonnieren des Arbeitsbereichs für das Azure Marketplace-Angebot, einmal für jeden Arbeitsbereich 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
    • Für den Arbeitsbereich: Zum Bereitstellen von Endpunkten (die Azure Machine Learning-Rolle „Wissenschaftliche Fachkraft für Daten“ enthält diese Berechtigungen bereits):

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

    Weitere Informationen zu Berechtigungen finden Sie unter Verwalten des Zugriffs auf einen Azure Machine Learning-Arbeitsbereich.

Erstellen einer neuen Bereitstellung

So erstellen Sie eine Bereitstellung

  1. Navigieren Sie zu Azure Machine Learning Studio.

  2. Wählen Sie den Arbeitsbereich aus, in dem Sie Ihre Modelle bereitstellen möchten. Damit Sie das Modellimplementierungsangebot mit nutzungsbasierter Bezahlung verwenden können, muss Ihr Arbeitsbereich zu einer der verfügbaren Regionen gehören, die in den Voraussetzungen dieses Artikels aufgeführt sind.

  3. Wählen Sie Meta-Llama-3.1-405B-Instruct für eine Bereitstellung aus dem Modellkatalog.

    Alternativ können Sie die Bereitstellung initiieren, indem Sie zu Ihrem Arbeitsbereich wechseln und Endpunkte>Serverlose Endpunkte>Erstellen auswählen.

  4. Wählen Sie auf der Seite Details für Meta-Llama-3.1-405B-Instruct die Option Bereitstellen und dann Serverlose API mit Azure KI Inhaltssicherheit aus.

  5. Wählen Sie im Bereitstellungs-Assistenten 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 im Arbeitsbereich bereitstellen, müssen Sie Ihren Arbeitsbereich für das jeweilige Angebot (z. B. Meta-Llama-3.1-405B-Instruct) im Azure Marketplace abonnieren. Für diesen Schritt muss Ihr Konto über die Azure-Abonnementberechtigungen und Ressourcengruppenberechtigungen verfügen, die in den Voraussetzungen aufgeführt sind. Jeder Arbeitsbereich verfügt über ein eigenes Abonnement für das jeweilige Azure Marketplace-Angebot, wodurch Sie die Ausgaben steuern und überwachen können. Wählen Sie Abonnieren und bereitstellen aus.

    Hinweis

    Für das Abonnieren eines Arbeitsbereichs für ein bestimmtes Azure Marketplace-Angebot (in diesem Fall Llama-3-70B) 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 Bereitstellungen des gleichen Angebots im gleichen Arbeitsbereich nicht mehr abonniert werden. Daher müssen Sie nicht über die Berechtigungen auf Abonnementebene für nachfolgende Bereitstellungen verfügen. Wenn dieses Szenario für Sie gilt, wählen Sie Bereitstellung fortsetzen aus.

  8. Geben Sie der Bereitstellung einen Namen. Dieser Name wird Teil der Bereitstellungs-API-URL. Diese URL muss in jeder Azure-Region eindeutig sein.

  9. Klicken Sie auf Bereitstellen. Warten Sie, bis die Bereitstellung abgeschlossen ist, und Sie werden zur Seite mit serverlosen Endpunkten umgeleitet.

  10. Wählen Sie den Endpunkt aus, um seine Detailseite zu öffnen.

  11. Wählen Sie die Registerkarte Testen aus, um mit der Interaktion mit dem Modell zu beginnen.

  12. Sie können auch die Ziel-URL und den Wert für Geheimer Schlüssel notieren, um die Bereitstellung aufzurufen und Vervollständigungen zu generieren.

  13. Die Details, die URL und die Zugriffsschlüssel des Endpunkts finden Sie unter Arbeitsbereich>Endpunkte>Serverlose Endpunkte.

Informationen zur Abrechnung für Meta Llama-Modelle, die als serverlose API bereitgestellt werden, finden Sie unter Kosten- und Kontingentüberlegungen für Meta Llama-Modelle, die als serverlose API bereitgestellt werden.

Nutzen von Meta Llama-Modellen als Dienst

Modelle, die als Dienst bereitgestellt werden, können entweder mithilfe der Chat- oder der Vervollständigungs-API genutzt werden, abhängig vom bereitgestellten Modelltyp.

  1. Wählen Sie im Arbeitsbereich die Optionen Endpunkte>Serverlose Endpunkte aus.

  2. Suchen Sie die von Ihnen erstellte Meta-Llama-3.1-405B-Instruct-Bereitstellung, und wählen Sie diese aus.

  3. Kopieren Sie die Ziel-URL und die Tokenwerte für den Schlüssel.

  4. Senden Sie eine API-Anforderung basierend auf dem Typ des bereitgestellten Modells.

    Weitere Informationen zur Verwendung der APIs finden Sie im Abschnitt Referenz.

Referenz für Meta Llama 3.1-Modelle, die als serverlose API bereitgestellt werden

Llama-Modelle akzeptieren sowohl die Azure KI Model Inference-API auf der Route /chat/completions als auch eine Llama-Chat-API auf /v1/chat/completions. Auf die gleiche Weise können Textabschlusse mithilfe der Azure AI Model Inference-API auf der Route /completions oder einer Llama Completions-API auf /v1/completions generiert werden

Das Azure KI-Modellrückschluss-API-Schema finden Sie im Artikel Referenz für Chat-Fertigstellungen und unter OpenAPI-Spezifikation kann vom Endpunkt selbst abgerufen werden.

Vervollständigungs-API

Verwenden Sie die Methode POST, um die Anforderung an die /v1/completions-Route zu senden:

Anforderung

POST /v1/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json

Anforderungsschema

Die Nutzlast ist eine JSON-formatierte Zeichenfolge mit den folgenden Parametern:

Schlüssel Typ Standard Beschreibung
prompt string Keine Standardeinstellung. Dieser Wert muss angegeben werden. Der Prompt, der an das Modell gesendet werden soll
stream boolean False Beim Streaming können die generierten Token immer dann als vom Server gesendete Ereignisse (nur Daten) gesendet werden, wenn sie verfügbar sind.
max_tokens integer 16 Die maximale Anzahl von Token, die in der Vervollständigung generiert werden. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten.
top_p float 1 Eine Alternative zur Stichprobenentnahme mit Temperatur, die sogenannte Kernstichprobenentnahme, bei dem das Modell die Ergebnisse der Token mit der Wahrscheinlichkeitsmasse top_p berücksichtigt. Daher bedeutet 0,1, dass nur die Token berücksichtigt werden, die die oberen 10 % der Wahrscheinlichkeitsmasse umfassen. Wir empfehlen im Allgemeinen, top_p oder temperature zu ändern, aber nicht beides.
temperature float 1 Die zu verwendende Temperatur für die Stichprobenentnahme zwischen 0 und 2. Je höher der Wert, desto breiter die Stichprobenentnahme für die Tokenverteilung. Null bedeutet eine „gierige“ Stichprobenentnahme. Wir empfehlen, dies oder top_p zu ändern, aber nicht beides.
n integer 1 Wie viele Vervollständigungen für jede Äußerung generiert werden sollen.
Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein.
stop array null Zeichenfolge oder eine Liste von Zeichenfolgen, die das Wort enthalten, bei dem die API das Generieren weiterer Token beendet. Der zurückgegebene Text wird die Beendigungssequenz nicht enthalten.
best_of integer 1 Generiert serverseitige best_of-Vervollständigungen und gibt die „beste“ zurück (diejenige mit der geringsten logarithmierten Wahrscheinlichkeit pro Token). Die Ergebnisse können nicht gestreamt werden. Wenn Sie diese Funktion zusammen mit n verwenden, steuert best_of die Anzahl der möglichen Vervollständigungen, und n gibt an, wie viele zurückgegeben werden sollen – „best_of“ muss größer als n sein.
Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein.
logprobs integer null Eine Zahl, die angibt, dass die logarithmierten Wahrscheinlichkeiten für die wahrscheinlichsten Token von logprobs sowie die ausgewählten Token eingeschlossen werden sollen. Wenn logprobs z. B. 10 ist, gibt die API eine Liste der 10 wahrscheinlichsten Token zurück. Die API gibt immer „logprob“ des Tokens der Stichprobenentnahme zurück, sodass die Antwort bis zu „logprobs+1“ Elemente enthalten kann.
presence_penalty float null Eine Zahl zwischen -2,0 und 2,0. Positive Werte benachteiligen neue Token, je nachdem, ob sie bereits im Text vorkommen, und erhöhen so die Wahrscheinlichkeit, dass das Modell über neue Themen spricht.
ignore_eos boolean True Gibt an, ob das EOS-Token ignoriert und die Generierung von Token fortgesetzt werden soll, nachdem das EOS-Token generiert wurde.
use_beam_search boolean False Gibt an, ob die Strahlsuche anstelle der Stichprobenentnahme verwendet werden soll. In diesem Fall muss best_of größer als 1 und temperature muss 0 sein.
stop_token_ids array null Liste der IDs für Token, die beim Generieren die weitere Tokengenerierung beenden. Die zurückgegebene Ausgabe enthält die Stopptoken, es sei denn, die Stopptoken sind spezielle Token.
skip_special_tokens boolean null Gibt an, ob spezielle Token in der Ausgabe übersprungen werden sollen.

Beispiel

Text

{
    "prompt": "What's the distance to the moon?",
    "temperature": 0.8,
    "max_tokens": 512,
}

Antwortschema

Die Antwortnutzlast ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Beschreibung
id string Eindeutiger Bezeichner für die Vervollständigung
choices array Die Liste der Vervollständigungsoptionen, die das Modell für die Eingabeaufforderung generiert hat
created integer Der Unix-Zeitstempel (in Sekunden) des Zeitpunkts, zu dem die Vervollständigung erstellt wurde
model string Die für die Vervollständigung verwendete Modell-ID (model_id)
object string Der Objekttyp, der immer text_completion ist.
usage object Nutzungsstatistiken für die Vervollständigungsanforderung

Tipp

Im Streamingmodus ist finish_reason für jeden Antwortblock immer null, mit Ausnahme des letzten, der durch die Nutzlast [DONE] beendet wird.

Das choices-Objekt ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Beschreibung
index integer Auswahlindex. Bei best_of> 1 hat der Index in diesem Array möglicherweise nicht die richtige Reihenfolge und ist u. U. nicht 0 bis n-1.
text string Vervollständigungsergebnis
finish_reason string Der Grund, warum das Modell das Generieren von Token beendet hat:
- stop: Das Modell trifft auf einen natürlichen Beendigungspunkt oder auf eine bereitgestellte Beendigungssequenz.
- length: Die maximale Anzahl von Token wurde erreicht.
- content_filter: RAI führt die Moderation aus, und CMP erzwingt die Moderation.
- content_filter_error: Fehler während der Moderation. Es konnte keine Entscheidung über die Antwort getroffen werden.
- null: Die API-Antwort wird noch ausgeführt oder ist unvollständig.
logprobs object Die logarithmierten Wahrscheinlichkeiten der generierten Token im Ausgabetext

Das usage-Objekt ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Wert
prompt_tokens integer Anzahl der Token im Prompt.
completion_tokens integer Die Anzahl der Token, die in der Vervollständigung generiert werden
total_tokens integer Token insgesamt

Das logprobs-Objekt ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Wert
text_offsets array von integers Die Position oder der Index der einzelnen Token in der Vervollständigungsausgabe.
token_logprobs array von float Ausgewählte logprobs-Werte aus dem Wörterbuch im Array top_logprobs
tokens array von string Ausgewählte Token
top_logprobs array von dictionary Array des Wörterbuchs. In jedem Wörterbuch ist der Schlüssel das Token, und der Wert ist die Wahrscheinlichkeit.

Beispiel

{
    "id": "12345678-1234-1234-1234-abcdefghijkl",
    "object": "text_completion",
    "created": 217877,
    "choices": [
        {
            "index": 0,
            "text": "The Moon is an average of 238,855 miles away from Earth, which is about 30 Earths away.",
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 7,
        "total_tokens": 23,
        "completion_tokens": 16
    }
}

Chat-API

Verwenden Sie die Methode POST, um die Anforderung an die /v1/chat/completions-Route zu senden:

Anforderung

POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json

Anforderungsschema

Die Nutzlast ist eine JSON-formatierte Zeichenfolge mit den folgenden Parametern:

Schlüssel Typ Standard Beschreibung
messages string Keine Standardeinstellung. Dieser Wert muss angegeben werden. Die Nachricht oder der Verlauf von Nachrichten, die bzw. der als Prompt für das Modell fungieren soll.
stream boolean False Beim Streaming können die generierten Token immer dann als vom Server gesendete Ereignisse (nur Daten) gesendet werden, wenn sie verfügbar sind.
max_tokens integer 16 Die maximale Anzahl von Token, die in der Vervollständigung generiert werden. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten.
top_p float 1 Eine Alternative zur Stichprobenentnahme mit Temperatur, die sogenannte Kernstichprobenentnahme, bei dem das Modell die Ergebnisse der Token mit der Wahrscheinlichkeitsmasse top_p berücksichtigt. Daher bedeutet 0,1, dass nur die Token berücksichtigt werden, die die oberen 10 % der Wahrscheinlichkeitsmasse umfassen. Wir empfehlen im Allgemeinen, top_p oder temperature zu ändern, aber nicht beides.
temperature float 1 Die zu verwendende Temperatur für die Stichprobenentnahme zwischen 0 und 2. Je höher der Wert, desto breiter die Stichprobenentnahme für die Tokenverteilung. Null bedeutet eine „gierige“ Stichprobenentnahme. Wir empfehlen, dies oder top_p zu ändern, aber nicht beides.
n integer 1 Wie viele Vervollständigungen für jede Äußerung generiert werden sollen.
Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein.
stop array null Zeichenfolge oder eine Liste von Zeichenfolgen, die das Wort enthalten, bei dem die API das Generieren weiterer Token beendet. Der zurückgegebene Text wird die Beendigungssequenz nicht enthalten.
best_of integer 1 Generiert serverseitige best_of-Vervollständigungen und gibt die „beste“ zurück (diejenige mit der geringsten logarithmierten Wahrscheinlichkeit pro Token). Die Ergebnisse können nicht gestreamt werden. Wenn Sie diese Funktion zusammen mit n verwenden, steuert best_of die Anzahl der möglichen Vervollständigungen, und n gibt an, wie viele zurückgegeben werden sollen – best_of muss größer als n sein.
Hinweis: Da dieser Parameter viele Vervollständigungen generiert, kann Ihr Tokenkontingent schnell aufgebraucht sein.
logprobs integer null Eine Zahl, die angibt, dass die logarithmierten Wahrscheinlichkeiten für die wahrscheinlichsten Token von logprobs sowie die ausgewählten Token eingeschlossen werden sollen. Wenn logprobs z. B. 10 ist, gibt die API eine Liste der 10 wahrscheinlichsten Token zurück. Die API gibt immer „logprob“ des Tokens der Stichprobenentnahme zurück, sodass die Antwort bis zu „logprobs+1“ Elemente enthalten kann.
presence_penalty float null Eine Zahl zwischen -2,0 und 2,0. Positive Werte benachteiligen neue Token, je nachdem, ob sie bereits im Text vorkommen, und erhöhen so die Wahrscheinlichkeit, dass das Modell über neue Themen spricht.
ignore_eos boolean True Gibt an, ob das EOS-Token ignoriert und die Generierung von Token fortgesetzt werden soll, nachdem das EOS-Token generiert wurde.
use_beam_search boolean False Gibt an, ob die Strahlsuche anstelle der Stichprobenentnahme verwendet werden soll. In diesem Fall muss best_of größer als 1 und temperature muss 0 sein.
stop_token_ids array null Liste der IDs für Token, die beim Generieren die weitere Tokengenerierung beenden. Die zurückgegebene Ausgabe enthält die Stopptoken, es sei denn, die Stopptoken sind spezielle Token.
skip_special_tokens boolean null Gibt an, ob spezielle Token in der Ausgabe übersprungen werden sollen.

Das messages-Objekt weist die folgenden Felder auf:

Schlüssel type Wert
content string Der Inhalt der Nachricht. Inhalt ist für alle Nachrichten erforderlich.
role string Die Rolle des Erstellers oder der Erstellerin der Nachricht. Einer der folgenden Werte: system, user oder assistant.

Beispiel

Text

{
    "messages":
    [
        { 
        "role": "system", 
        "content": "You are a helpful assistant that translates English to Italian."},
        {
        "role": "user", 
        "content": "Translate the following sentence from English to Italian: I love programming."
        }
    ],
    "temperature": 0.8,
    "max_tokens": 512,
}

Antwortschema

Die Antwortnutzlast ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Beschreibung
id string Eindeutiger Bezeichner für die Vervollständigung
choices array Die Liste der Vervollständigungsoptionen, die das Modell für die Eingabenachrichten generiert hat
created integer Der Unix-Zeitstempel (in Sekunden) des Zeitpunkts, zu dem die Vervollständigung erstellt wurde
model string Die für die Vervollständigung verwendete Modell-ID (model_id)
object string Der Objekttyp, der immer chat.completion ist.
usage object Nutzungsstatistiken für die Vervollständigungsanforderung

Tipp

Im Streamingmodus ist finish_reason für jeden Antwortblock immer null, mit Ausnahme des letzten, der durch die Nutzlast [DONE] beendet wird. In jedem choices-Objekt wird der Schlüssel für messages durch delta geändert.

Das choices-Objekt ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Beschreibung
index integer Auswahlindex. Bei best_of> 1 hat der Index in diesem Array möglicherweise nicht die richtige Reihenfolge und ist u. U. nicht 0 bis n-1.
messages oder delta string Ergebnis der Chatvervollständigung im messages-Objekt. Wenn der Streamingmodus verwendet wird, wird der Schlüssel delta verwendet.
finish_reason string Der Grund, warum das Modell das Generieren von Token beendet hat:
- stop: Das Modell trifft auf einen natürlichen Beendigungspunkt oder auf eine bereitgestellte Beendigungssequenz.
- length: Die maximale Anzahl von Token wurde erreicht.
- content_filter: RAI führt die Moderation aus, und CMP erzwingt die Moderation.
- content_filter_error: Fehler während der Moderation. Es konnte keine Entscheidung über die Antwort getroffen werden.
- null: Die API-Antwort wird noch ausgeführt oder ist unvollständig.
logprobs object Die logarithmierten Wahrscheinlichkeiten der generierten Token im Ausgabetext

Das usage-Objekt ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Wert
prompt_tokens integer Anzahl der Token im Prompt.
completion_tokens integer Die Anzahl der Token, die in der Vervollständigung generiert werden
total_tokens integer Token insgesamt

Das logprobs-Objekt ist ein Wörterbuch mit den folgenden Feldern:

Schlüssel type Wert
text_offsets array von integers Die Position oder der Index der einzelnen Token in der Vervollständigungsausgabe.
token_logprobs array von float Ausgewählte logprobs-Werte aus dem Wörterbuch im Array top_logprobs
tokens array von string Ausgewählte Token
top_logprobs array von dictionary Array des Wörterbuchs. In jedem Wörterbuch ist der Schlüssel das Token, und der Wert ist die Wahrscheinlichkeit.

Beispiel

Im Folgenden sehen Sie eine Beispielantwort:

{
    "id": "12345678-1234-1234-1234-abcdefghijkl",
    "object": "chat.completion",
    "created": 2012359,
    "model": "",
    "choices": [
        {
            "index": 0,
            "finish_reason": "stop",
            "message": {
                "role": "assistant",
                "content": "Sure, I\'d be happy to help! The translation of ""I love programming"" from English to Italian is:\n\n""Amo la programmazione.""\n\nHere\'s a breakdown of the translation:\n\n* ""I love"" in English becomes ""Amo"" in Italian.\n* ""programming"" in English becomes ""la programmazione"" in Italian.\n\nI hope that helps! Let me know if you have any other sentences you\'d like me to translate."
            }
        }
    ],
    "usage": {
        "prompt_tokens": 10,
        "total_tokens": 40,
        "completion_tokens": 30
    }
}

Bereitstellen von Meta Llama-Modellen für verwaltete Computeressourcen

Abgesehen von der Bereitstellung mit dem verwalteten Dienst mit nutzungsbasierter Bezahlung können Sie auch Meta Llama 3.1-Modelle auf verwaltete Computeressourcen in Azure Machine Learning Studio bereitstellen. Bei der Bereitstellung auf verwalteten Computeressourcen können Sie alle Details zu der Infrastruktur auswählen, in der das Modell ausgeführt wird, einschließlich der zu verwendenden VMs und der Anzahl der Instanzen, die für die Verarbeitung der erwarteten Last verwendet werden. Auf verwalteten Computeressourcen bereitgestellte Modelle verbrauchen das Kontingent Ihres Abonnements. Die folgenden Modelle aus der 3.1-Releasewelle sind auf verwalteten Computeressourcen verfügbar:

  • Meta-Llama-3.1-8B-Instruct (FT unterstützt)
  • Meta-Llama-3.1-70B-Instruct (FT unterstützt)
  • Meta-Llama-3.1-8B (FT unterstützt)
  • Meta-Llama-3.1-70B (FT unterstützt)
  • Llama Guard 3 8B
  • Prompt Guard

Erstellen einer neuen Bereitstellung

Führen Sie die folgenden Schritte aus, um ein Modell wie Meta-Llama-3.1-70B-Instruct für eine verwaltete Computeressource in Azure Machine Learning Studio bereitzustellen.

  1. Wählen Sie den Arbeitsbereich aus, in dem Sie das Modell bereitstellen möchten.

  2. Wählen Sie aus dem Modellkatalog von Studio das Modell aus, das Sie bereitstellen möchten.

    Alternativ können Sie die Bereitstellung initiieren, indem Sie zu Ihrem Arbeitsbereich wechseln und Endpunkte>Verwalteter Computer>Erstellen auswählen.

  3. Wählen Sie auf der Übersichtsseite des Modells die Option Bereitstellen und dann Verwaltete Computeressource ohne Azure KI Inhaltssicherheit aus.

  4. Wählen Sie auf der Seite Mit Azure KI Inhaltssicherheit bereitstellen (Vorschau) die Option Azure KI Inhaltssicherheit überspringen aus, damit Sie das Modell weiterhin mithilfe der Benutzeroberfläche bereitstellen können.

    Tipp

    Im Allgemeinen wird empfohlen, Azure KI Inhaltssicherheit aktivieren (empfohlen) für die Bereitstellung des Meta Llama-Modells auszuwählen. Diese Bereitstellungsoption wird derzeit nur mit dem Python SDK unterstützt und erfolgt in einem Notebook.

  5. Wählen Sie Proceed (Fortfahren) aus.

    Tipp

    Wenn im ausgewählten Projekt nicht genügend Kontingent verfügbar ist, können Sie die Option Ich möchte das freigegebene Kontingent verwenden und bestätige, dass dieser Endpunkt in 168 Stunden gelöscht wird. verwenden.

  6. Wählen Sie die VM und die Anzahl der Instanzen aus, die Sie der Bereitstellung zuweisen möchten.

  7. Wählen Sie aus, ob Sie diese Bereitstellung als Teil eines neuen oder eines vorhandenen Endpunkts erstellen möchten. Endpunkte können mehrere Bereitstellungen hosten, wobei die Ressourcenkonfiguration für jede dieser Bereitstellungen exklusiv bleibt. Bereitstellungen unter demselben Endpunkt teilen sich den Endpunkt-URI und seine Zugriffsschlüssel.

  8. Geben Sie an, ob Sie Rückschlussdatensammlung (Vorschau) aktivieren möchten.

  9. Geben Sie an, ob Sie Paketmodell (Vorschau) aktivieren möchten.

  10. Klicken Sie auf Bereitstellen. Nach einigen Augenblicken wird die Seite Details des Endpunkts geöffnet.

  11. Warten Sie, bis die Erstellung und die Bereitstellung des Endpunkts abgeschlossen sind. Dies kann einige Minuten in Anspruch nehmen.

  12. Wählen Sie die Seite Nutzen des Endpunkts aus, um Codebeispiele abzurufen, die Sie zum Verwenden des bereitgestellten Modells in Ihrer Anwendung nutzen können.

Weitere Informationen zum Bereitstellen von Modellen auf verwaltete Computeressourcen mithilfe von Studio finden Sie unter Bereitstellen von Basismodellen für Rückschlussendpunkte.

Verwenden von Meta-Llama-Modellen, die für verwaltete Computeressourcen bereitgestellt werden

Informationen zum Aufrufen von Meta Llama 3-Modellen, die auf verwalteten Computeressourcen bereitgestellt werden, finden Sie auf der Modellkarte im Modellkatalog von Azure Machine Learning Studio. Die Karten der einzelnen Modelle enthalten eine Übersichtsseite, die eine Beschreibung des Modells, Beispiele für codebasierte Rückschlüsse, Optimierung und Modellauswertung enthält.

Zusätzliche Ableitungsbeispiele

Paket Beispielnotebook
CLI mit CURL- und Python-Webanforderungen webrequests.ipynb
OpenAI SDK (experimentell) openaisdk.ipynb
LangChain langchain.ipynb
LiteLLM SDK litellm.ipynb

Kosten und Kontingente

Kosten- und Kontingentüberlegungen zu Meta Llama 3.1-Modellen, die als serverlose API bereitgestellt werden

Meta Llama 3.1-Modelle, die als serverlose API bereitgestellt werden, werden von Meta über den Azure Marketplace angeboten und zur Verwendung in Azure Machine Learning Studio integriert. Die Azure Marketplace-Preise werden bei der Bereitstellung oder bei der Optimierung der Modelle angezeigt.

Jedes Mal, wenn ein Arbeitsbereich ein bestimmtes Modellangebot 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.

Das Kontingent wird pro Bereitstellung verwaltet. Jede Bereitstellung hat eine Ratenbegrenzung von 400.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- und Kontingentüberlegungen zu Meta Llama 3.1-Modellen, die als verwaltete Computeressourcen bereitgestellt werden

Für die Bereitstellung und für Rückschlüsse von Meta Llama 3.1-Modellen mit verwalteten Computeressourcen nutzen Sie das Kernkontingent für VMs, das Ihrem Abonnement für die jeweilige Region zugewiesen ist. Wenn Sie sich für Azure KI Studio registrieren, erhalten Sie ein Standard-VM-Kontingent für mehrere VM-Familien, die in der Region verfügbar sind. Sie können weiterhin Bereitstellungen erstellen, bis Sie ihr Kontingentlimit erreicht haben. Sobald Sie diesen Grenzwert erreicht haben, können Sie eine Kontingenterhöhung anfordern.

Inhaltsfilterung

Modelle, die als serverlose API bereitgestellt werden, werden durch Azure KI Inhaltssicherheit geschützt. Bei der Bereitstellung auf verwalteten Computeressourcen 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.