Entrenamiento de modelos de IA de Mosaico para modelos de base

Importante

Esta característica se encuentra en versión preliminar pública en las siguientes regiones: centralus, eastus, eastus2, northcentralus y westus. Póngase en contacto con el equipo de su cuenta de Databricks para inscribirse en la Vista previa pública.

Con Mosaic AI Model Training (anteriormente Foundation Model Training), puede usar datos propios para personalizar un modelo de base con el fin de optimizar su rendimiento para una aplicación específica. Al realizar el ajuste completo de parámetros o el entrenamiento continuo de un modelo de base, es posible entrenar su propio modelo con muchos menos recursos de proceso, tiempo y datos que entrenar un modelo desde cero.

Con Databricks dispone de todo en una sola plataforma: sus propios datos que se usarán para el entrenamiento, el modelo de base para entrenar, los puntos de control guardados en MLflow y el modelo registrado en el catálogo de Unity listo para la implementación.

Consulte Tutorial: crear y desplegar una ejecución de entrenamiento del modelo de IA de Mosaic para aprender a crear y ejecutar la API de capacitación del modelo de IA de Mosaic y, a continuación, revisar los resultados e implementar el modelo mediante la interfaz de usuario de Databricks y el servicio de modelo de IA de Mosaic.

¿Qué es Mosaic AI Model Training?

Mosaic AI Model Training le permite usar la API o la interfaz de usuario de Databricks para optimizar o entrenar aún más un modelo de base.

Con Mosaic AI Model Training puede hacer lo siguiente:

  • Entrenar modelos con datos personalizados, con los puntos de control guardados en MLflow. Se conserva todo el control del modelo entrenado.
  • Registrar automáticamente el modelo en el catálogo de Unity, lo que permite una implementación sencilla con el servicio de modelos.
  • Entrenar aún más un modelo completo y propietario cargando los pesos de un modelo entrenado previamente.

Databricks recomienda probar Mosaic AI Model Training si:

  • Probó el aprendizaje de pocas secuencias y quiere mejores resultados.
  • Probó la ingeniería de solicitudes en modelos existentes y quiere mejores resultados.
  • Quiere la propiedad total sobre un modelo personalizado por cuestiones de privacidad de datos.
  • Es sensible a la latencia o a los costes y desea usar un modelo más pequeño y económico con datos específicos de la tarea.

Tareas admitidas

Mosaic AI Model Training admite los siguientes casos de uso:

  • Finalización del chat: tarea recomendada. Entrene el modelo en los registros de chat entre un usuario y un asistente de IA. Este formato se puede usar tanto para los registros de chat reales como para el formato estándar de respuesta a preguntas y texto conversacional. El texto se formatea automáticamente al formato adecuado para el modelo específico. Consulte plantillas de chat de ejemplo en la documentación de HuggingFace para obtener más información sobre plantillas.
  • Ajuste supervisado: entrene el modelo en datos estructurados de respuesta a solicitudes. Úselo para adaptar el modelo a una nueva tarea, cambiar su estilo de respuesta o agregar funcionalidades que sigan instrucciones. Esta tarea no aplica automáticamente ningún formato a los datos y solo se recomienda cuando se requiere formato de datos personalizado.
  • Entrenamiento previo continuado: entrene el modelo con datos de texto adicionales. Úselo para agregar nuevos conocimientos a un modelo o centrarlo en un dominio específico.

Requisitos

  • Un área de trabajo de Databricks en una de las siguientes regiones de Azure: centralus, eastus, eastus2, northcentralus, westcentralus, westus y westus3.
  • API de Mosaic AI Model Training instaladas mediante pip install databricks_genai.
  • Databricks Runtime 12.2 LTS ML o superior si los datos están en una tabla Delta.

Vea Preparación de datos para Mosaic AI Model Training para obtener información sobre los formatos de datos de entrada necesarios.

Databricks recomienda entrenar inicialmente con entre una y cuatro épocas. Después de evaluar el modelo ajustado, si quiere que las salidas del modelo sean más similares a los datos de entrenamiento, puede continuar el entrenamiento mediante una a dos épocas más.

Si el rendimiento del modelo disminuye significativamente en las tareas que no se representan en los datos de ajuste, o si el modelo parece generar copias exactas de los datos de ajuste, Databricks recomienda reducir el número de épocas de entrenamiento.

Para finalización de chat y ajuste supervisado, proporcione tokens suficientes para al menos una longitud de contexto completa del modelo. Por ejemplo: 4096 tokens para meta-llama/Llama-2-7b-chat-hf o 32768 tokens para mistralai/Mistral-7B-v0.1.

Para entrenamiento previo continuo, Databricks recomienda un mínimo de 1,5 millones de tokens para obtener un modelo de mayor calidad que aprenda datos personalizados.

Modelos admitidos

Para los modelos admitidos más recientes y sus longitudes de contexto asociadas, use la función get_models().

Importante

Meta Llama 3.1 tiene licencia bajo la licencia LLAMA 3.1 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved. Los clientes son responsables de garantizar el cumplimiento de las licencias de modelo aplicables.

Llama 3 tiene licencia bajo la licencia LLAMA 3 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved. Los clientes son responsables de garantizar el cumplimiento de las licencias de modelo aplicables.

Los modelos Llama 2 y Code Llama tienen licencia bajo LLAMA 2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved. Los clientes son responsables de garantizar el cumplimiento de las licencias de modelo aplicables.

DBRX se proporciona bajo y sujeto a la Licencia de Modelo Abierto de Databricks, Copyright © Databricks, Inc. Todos los derechos reservados. Los clientes son responsables de garantizar el cumplimiento de las licencias de modelo aplicables, incluida la Directiva de uso aceptable de Databricks.


from databricks.model_training import foundation_model

foundation_model.get_models()

La tabla siguiente es una salida de ejemplo y no pretende ser una lista exhaustiva de los modelos admitidos.

Modelo Longitud máxima del contexto
databricks/dbrx-base 32768
databricks/dbrx-instruct 32 768
meta-llama/Meta-Llama-3.1-405B 131 072
meta-llama/Meta-Llama-3.1-405B-Instruct 131 072
meta-llama/Meta-Llama-3.1-70B* 131 072
meta-llama/Meta-Llama-3.1-70B-Instruct* 131 072
meta-llama/Meta-Llama-3.1-8B* 131 072
meta-llama/Meta-Llama-3.1-8B-Instruct* 131 072
meta-llama/Meta-Llama-3-70B 8192
meta-llama/Meta-Llama-3-70B-Instruct 8192
meta-llama/Meta-Llama-3-8B 8192
meta-llama/Meta-Llama-3-8B-Instruct 8192
meta-llama/Llama-2-7b-hf 4096
meta-llama/Llama-2-13b-hf 4096
meta-llama/Llama-2-70b-hf 4096
meta-llama/Llama-2-7b-chat-hf 4096
meta-llama/Llama-2-13b-chat-hf 4096
meta-llama/Llama-2-70b-chat-hf 4096
codellama/CodeLlama-7b-hf 16384
codellama/CodeLlama-13b-hf 16384
codellama/CodeLlama-34b-hf 16384
codellama/CodeLlama-7b-Instruct-hf 16384
codellama/CodeLlama-13b-Instruct-hf 16384
codellama/CodeLlama-34b-Instruct-hf 16384
codellama/CodeLlama-7b-Python-hf 16384
codellama/CodeLlama-13b-Python-hf 16384
codellama/CodeLlama-34b-Python-hf 16384
mistralai/Mistral-7B-v0.1 32768
mistralai/Mistral-7B-Instruct-v0.2 32 768
mistralai/Mixtral-8x7B-v0.1 32 768

* La compatibilidad con este modelo se basa en la disponibilidad de proceso regional.

Uso de Mosaic AI Model Training

Mosaic AI Model Training es accesible mediante el SDK de databricks_genai. En el ejemplo siguiente, se crea e inicia una ejecución de entrenamiento que usa datos de volúmenes del catálogo de Unity. Vea Creación de una ejecución de entrenamiento mediante la API de Mosaic AI Model Training para más información sobre la configuración.

from databricks.model_training import foundation_model as fm

model = 'meta-llama/Llama-2-7b-chat-hf'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
  model=model,
  train_data_path=train_data_path,
  register_to=register_to,
)

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.

Limitaciones

  • No se admiten conjuntos de datos grandes (más de 10 mil millones de tokens) debido a la disponibilidad de proceso.

  • Para entrenamiento previo continuo, las cargas de trabajo están limitadas a archivos de 60 a 256 MB. Los archivos de más de 1 GB podrían provocar tiempos de procesamiento más largos.

  • Databricks se esfuerza por hacer que los modelos más recientes de última generación estén disponibles para la personalización con Mosaic AI Model Training. A medida que se ponen a disposición nuevos modelos, podríamos quitar la capacidad de acceder a modelos anteriores de la API o la interfaz de usuario, dejar en desuso modelos anteriores o actualizar los modelos admitidos. En caso de que un modelo de base se quite de la API o la interfaz de usuario, o quede en desuso, Databricks realizará los pasos siguientes para notificar a los clientes al menos tres meses antes de la fecha de eliminación o desuso:

    • Muestra un mensaje de advertencia en la tarjeta del modelo desde la página Experimentos > Mosaic AI Model Training del área de trabajo de Databricks en el que se indica que el modelo está programado para quedar en desuso.
    • Actualice la documentación para incluir un aviso que indique que el modelo está programado para quedar en desuso.
  • El entrenamiento del modelo de IA de mosaico no admite Private Link en áreas de trabajo de Azure.