Jak używać rodziny modeli Meta Llama w usłudze Azure Machine Learning Studio

Z tego artykułu dowiesz się więcej o rodzinie modeli Meta Llama (LLMs). Modele i narzędzia Meta Llama to kolekcja wstępnie wytrenowanych i dostrojonych modeli generowania tekstu i obrazów sztucznej inteligencji — począwszy od skali od umów SLA (1B, Modele 3B Base i Instruct) dla wnioskowania na urządzeniu i brzegu — do średnich rozmiarów LLMs (7B, 8B i 70B Base and 70B Base and Poinstruuj modele) i wysokiej jakości modele, takie jak Meta Llama 3.1 405B Poinstruowanie dla syntetycznych przypadków generowania danych i destylowania.

Napiwek

Zobacz nasze ogłoszenia dotyczące modeli rodziny Llama 3.2 firmy Meta dostępnych teraz w katalogu modeli sztucznej inteligencji platformy Azure za pośrednictwem bloga Meta i bloga Microsoft Tech Community.

Zapoznaj się z poniższymi przykładami usługi GitHub, aby zapoznać się z integracją z aplikacjami LangChain, LiteLLM, OpenAI i interfejsem API platformy Azure.

Ważne

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.

Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Rodzina modeli Meta Llama

Rodzina modeli Meta Llama obejmuje następujące modele:

Kolekcja llama 3.2 slms i modeli rozumowania obrazów są teraz dostępne. Wkrótce llama 3.2 11B Vision Poinstruowanie i Llama 3.2 90B Vision Poinstruowanie będą dostępne jako punkt końcowy bezserwerowego interfejsu API za pośrednictwem modeli jako usługa. Począwszy od dzisiaj, następujące modele będą dostępne do wdrożenia za pośrednictwem zarządzanych zasobów obliczeniowych:

  • Llama 3.2 1B
  • Llama 3.2 3B
  • Llama 3.2 1B Poinstruuj
  • Llama 3.2 3B Poinstruuj
  • Llama Guard 3 1B
  • Llama Guard 11B Vision
  • Llama 3.2 11B Vision Poinstruowanie
  • Llama 3.2 90B Vision Poinstruowanie są dostępne dla zarządzanego wdrożenia obliczeniowego.

Wymagania wstępne

  • Subskrypcja platformy Azure z prawidłową formą płatności. Subskrypcje platformy Azure w wersji bezpłatnej lub próbnej nie będą działać. Jeśli nie masz subskrypcji platformy Azure, utwórz płatne konto platformy Azure, aby rozpocząć.

  • Obszar roboczy usługi Azure Machine Learning i wystąpienie obliczeniowe. Jeśli nie masz tych zasobów, wykonaj kroki opisane w artykule Szybki start: tworzenie zasobów obszaru roboczego, aby je utworzyć. Oferta wdrażania modelu bezserwerowego interfejsu API dla aplikacji Meta Llama 3.1 i Llama 3 jest dostępna tylko w obszarach roboczych utworzonych w następujących regionach:

    • East US
    • Wschodnie stany USA 2
    • Północno-środkowe stany USA
    • South Central US
    • Zachodnie stany USA
    • Zachodnie stany USA 3
    • Szwecja Środkowa

    Aby uzyskać listę regionów dostępnych dla każdego z modeli obsługujących bezserwerowe wdrożenia punktów końcowych interfejsu API, zobacz Dostępność regionalna dla modeli w punktach końcowych bezserwerowego interfejsu API.

  • Kontrola dostępu na podstawie ról platformy Azure (Azure RBAC): jest używana do udzielania dostępu do operacji w usłudze Azure Machine Learning. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę Właściciela lub Współpracownika dla subskrypcji platformy Azure. Możesz też przypisać rolę niestandardową, która ma następujące uprawnienia:

    • W subskrypcji platformy Azure — do subskrypcji obszaru roboczego oferty witryny Azure Marketplace, raz dla każdego obszaru roboczego, na ofertę:

      • 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
    • W grupie zasobów — do tworzenia zasobu SaaS i jego użycia:

      • Microsoft.SaaS/resources/read
      • Microsoft.SaaS/resources/write
    • W obszarze roboczym — do wdrażania punktów końcowych (rola badacza danych usługi Azure Machine Learning zawiera już te uprawnienia):

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

    Aby uzyskać więcej informacji na temat uprawnień, zobacz Zarządzanie dostępem do obszaru roboczego usługi Azure Machine Learning.

Tworzenie nowego wdrożenia

Aby utworzyć wdrożenie:

  1. Przejdź do usługi Azure Machine Learning Studio.

  2. Wybierz obszar roboczy, w którym chcesz wdrożyć modele. Aby korzystać z oferty wdrażania modelu z płatnością zgodnie z rzeczywistym użyciem, obszar roboczy musi należeć do jednego z dostępnych regionów wymienionych w wymaganiach wstępnych tego artykułu.

  3. Wybierz Meta-Llama-3.1-405B-Instruct wdrożenie z katalogu modeli.

    Możesz też zainicjować wdrożenie, przechodząc do obszaru roboczego i wybierając pozycję Punkty końcowe Bezserwerowe>>punkty końcowe Utwórz.

  4. Na stronie Meta-Llama-3.1-405B-InstructSzczegóły wybierz pozycję Wdróż, a następnie wybierz pozycję Bezserwerowy interfejs API z bezpieczeństwem zawartości usługi Azure AI.

  5. W kreatorze wdrażania wybierz link do warunków użytkowania witryny Azure Marketplace, aby dowiedzieć się więcej o warunkach użytkowania. Możesz również wybrać kartę Szczegóły oferty w witrynie Marketplace, aby dowiedzieć się więcej o cenach dla wybranego modelu.

  6. Jeśli po raz pierwszy wdrażasz model w obszarze roboczym, musisz zasubskrybować obszar roboczy dla konkretnej oferty (na przykład Meta-Llama-3.1-405B-Instruct) z witryny Azure Marketplace. Ten krok wymaga, aby Twoje konto ma uprawnienia subskrypcji platformy Azure i uprawnienia grupy zasobów wymienione w wymaganiach wstępnych. Każdy obszar roboczy ma własną subskrypcję konkretnej oferty witryny Azure Marketplace, która umożliwia kontrolowanie i monitorowanie wydatków. Wybierz pozycję Subskrybuj i Wdróż.

    Uwaga

    Subskrybowanie obszaru roboczego do określonej oferty witryny Azure Marketplace (w tym przypadku Llama-3-70B) wymaga, aby Twoje konto ma dostęp współautora lub właściciela na poziomie subskrypcji, na którym został utworzony projekt. Alternatywnie konto użytkownika może mieć przypisaną rolę niestandardową, która ma uprawnienia subskrypcji platformy Azure i uprawnienia grupy zasobów wymienione w wymaganiach wstępnych.

  7. Po zarejestrowaniu obszaru roboczego dla określonej oferty witryny Azure Marketplace kolejne wdrożenia tej samej oferty w tym samym obszarze roboczym nie wymagają ponownego subskrybowania. W związku z tym nie musisz mieć uprawnień na poziomie subskrypcji dla kolejnych wdrożeń. Jeśli ten scenariusz ma zastosowanie do Ciebie, wybierz pozycję Kontynuuj, aby wdrożyć.

  8. Nadaj wdrożeniu nazwę. Ta nazwa staje się częścią adresu URL interfejsu API wdrażania. Ten adres URL musi być unikatowy w każdym regionie świadczenia usługi Azure.

  9. Wybierz Wdróż. Poczekaj na zakończenie wdrożenia i nastąpi przekierowanie do strony bezserwerowych punktów końcowych.

  10. Wybierz punkt końcowy, aby otworzyć stronę Szczegóły.

  11. Wybierz kartę Test , aby rozpocząć interakcję z modelem.

  12. Możesz również zanotować docelowy adres URL i klucz tajny, aby wywołać wdrożenie i wygenerować uzupełnienia.

  13. Zawsze możesz znaleźć szczegóły, adres URL i klucze dostępu punktu końcowego, przechodząc do punktów końcowych obszaru roboczego>Bezserwerowych punktów końcowych.>

Aby dowiedzieć się więcej o rozliczeniach modeli Meta Llama wdrożonych jako bezserwerowy interfejs API, zobacz Zagadnienia dotyczące kosztów i przydziałów dla modeli Meta Llama wdrożonych jako bezserwerowy interfejs API.

Korzystanie z modeli Meta Llama jako usługi

Modele wdrożone jako usługa mogą być używane przy użyciu czatu lub interfejsu API uzupełniania, w zależności od typu wdrożonego modelu.

  1. W obszarze roboczym wybierz pozycję Punkty końcowe>Bezserwerowe punkty końcowe.

  2. Znajdź i wybierz Meta-Llama-3.1-405B-Instruct utworzone wdrożenie.

  3. Skopiuj docelowy adres URL i wartości tokenu klucza.

  4. Utwórz żądanie interfejsu API na podstawie typu wdrożonego modelu.

    Aby uzyskać więcej informacji na temat korzystania z interfejsów API, zobacz sekcję referencyjną.

Dokumentacja modeli Meta Llama 3.1 wdrożonych bezserwerowego interfejsu API

Modele Llama akceptują zarówno interfejs API wnioskowania modelu sztucznej inteligencji platformy Azure na trasie/chat/completions, jak i interfejs API czatu llama w systemie /v1/chat/completions. W ten sam sposób uzupełniania tekstu można wygenerować przy użyciu interfejsu API wnioskowania modelu AI platformy Azure na trasie /completions lub interfejsu API uzupełniania llama na stronie /v1/completions

Schemat interfejsu API wnioskowania modelu platformy Azure AI można znaleźć w artykule dotyczącym uzupełniania czatów, a specyfikację interfejsu OpenAPI można uzyskać z samego punktu końcowego.

Interfejs API uzupełniania

Użyj metody POST , aby wysłać żądanie do /v1/completions trasy:

Zażądaj

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

Schemat żądania

Payload to ciąg sformatowany w formacie JSON zawierający następujące parametry:

Klucz Typ Domyślny opis
prompt string Brak wartości domyślnej. Tę wartość należy określić. Monit o wysłanie do modelu.
stream boolean False Przesyłanie strumieniowe umożliwia wysyłanie wygenerowanych tokenów jako zdarzeń wysyłanych tylko do serwera, gdy staną się dostępne.
max_tokens integer 16 Maksymalna liczba tokenów do wygenerowania w zakończeniu. Liczba tokenów monitu plus max_tokens nie może przekraczać długości kontekstu modelu.
top_p float 1 Alternatywą dla próbkowania z temperaturą, nazywaną próbkowaniem jądra, gdzie model uwzględnia wyniki tokenów z masą top_p prawdopodobieństwa. Dlatego 0,1 oznacza, że uwzględniane są tylko tokeny składające się z pierwszej masy prawdopodobieństwa o 10%. Ogólnie zalecamy zmianę top_p wartości lub temperature, ale nie obie.
temperature float 1 Temperatura próbkowania do użycia z zakresu od 0 do 2. Wyższe wartości oznaczają, że próbki modelu są bardziej szeroko rozpowszechniane tokenów. Zero oznacza chciwość próbkowania. Zalecamy zmianę tego elementu lub top_p, ale nie obu tych elementów.
n integer 1 Ile uzupełniania ma być generowanych dla każdego monitu.
Uwaga: ponieważ ten parametr generuje wiele uzupełniania, może szybko korzystać z limitu przydziału tokenu.
stop array null Ciąg lub lista ciągów zawierających wyraz, w którym interfejs API przestaje generować kolejne tokeny. Zwrócony tekst nie będzie zawierać sekwencji zatrzymania.
best_of integer 1 Generuje uzupełnianie best_of po stronie serwera i zwraca wartość "best" (jedyną z najniższym prawdopodobieństwem dziennika na token). Nie można przesyłać strumieniowo wyników. W przypadku użycia z nprogramem best_of określa liczbę ukończonych kandydatów i n określa liczbę zwracanych elementów — best_of musi być większa niż n.
Uwaga: ponieważ ten parametr generuje wiele uzupełniania, może szybko korzystać z limitu przydziału tokenu.
logprobs integer null Liczba wskazująca na uwzględnienie prawdopodobieństwa dziennika na logprobs najbardziej prawdopodobnych tokenach i wybranych tokenach. Na przykład jeśli logprobs ma wartość 10, interfejs API zwraca listę 10 najbardziej prawdopodobnych tokenów. Interfejs API zawsze zwraca logprob przykładowego tokenu, więc w odpowiedzi może występować maksymalnie logprobs+1 element.
presence_penalty float null Liczba z zakresu od -2.0 do 2.0. Wartości dodatnie karzą nowe tokeny na podstawie tego, czy są one wyświetlane w tekście do tej pory, zwiększając prawdopodobieństwo, że model będzie mówił o nowych tematach.
ignore_eos boolean True Czy zignorować token EOS i kontynuować generowanie tokenów po wygenerowaniu tokenu EOS.
use_beam_search boolean False Czy używać wyszukiwania belki zamiast próbkowania. W takim przypadku best_of wartość musi być większa niż 1 i temperature musi mieć wartość 0.
stop_token_ids array null Lista identyfikatorów tokenów, które po wygenerowaniu zatrzymają dalsze generowanie tokenów. Zwrócone dane wyjściowe zawierają tokeny zatrzymania, chyba że tokeny zatrzymania są specjalnymi tokenami.
skip_special_tokens boolean null Czy pominąć specjalne tokeny w danych wyjściowych.

Przykład

Treść

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

Schemat odpowiedzi

Ładunek odpowiedzi to słownik z następującymi polami.

Klucz Type Opis
id string Unikatowy identyfikator ukończenia.
choices array Lista opcji uzupełniania dla modelu wygenerowanego dla monitu wejściowego.
created integer Sygnatura czasowa systemu Unix (w sekundach) czasu utworzenia ukończenia.
model string Model_id używany do ukończenia.
object string Typ obiektu, który jest zawsze text_completion.
usage object Statystyki użycia dla żądania ukończenia.

Napiwek

W trybie przesyłania strumieniowego dla każdego fragmentu odpowiedzi finish_reason jest zawsze null, z wyjątkiem ostatniego, który jest przerywany przez ładunek [DONE].

Obiekt choices jest słownikiem z następującymi polami.

Klucz Type Opis
index integer Indeks wyboru. Jeśli best_of> wartość 1, indeks w tej tablicy może nie być w kolejności i może nie być równa od 0 do n-1.
text string Wynik ukończenia.
finish_reason string Przyczyna zatrzymania generowania tokenów przez model:
- stop: model osiągnął naturalny punkt zatrzymania lub podaną sekwencję zatrzymania.
- length: jeśli osiągnięto maksymalną liczbę tokenów.
- content_filter: Kiedy RAI moderuje i CMP wymusza moderowanie.
- content_filter_error: błąd podczas moderowania i nie był w stanie podjąć decyzji w sprawie odpowiedzi.
- null: Odpowiedź interfejsu API jest nadal w toku lub niekompletna.
logprobs object Prawdopodobieństwo dziennika wygenerowanych tokenów w tekście wyjściowym.

Obiekt usage jest słownikiem z następującymi polami.

Klucz Type Wartość
prompt_tokens integer Liczba tokenów w wierszu polecenia.
completion_tokens integer Liczba tokenów wygenerowanych w zakończeniu.
total_tokens integer Łączna liczba tokenów.

Obiekt logprobs jest słownikiem z następującymi polami:

Klucz Type Wartość
text_offsets array dla integers Pozycja lub indeks każdego tokenu w danych wyjściowych ukończenia.
token_logprobs array dla float Wybrane logprobs ze słownika w top_logprobs tablicy.
tokens array dla string Wybrane tokeny.
top_logprobs array dla dictionary Tablica słownika. W każdym słowniku kluczem jest token, a wartość jest sondą.

Przykład

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

Interfejs API czatu

Użyj metody POST , aby wysłać żądanie do /v1/chat/completions trasy:

Zażądaj

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

Schemat żądania

Payload to ciąg sformatowany w formacie JSON zawierający następujące parametry:

Klucz Typ Domyślny opis
messages string Brak wartości domyślnej. Tę wartość należy określić. Komunikat lub historia komunikatów do użycia w celu wyświetlenia monitu o model.
stream boolean False Przesyłanie strumieniowe umożliwia wysyłanie wygenerowanych tokenów jako zdarzeń wysyłanych tylko do serwera, gdy staną się dostępne.
max_tokens integer 16 Maksymalna liczba tokenów do wygenerowania w zakończeniu. Liczba tokenów monitu plus max_tokens nie może przekraczać długości kontekstu modelu.
top_p float 1 Alternatywą dla próbkowania z temperaturą, nazywaną próbkowaniem jądra, gdzie model uwzględnia wyniki tokenów z masą top_p prawdopodobieństwa. Dlatego 0,1 oznacza, że uwzględniane są tylko tokeny składające się z pierwszej masy prawdopodobieństwa o 10%. Ogólnie zalecamy zmianę top_p wartości lub temperature, ale nie obie.
temperature float 1 Temperatura próbkowania do użycia z zakresu od 0 do 2. Wyższe wartości oznaczają, że próbki modelu są bardziej szeroko rozpowszechniane tokenów. Zero oznacza chciwość próbkowania. Zalecamy zmianę tego elementu lub top_p, ale nie obu tych elementów.
n integer 1 Ile uzupełniania ma być generowanych dla każdego monitu.
Uwaga: ponieważ ten parametr generuje wiele uzupełniania, może szybko korzystać z limitu przydziału tokenu.
stop array null Ciąg lub lista ciągów zawierających wyraz, w którym interfejs API przestaje generować kolejne tokeny. Zwrócony tekst nie będzie zawierać sekwencji zatrzymania.
best_of integer 1 Generuje uzupełnianie best_of po stronie serwera i zwraca wartość "best" (jedyną z najniższym prawdopodobieństwem dziennika na token). Nie można przesyłać strumieniowo wyników. W przypadku użycia z nprogramem best_of określa liczbę ukończonych kandydatów i n określa liczbę zwracanych elementów —best_of musi być większa niż n.
Uwaga: ponieważ ten parametr generuje wiele uzupełniania, może szybko korzystać z limitu przydziału tokenu.
logprobs integer null Liczba wskazująca na uwzględnienie prawdopodobieństwa dziennika na logprobs najbardziej prawdopodobnych tokenach i wybranych tokenach. Na przykład jeśli logprobs ma wartość 10, interfejs API zwraca listę 10 najbardziej prawdopodobnych tokenów. Interfejs API zawsze zwraca logprob przykładowego tokenu, więc w odpowiedzi może występować maksymalnie logprobs+1 element.
presence_penalty float null Liczba z zakresu od -2.0 do 2.0. Wartości dodatnie karzą nowe tokeny na podstawie tego, czy są one wyświetlane w tekście do tej pory, zwiększając prawdopodobieństwo, że model będzie mówił o nowych tematach.
ignore_eos boolean True Czy zignorować token EOS i kontynuować generowanie tokenów po wygenerowaniu tokenu EOS.
use_beam_search boolean False Czy używać wyszukiwania belki zamiast próbkowania. W takim przypadku best_of wartość musi być większa niż 1 i temperature musi mieć wartość 0.
stop_token_ids array null Lista identyfikatorów tokenów, które po wygenerowaniu zatrzymają dalsze generowanie tokenów. Zwrócone dane wyjściowe zawierają tokeny zatrzymania, chyba że tokeny zatrzymania są specjalnymi tokenami.
skip_special_tokens boolean null Czy pominąć specjalne tokeny w danych wyjściowych.

Obiekt messages ma następujące pola:

Klucz Type Wartość
content string Zawartość wiadomości. Zawartość jest wymagana dla wszystkich wiadomości.
role string Rola autora wiadomości. systemJeden z , userlub assistant.

Przykład

Treść

{
    "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,
}

Schemat odpowiedzi

Ładunek odpowiedzi to słownik z następującymi polami.

Klucz Type Opis
id string Unikatowy identyfikator ukończenia.
choices array Lista uzupełniania wybiera model wygenerowany dla komunikatów wejściowych.
created integer Sygnatura czasowa systemu Unix (w sekundach) czasu utworzenia ukończenia.
model string Model_id używany do ukończenia.
object string Typ obiektu, który jest zawsze chat.completion.
usage object Statystyki użycia dla żądania ukończenia.

Napiwek

W trybie przesyłania strumieniowego dla każdego fragmentu odpowiedzi finish_reason jest zawsze null, z wyjątkiem ostatniego, który jest przerywany przez ładunek [DONE]. W każdym choices obiekcie klucz dla messages elementu jest zmieniany przez delta.

Obiekt choices jest słownikiem z następującymi polami.

Klucz Type Opis
index integer Indeks wyboru. Jeśli best_ofwartość 1, indeks w tej tablicy może nie być w kolejności i może nie być wartością 0 n-1.>
messages lub delta string Wynik ukończenia czatu w messages obiekcie. Gdy używany jest tryb przesyłania strumieniowego, delta używany jest klucz.
finish_reason string Przyczyna zatrzymania generowania tokenów przez model:
- stop: model osiąga naturalny punkt zatrzymania lub podaną sekwencję zatrzymania.
- length: jeśli osiągnięto maksymalną liczbę tokenów.
- content_filter: Kiedy RAI moderuje i CMP wymusza moderowanie
- content_filter_error: błąd podczas moderowania i nie był w stanie podjąć decyzji w sprawie odpowiedzi
- null: Odpowiedź interfejsu API jest nadal w toku lub niekompletna.
logprobs object Prawdopodobieństwo dziennika wygenerowanych tokenów w tekście wyjściowym.

Obiekt usage jest słownikiem z następującymi polami.

Klucz Type Wartość
prompt_tokens integer Liczba tokenów w wierszu polecenia.
completion_tokens integer Liczba tokenów wygenerowanych w zakończeniu.
total_tokens integer Łączna liczba tokenów.

Obiekt logprobs jest słownikiem z następującymi polami:

Klucz Type Wartość
text_offsets array dla integers Pozycja lub indeks każdego tokenu w danych wyjściowych ukończenia.
token_logprobs array dla float Wybrane logprobs ze słownika w top_logprobs tablicy.
tokens array dla string Wybrane tokeny.
top_logprobs array dla dictionary Tablica słownika. W każdym słowniku kluczem jest token, a wartość jest sondą.

Przykład

Poniżej znajduje się przykładowa odpowiedź:

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

Wdrażanie modeli Meta Llama w zarządzanych środowiskach obliczeniowych

Oprócz wdrażania za pomocą usługi zarządzanej z płatnością zgodnie z rzeczywistym użyciem można również wdrożyć modele Meta Llama 3.1 w celu zarządzania obliczeniami w usłudze Azure Machine Learning Studio. Po wdrożeniu w zarządzanym środowisku obliczeniowym można wybrać wszystkie szczegóły dotyczące infrastruktury, w której działa model, w tym maszyn wirtualnych do użycia oraz liczbę wystąpień do obsługi przewidywanego obciążenia. Modele wdrożone w zarządzanym środowisku obliczeniowym zużywają limit przydziału z subskrypcji. Na zarządzanych obliczeniach są dostępne następujące modele z fali wydania 3.1:

  • Meta-Llama-3.1-8B-Instruct (Obsługiwany ft)
  • Meta-Llama-3.1-70B-Instruct (Obsługiwany ft)
  • Meta-Llama-3.1-8B (Obsługiwany ft)
  • Meta-Llama-3.1-70B (Obsługiwany ft)
  • Llama Guard 3 8B
  • Prompt Guard

Tworzenie nowego wdrożenia

Wykonaj następujące kroki, aby wdrożyć model, taki jak Meta-Llama-3.1-70B-Instruct w zarządzanym środowisku obliczeniowym w usłudze Azure Machine Learning Studio.

  1. Wybierz obszar roboczy, w którym chcesz wdrożyć model.

  2. Wybierz model, który chcesz wdrożyć z katalogu modeli studia.

    Możesz też zainicjować wdrożenie, przechodząc do obszaru roboczego i wybierając pozycję Punkty końcowe>Zarządzane comput>Utwórz.

  3. Na stronie przeglądu modelu wybierz pozycję Wdróż, a następnie pozycję Zarządzane obliczenia bez bezpieczeństwa zawartości usługi Azure AI.

  4. Na stronie Wdrażanie przy użyciu bezpieczeństwa zawartości usługi Azure AI (wersja zapoznawcza) wybierz pozycję Pomiń bezpieczeństwo zawartości usługi Azure AI, aby móc nadal wdrażać model przy użyciu interfejsu użytkownika.

    Napiwek

    Ogólnie rzecz biorąc, zalecamy wybranie pozycji Włącz bezpieczeństwo zawartości sztucznej inteligencji platformy Azure (zalecane) w celu wdrożenia modelu Meta Llama. Ta opcja wdrażania jest obecnie obsługiwana tylko przy użyciu zestawu SDK języka Python i odbywa się to w notesie.

  5. Wybierz pozycję Kontynuuj.

    Napiwek

    Jeśli nie masz wystarczającego limitu przydziału dostępnego w wybranym projekcie, możesz użyć opcji Chcę użyć udostępnionego limitu przydziału i przyznaję, że ten punkt końcowy zostanie usunięty w ciągu 168 godzin.

  6. Wybierz maszynę wirtualną i liczbę wystąpień, którą chcesz przypisać do wdrożenia.

  7. Wybierz, czy chcesz utworzyć to wdrożenie jako część nowego punktu końcowego lub istniejącego. Punkty końcowe mogą hostować wiele wdrożeń przy zachowaniu wyłączności konfiguracji zasobów dla każdego z nich. Wdrożenia w ramach tego samego punktu końcowego współużytkuje identyfikator URI punktu końcowego i jego klucze dostępu.

  8. Określ, czy chcesz włączyć zbieranie danych wnioskowania (wersja zapoznawcza).

  9. Określ, czy chcesz włączyć model pakietu (wersja zapoznawcza).

  10. Wybierz Wdróż. Po kilku chwilach zostanie otwarta strona Szczegóły punktu końcowego.

  11. Poczekaj na zakończenie tworzenia i wdrażania punktu końcowego. Ten krok może potrwać kilka minut.

  12. Wybierz stronę Korzystanie z punktu końcowego, aby uzyskać przykłady kodu, których można użyć do korzystania z wdrożonego modelu w aplikacji.

Aby uzyskać więcej informacji na temat wdrażania modeli w zarządzanych obliczeniach przy użyciu programu Studio, zobacz Deploying foundation models to endpoints for inferencing (Wdrażanie modeli podstawowych w punktach końcowych na potrzeby wnioskowania).

Użycie modeli Meta Llama wdrożonych w zarządzanym środowisku obliczeniowym

Aby uzyskać informacje na temat wywoływania modeli Meta Llama 3 wdrożonych w zarządzanych obliczeniach, zobacz kartę modelu w katalogu modeli usługi Azure Machine Learning Studio. Karta każdego modelu zawiera stronę przeglądu zawierającą opis modelu, przykłady dotyczące wnioskowania opartego na kodzie, dostrajania i oceny modelu.

Dodatkowe przykłady wnioskowania

Pakiet Przykładowy notes
Interfejs wiersza polecenia przy użyciu narzędzi CURL i żądań internetowych języka Python webrequests.ipynb
Zestaw OPENAI SDK (eksperymentalny) openaisdk.ipynb
LangChain langchain.ipynb
LiteLLM SDK litellm.ipynb

Koszt i przydziały

Zagadnienia dotyczące kosztów i limitów przydziału dla modeli Meta Llama 3.1 wdrożonych jako bezserwerowy interfejs API

Modele Meta Llama 3.1 wdrożone jako bezserwerowy interfejs API są oferowane przez meta za pośrednictwem witryny Azure Marketplace i zintegrowane z usługą Azure Machine Learning Studio do użycia. Cennik witryny Azure Marketplace można uzyskać podczas wdrażania lub dostrajania modeli.

Za każdym razem, gdy obszar roboczy subskrybuje daną ofertę modelu z witryny Azure Marketplace, tworzony jest nowy zasób w celu śledzenia kosztów związanych z jego zużyciem. Ten sam zasób służy do śledzenia kosztów skojarzonych z wnioskowaniem i dostrajania; jednak w ramach śledzenia każdego scenariusza można niezależnie śledzić wiele mierników.

Aby uzyskać więcej informacji na temat śledzenia kosztów, zobacz Monitorowanie kosztów modeli oferowanych w witrynie Azure Marketplace.

Zrzut ekranu przedstawiający różne zasoby odpowiadające różnym ofertom modeli i skojarzonym miernikom.

Limit przydziału jest zarządzany na wdrożenie. Każde wdrożenie ma limit szybkości wynoszący 400 000 tokenów na minutę i 1000 żądań interfejsu API na minutę. Obecnie jednak ograniczamy jedno wdrożenie na model na projekt. Skontaktuj się z pomocą techniczną platformy Microsoft Azure, jeśli bieżące limity szybkości nie są wystarczające dla Twoich scenariuszy.

Zagadnienia dotyczące kosztów i limitów przydziału dla modeli Meta Llama 3.1 wdrożonych zarządzanych zasobów obliczeniowych

W przypadku wdrażania i wnioskowania modeli Meta Llama 3.1 z zarządzanymi obliczeniami używasz limitu przydziału rdzeni maszyny wirtualnej przypisanego do subskrypcji w poszczególnych regionach. Po zarejestrowaniu się w usłudze Azure AI Studio otrzymasz domyślny limit przydziału maszyn wirtualnych dla kilku rodzin maszyn wirtualnych dostępnych w regionie. Wdrożenia można tworzyć nadal do momentu osiągnięcia limitu przydziału. Po osiągnięciu tego limitu możesz zażądać zwiększenia limitu przydziału.

Filtrowanie zawartości

Modele wdrożone jako bezserwerowy interfejs API są chronione przez bezpieczeństwo zawartości usługi Azure AI. Po wdrożeniu w zarządzanych obliczeniach możesz zrezygnować z tej możliwości. Po włączeniu bezpieczeństwa zawartości sztucznej inteligencji platformy Azure zarówno monit, jak i ukończenie przechodzą przez zespół modeli klasyfikacji mających na celu wykrywanie i zapobieganie wyjściu szkodliwej zawartości. System filtrowania zawartości wykrywa i podejmuje działania na określonych kategoriach potencjalnie szkodliwej zawartości w monitach wejściowych i uzupełnianiu danych wyjściowych. Dowiedz się więcej o bezpieczeństwie zawartości usługi Azure AI.