Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 describen los formatos de archivo de datos de entrenamiento y evaluación aceptados para foundation Model Fine-tuning (ahora parte de Mosaic AI Model Training).
Bloc de notas: Validación de datos para ejecuciones de entrenamiento
En el cuaderno siguiente se muestra cómo validar los datos. Está diseñado para ejecutarse de forma independiente antes de comenzar el entrenamiento. Valida que los datos tienen el formato correcto para el ajuste correcto de Foundation Model y incluye código para ayudarle a calcular los costos durante la ejecución de entrenamiento mediante la tokenización del conjunto de datos sin procesar.
Validación de datos para el cuaderno de ejecuciones de entrenamiento
Preparación de datos para la finalización del chat
Para las tareas de finalización de chat, los datos con formato de chat deben estar en un archivo .jsonl, donde cada línea es un objeto JSON independiente que representa una sola sesión de chat. Cada sesión de chat se representa como un objeto JSON con una única clave, messages, que se asigna a una matriz de objetos de mensaje. Para entrenar con datos de chat, proporcione el task_type = 'CHAT_COMPLETION' cuando cree su ejecución de entrenamiento.
Los mensajes en formato de chat se formatearán automáticamente según la plantilla de chat del modelo, por lo que no es necesario agregar tokens de chat especiales para indicar manualmente el principio o el final de un turno de chat. Un ejemplo de un modelo que usa una plantilla de chat personalizada es Meta Llama 3.1 8B Instruct.
Cada objeto de mensaje de la matriz representa un único mensaje en la conversación y tiene la siguiente estructura:
-
role: cadena que indica el autor del mensaje. Los valores posibles sonsystem,useryassistant. Si el rol fuerasystem, deberá ser el primer chat en la lista de mensajes. Debe haber al menos un mensaje con el rolassistanty cualquier mensaje después del mensaje del sistema (opcional) debe alternar los roles de usuario y asistente. No debe haber dos mensajes adyacentes con el mismo rol. El último mensaje de lamessagesmatriz debe tener el rolassistant. -
content: cadena que contiene el texto del mensaje.
Nota:
Los modelos mistrales no aceptan system roles en sus formatos de datos.
A continuación, se muestra un ejemplo de datos con formato de chat:
{
"messages": [
{ "role": "system", "content": "A conversation between a user and a helpful assistant." },
{ "role": "user", "content": "Hi there. What's the capital of the moon?" },
{
"role": "assistant",
"content": "This question doesn't make sense as nobody currently lives on the moon, meaning it would have no government or political institutions. Furthermore, international treaties prohibit any nation from asserting sovereignty over the moon and other celestial bodies."
}
]
}
Preparación de datos para un entrenamiento previo continuo
Para tareas de entrenamiento previo continuo, los datos de entrenamiento son los datos de texto no estructurado. Los datos de entrenamiento deben almacenarse en un volumen de Catálogo de Unity que incluya archivos .txt. Cada archivo .txt se trata como una sola muestra. Si los archivos de .txt están en una carpeta de volumen del catálogo de Unity, esos archivos también se obtienen para los datos de entrenamiento. Se omiten todos los archivos no txt del volumen. Consulte Cargar archivos en un volumen de Unity Catalog.
En la siguiente imagen se muestran archivos de ejemplo .txt en un volumen de Unity Catalog. Para usar estos datos en la configuración de ejecución del entrenamiento previo, configure train_data_path = "dbfs:/Volumes/main/finetuning/cpt-data" y task_type = 'CONTINUED_PRETRAIN'.
Dar formato a los datos usted mismo
Advertencia
No se recomienda la guía de esta sección, pero está disponible para escenarios en los que se requiere el formato de datos personalizado.
Databricks recomienda encarecidamente usar datos con formato de chat para que el formato adecuado se aplique automáticamente a los datos en función del modelo que use.
Foundation Model Fine-tuning le permite dar formato a los datos usted mismo. Se debe aplicar cualquier formato de datos al entrenar y atender el modelo. Para entrenar su modelo utilizando sus datos formateados, establezca task_type = 'INSTRUCTION_FINETUNE' cuando cree su ejecución de entrenamiento.
Los datos de entrenamiento y evaluación deben estar en uno de los siguientes esquemas:
Pares de solicitud y respuesta.
{ "prompt": "your-custom-prompt", "response": "your-custom-response" }Pares de solicitud y finalización.
{ "prompt": "your-custom-prompt", "completion": "your-custom-response" }
Importante
Prompt-response y prompt-completion no están modelados, por lo que cualquier modelado específico del modelo, como el formato de instrucciones de Mistral, debe realizarse como un paso de preprocesamiento.
Formatos de datos compatibles
A continuación se muestran los formatos de datos admitidos:
Un volumen del catálogo de Unity con un archivo
.jsonl. Los datos de entrenamiento deben estar en formato JSONL, donde cada línea es un objeto JSON válido. A continuación se muestra un ejemplo de consulta y de par de respuesta:{ "prompt": "What is Databricks?", "response": "Databricks is a cloud-based data engineering platform that provides a fast, easy, and collaborative way to process large-scale data." }Una tabla Delta que cumpla uno de los esquemas aceptados mencionados anteriormente. Para las tablas Delta, es necesario proporcionar un parámetro
data_prep_cluster_idpara el procesamiento de datos. Consulte Configuración de una ejecución de entrenamiento.Un conjunto de datos público de Hugging Face.
Si se usa un conjunto de datos público de Hugging Face como datos de entrenamiento, es necesario especificar la ruta de acceso completa con la división. Por ejemplo:
mosaicml/instruct-v3/train and mosaicml/instruct-v3/test. Esto incluye los conjuntos de datos que tengan diferentes esquemas de división. No se admiten los conjuntos de datos anidados de Hugging Face.Para ver un ejemplo más detallado, consulte el conjunto de datos
mosaicml/dolly_hhrlhfsobre Hugging Face.Las siguientes filas de datos de ejemplo son del conjunto de datos
mosaicml/dolly_hhrlhf.{"prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: what is Databricks? ### Response: ","response": "Databricks is a cloud-based data engineering platform that provides a fast, easy, and collaborative way to process large-scale data."} {"prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: Van Halen famously banned what color M&Ms in their rider? ### Response: ","response": "Brown."}