Come usare la famiglia Meta Llama di modelli con studio di Azure Machine Learning
In questo articolo vengono fornite informazioni sulla famiglia di modelli Meta Llama (LLM). I modelli e gli strumenti Meta Llama sono una raccolta di modelli ragionamento basato su immagine e testo di IA generativa con training preliminare e ottimizzazione, che vanno da modelli linguistici di piccole dimensioni (SLM), ad esempio modelli Base and Instruct 1B e 3B, per inferenza nei dispositivi e nella rete perimetrale, a modelli linguistici di medie dimensioni, ad esempio modelli Base and Instruct 7B, 8B e 70B, e modelli a prestazioni elevate come Meta Llama 3.1 405B Instruct per i casi d'uso di generazione e la selezione di dati sintetici.
Suggerimento
Vedere gli annunci relativi ai modelli della famiglia Meta Llama 3.2 ora disponibili nel catalogo modelli di Azure per intelligenza artificiale tramite il blog di Meta e il blog di Microsoft Tech Community.
Vedere gli esempi di GitHub seguenti per esplorare le integrazioni con LangChain, LiteLLM, OpenAI e l'API di Azure.
Importante
Questa funzionalità è attualmente in anteprima pubblica. Questa versione di anteprima viene fornita senza contratto di servizio, pertanto se ne sconsiglia l’uso per i carichi di lavoro in ambienti di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate.
Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
Famiglia di modelli Meta Llama
La famiglia Meta Llama di modelli include i modelli seguenti:
È ora disponibile la raccolta Llama 3.2 di modelli linguistici di piccole dimensioni (SLM) e modelli di ragionamento basato su immagini. Llama 3.2 11B Vision Instruct e Llama 3.2 90B Vision Instruct saranno disponibili a breve come endpoint API serverless tramite Models-as-a-Service. A partire da oggi, i modelli seguenti saranno disponibili per la distribuzione tramite calcolo gestito:
- 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
- I modelli Llama 3.2 90B Vision Instruct sono disponibili per la distribuzione con calcolo gestito.
Prerequisiti
Una sottoscrizione di Azure con un metodo di pagamento valido. Le sottoscrizioni di Azure gratuite o di valutazione non funzioneranno. Se non si dispone di una sottoscrizione di Azure, è possibile creare un account Azure gratuito per iniziare.
Un'area di lavoro di Azure Machine Learning e un'istanza di ambiente di calcolo. Se non sono disponibili, seguire la procedura descritta nell'articolo Avvio rapido: Creare risorse dell'area di lavoro per crearle. L'offerta di distribuzione del modello API serverless per Meta Llama 3.1 e Llama 3 è disponibile solo con le aree di lavoro create in queste aree:
- Stati Uniti orientali
- Stati Uniti orientali 2
- Stati Uniti centro-settentrionali
- Stati Uniti centro-meridionali
- Stati Uniti occidentali
- Stati Uniti occidentali 3
- Svezia centrale
Per un elenco delle aree disponibili per ognuno dei modelli che supportano distribuzioni di endpoint API serverless, vedere Disponibilità dell'area per i modelli negli endpoint API serverless.
I controlli degli accessi in base al ruolo di Azure vengono usati per concedere l'accesso alle operazioni in Azure Machine Learning. Per eseguire la procedura descritta in questo articolo, è necessario che all'account utente sia assegnato il ruolo di proprietario o collaboratore per la sottoscrizione di Azure. In alternativa, all'account può essere assegnato un ruolo personalizzato con le autorizzazioni seguenti:
Nella sottoscrizione di Azure, per sottoscrivere l'area di lavoro all'offerta di Azure Marketplace, una volta per ogni area di lavoro, per offerta:
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
Nel gruppo di risorse, per creare e usare la risorsa SaaS:
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
Nell'area di lavoro, per distribuire gli endpoint (il ruolo data scientist di Azure Machine Learning contiene già queste autorizzazioni):
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Per altre informazioni sulle autorizzazioni, vedere Gestire l'accesso a un'area di lavoro di Azure Machine Learning.
Creare una nuova distribuzione
Per creare una distribuzione:
Passare ad Azure Machine Learning Studio.
Selezionare l'area di lavoro in cui distribuire i modelli. Per usare l'offerta di distribuzione del modello con pagamento in base al consumo con pagamento in base al consumo l'area di lavoro deve appartenere a una delle aree elencate nella sezione Prerequisiti. appartenere a una delle aree disponibili elencate nei prerequisiti di questo articolo.
Scegliere
Meta-Llama-3.1-405B-Instruct
da distribuire dal catalogo di modelli.In alternativa, è possibile avviare la distribuzione passando all'area di lavoro e selezionando Endpoint>Endpoint serverless>Crea.
Nella pagina Dettagli per
Meta-Llama-3.1-405B-Instruct
selezionare Deploy (Distribuisci ) e quindi selezionare API serverless con la Sicurezza dei contenuti di Azure AI.Nella distribuzione guidata selezionare il collegamento a Condizioni di Azure Marketplace per altre informazioni sulle condizioni per l'utilizzo. È anche possibile selezionare la scheda Dettagli sull'offerta in Marketplace per informazioni sui prezzi per il modello selezionato.
Se è la prima volta che si distribuisce il modello nell'area di lavoro, è necessario sottoscrivere l'area di lavoro per l'offerta specifica, ad esempio
Meta-Llama-3.1-405B-Instruct
, da Azure Marketplace. Questo passaggio richiede che l'account abbia le autorizzazioni per la sottoscrizione di Azure e le autorizzazioni del gruppo di risorse elencate nei prerequisiti. Ogni area di lavoro ha una propria sottoscrizione all'offerta di Azure Marketplace, che consente di controllare e monitorare la spesa. Selezionare Sottoscrivi e distribuisci.Nota
La sottoscrizione di un'area di lavoro a una determinata offerta di Azure Marketplace (in questo caso Llama-3-70B) richiede l'accesso di Collaboratore o Proprietario al livello di sottoscrizione in cui viene creato il progetto. In alternativa, all'account utente deve essere assegnato un ruolo personalizzato con le autorizzazioni per la sottoscrizione di Azure e le autorizzazioni del gruppo di risorse elencate nei prerequisiti.
Dopo la registrazione dell’area di lavoro a una determinata offerta di Azure Marketplace, le distribuzioni successive della stessa offerta nello stesso progetto non richiedono una nuova sottoscrizione. Quindi non è necessario disporre delle autorizzazioni a livello di sottoscrizione per le distribuzioni successive. Se questo scenario si applica all'utente, selezionare Continua a distribuire.
Assegnare un nome alla distribuzione. Questo nome diventa parte dell'URL dell'API di distribuzione. Questo URL deve essere univoco in ogni area di Azure.
Seleziona Distribuisci. Attendere il completamento della distribuzione e si viene reindirizzati alla pagina endpoint serverless.
Selezionare l'endpoint per aprire la relativa pagina Dettagli.
Selezionare la scheda Test per iniziare a interagire con il modello.
È anche possibile prendere nota dell'URL Target e della Chiave segreta per chiamare la distribuzione e generare completamenti.
È sempre possibile trovare i dettagli, l'URL e le chiavi di accesso dell'endpoint passando a Area di lavoro>Endpoint>Endpoint serverless.
Per informazioni sulla fatturazione per i modelli Meta Llama distribuiti come API serverless, vedere Considerazioni sui costi e sulle quote per modelli Meta Llama distribuiti come API serverless.
Utilizzare modelli Meta Llama come servizio
I modelli distribuiti come servizio possono essere utilizzati tramite la chat o l'API di completamento, a seconda del tipo di modello distribuito.
Nell'area di lavoro, selezionare Endpoint>Endpoint serverless.
Trovare e selezionare la distribuzione di
Meta-Llama-3.1-405B-Instruct
creata.Copiare l'URL Target e i valori del token Chiave.
Effettuare una richiesta API in base al tipo di modello distribuito.
- Per i modelli di completamento, ad esempio
Llama-3-8B
, usare l'API<target_url>/v1/completions
. - Per i modelli di chat, ad esempio
Meta-Llama-3.1-405B-Instruct
, usare l'API/chat/completions
.
Per altre informazioni sull'uso delle API, vedere la sezione di riferimento.
- Per i modelli di completamento, ad esempio
Informazioni di riferimento per i modelli Meta Llama 3.1 distribuiti come API serverless
I modelli Llama accettano sia l'API di inferenza del modello di Azure per intelligenza artificiale nella route /chat/completions
che un'API di chat Llama in /v1/chat/completions
. Allo stesso modo, i completamenti del testo possono essere generati usando l'API di inferenza del modello di Azure per intelligenza artificiale nella route /completions
o un'API di completamento Llama in /v1/completions
Lo schema dell'API di inferenza del modello di Azure per intelligenza artificiale è disponibile nell'articolo di riferimento sui completamenti delle chat. È inoltre possibile ottenere una specifica OpenAPI dall'endpoint stesso.
API di completamento
Usare il metodo POST
per inviare la richiesta alla route /v1/completions
:
Richiedi
POST /v1/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Schema della richiesta
Il payload è una stringa in formato JSON contenente i parametri seguenti:
Chiave | Type | Default | Descrizione |
---|---|---|---|
prompt |
string |
Nessuna impostazione predefinita. Questo valore deve essere specificato. | La richiesta di invio al modello. |
stream |
boolean |
False |
Lo streaming consente di inviare i token generati come eventi solo dati inviati dal server ogni volta che diventano disponibili. |
max_tokens |
integer |
16 |
Numero massimo di token da generare nel completamento. Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. |
top_p |
float |
1 |
Un'alternativa al campionamento con temperatura, denominata campionamento del nucleo, in cui il modello considera i risultati dei token con massa di probabilità top_p . Quindi 0,1 significa che vengono considerati solo i token che comprendono la massa di probabilità superiore del 10%. In genere è consigliabile modificare top_p o temperature , ma non entrambi. |
temperature |
float |
1 |
Temperatura di campionamento da usare, compresa tra 0 e 2. Valori più alti indicano che i campioni del modello sono più ampiamente la distribuzione dei token. Zero significa campionamento greedy. È consigliabile modificare questo o top_p , ma non entrambi. |
n |
integer |
1 |
Il numero di completamenti da generare per ogni richiesta. Nota: poiché questo parametro genera molti completamenti, può utilizzare rapidamente la quota del token. |
stop |
array |
null |
Una stringa o un elenco di stringhe che contiene la parola in cui l'API smette di generare altri token. Il testo restituito non conterrà la sequenza di interruzione. |
best_of |
integer |
1 |
Genera completamenti best_of sul lato server e restituisce il valore "migliore" (quello con la probabilità di log più bassa per token). I risultati non possono essere trasmessi in streaming. Se usato con n , best_of controlla il numero di completamenti candidati e n specifica quanti best_of da restituire devono essere maggiori di n . Nota: poiché questo parametro genera molti completamenti, può utilizzare rapidamente la quota del token. |
logprobs |
integer |
null |
Un numero che indica di includere le probabilità di log nei token logprobs più probabili e nei token scelti. Ad esempio, se logprobs è 10, l'API restituisce un elenco dei 10 token più probabili. L'API restituisce sempre il logprob del token campionato, quindi potrebbero essere presenti fino a logprobs +1 elementi nella risposta. |
presence_penalty |
float |
null |
Un numero compreso tra -2 e 2. I valori positivi penalizzano i nuovi token in base al fatto che vengano visualizzati o meno nel testo fino a questo momento, aumentando la probabilità del modello di parlare di nuovi argomenti. |
ignore_eos |
boolean |
True |
Indica se ignorare il token EOS e continuare a generare token dopo la generazione del token EOS. |
use_beam_search |
boolean |
False |
Indica se usare la ricerca beam anziché il campionamento. In tal caso best_of deve essere maggiore di 1 e temperature deve essere 0 . |
stop_token_ids |
array |
null |
Un elenco di ID per i token che, quando vengono generati, arrestano un'ulteriore generazione di token. L'output restituito contiene i token di arresto a meno che i token di arresto non siano token speciali. |
skip_special_tokens |
boolean |
null |
Indica se ignorare i token speciali nell'output. |
Esempio
Testo
{
"prompt": "What's the distance to the moon?",
"temperature": 0.8,
"max_tokens": 512,
}
Schema della risposta
Il payload della risposta è un dizionario con i campi seguenti.
Chiave | Type | Descrizione |
---|---|---|
id |
string |
Un identificatore univoco del completamento. |
choices |
array |
L'elenco delle scelte di completamento che il modello ha generato per il prompt di input. |
created |
integer |
Il timestamp Unix (in secondi) del momento in cui è stato creato il completamento. |
model |
string |
Il model_id usato per il completamento. |
object |
string |
Il tipo di oggetto, che è sempre text_completion . |
usage |
object |
Statistiche di utilizzo per la richiesta di completamento. |
Suggerimento
Nella modalità di streaming, per ogni blocco di risposta, finish_reason
è sempre null
, ad eccezione dell'ultimo che viene terminato da un payload [DONE]
.
L'oggetto choices
è un dizionario con i campi seguenti.
Chiave | Type | Descrizione |
---|---|---|
index |
integer |
L'indice della scelta. Quando best_of > 1, l'indice nella matrice potrebbe non essere in ordine e il valore può andare da 0 a n-1. |
text |
string |
Il risultato del completamento. |
finish_reason |
string |
Il motivo per cui il modello ha interrotto la generazione di token: - stop : il modello ha raggiunto un punto di arresto naturale o una sequenza di interruzione specificata. - length : è stato raggiunto il numero massimo di token. - content_filter : quando RAI modera e CMP forza la moderazione. - content_filter_error : si è verificato un errore durante la moderazione e non è stato possibile prendere la decisione sulla risposta. - null : la risposta dell'API è ancora in corso o è incompleta. |
logprobs |
object |
Probabilità di log dei token generati nel testo di output. |
L'oggetto usage
è un dizionario con i campi seguenti.
Chiave | Type | Valore |
---|---|---|
prompt_tokens |
integer |
Numero di token nel prompt. |
completion_tokens |
integer |
Numero di token generati nel completamento. |
total_tokens |
integer |
Token totali. |
L'oggetto logprobs
è un dizionario con i campi seguenti:
Chiave | Type | Valore |
---|---|---|
text_offsets |
array di integers |
Posizione o indice di ogni token nell'output di completamento. |
token_logprobs |
array di float |
È stato selezionato logprobs dal dizionario nella matrice top_logprobs . |
tokens |
array di string |
Token selezionati. |
top_logprobs |
array di dictionary |
Matrice di dizionario. In ogni dizionario la chiave è il token e il valore è il probe. |
Esempio
{
"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
}
}
API chat
Usare il metodo POST
per inviare la richiesta alla route /v1/chat/completions
:
Richiedi
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Schema della richiesta
Il payload è una stringa in formato JSON contenente i parametri seguenti:
Chiave | Type | Default | Descrizione |
---|---|---|---|
messages |
string |
Nessuna impostazione predefinita. Questo valore deve essere specificato. | Messaggio o cronologia dei messaggi da usare per richiedere il modello. |
stream |
boolean |
False |
Lo streaming consente di inviare i token generati come eventi inviati dal server solo dati ogni volta che diventano disponibili. |
max_tokens |
integer |
16 |
Numero massimo di token da generare nel completamento. Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. |
top_p |
float |
1 |
Un'alternativa al campionamento con temperatura, denominata campionamento del nucleo, in cui il modello considera i risultati dei token con massa di probabilità top_p . Quindi 0,1 significa che vengono considerati solo i token che comprendono la massa di probabilità superiore del 10%. In genere è consigliabile modificare top_p o temperature , ma non entrambi. |
temperature |
float |
1 |
Temperatura di campionamento da usare, compresa tra 0 e 2. Valori più alti indicano che i campioni del modello sono più ampiamente la distribuzione dei token. Zero significa campionamento greedy. È consigliabile modificare questo o top_p , ma non entrambi. |
n |
integer |
1 |
Il numero di completamenti da generare per ogni richiesta. Nota: poiché questo parametro genera molti completamenti, può utilizzare rapidamente la quota del token. |
stop |
array |
null |
Una stringa o un elenco di stringhe che contiene la parola in cui l'API smette di generare altri token. Il testo restituito non conterrà la sequenza di interruzione. |
best_of |
integer |
1 |
Genera completamenti best_of sul lato server e restituisce il valore "migliore" (quello con la probabilità di log più bassa per token). I risultati non possono essere trasmessi in streaming. Se usato con n , best_of controlla il numero di completamenti candidati e n specifica il numero da restituire: best_of deve essere maggiore di n . Nota: poiché questo parametro genera molti completamenti, può utilizzare rapidamente la quota del token. |
logprobs |
integer |
null |
Un numero che indica di includere le probabilità di log nei token logprobs più probabili e nei token scelti. Ad esempio, se logprobs è 10, l'API restituisce un elenco dei 10 token più probabili. L'API restituirà sempre il logprob del token campionato, quindi potrebbero essere presenti fino a logprobs +1 elementi nella risposta. |
presence_penalty |
float |
null |
Un numero compreso tra -2 e 2. I valori positivi penalizzano i nuovi token in base al fatto che vengano visualizzati o meno nel testo fino a questo momento, aumentando la probabilità del modello di parlare di nuovi argomenti. |
ignore_eos |
boolean |
True |
Indica se ignorare il token EOS e continuare a generare token dopo la generazione del token EOS. |
use_beam_search |
boolean |
False |
Indica se usare la ricerca beam anziché il campionamento. In tal caso best_of deve essere maggiore di 1 e temperature deve essere 0 . |
stop_token_ids |
array |
null |
Un elenco di ID per i token che, quando vengono generati, arrestano un'ulteriore generazione di token. L'output restituito contiene i token di arresto a meno che i token di arresto non siano token speciali. |
skip_special_tokens |
boolean |
null |
Indica se ignorare i token speciali nell'output. |
L'oggetto messages
ha i campi seguenti:
Chiave | Type | Valore |
---|---|---|
content |
string |
Contenuto del messaggio. Il contenuto è obbligatorio per tutti i messaggi. |
role |
string |
Ruolo dell'autore del messaggio. Uno tra system , user e assistant . |
Esempio
Testo
{
"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,
}
Schema della risposta
Il payload della risposta è un dizionario con i campi seguenti.
Chiave | Type | Descrizione |
---|---|---|
id |
string |
Identificatore univoco per il completamento. |
choices |
array |
Elenco delle scelte di completamento del modello generato per i messaggi di input. |
created |
integer |
Timestamp Unix (in secondi) di quando è stato creato il completamento. |
model |
string |
Il model_id usato per il completamento. |
object |
string |
Il tipo di oggetto, che è sempre chat.completion . |
usage |
object |
Statistiche di utilizzo per la richiesta di completamento. |
Suggerimento
Nella modalità di streaming, per ogni blocco di risposta, finish_reason
è sempre null
, ad eccezione dell'ultimo che viene terminato da un payload [DONE]
. In ogni oggetto choices
la chiave per messages
viene modificata da delta
.
L'oggetto choices
è un dizionario con i campi seguenti.
Chiave | Type | Descrizione |
---|---|---|
index |
integer |
Indice di scelta. Quando best_of > 1, l'indice nella matrice potrebbe non essere in ordine e il valore può andare da 0 a n-1 . |
messages oppure delta |
string |
Il completamento della chat genera l'oggetto messages . Quando viene usata la modalità di streaming, viene usata la chiave delta . |
finish_reason |
string |
Motivo per cui il modello ha interrotto la generazione di token: - stop : il modello ha raggiunto un punto di arresto naturale o una sequenza di interruzione specificata. - length : è stato raggiunto il numero massimo di token. - content_filter : quando RAI modera e CMP forza la moderazione - content_filter_error : si è verificato un errore durante la moderazione e non è stato possibile prendere la decisione sulla risposta - null : la risposta dell'API è ancora in corso o è incompleta. |
logprobs |
object |
Probabilità di log dei token generati nel testo di output. |
L'oggetto usage
è un dizionario con i campi seguenti.
Chiave | Type | Valore |
---|---|---|
prompt_tokens |
integer |
Numero di token nel prompt. |
completion_tokens |
integer |
Numero di token generati nel completamento. |
total_tokens |
integer |
Token totali. |
L'oggetto logprobs
è un dizionario con i campi seguenti:
Chiave | Type | Valore |
---|---|---|
text_offsets |
array di integers |
Posizione o indice di ogni token nell'output di completamento. |
token_logprobs |
array di float |
È stato selezionato logprobs dal dizionario nella matrice top_logprobs . |
tokens |
array di string |
Token selezionati. |
top_logprobs |
array di dictionary |
Matrice di dizionario. In ogni dizionario la chiave è il token e il valore è il probe. |
Esempio
Di seguito è riportato un esempio di risposta:
{
"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
}
}
Distribuire modelli Meta Llama in un ambiente di calcolo gestito
Oltre alla distribuzione con il servizio gestito con pagamento in base al consumo, è anche possibile distribuire i modelli Meta Llama 3.1 a un calcolo gestito nello studio di Azure Machine Learning. Quando vengono distribuiti in ambienti di calcolo gestito, è possibile selezionare tutti i dettagli sull'infrastruttura che esegue il modello, tra cui le macchine virtuali da usare e il numero di istanze per gestire il carico previsto. I modelli distribuiti nel calcolo gestito utilizzano la quota dalla sottoscrizione. I modelli seguenti del ciclo di rilascio 3.1 sono disponibili nel calcolo gestito:
Meta-Llama-3.1-8B-Instruct
(compatibile con FT)Meta-Llama-3.1-70B-Instruct
(compatibile con FT)Meta-Llama-3.1-8B
(compatibile con FT)Meta-Llama-3.1-70B
(FT supportato)Llama Guard 3 8B
Prompt Guard
Creare una nuova distribuzione
Seguire questa procedura per distribuire un modello, ad esempio Meta-Llama-3.1-70B-Instruct
in un ambiente di calcolo gestito nello studio di Azure Machine Learning.
Selezionare l'area di lavoro in cui distribuire il modello.
Scegliere il modello da distribuire dal catalogo dei modelli dello studio.
In alternativa, è possibile avviare la distribuzione passando all'area di lavoro e selezionando Endpoint>Comput gestito>Crea.
Nella pagina di panoramica del modello selezionare Distribuisci e quindi Calcolo gestito senza Sicurezza dei contenuti di Azure AI.
Nella pagina Distribuisci con Sicurezza dei contenuti di Azure AI (anteprima) selezionare Ignora Sicurezza dei contenuti di Azure AI in modo da poter continuare a distribuire il modello usando l'interfaccia utente.
Suggerimento
In generale, è consigliabile selezionare Abilita Sicurezza dei contenuti di Azure AI (consigliato) per la distribuzione del modello Meta Llama. Questa opzione di distribuzione è attualmente supportata solo con Python SDK e si verifica in un notebook.
Selezionare Continua.
Suggerimento
Se nel progetto selezionato non è disponibile una quota sufficiente, è possibile usare l'opzione Voglio usare la quota condivisa e accetto che questo endpoint venga eliminato tra 168 ore.
Selezionare la macchina virtuale e il numero di istanze da assegnare alla distribuzione.
Scegliere se si vuole creare questa distribuzione come parte di un nuovo endpoint o di un endpoint esistente. Gli endpoint possono ospitare più distribuzioni e allo stesso tempo mantenere la configurazione delle risorse esclusiva per ognuna di loro. Le distribuzioni nello stesso endpoint condividono l'URI dell'endpoint e le relative chiavi di accesso.
Indicare se si vuole abilitare Raccolta dati di inferenza (anteprima).
Indicare se si vuole abilitare Package Model (anteprima).
Seleziona Distribuisci. Dopo alcuni istanti, viene visualizzata la pagina Dettagli dell'endpoint.
Attendere il completamento della creazione e della distribuzione dell'endpoint. Questo passaggio potrebbe richiedere alcuni minuti.
Selezionare la pagina Utilizzare dell'endpoint per ottenere esempi di codice che è possibile usare per usare il modello distribuito nell'applicazione.
Per altre informazioni su come distribuire modelli a un calcolo gestito tramite lo studio, vedere Distribuzione di modelli di base in endpoint per l'inferenza.
Consumare i modelli Meta Llama distribuiti in un ambiente di calcolo gestito
Per informazioni di riferimento su come richiamare i modelli Meta Llama 3 distribuiti nel calcolo gestito, vedere la scheda del modello nel catalogo modelli dello studio di Azure Machine Learning. La scheda di ogni modello include una pagina di panoramica con una descrizione del modello, esempi per l'inferenza basata su codice, l'ottimizzazione e la valutazione del modello.
Altri esempi di inferenza
Pacchetto | Notebook di esempio |
---|---|
Interfaccia della riga di comando con richieste Web CURL e Python | webrequests.ipynb |
SDK di OpenAI (sperimentale) | openaisdk.ipynb |
LangChain | langchain.ipynb |
LiteLLM SDK | litellm.ipynb |
Costi e quote
Considerazioni su costi e quote per i modelli Meta Llama 3.1 distribuiti come API serverless
I modelli Meta Llama 3.1 distribuiti come API serverless vengono offerti da Meta tramite Azure Marketplace e integrati con lo studio di Azure Machine Learning. È possibile trovare i prezzi di Azure Marketplace durante la distribuzione o l'ottimizzazione dei modelli.
Ogni volta che un'area di lavoro sottoscrive un'offerta di modello specifica da Azure Marketplace, viene creata una nuova risorsa per tenere traccia dei costi associati al consumo. La stessa risorsa viene usata per tenere traccia dei costi associati all'inferenza e all'ottimizzazione; tuttavia, sono disponibili più contatori per tenere traccia di ogni scenario in modo indipendente.
Per altre informazioni su come tenere traccia dei costi, vedere Monitorare i costi per i modelli offerti tramite Azure Marketplace.
La quota viene gestita per distribuzione. Ogni distribuzione ha un limite di frequenza di 200.000 token al minuto e 1.000 richieste API al minuto. Attualmente, tuttavia, viene limitata una distribuzione per ogni modello per ogni progetto. Contattare il supporto tecnico di Microsoft Azure se i limiti di frequenza correnti non sono sufficienti per gli scenari in uso.
Considerazioni su costi e quote per i modelli Meta Llama 3.1 distribuiti nel calcolo gestito
Per la distribuzione e l'inferenza di modelli Meta Llama 3.1 con un ambiente di calcolo gestito, viene utilizzata la quota di core della macchina virtuale assegnata alla sottoscrizione in base all'area. Quando si effettua l'iscrizione a Studio AI della piattaforma Azure, si riceve una quota di VM predefinita per diverse famiglie di macchine virtuali disponibili nell'area. È possibile continuare a creare distribuzioni fino a raggiungere il limite di quota. Dopo aver raggiunto questo limite, è possibile richiedere un aumento della quota.
Filtri dei contenuti
I modelli distribuiti come API serverless sono protetti dalla Sicurezza dei contenuti di Azure AI. Quando si esegue la distribuzione in un ambiente di calcolo gestito, è possibile rifiutare esplicitamente questa funzionalità. Con la sicurezza dei contenuti di Intelligenza artificiale di Azure abilitata, sia il prompt che il completamento passano attraverso un insieme di modelli di classificazione volti a rilevare e impedire l'output di contenuto dannoso. Il sistema di filtro del contenuto (anteprima) rileva e agisce su categorie specifiche di contenuto potenzialmente dannoso sia nelle richieste di input che nei completamenti di output. Altre informazioni su Sicurezza dei contenuti di Azure per intelligenza artificiale.