Tutorial: Implementación y consulta de un modelo personalizado
En este artículo se proporcionan los pasos básicos para implementar y consultar un modelo personalizado, que es un modelo de ML tradicional, mediante Mosaic AI Model Serving. El modelo debe estar registrado en el catálogo de Unity o el registro del modelo del área de trabajo.
Para obtener información sobre cómo servir e implementar modelos de IA generativa en su lugar, consulte los siguientes artículos:
Paso 1: Registro del modelo
Hay diferentes maneras de registrar el modelo para el servicio de modelos:
Técnica de registro | Descripción |
---|---|
Registro automático | Esto se activa automáticamente cuando se usa Databricks Runtime para el aprendizaje automático. Es la manera más fácil, aunque le da menos control. |
Registro con los tipos integrados de MLflow | Puede registrar manualmente el modelo con los tipos de modelo integrados de MLflow. |
Registro personalizado con pyfunc |
Úselo si tiene un modelo personalizado o si necesita pasos adicionales antes o después de la inferencia. |
En el ejemplo siguiente se muestra cómo registrar el modelo de MLflow con el tipo transformer
y cómo especificar los parámetros que necesita para el modelo.
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
)
Una vez registrado el modelo, asegúrese de comprobar que el modelo está registrado en unity Catalog o en el Registro de modelos de MLflow.
Paso 2: Cree un punto de conexión mediante la interfaz de usuario de servicio
Una vez registrado el modelo y esté listo para servirlo, puede crear un punto de conexión de servicio de modelos mediante la interfaz de usuario de Servicio.
Haga clic en Servicio en la barra lateral para mostrar la interfaz de usuario de Servicio.
Haga clic en Crear punto de conexión de servicio.
En el campo Nombre, proporcione un nombre para el punto de conexión.
En la sección Entidades atendidas
- Haga clic en el campo Entidad para abrir el formulario Seleccionar entidad atendida.
- Seleccione el tipo de modelo que desea servir. El formulario se actualiza dinámicamente en función de la selección.
- Seleccione el modelo y la versión del modelo que desea servir.
- Seleccione el porcentaje de tráfico que se va a enrutar al modelo servido.
- Seleccione el tamaño de proceso que se va a usar.
- En Escalabilidad horizontal de procesos, seleccione el tamaño de la escalabilidad horizontal de procesos que se corresponda con el número de solicitudes que puede procesar este modelo servido al mismo tiempo. Este número debe ser aproximadamente igual al tiempo de ejecución del modelo QPS x.
- Los tamaños disponibles son Pequeño para 0 a 4 solicitudes, Medio para 8 a 16 solicitudes y Grande para 16 a 64 solicitudes.
- Especifique si el punto de conexión debe escalar a cero cuando no esté en uso.
Haga clic en Crear. La página Puntos de conexión de servicio aparece con el estado Punto de conexión de servicio que se muestra como No listo.
Si prefiere crear un punto de conexión mediante programación con Databricks Serving API, consulte Crear puntos de conexión de servicio de modelo personalizado.
Paso 3: Genere una consulta del punto de conexión
La manera más sencilla y rápida de probar y enviar solicitudes de puntuación al modelo servido es usar la interfaz de usuario del Servicio.
En la página Punto de conexión de servicio, seleccione Punto de conexión de consulta.
Inserte los datos de entrada del modelo en formato JSON y haga clic en Enviar solicitud. Si el modelo se ha registrado con un ejemplo de entrada, haga clic en Mostrar ejemplo para cargar el ejemplo de entrada.
{ "inputs" : ["Hello, I'm a language model,"], "params" : {"max_new_tokens": 10, "temperature": 1} }
Para enviar solicitudes de puntuación, cree un JSON con una de las claves admitidas y un objeto JSON correspondiente al formato de entrada. Vea Consulta de puntos de conexión de servicio para modelos personalizados para conocer los formatos admitidos e instrucciones sobre cómo enviar solicitudes de puntuación mediante la API.
Si tiene previsto acceder al punto de conexión de servicio fuera de la interfaz de usuario de servicio de Azure Databricks, necesita un DATABRICKS_API_TOKEN
.
Importante
Como procedimiento recomendado de seguridad para escenarios de producción, Databricks recomienda usar Tokens de OAuth de máquina a máquina para la autenticación durante la producción.
Para pruebas y desarrollo, Databricks recomienda usar un token de acceso personal que pertenezca a entidades de servicio en lugar de usuarios del área de trabajo. Para crear tókenes para entidades de servicio, consulte Administración de tokens de acceso para una entidad de servicio.
Cuadernos de ejemplo
Consulte el siguiente cuaderno para servir un modelo de MLflow transformers
con Model Serving.
Implementación de un cuaderno de modelos transformers
de Hugging Face
Consulte el siguiente cuaderno para servir un modelo pyfunc
de MLflow con Model Serving. Para más información sobre cómo personalizar las implementaciones de modelos, consulte Implementación de código de Python con Servicio de modelos.