Come distribuire JAIS con Azure Machine Learning Studio
Questo articolo illustra come usare Studio di Azure Machine Learning per distribuire il modello JAIS come servizio con pagamento in base al consumo.
Il modello JAIS è disponibile in Studio di Azure Machine Learning con fatturazione basata su token con pagamento in base al consumo con modelli come servizio.
È possibile trovare il modello JAIS nel catalogo dei modelli filtrando la raccolta JAIS.
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. Se non sono disponibili, seguire la procedura descritta nell'articolo Avvio rapido: Creare risorse dell'area di lavoro per crearle. L'offerta di distribuzione modello API serverless per JAIS è disponibile solo con le aree di lavoro create in queste aree geografiche:
- 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 Studio AI della piattaforma Azure. Per eseguire la procedura descritta in questo articolo, all'account utente deve essere assegnato il ruolo di sviluppatore di Azure per intelligenza artificiale nel gruppo di risorse. Per altre informazioni sulle autorizzazioni, vedere Controllo degli accessi in base al ruolo in Studio AI della piattaforma Azure.
JAIS 30b Chat
JAIS 30b Chat è un LLM bidirezionale in regressione automatica per arabo e inglese. Le versioni ottimizzate usano l'ottimizzazione con supervisione (SFT). Il modello è ottimizzato sia con coppie di risposta in arabo che in inglese. I set di dati di ottimizzazione includono un'ampia gamma di dati di istruzioni in vari domini. Il modello copre un'ampia gamma di attività comuni, tra cui la risposta alle domande, la generazione di codice e il ragionamento sul contenuto testuale. Per migliorare le prestazioni in arabo, il team Core42 ha sviluppato un set di dati in arabo interno, oltre a tradurre in arabo alcune istruzioni open source in inglese.
Lunghezza contesto: JAIS 30b Chat supporta una lunghezza del contesto di 8K.
Input: l'input del modello è solo testo.
Output: il modello genera solo testo.
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.
Distribuzione con pagamento in base al consumo
Alcuni modelli nel catalogo dei modelli possono essere distribuiti come servizio con pagamento in base al consumo, offrendo un modo per utilizzarli come API senza ospitarli nella sottoscrizione, mantenendo al tempo stesso le organizzazioni di sicurezza e conformità aziendali necessarie. Questa opzione di distribuzione non richiede la quota dalla sottoscrizione.
Il modello JAIS 30b Chat indicato in precedenza può essere distribuito come servizio con pagamento in base al consumo ed è offerto da Core42 tramite Microsoft Azure Marketplace. Core42 può modificare o aggiornare le condizioni per l'utilizzo e i prezzi di questo modello.
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, l'area di lavoro deve appartenere all'area Stati Uniti orientali 2 o Svezia centrale.
Cercare JAIS e selezionare il modello Jais-30b-chat dal catalogo dei modelli.
Nella pagina di panoramica del modello nel catalogo dei modelli selezionare Distribuisci.
Nella distribuzione guidata selezionare il collegamento a Condizioni di Azure Marketplace per altre informazioni sulle condizioni per l'utilizzo.
È anche possibile selezionare la scheda Prezzi e termini 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 del modello. Questo passaggio richiede che l'account disponga delle autorizzazioni associate al ruolo di sviluppatore di Azure per intelligenza artificiale per il gruppo di risorse, come indicato nei prerequisiti. Ogni area di lavoro ha una propria sottoscrizione per l'offerta specifica di Azure Marketplace, che consente di controllare e monitorare la spesa. Selezionare Sottoscrivi e distribuisci. Attualmente è possibile avere una sola distribuzione per ogni modello all'interno di un'area di lavoro.
Dopo la sottoscrizione 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. Se questo scenario si applica all'utente, verrà visualizzata un'opzione Continua a distribuire da selezionare.
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.
È sempre possibile trovare i dettagli, l'URL e le chiavi di accesso dell'endpoint passando a Area di lavoro>Endpoint>Endpoint serverless.
Prendere nota dell'URL di Destinazione e della Chiave privata. Per altre informazioni sull'uso delle API, vedere la sezione di riferimento.
Per informazioni sulla fatturazione per i modelli distribuiti con pagamento in base al consumo, vedere Considerazioni sui costi e sulle quote per i modelli JAIS distribuiti come servizio.
Usare il modello JAIS 30b Chat come servizio
Questi modelli possono essere utilizzati usando l'API di chat.
Nell'area di lavoro selezionare la scheda Endpoint a sinistra.
Passare alla scheda Endpoint serverless.
Selezionare la distribuzione per JAIS 30b Chat.
È possibile testare la distribuzione nella scheda Test.
Per usare le API, copiare l'URL di destinazione e il valore della chiave.
Per altre informazioni sull'uso delle API, vedere la sezione di riferimento.
Informazioni di riferimento sulle API chat per JAIS distribuite come servizio
v1/chat/completions
Richiedi
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Schema di richiesta v1/chat/completamenti
JAIS 30b Chat accetta i parametri seguenti per una chiamata di inferenza della risposta v1/chat/completions
:
Proprietà | Type | Default | Descrizione |
---|---|---|---|
messages |
array |
None |
Input di testo per il modello a cui rispondere. |
max_tokens |
integer |
None |
Numero massimo di token generati dal modello come parte della risposta. Nota: l'impostazione di un valore basso potrebbe determinare generazioni incomplete. Se non specificato, genera token fino alla fine della sequenza. |
temperature |
float |
0.3 |
Controlla la casualità nel modello. I valori inferiori renderanno il modello più deterministico e valori superiori renderanno il modello più casuale. |
top_p |
float |
None |
La probabilità cumulativa dei token del vocabolario di probabilità più alta da mantenere per il campionamento del nucleo, il valore predefinito è null. |
top_k |
integer |
None |
Numero di token di vocabolario di probabilità più elevati da mantenere per il filtro top-k, il valore predefinito è null. |
Un messaggio di sistema o utente supporta le proprietà seguenti:
Proprietà | Type | Default | Descrizione |
---|---|---|---|
role |
enum |
Richiesto | role=system o role=user . |
content |
string |
Richiesto | Input di testo per il modello a cui rispondere. |
Un messaggio assistente supporta le proprietà seguenti:
Proprietà | Type | Default | Descrizione |
---|---|---|---|
role |
enum |
Richiesto | role=assistant |
content |
string |
Richiesto | Contenuto del messaggio dell'assistente. |
Schema di risposta v1/chat/completamenti
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 |
chat.completion. |
usage |
object |
Statistiche di utilizzo per la richiesta di completamento. |
L'oggetto choices
è un dizionario con i campi seguenti:
Chiave | Type | Descrizione |
---|---|---|
index |
integer |
Indice di scelta. |
messages oppure delta |
string |
Il completamento della chat comporta l'oggetto messaggi. 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. |
L'oggetto usage
è un dizionario con i campi seguenti:
Chiave | Type | Descrizione |
---|---|---|
prompt_tokens |
integer |
Numero di token nel prompt. |
completion_tokens |
integer |
Numero di token generati nel completamento. |
total_tokens |
integer |
Token totali. |
Esempi
arabo
Richiesta:
"messages": [
{
"role": "user",
"content": "ما هي الأماكن الشهيرة التي يجب زيارتها في الإمارات؟"
}
]
Risposta:
{
"id": "df23b9f7-e6bd-493f-9437-443c65d428a1",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "هناك العديد من الأماكن المذهلة للزيارة في الإمارات! ومن أشهرها برج خليفة في دبي وهو أطول مبنى في العالم ، ومسجد الشيخ زايد الكبير في أبوظبي والذي يعد أحد أجمل المساجد في العالم ، وصحراء ليوا في الظفرة والتي تعد أكبر صحراء رملية في العالم وتجذب الكثير من السياح لتجربة ركوب الجمال والتخييم في الصحراء. كما يمكن للزوار الاستمتاع بالشواطئ الجميلة في دبي وأبوظبي والشارقة ورأس الخيمة، وزيارة متحف اللوفر أبوظبي للتعرف على تاريخ الفن والثقافة العالمية"
}
}
],
"created": 1711734274,
"model": "jais-30b-chat",
"object": "chat.completion",
"usage": {
"prompt_tokens": 23,
"completion_tokens": 744,
"total_tokens": 767
}
}
italiano
Richiesta:
"messages": [
{
"role": "user",
"content": "List the emirates of the UAE."
}
]
Risposta:
{
"id": "df23b9f7-e6bd-493f-9437-443c65d428a1",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "The seven emirates of the United Arab Emirates are: Abu Dhabi, Dubai, Sharjah, Ajman, Umm Al-Quwain, Fujairah, and Ras Al Khaimah."
}
}
],
"created": 1711734274,
"model": "jais-30b-chat",
"object": "chat.completion",
"usage": {
"prompt_tokens": 23,
"completion_tokens": 60,
"total_tokens": 83
}
}
Altri esempi di inferenza del modello
Tipo di esempio | Notebook di esempio |
---|---|
Interfaccia della riga di comando con richieste Web CURL e Python | webrequests.ipynb |
SDK di OpenAI (sperimentale) | openaisdk.ipynb |
LiteLLM | litellm.ipynb |
Costi e quote
Considerazioni su costi e quote per i modelli distribuiti come servizio
JAIS 30b Chat viene distribuito come servizio, viene offerto da Core42 tramite Azure Marketplace e ed è integrato per essere usato con Studio AI della piattaforma Azure. È possibile trovare i prezzi di Azure Marketplace durante la distribuzione del modello.
Ogni volta che un progetto sottoscrive una determinata offerta di 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; 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 in 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.
Filtri dei contenuti
I modelli distribuiti come servizio con pagamento in base al consumo sono protetti da Sicurezza dei contenuti di Azure AI. Con la sicurezza dei contenuti di Azure per intelligenza artificiale, 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 sul filtro del contenuto sono disponibili qui.