Uso de modelos de base de código abierto seleccionados por Azure Machine Learning

En este artículo, aprenderá a ajustar, evaluar e implementar modelos básicos en el catálogo de modelos.

Puede probar rápidamente cualquier modelo previamente entrenado mediante el formulario de inferencia de ejemplo en la tarjeta del modelo. Para ello, debe proporcionar su propia entrada de ejemplo para probar el resultado. Además, la tarjeta de cada modelo incluye una breve descripción de este y vínculos a ejemplos para la inferencia basada en código, el ajuste y la evaluación del modelo.

Cómo evaluar modelos de base con sus propios datos de prueba

Puede evaluar un modelo de base con el conjunto de datos de prueba mediante el formulario de evaluación de interfaz de usuario o mediante los ejemplos basados en código, vinculados desde la tarjeta del modelo.

Evaluación mediante Studio

Invoque el formulario de evaluación de modelo seleccionando el botón Evaluar de la tarjeta de modelo para cualquier modelo de base.

Screenshot showing the evaluation settings form after the user selects the evaluate button on a model card for a foundation model.

Cada modelo se puede evaluar para la tarea de inferencia específica para la que se usará el modelo.

Datos de prueba:

  1. Introduzca los datos de prueba que desea usar para evaluar su modelo. Puede optar por cargar un archivo local (en formato JSONL) o seleccionar un conjunto de datos registrado existente en el área de trabajo.
  2. Una vez que haya seleccionado el conjunto de datos, debe asignar las columnas de los datos de entrada, en función del esquema necesario para la tarea. Por ejemplo, asigne los nombres de columna que corresponden a las claves "frase" y "etiqueta" para la clasificación de texto

Screenshot showing the evaluation map in the foundation models evaluate form.

Proceso:

  1. Proporcione el clúster de proceso de Azure Machine Learning que desea usar para ajustar el modelo. La evaluación debe ejecutarse en el proceso de GPU. Asegúrese de que tiene suficiente cuota de proceso para las SKU de proceso que desea usar.

  2. Seleccione Finalizar en el formulario de evaluación para enviar el trabajo de evaluación. Una vez completado el trabajo, puede ver las métricas de evaluación del modelo. En función de las métricas de evaluación, puede decidir si desea ajustar el modelo mediante sus propios datos de entrenamiento. Además, puede decidir si desea registrar el modelo e implementarlo en un punto de conexión.

Evaluar el uso de ejemplos basados en código

Para permitir que los usuarios empiecen a usar la evaluación de modelos, hemos publicado ejemplos (tanto cuadernos de Python como ejemplos de la CLI) en el Ejemplos de evaluación en el repositorio de git azureml-examples. Cada tarjeta de modelo también se vincula a ejemplos de evaluación para las tareas correspondientes

Cómo ajustar los modelos de base con sus propios datos de entrenamiento

Para mejorar el rendimiento del modelo en la carga de trabajo, es posible que desee ajustar un modelo de base mediante sus propios datos de entrenamiento. Puede ajustar fácilmente estos modelos de base mediante la configuración de ajuste en Studio o mediante los ejemplos basados en código vinculados desde la tarjeta del modelo.

Ajuste mediante el uso de Studio

Para invocar el formulario de configuración de ajuste, seleccione el botón Ajustar de la tarjeta del modelo para cualquier modelo de base.

Configuración de ajuste:

Screenshot showing the fine-tune settings options in the foundation models fine-tune settings form.

Tipo de tarea de ajuste

  • Cada modelo entrenado previamente del catálogo de modelo se puede ajustar para un conjunto específico de tareas (por ejemplo: clasificación de texto, clasificación de token, respuesta a preguntas). Seleccione la tarea que desea usar en la lista desplegable.

Datos de aprendizaje

  1. Introduzca los datos de entrenamiento que desea usar para ajustar el modelo. Puede optar por cargar un archivo local (en formato JSONL, CSV o TSV) o seleccionar un conjunto de datos registrado existente en el área de trabajo.

  2. Una vez que haya seleccionado el conjunto de datos, debe asignar las columnas de los datos de entrada, en función del esquema necesario para la tarea. Por ejemplo: asigne los nombres de columna que corresponden a las claves "frase" y "etiqueta" para la clasificación de texto

Screenshot showing the fine-tune map in the foundation models evaluate wizard.

  • Datos de validación: introduzca los datos que desea usar para validar el modelo. Al seleccionar División automática se reserva una división automática de los datos de entrenamiento para la validación. Como alternativa, puede proporcionar un conjunto de datos de validación diferente.
  • Datos de prueba: introduzca los datos de prueba que desea usar para evaluar el modelo de ajuste. Al seleccionar División automática se reserva una división automática de los datos de entrenamiento para la prueba.
  • Proceso: proporcione el clúster de proceso de Azure Machine Learning que desea usar para ajustar el modelo. El ajuste debe ejecutarse en el proceso de GPU. Se recomienda usar una SKU de proceso con GPU A100 / V100 al ajustar. Asegúrese de que tiene suficiente cuota de proceso para las SKU de proceso que desea usar.
  1. Seleccione Finalizar en el formulario de ajuste para enviar el trabajo de ajuste. Una vez completado el trabajo, puede ver las métricas de evaluación del modelo ajustado. A continuación, puede registrar la salida del modelo ajustado mediante el trabajo de ajuste e implementar este modelo en un punto de conexión para la inferencia.

Ajuste mediante ejemplos basados en código

Actualmente, Azure Machine Learning admite modelos de ajuste para las siguientes tareas de lenguaje:

  • Clasificación de textos
  • Clasificación de tokens
  • Respuesta a preguntas
  • Resumen
  • Traducción

Para permitir que los usuarios empiecen a ajustar rápidamente, hemos publicado ejemplos (tanto cuadernos de Python como ejemplos de la CLI) para cada tarea en Ejemplos de ajuste de repositorio de Git azureml-examples. Cada tarjeta del modelo también se vincula a ejemplos de ajuste para tareas de ajuste compatibles.

Implementar modelos de base en puntos de conexión para la inferencia

Puede implementar modelos de base (tanto modelos previamente entrenados del catálogo de modelo como modelos ajustados, una vez registrados en su área de trabajo) en un punto de conexión que puede usarse luego para inferencias. Se admite la implementación tanto en puntos de conexión en tiempo real como en puntos de conexión por lotes. Puede implementar estos modelos mediante el asistente de interfaz de usuario de implementación o mediante los ejemplos basados en código vinculados desde la tarjeta del modelo.

Implementar mediante Studio

Para invocar el formulario de implementación de interfaz de usuario, seleccione el botón Implementar de la tarjeta de modelo para cualquier modelo de base y seleccione Punto de conexión en tiempo real o Punto de conexión de Batch

Screenshot showing the deploy button on the foundation model card.

Configuración de implementación

Dado que el script de puntuación y el entorno se incluyen automáticamente con el modelo de base, solo es necesario especificar el SKU de máquina virtual que se va a utilizar, el número de instancias y el nombre del punto de conexión que se va a utilizar para la implementación.

Screenshot showing the deploy options on the foundation model card after user selects the deploy button.

Cuota compartida

Si está implementando un modelo de Llama-2, Phi, Nemotron, Mistral, Dolly o Deci-DeciLM desde el catálogo de modelos pero no tiene suficiente cuota disponible para la implementación, Azure Machine Learning le permite usar cuota de un grupo de cuota compartida durante un tiempo limitado. Para más información sobre la cuota compartida, consulte Cuota compartida de Azure Machine Learning.

Screenshot showing the option to deploy a Llama model temporarily, using shared quota.

Implementar mediante ejemplos basados en código

Para permitir que los usuarios empiecen a trabajar rápidamente con la implementación y la inferencia, hemos publicado ejemplos en Ejemplos de inferencia en el repositorio de git azureml-examples. Los ejemplos publicados incluyen cuadernos de Python y ejemplos de la CLI. Cada tarjeta de modelo también se vincula a ejemplos de inferencia para la inferencia en tiempo real y la inferencia por lotes.

Importar modelos de base

Si desea usar un modelo de código abierto que no esté incluido en el Catálogo de modelos, puede importar el modelo de Hugging Face en el área de trabajo de Azure Machine Learning. Hugging Face es una biblioteca de código abierto para el procesamiento de lenguaje natural (NLP) que proporciona modelos previamente entrenados para tareas de NLP populares. Actualmente, se admite la importación de modelos para las tareas siguientes, siempre y cuando el modelo cumpla los requisitos enumerados en el Cuaderno de importación de modelos:

  • relleno-máscara
  • clasificación-tokens
  • respuesta-a-preguntas
  • resumen
  • generación-texto
  • clasificación-texto
  • traducción
  • clasificación-imágenes
  • texto-a-imagen

Nota

Los modelos de Hugging Face están sujetos a términos de licencia de terceros disponibles en la página de detalles del modelo de Hugging Face. Es su responsabilidad cumplir los términos de licencia del modelo.

Seleccione el botón Importar en la parte superior derecha del catálogo de modelos para usar el cuaderno de importación de modelos.

Screenshot showing the model import button as it's displayed in the top right corner on the foundation model catalog.

El cuaderno de importación de modelos también se incluye en el repositorio de git azureml-examples aquí.

Para importar el modelo, debe introducir en el MODEL_ID del modelo que desea importar de Hugging Face. Examine los modelos en el centro de Hugging Face e identifique el modelo que se va a importar. Asegúrese de que el tipo de tarea del modelo se encuentra entre los tipos de tareas admitidos. Copie el id. del modelo, que está disponible en el URI de la página o se puede copiar mediante el icono de copia situado junto al nombre del modelo. Asígnelo a la variable "MODEL_ID" en el cuaderno de importación de modelos. Por ejemplo:

Screenshot showing an example of a hugging face model ID ('bert-base-uncased') as it's displayed in the hugging face model documentation page.

Para que se ejecute la importación del modelo, es necesario que proporcione el proceso. Al ejecutar la importación de modelos, el modelo especificado se importa de Hugging Face y se registra en su área de trabajo de Azure Machine Learning. Después, puede ajustar este modelo o implementarlo en un punto de conexión para la inferencia.

Saber más