Condividi tramite


Eseguire la migrazione a Model Serving

Questo articolo illustra come abilitare La gestione dei modelli nell'area di lavoro e passare ai modelli all'esperienza di gestione del modello di intelligenza artificiale mosaico basata su calcolo serverless.

Requisiti

Modifiche significative

  • In Model Serving il formato della richiesta all'endpoint e la risposta dall'endpoint sono leggermente diversi da Legacy MLflow Model Serving. Per informazioni dettagliate sul nuovo protocollo di formato, vedere Assegnazione dei punteggi a un endpoint del modello.
  • In Model Serving l'URL dell'endpoint include serving-endpoints invece di model.
  • Model Serving include il supporto completo per la gestione delle risorse con i flussi di lavoro dell'API.
  • Model Serving è pronto per la produzione e supportato dal contratto di servizio di Azure Databricks.

Eseguire la migrazione della gestione dei modelli Legacy MLflow ai modelli Model Serving

È possibile creare un endpoint Model Serving e un modello di transizione flessibile che gestisce i flussi di lavoro senza disabilitare Legacy MLflow Model Serving.

I passaggi seguenti illustrano come eseguire questa operazione con l'interfaccia utente. Per ogni modello in cui è abilitata la gestione del modello MLflow Legacy:

  1. Registrare il modello in Unity Catalog.
  2. Spostarsi a Gestione degli endpoint nella barra laterale dell'area di lavoro di apprendimento automatico.
  3. Seguire il flusso di lavoro descritto in Creare endpoint personalizzati che servono gli endpoint per creare un endpoint di gestione con il modello.
  4. Eseguire la transizione dell'applicazione per usare il nuovo URL fornito dall'endpoint di servizio per eseguire query sul modello, insieme al nuovo formato di assegnazione dei punteggi.
  5. Quando i modelli vengono trasferiti, è possibile passare a Modelli sulla barra laterale dell'area di lavoro di apprendimento automatico.
  6. Selezionare il modello per il quale si vuole disabilitare la gestione del modello MLflow Legacy.
  7. Nella scheda Serve selezionare Arresta.
  8. Viene visualizzato un messaggio per confermare. Seleziona Interrompi modifica.

Eseguire la migrazione delle versioni del modello distribuite a Model Serving

Nelle versioni precedenti della funzionalità Model Serving l'endpoint di gestione è stato creato in base alla fase della versione del modello registrata: Staging o Production. Per eseguire la migrazione dei modelli serviti da tale esperienza, è possibile replicare tale comportamento nella nuova esperienza di gestione dei modelli.

Questa sezione illustra come creare endpoint di gestione del modello separati per Staging le versioni del modello e Production le versioni del modello. I passaggi seguenti illustrano come eseguire questa operazione con l'API di gestione degli endpoint per ognuno dei modelli serviti.

Nell'esempio il nome modelA del modello registrato ha la versione 1 nella fase Production del modello e la versione 2 nella fase Stagingdel modello .

  1. Creare due endpoint per il modello registrato, uno per Staging le versioni del modello e un altro per Production le versioni del modello.

    Per Staging le versioni del modello:

    POST /api/2.0/serving-endpoints
      {
         "name":"modelA-Staging"
         "config":
         {
            "served_entities":
            [
               {
                  "entity_name":"model-A",
                  "entity_version":"2",  // Staging Model Version
                  "workload_size":"Small",
                  "scale_to_zero_enabled":true
               },
            ],
         },
      }
    

    Per Production le versioni del modello:

    POST /api/2.0/serving-endpoints
      {
         "name":"modelA-Production"
         "config":
         {
            "served_entities":
            [
               {
                  "entity_name":"model-A",
                  "entity_version":"1",   // Production Model Version
                  "workload_size":"Small",
                  "scale_to_zero_enabled":true
               },
            ],
         },
      }
    
  2. Verificare lo stato degli endpoint.

    Usare l'endpoint di gestione temporanea: GET /api/2.0/serving-endpoints/modelA-Staging

    Endpoint di produzione: GET /api/2.0/serving-endpoints/modelA-Production

  3. Quando gli endpoint sono pronti, eseguire una query sull'endpoint usando:

    Usare l'endpoint di gestione temporanea: POST /serving-endpoints/modelA-Staging/invocations

    Endpoint di produzione: POST /serving-endpoints/modelA-Production/invocations

  4. Aggiornare l'endpoint in base alle transizioni di versione del modello.

    Nello scenario in cui viene creata una nuova versione 3 del modello, è possibile eseguire la transizione del modello versione 2 a Production, mentre la versione 3 del modello può passare a Staging e la versione 1 del modello è Archived. Queste modifiche possono essere riflesse in endpoint separati che servono i modelli come indicato di seguito:

    Per l'endpoint Staging, aggiornare l'endpoint per usare la nuova versione del modello in Staging.

    PUT /api/2.0/serving-endpoints/modelA-Staging/config
    {
       "served_entities":
       [
          {
             "entity_name":"model-A",
             "entity_version":"3",  // New Staging model version
             "workload_size":"Small",
             "scale_to_zero_enabled":true
          },
       ],
    }
    

    Per l'endpoint Production, aggiornare l'endpoint per usare la nuova versione del modello in Production.

    PUT /api/2.0/serving-endpoints/modelA-Production/config
    {
       "served_entities":
       [
          {
             "entity_name":"model-A",
             "entity_version":"2",  // New Production model version
             "workload_size":"Small",
             "scale_to_zero_enabled":true
          },
       ],
    }
    

Eseguire la migrazione dei flussi di lavoro di inferenza MosaicML a Model Serving

Questa sezione fornisce materiale sussidiario su come eseguire la migrazione delle distribuzioni di inferenza MosaicML a Mosaic AI Model Serving e include un esempio di notebook.

La tabella seguente riepiloga la parità tra l'inferenza MosaicML e la gestione di modelli in Azure Databricks.

Inferenza di MosaicML Mosaic AI Model Serving
create_inference_deployment Creare un endpoint di gestione dei modelli
update_inference_deployment Aggiornare un endpoint di gestione di un modello
delete_inference_deployment Eliminare un endpoint di gestione di un modello
get_inference_deployment Ottenere lo stato di un endpoint di gestione del modello

Il notebook seguente fornisce un esempio guidato della migrazione di un llama-13b modello da MosaicML a Mosaic AI Model Serving.

Eseguire la migrazione dall'inferenza MosaicML al notebook Mosaic AI Model Serving

Ottenere il notebook

Risorse aggiuntive