Compartir a través de


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 y westus.
  • 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.
  • 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.