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
.
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
ywestus
. - 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.
Tamaño de datos recomendado para entrenamiento de modelos
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
En la tabla siguiente se enumeran los modelos compatibles. Para los modelos admitidos más recientes y sus longitudes de contexto asociadas, use la función get_models()
.
from databricks.model_training import foundation_model
foundation_model.get_models()
Importante
Meta Llama 3.2 tiene licencia bajo la licencia LLAMA 3.2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved. Los clientes son responsables de garantizar su cumplimiento con los términos de esta licencia y la Directiva de uso aceptable de Llama 3.2.
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.
Modelo | Longitud máxima del contexto | Notas |
---|---|---|
databricks/dbrx-base |
32768 | |
databricks/dbrx-instruct |
32 768 | |
meta-llama/Llama-3.2-1B |
131 072 | |
meta-llama/Llama-3.2-1B-Instruct |
131 072 | |
meta-llama/Llama-3.2-3B |
131 072 | |
meta-llama/Llama-3.2-3B-Instruct |
131 072 | |
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 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Meta-Llama-3-70B-Instruct |
8192 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Meta-Llama-3-8B |
8192 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Meta-Llama-3-8B-Instruct |
8192 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Llama-2-7b-hf |
4096 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Llama-2-13b-hf |
4096 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Llama-2-70b-hf |
4096 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Llama-2-7b-chat-hf |
4096 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Llama-2-13b-chat-hf |
4096 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
meta-llama/Llama-2-70b-chat-hf |
4096 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-7b-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-13b-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-34b-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-7b-Instruct-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-13b-Instruct-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-34b-Instruct-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-7b-Python-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-13b-Python-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
codellama/CodeLlama-34b-Python-hf |
16384 | A partir del 13 de diciembre de 2024, este modelo no se admitirá. Consulte Modelos retirados para ver el modelo sustituto recomendado. |
mistralai/Mistral-7B-v0.1 |
32768 | |
mistralai/Mistral-7B-Instruct-v0.2 |
32 768 | |
mistralai/Mixtral-8x7B-v0.1 |
32 768 |
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/Meta-Llama-3.1-8B-Instruct'
# 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. Consulte Directiva de mantenimiento de modelos de IA generativa.
Mosaic AI Model Training solo admite el entrenamiento del modelo para áreas de trabajo de Azure mediante el almacenamiento detrás de Private Link.
- Actualmente solo se admite la lectura de datos del almacenamiento detrás de Private Link en
eastus2
.
- Actualmente solo se admite la lectura de datos del almacenamiento detrás de Private Link en
Si tiene firewalls habilitados en la cuenta de Azure Data Lake Storage que almacena los datos en el catálogo de Unity, debe permitir el tráfico de los clústeres del plano de datos sin servidor de Databricks para usar Mosaic AI Model Training. Póngase en contacto con el equipo de la cuenta de Databricks para obtener más información.