Compartir a través de


Visualización, administración y análisis de ejecuciones de ajuste 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 ver, administrar y analizar la optimización de modelos de Foundation Model (ahora parte del entrenamiento de modelos de Mosaic AI) mediante API o mediante la interfaz de usuario.

Para obtener información sobre cómo crear ejecuciones, consulte Creación de una ejecución de entrenamiento mediante la API de ajuste de la precisión de Foundation Model y Creación de una ejecución de entrenamiento mediante la interfaz de usuario de ajuste de la optimización del modelo de Foundation.

Uso de las API de ajuste de modelos de Foundation para ver y administrar ejecuciones de entrenamiento

Las API foundation Model Fine-tuning proporcionan las siguientes funciones para administrar las ejecuciones de entrenamiento.

Obtención de una ejecución

Use la función get() para devolver una ejecución por nombre o un objeto de ejecución que haya iniciado.

from databricks.model_training import foundation_model as fm

fm.get('<your-run-name>')

Ejecuciones de lista

Use la función list() para ver las ejecuciones que ha iniciado. En la siguiente tabla se enumeran los filtros opcionales que puede especificar.

Filtro opcional Definición
finetuning_runs Una lista de las ejecuciones que se van a obtener. De forma predeterminada se seleccionan todas las ejecuciones.
user_emails Si las ejecuciones compartidas están habilitadas para el área de trabajo, puede filtrar los resultados por el usuario que envió la ejecución de entrenamiento. No hay ningún filtro de usuario aplicado de forma predeterminada.
before Una cadena datetime o un valor datetime para filtrar las ejecuciones anteriores. El valor predeterminado son todas las ejecuciones.
after Una cadena datetime o un valor datetime para filtrar las ejecuciones posteriores. El valor predeterminado son todas las ejecuciones.
from databricks.model_training import foundation_model as fm

fm.list()

# filtering example
fm.list(before='2023-01-01', limit=50)

Cancelación de ejecuciones de entrenamiento

Para cancelar una sola ejecución de entrenamiento, use la función cancel() y pase el nombre de ejecución.

from databricks.model_training import foundation_model as fm

run_to_cancel = '<name-of-run-to-cancel>'
fm.cancel(run_to_cancel)

Para cancelar varias ejecuciones de entrenamiento, pase los nombres de ejecución específicos como una lista.

from databricks.model_training import foundation_model as fm

runs_to_cancel = ['<run_1>, <run_2>, <run_3>']
fm.cancel(runs=runs_to_cancel)

Para cancelar todas las ejecuciones de entrenamiento en un experimento, pase el identificador del experimento.

from databricks.model_training import foundation_model as fm

experiment_to_cancel = '<experiment-id-to-cancel>'
fm.cancel(experiment_id=experiment_to_cancel)

Revisión del estado de las ejecuciones de entrenamiento

En la tabla siguiente se enumeran los eventos creados por una ejecución de entrenamiento. Use la función get_events() en cualquier momento durante la ejecución para ver su progreso.

Nota:

Foundation Model Fine-tuning aplica un límite de 10 ejecuciones activas. Estas ejecuciones están en cola, en ejecución o finalizando. Las ejecuciones ya no se consideran activas después de que estén en estado COMPLETED, FAILED o STOPPED.

Tipo de evento Ejemplo de mensaje de evento Definición
CREATED Ejecución creada. Se ha creado la ejecución de entrenamiento. Si los recursos están disponibles, se inicia la ejecución. De lo contrario, pasa a un estado Pending.
STARTED Ejecución iniciada. Se han asignado recursos y se ha iniciado la ejecución.
DATA_VALIDATED Datos de entrenamiento validados. Se ha validado que los datos de entrenamiento tienen el formato correcto.
MODEL_INITIALIZED Datos del modelo descargados e inicializados para el modelo fundacional meta-llama/Llama-2-7b-chat-hf. Se han descargado los pesos para el modelo fundacional y el entrenamiento está listo para comenzar.
TRAIN_UPDATED [epoch=1/1][batch=50/56][ETA=5min] Pérdida de entrenamiento: 1.71 Informa del tiempo estimado para que finalice el entrenamiento (no incluido el tiempo de carga del punto de control) del lote de entrenamiento actual, la época o el token, así como de la pérdida de entrenamiento. Este evento se actualiza cuando finaliza cada lote. Si la configuración de ejecución especifica max_duration en unidades de tok, el progreso se notifica en tokens.
TRAIN_FINISHED Entrenamiento completado. El entrenamiento ha finalizado. Comienza la carga del punto de control.
COMPLETED Ejecución completada. Pesos finales cargados. Se ha cargado el punto de control y se ha completado la ejecución.
CANCELED Ejecución cancelada. La ejecución se cancela si se llama a fm.cancel() en ella.
FAILED Uno o varios ejemplos de conjuntos de datos de entrenamiento tienen claves desconocidas. Consulte la documentación sobre los formatos de datos admitidos. Se ha producido un error en la ejecución. Compruebe event_message para obtener más detalles o póngase en contacto con el soporte técnico.
from databricks.model_training import foundation_model as fm

fm.get_events()

Uso de la interfaz de usuario para ver y administrar ejecuciones

Para ver las ejecuciones en la interfaz de usuario:

  1. Haga clic en Experimentos en la barra de navegación izquierda para mostrar la página Experimentos.

  2. En la tabla, haga clic en el nombre de un experimento para mostrar la página del experimento. En la página del experimento se enumeran todas las ejecuciones asociadas al experimento.

    página de experimentos

  3. Para mostrar información o métricas adicionales en la tabla, haga clic en signo más y seleccione los elementos que quiere mostrar en el menú:

    adición de métricas al gráfico

  4. La pestaña Gráfico incluye información adicional sobre las ejecuciones:

    pestaña gráfico

  5. También puede hacer clic en el nombre de la ejecución para mostrar la pantalla de la ejecución. Esta pantalla proporciona acceso a detalles adicionales sobre la ejecución.

    página de la ejecución

Puntos de control

Para acceder a la carpeta de puntos de control, haga clic en la pestaña Artefactos en la pantalla de ejecución. Abra el nombre del experimento y, después, abra la carpeta Puntos de control. Estos puntos de control de artefactos no son los mismos que el modelo registrado al final de una ejecución de entrenamiento.

carpeta de puntos de control en la pestaña artefactos

Hay algunos directorios en esta carpeta:

  • Las carpetas de época (denominadas ep<n>-xxx) contienen los pesos y los estados del modelo en cada punto de control de Composer. Los puntos de control de Composer se guardan periódicamente a través del entrenamiento, que se usan para reanudar una ejecución de entrenamiento de ajuste preciso y un ajuste continuo. Este punto de control es el que se pasa como el custom_weights_path para iniciar otra ejecución de entrenamiento a partir de esos pesos, consulte Compilación en pesos de modelo personalizados.
  • En la huggingface carpeta, los puntos de comprobación de Hugging Face también se guardan periódicamente a través del entrenamiento. Después de descargar el contenido de esta carpeta, puede cargar estos puntos de control como lo haría con cualquier otro punto de control de Hugging Face mediante AutoModelForCausalLM.from_pretrained(<downloaded folder>).
  • El checkpoints/latest-sharded-rank0.symlink es un archivo que contiene la ruta de acceso al punto de control más reciente, que puede usar para reanudar el entrenamiento.

También puede obtener los puntos de comprobación de Composer para una ejecución después de guardarlos mediante get_checkpoints(run). Esta función toma el objeto de ejecución como entrada. Si aún no existen puntos de control, se le pedirá que vuelva a intentarlo después de guardar los puntos de control.