Tutorial: Creación e implementación de una ejecución de optimización de modelos de Foundation
Importante
Esta característica se encuentra en versión preliminar pública en las siguientes regiones: centralus
, eastus
, eastus2
, northcentralus
y westus
.
En este artículo se describe cómo crear y configurar una ejecución mediante foundation Model Fine-tuning (ahora parte de Mosaic AI Model Training) API y, a continuación, revisar los resultados e implementar el modelo mediante la interfaz de usuario de Databricks y Mosaic AI Model Serving.
Requisitos
- Un área de trabajo en una de las siguientes regiones Azure:
centralus
,eastus
,eastus2
,northcentralus
,westcentralus
,westus
,westus3
. - Databricks Runtime 12.2 LTS ML o superior.
- Este tutorial debe ejecutarse en un cuaderno de Databricks.
- Datos de entrenamiento en el formato aceptado. Consulte Prepare data for Foundation Model Fine-tuning (Preparación de datos para foundation Model Fine-tuning).
Paso 1: Preparación de los datos para el entrenamiento
Paso 2: Instalar el SDK databricks_genai
Use lo siguiente para instalar el databricks_genai
SDK.
%pip install databricks_genai
A continuación, importe la biblioteca foundation_model
:
dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm
Paso 3: Crear una ejecución de entrenamiento
Cree una ejecución de entrenamiento mediante la función Foundation Model Fine-tuning create()
. Los siguientes parámetros son necesarios:
model
: el modelo que desea entrenar.train_data_path
: la ubicación del conjunto de datos de entrenamiento en.register_to
: el catálogo y el esquema de Unity en los que desea guardar los puntos de control.
Por ejemplo:
run = fm.create(model='meta-llama/Meta-Llama-3.1-8B-Instruct',
train_data_path='dbfs:/Volumes/main/my-directory/ift/train.jsonl', # UC Volume with JSONL formatted data
register_to='main.my-directory',
training_duration='1ep')
run
Paso 4: Ver el estado de una ejecución
El tiempo necesario para completar una ejecución de entrenamiento depende del número de tokens, el modelo y la disponibilidad de GPU. Para un entrenamiento más rápido, Databricks recomienda usar el proceso reservado. Póngase en contacto con el equipo de la cuenta de Databricks para obtener más información.
Después de iniciar la ejecución, puede supervisar el estado de la misma mediante get_events()
.
run.get_events()
Paso 5: Visualización de métricas y salidas
Siga estos pasos para ver los resultados en la interfaz de usuario de Databricks:
- En el área de trabajo de Databricks, haga clic en Experimentos en la barra de navegación izquierda.
- Seleccione el experimento en la lista.
- Revise los gráficos de métricas en la pestaña Gráficos. Las métricas de entrenamiento se generan para cada ejecución de entrenamiento y las métricas de evaluación solo se generan si se proporciona una ruta de acceso de datos de evaluación.
- La métrica de entrenamiento principal que muestra la pérdida de progreso. La pérdida de evaluación se puede usar para ver si el modelo se sobreajusta a los datos de entrenamiento. Sin embargo, no se debe confiar en la pérdida por completo porque, en las tareas de entrenamiento supervisados, la pérdida de evaluación puede parecer sobreajuste mientras el modelo sigue mejorando.
- Cuanto mayor sea la precisión, mejor será el modelo, pero tenga en cuenta que la precisión cercana al 100 % podría demostrar un sobreajuste.
- Las siguientes métricas aparecen en MLflow después de la ejecución:
LanguageCrossEntropy
calcula la entropía cruzada en las salidas del modelado de lenguaje. Una puntuación más baja es mejor.LanguagePerplexity
mide la forma en que un modelo de lenguaje predice la siguiente palabra o carácter en un bloque de texto basado en palabras o caracteres anteriores. Una puntuación más baja es mejor.TokenAccuracy
calcula la precisión de nivel de token para el modelado de lenguaje. Una puntuación más alta es mejor.
- En esta pestaña, también puede ver la salida de las solicitudes de evaluación si las especificó.
Paso 6: Evaluar varios modelos personalizados con la evaluación del agente de Mosaic AI antes de implementar
Consulte ¿Qué es la evaluación del agente de IA de Mosaico?.
Paso 7: Implementación del modelo
La ejecución de entrenamiento registra automáticamente el modelo en el catálogo de Unity una vez completado. El modelo se registra en función de lo que especificó en el register_to
campo del método run create()
.
Para implementar el modelo para servir, siga estos pasos:
- Vaya al modelo en el catálogo de Unity.
- Haga clic en Servir este modelo.
- Haga clic en Crear punto de conexión de servicio.
- En el campo Nombre, proporcione un nombre para el punto de conexión.
- Haga clic en Crear.
Recursos adicionales
- Creación de una ejecución de entrenamiento mediante foundation Model Fine-tuning API
- Ajuste preciso del modelo foundation
- Servicio de modelos con Azure Databricks
- Consulte el cuaderno de demostración Optimización de instrucciones: Reconocimiento de entidades con nombre para ver un ejemplo de optimización de instrucciones que recorre la preparación de los datos, la configuración de la ejecución del entrenamiento de optimización y la implementación.