Distribuire modelli come API serverless

Questo articolo illustra come distribuire un modello dal catalogo modelli come API serverless con fatturazione basata su token con pagamento in base al consumo.

Importante

I modelli in anteprima vengono contrassegnati come anteprima nelle schede del modello nel catalogo dei modelli.

Alcuni modelli nel catalogo modelli possono essere distribuiti come API serverless con la fatturazione di pagamenti in base al consumo. Questo tipo di distribuzione consente di usare i modelli come le API senza ospitarli nella sottoscrizione, mantenendo al contempo la sicurezza e la conformità aziendali necessarie alle organizzazioni. Questa opzione di distribuzione non richiede la quota dalla sottoscrizione.

Questo articolo utilizza la distribuzione di un modello Meta Llama a scopo illustrativo. Tuttavia, è possibile usare gli stessi passaggi per distribuire uno dei modelli nel catalogo dei modelli disponibili per la distribuzione dell'API serverless.

Prerequisiti

Trovare il modello e l'ID modello nel catalogo dei modelli

  1. Accedere a Studio AI della piattaforma Azure.

  2. Per i modelli offerti tramite Azure Marketplace, assicurarsi che l'account disponga delle autorizzazioni del ruolo Sviluppatore di Azure per intelligenza artificiale per il gruppo di risorse o che si disponga delle autorizzazioni necessarie per la sottoscrizione alle offerte del modello.

    I modelli offerti da provider non Microsoft (ad esempio, modelli Llama e Mistral) vengono fatturati tramite Azure Marketplace. Per questi modelli, è necessario sottoscrivere il progetto all'offerta di modello specifica. I modelli offerti da Microsoft (ad esempio, i modelli Phi-3) non hanno questo requisito, perché la fatturazione viene eseguita in modo diverso. Per informazioni dettagliate sulla fatturazione per la distribuzione serverless dei modelli nel catalogo modelli, vedere Fatturazione per le API serverless.

  3. Selezionare Catalogo modelli nella barra laterale sinistra e trovare la scheda modello del modello che si vuole distribuire. In questo articolo, si selezionerà un modello Meta-Llama-3-8B-Instruct.

    1. Se si sta distribuendo il modello usando l'interfaccia della riga di comando di Azure, Python o ARM, copiare l'ID modello.

      Importante

      Nella copia dell'ID modello, non includere la versione. Gli endpoint API serverless distribuiscono sempre la versione più recente del modello disponibile. Ad esempio, per l'ID modello azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/3, copiare azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct.

    Screenshot che mostra la pagina dettagli di un modello.

La sezione successiva illustra i passaggi per la sottoscrizione del progetto a un'offerta di modello. È possibile ignorare questa sezione e passare a Distribuire il modello a un endpoint API serverless, se si distribuisce un modello Microsoft.

Sottoscrivere il progetto all'offerta del modello

Gli endpoint API serverless possono distribuire i modelli offerti, Microsoft e non Microsoft. Per i modelli Microsoft (ad esempio i modelli Phi-3), non è necessario creare una sottoscrizione di Azure Marketplace ed è possibile distribuirli direttamente in endpoint API serverless per utilizzare le loro stime. Per i modelli non Microsoft, è innanzitutto necessario creare la sottoscrizione. Se si sta distribuendo il modello nel progetto per la prima volta, sarà necessario sottoscrivere il progetto all'offerta di modello specifica da Azure Marketplace. Ogni progetto ha una propria sottoscrizione all'offerta del modello di Azure Marketplace, che consente di controllare e monitorare la spesa.

Suggerimento

Ignorare questo passaggio se si distribuiscono modelli della famiglia Phi-3. Distribuire direttamente il modello in un endpoint API serverless.

Nota

I modelli offerti tramite Azure Marketplace sono disponibili per la distribuzione in endpoint API serverless in aree specifiche. Controllare la disponibilità del modello e dell'area per le distribuzioni di API serverless per verificare quali modelli e aree sono disponibili. Se quella desiderata non compare nell'elenco, è possibile distribuire un'area di lavoro in un'area supportata e quindi utilizzare endpoint API serverless da un'area di lavoro diversa.

  1. Creare la sottoscrizione al marketplace del modello. Creando una sottoscrizione, si accettano i termini e le condizioni associati all'offerta del modello.

    1. Nella pagina Dettagli del modello, selezionare Distribuisci. Viene visualizzata la finestra Opzioni di distribuzione, che consente di scegliere tra la distribuzione dell'API serverless e la distribuzione mediante un ambiente di calcolo gestito.

      Nota

      Per i modelli che possono essere distribuiti solo tramite la distribuzione di API serverless, la distribuzione guidata API serverless viene aperta subito dopo aver selezionato Distribuisci nella pagina dei dettagli del modello.

    2. Selezionare API serverless con Sicurezza dei contenuti di Azure AI (anteprima) per aprire la procedura guidata di distribuzione dell'API.

    3. Selezionare il progetto in cui si desidera distribuire i modelli. Per usare l'offerta di distribuzione modello API serverless, il progetto deve appartenere a una delle aree supportate per la distribuzione serverless per il modello specifico.

      Screenshot che mostra come distribuire un modello con l'opzione API serverless.

    4. Se viene visualizzata la nota Si dispone già di una sottoscrizione di Azure Marketplace per questo progetto, non è necessario creare la sottoscrizione perché ce n'è già una disponibile. È possibile proseguire a Distribuire il modello in un endpoint API serverless.

    5. 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.

    6. Selezionare Sottoscrivi e distribuisci.

  2. Dopo la sottoscrizione al progetto per una determinata offerta di Azure Marketplace, le distribuzioni successive della stessa offerta nello stesso progetto non richiedono una nuova sottoscrizione.

  3. È possibile visualizzare in qualsiasi momento le offerte del modello a cui il progetto è attualmente sottoscritto:

    1. Vai al portale di Azure.

    2. Passare al gruppo di risorse a cui appartiene il progetto.

    3. Nel filtro Tipo, selezionare SaaS.

    4. Verranno visualizzate tutte le offerte a cui si è attualmente sottoscritti.

    5. Selezionare una risorsa per visualizzarne i dettagli.

Distribuire il modello in un endpoint API serverless

Dopo aver creato una sottoscrizione a un modello non Microsoft, è possibile distribuire il modello associato a un endpoint API serverless. Per i modelli Microsoft (ad esempio, i modelli Phi-3), non è necessario creare una sottoscrizione.

L'endpoint API serverless consente di utilizzare modelli come API senza ospitarli nella sottoscrizione, mantenendo al tempo stesso la sicurezza e la conformità aziendali necessarie alle organizzazioni. Questa opzione di distribuzione non richiede la quota dalla sottoscrizione.

In questa sezione, viene creato un endpoint con il nome meta-llama3-8b-qwerty.

  1. Creare l'endpoint serverless

    1. Per distribuire un modello Microsoft che non richiede la sottoscrizione a un'offerta di modello:

      1. Selezionare Distribuisci, quindi selezionare API serverless con Sicurezza dei contenuti di Azure AI (anteprima) per aprire la procedura guidata di distribuzione.
      2. Selezionare il progetto in cui si desidera distribuire i modelli. Si noti che non tutte le aree sono supportate.
    2. In alternativa, per un modello non Microsoft che richiede una sottoscrizione di modello, se il progetto è stato appena sottoscritto all'offerta di modello nella sezione precedente, continuare a selezionare Distribuisci. In alternativa, selezionare Continua a distribuire (se la distribuzione guidata ha già la nota Hai già una sottoscrizione di Azure Marketplace per questo progetto).

      Screenshot che mostra un progetto già sottoscritto per l'offerta.

    3. 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.

      Screenshot che mostra come specificare il nome della distribuzione da creare.

      Suggerimento

      L'opzione Filtro contenuto (anteprima) è abilitata per impostazione predefinita. Lasciare l'impostazione predefinita per il servizio per rilevare contenuti dannosi che esprimono ad esempio odio e autolesionismo, nonché contenuti sessuali e violenti. Per altre informazioni sul filtro dei contenuti (anteprima), vedere Filtro del contenuto in Azure AI Studio.

    4. Seleziona Distribuisci. Attendere che la distribuzione sia pronta e che si venga reindirizzati alla pagina Distribuzioni.

  2. È possibile visualizzare gli endpoint distribuiti nel progetto in qualsiasi momento:

    1. Andare al progetto.

    2. Selezionare la sezione Distribuzioni

    3. Vengono visualizzati gli endpoint API serverless.

  3. L'endpoint creato usa l'autenticazione con chiave per l'autorizzazione. Usare la procedura seguente per ottenere le chiavi associate a un determinato endpoint.

    È possibile tornare alla pagina Distribuzioni, selezionare la distribuzione e prendere nota dell'URI di destinazione dell'endpoint e della chiave. Usarli per chiamare la distribuzione e generare stime.

    Nota

    Quando si usa il portale di Azure, gli endpoint API serverless non vengono visualizzati per impostazione predefinita nel gruppo di risorse. Usare l'opzione Mostra tipi nascosti per visualizzarli nel gruppo di risorse.

  4. A questo punto, l'endpoint è pronto per l'uso.

  5. Se si ha bisogno di utilizzare questa distribuzione da un altro progetto o hub o se si prevede di usare il prompt flow per creare applicazioni intelligenti, è necessario creare una connessione alla distribuzione dell'API serverless. Per informazioni su come configurare un endpoint API serverless esistente in un nuovo progetto o hub, vedere Utilizzare endpoint API serverless distribuiti da un altro progetto o dal prompt flow.

    Suggerimento

    Se si usa il prompt flow nello stesso progetto o hub in cui è stata distribuita la distribuzione, sarà comunque necessario creare la connessione.

Usare l'endpoint API serverless

I modelli distribuiti in Azure Machine Learning e Studio AI della piattaforma Azure in endpoint API serverless supportano l'API di inferenza del modello di Azure AI, che espone un set di funzionalità comuni per i modelli di base e che può essere usata dagli sviluppatori per utilizzare stime da un set diversificato di modelli in modo uniforme e coerente.

Ulteriori informazioni sulle funzionalità di questa API e su come utilizzarla durante la compilazione di applicazioni.

Isolamento della rete

Gli endpoint per i modelli distribuiti come API serverless seguono l'impostazione del flag di accesso alla rete pubblica (PNA) dell'hub di Studio AI che contiene il progetto in cui è presente la distribuzione. Per proteggere l'endpoint MaaS, disabilitare il flag PNA nell'hub di Studio AI. È possibile proteggere la comunicazione in ingresso da un client all'endpoint usando un endpoint privato per l'hub.

Per impostare il flag PNA per l'hub di Studio AI della piattaforma Azure:

  1. Vai al portale di Azure.
  2. Cercare il gruppo di risorse a cui appartiene l'hub e selezionare Hub di Azure AI nelle risorse elencate per tale gruppo di risorse.
  3. Dalla pagina Panoramica dell'hub nel menu di sinistra selezionare Impostazioni>Rete.
  4. Nella scheda Accesso pubblico è possibile configurare le impostazioni per il flag di accesso alla rete pubblica.
  5. Salva le modifiche. La propagazione delle modifiche può richiedere fino a cinque minuti.

Eliminare endpoint e sottoscrizioni

È possibile eliminare sottoscrizioni ed endpoint del modello. L'eliminazione di una sottoscrizione del modello rende qualsiasi endpoint associato Non integro e inutilizzabile.

Per eliminare un endpoint API serverless:

  1. Passare a Studio AI della piattaforma Azure.

  2. Passare a Componenti>Distribuzioni.

  3. Aprire la distribuzione da eliminare.

  4. Selezionare Elimina.

Per eliminare la sottoscrizione modello associata:

  1. Accedere al portale di Azure

  2. Passare al gruppo di risorse a cui appartiene il progetto.

  3. Nel filtro Tipo, selezionare SaaS.

  4. Selezionare la sottoscrizione da eliminare.

  5. Selezionare Elimina.

Considerazioni su costi e quote per i modelli distribuiti come endpoint API serverless

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.

Costo per i modelli Microsoft

È possibile trovare le informazioni sui prezzi nella scheda Prezzi e condizioni della procedura guidata della distribuzione durante la distribuzione dei modelli Microsoft (ad esempio, i modelli Phi-3) come endpoint API serverless.

Costo per i modelli non Microsoft

I modelli non Microsoft distribuiti come endpoint API serverless vengono offerti tramite Azure Marketplace e integrati con Studio AI della piattaforma Azure per l'uso. È possibile trovare i prezzi di Azure Marketplace durante la distribuzione o l'ottimizzazione di questi modelli.

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 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.

Screenshot che mostra diverse risorse corrispondenti a diverse offerte di modelli e ai contatori associati.

Autorizzazioni necessarie per la sottoscrizione a offerte di modello

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, è necessario che all'account utente sia assegnato il ruolo di Proprietario, Collaboratore o Sviluppatore di intelligenza artificiale di Azure 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 Controllo degli accessi in base al ruolo in Studio AI della piattaforma Azure.