Delen via


Zelfstudie: Een aangepast model implementeren en er query's op uitvoeren

Dit artikel bevat de basisstappen voor het implementeren en opvragen van een aangepast model, dat een traditioneel ML-model is dat is geïnstalleerd in Unity Catalog of is geregistreerd in het register van het werkruimtemodel met behulp van Mosaic AI Model Serving.

Hieronder vindt u handleidingen waarin het leveren en implementeren van een generatief AI-model wordt beschreven:

Stap 1: Het model vastleggen in het modelregister

Er zijn verschillende manieren om uw model te registreren voor het leveren van modellen:

Techniek voor logboekregistratie Beschrijving
Autologging Dit wordt automatisch ingeschakeld wanneer u Databricks Runtime gebruikt voor machine learning. Het is de eenvoudigste manier, maar geeft je minder controle.
Logboekregistratie met behulp van de ingebouwde smaken van MLflow U kunt het model handmatig registreren met de ingebouwde modelsmaak van MLflow.
Aangepaste logboekregistratie met pyfunc Gebruik dit als u een aangepast model hebt of als u extra stappen voor of na deductie nodig hebt.

In het volgende voorbeeld ziet u hoe u uw MLflow-model kunt registreren met behulp van de transformer smaak en parameters opgeeft die u nodig hebt voor uw model.

with mlflow.start_run():
    model_info = mlflow.transformers.log_model(
        transformers_model=text_generation_pipeline,
        artifact_path="my_sentence_generator",
        inference_config=inference_config,
        registered_model_name='gpt2',
        input_example=input_example,
        signature=signature
    )

Nadat uw model is geregistreerd, controleert u of uw model is geregistreerd in de MLflow Unity-catalogus of het modelregister.

Stap 2: Een eindpunt maken met behulp van de gebruikersinterface van de server

Nadat uw geregistreerde model is geregistreerd en u er klaar voor bent om het te bedienen, kunt u een model voor het eindpunt voor de service maken met behulp van de gebruikersinterface van De server .

  1. Klik op Serveren in de zijbalk om de gebruikersinterface van de server weer te geven.

  2. Klik op Een service-eindpunt maken.

    Deelvenster Voor modelweergave in de Databricks-gebruikersinterface

  3. Geef in het veld Naam een naam op voor uw eindpunt.

  4. In de sectie Geserveerde entiteiten

    1. Klik in het veld Entiteit om het formulier Voor de entiteit selecteren te openen.
    2. Selecteer het type model dat u wilt gebruiken. Het formulier wordt dynamisch bijgewerkt op basis van uw selectie.
    3. Selecteer welk model en welke modelversie u wilt gebruiken.
    4. Selecteer het percentage verkeer dat u naar uw geleverd model wilt routeren.
    5. Selecteer welke grootte rekenkracht u wilt gebruiken. U kunt CPU- of GPU-berekeningen gebruiken voor uw workloads. Ondersteuning voor modelondersteuning op GPU bevindt zich in openbare preview. Zie GPU-workloadtypen voor meer informatie over beschikbare GPU-berekeningen.
    6. Selecteer onder Compute Scale-out de grootte van de rekenschaal die overeenkomt met het aantal aanvragen dat dit geleverd model tegelijkertijd kan verwerken. Dit getal moet ongeveer gelijk zijn aan de uitvoeringstijd van het QPS x-model.
      1. De beschikbare grootten zijn klein voor 0-4 aanvragen, gemiddeld 8-16 aanvragen en groot voor 16-64 aanvragen.
    7. Geef op of het eindpunt moet worden geschaald naar nul wanneer het niet in gebruik is.
  5. Klik op Create. De pagina Eindpunten voor het serveren wordt weergegeven met de status Van het servereindpunt die wordt weergegeven als Niet gereed.

    Een eindpunt voor het leveren van een model maken

Als u liever programmatisch een eindpunt maakt met de Databricks Serving-API, raadpleegt u Aangepast model maken voor eindpunten.

Stap 3: Het eindpunt opvragen

De eenvoudigste en snelste manier om scoreaanvragen te testen en te verzenden naar uw aangeboden model is door gebruik te maken van de gebruikersinterface van de server .

  1. Selecteer query-eindpunt op de pagina Voor het servereindpunt.

  2. Voeg de modelinvoergegevens in de JSON-indeling in en klik op Aanvraag verzenden. Als het model is geregistreerd met een invoervoorbeeld, klikt u op Voorbeeld weergeven om het invoervoorbeeld te laden.

       {
       "inputs" : ["Hello, I'm a language model,"],
       "params" : {"max_new_tokens": 10, "temperature": 1}
       }
    

Als u scoreaanvragen wilt verzenden, maakt u een JSON met een van de ondersteunde sleutels en een JSON-object dat overeenkomt met de invoerindeling. Zie Query's voor eindpunten voor aangepaste modellen voor ondersteunde indelingen en richtlijnen voor het verzenden van scoreaanvragen met behulp van de API.

Als u van plan bent om toegang te krijgen tot uw eindpunt buiten de gebruikersinterface van Azure Databricks Serving, hebt u een DATABRICKS_API_TOKEN.

Belangrijk

Als best practice voor beveiliging voor productiescenario's raadt Databricks u aan om OAuth-tokens voor machine-naar-machine te gebruiken voor verificatie tijdens de productie.

Voor testen en ontwikkelen raadt Databricks aan om een persoonlijk toegangstoken te gebruiken dat hoort bij service-principals in plaats van werkruimtegebruikers. Zie Tokens voor een service-principal beheren om tokens voor service-principals te maken.

Voorbeeldnotebooks

Zie het volgende notebook voor het leveren van een MLflow-model transformers met Model Serving.

Een notitieblok voor een Hugging Face-model transformers implementeren

Notebook downloaden

Zie het volgende notebook voor het leveren van een MLflow-model pyfunc met Model Serving. Zie Python-code implementeren met Model Serving voor meer informatie over het aanpassen van uw modelimplementaties.

Een MLflow-modelnotebook pyfunc implementeren

Notebook downloaden