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:
Haga clic en Experimentos en la barra de navegación izquierda para mostrar la página Experimentos.
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.
Para mostrar información o métricas adicionales en la tabla, haga clic en y seleccione los elementos que quiere mostrar en el menú:
La pestaña Gráfico incluye información adicional sobre las ejecuciones:
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.
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.
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 elcustom_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 medianteAutoModelForCausalLM.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.