Ajuste preciso del modelo foundation
Importante
Esta característica se encuentra en versión preliminar pública en las siguientes regiones: centralus
, eastus
, eastus2
, northcentralus
y westus
.
Con foundation Model Fine-tuning (ahora parte de Mosaic AI Model Training), puede usar sus propios datos para personalizar un modelo de base para optimizar su rendimiento para su 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: Creación e implementación de una ejecución de ajuste fino del modelo de Foundation para obtener información sobre cómo crear una ejecución mediante la API de ajuste fino de Foundation Model y, a continuación, revise los resultados e implemente el modelo mediante la interfaz de usuario de Databricks y mosaic AI Model Serving.
¿Qué es foundation Model Fine-tuning?
Foundation Model Fine-tuning 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 foundation Model Fine-tuning, 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 la optimización de Foundation Model 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
Foundation Model Fine-tuning 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 ajuste de modelos foundation instaladas mediante
pip install databricks_genai
. - Databricks Runtime 12.2 LTS ML o superior si los datos están en una tabla Delta.
Consulte Preparar datos para foundation Model Fine-tuning 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 del ajuste adecuado del modelo foundation
Se puede acceder al ajuste fino de Foundation Model mediante el databricks_genai
SDK. En el ejemplo siguiente, se crea e inicia una ejecución de entrenamiento que usa datos de volúmenes del catálogo de Unity. Consulte Creación de una ejecución de entrenamiento mediante foundation Model Fine-tuning API para obtener 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 mediante foundation Model Fine-tuning. A medida que los nuevos modelos estén disponibles, es posible que se quite el acceso a modelos anteriores de la API o la interfaz de usuario, es posible que los modelos más antiguos estén en desuso o se actualicen los modelos compatibles. Consulte Directiva de mantenimiento de modelos de IA generativa.
Foundation Model Fine-tuning solo admite el entrenamiento del modelo para las á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 el ajuste de la configuración de Foundation Model. Póngase en contacto con el equipo de la cuenta de Databricks para obtener más información.