Поделиться через


Подготовка данных для точной настройки модели Foundation

Внимание

Эта функция доступна в общедоступной предварительной версии в

В этой статье описаны принятые форматы файлов данных обучения и оценки для тонкой настройки модели Foundation (в настоящее время входит в состав обучения модели ИИ Мозаики).

Записная книжка: проверка данных для учебных запусков

В следующей записной книжке показано, как проверить данные. Он предназначен для независимой работы перед началом обучения. Он проверяет правильность формата данных для тонкой настройки модели Foundation и включает код для оценки затрат во время обучения путем маркеризации необработанного набора данных.

Проверка данных для обучения выполняет записную книжку

Получить блокнот

подготовка данных к завершению чата

Для задач завершения чата данные в формате чата должны находиться в JSONL-файле, где каждая строка представляет отдельный объект JSON, представляющий один сеанс чата. Каждый сеанс чата представлен как объект JSON с одним ключом, messagesкоторый сопоставляется с массивом объектов сообщений. Чтобы обучать модель на данных чата, предоставьте task_type = 'CHAT_COMPLETION' при создании запуска обучения.

Сообщения в формате чата автоматически форматируются в соответствии с шаблоном чата модели , поэтому нет необходимости добавлять специальные маркеры, чтобы вручную сигнализировать о начале или конце раунда общения. Пример модели, использующей пользовательский шаблон чата, — это Мета Ллама 3.1 8B Инструкт.

Каждый объект сообщения в массиве представляет одно сообщение в беседе и имеет следующую структуру:

  • role: строка, указывающая автора сообщения. Возможные значения: system, userи assistant. Если роль system, она должна быть первым чатом в списке сообщений. Должно быть по крайней мере одно сообщение с ролью assistant, а все сообщения после (необязательно) системного запроса должны быть альтернативными ролями между пользователем и помощником. Не должно быть двух смежных сообщений с одной и той же ролью. Последнее сообщение в массиве messages должно иметь роль assistant.
  • content: строка, содержащая текст сообщения.

Примечание.

Мистральные модели не принимают system роли в форматах данных.

Ниже приведен пример форматирования чата.

{"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."},
  ]
}

Подготовка данных к продолжению подготовки к обучению

Для продолжающейся предварительной подготовки данные обучения — это неструктурированные текстовые данные. Данные обучения должны находиться в томе каталога Unity, содержащем файлы .txt. Каждый .txt файл рассматривается как один пример. Если эти файлы .txt находятся в папке тома каталога Unity, они также используются в качестве обучающих данных. Все файлы, отличные от txt в томе, игнорируются. См. загрузку файлов в раздел каталога Unity.

На следующем рисунке показан пример .txt файлов в томе каталога Unity. Чтобы использовать эти данные в конфигурации непрерывного предварительного обучения, задайте train_data_path = "dbfs:/Volumes/main/finetuning/cpt-data" и task_type = 'CONTINUED_PRETRAIN'.

Том UC с примерами файлов набора данных для предварительного обучения

Отформатируйте данные самостоятельно

Предупреждение

Рекомендации в этом разделе не рекомендуется, но доступны для сценариев, в которых требуется форматирование пользовательских данных.

Databricks настоятельно рекомендует использовать данные в формате чата, чтобы правильное форматирование автоматически применялось к вашим данным на основе модели, которую вы используете.

Базовая настройка модели позволяет самостоятельно отформатировать данные. При обучении и обслуживании модели необходимо применять любое форматирование данных. Чтобы обучить модель с помощью отформатированных данных, задайте task_type = 'INSTRUCTION_FINETUNE' при создании учебного запуска.

Данные обучения и оценки должны находиться в одной из следующих схем:

  • Пары "Запрос" и "Ответ".

    {"prompt": "your-custom-prompt", "response": "your-custom-response"}
    
  • Пары запроса и завершения.

    {"prompt": "your-custom-prompt", "completion": "your-custom-response"}
    

Внимание

Запросы на ответ и выполнение запроса не шаблонны, поэтому в качестве этапа предварительной обработки необходимо выполнить любые шаблонные шаблоны для конкретной модели, такие как форматирование инструкций Мистрала.

Поддерживаемые форматы данных

Ниже приведены поддерживаемые форматы данных:

  • Том каталога Unity с файлом .jsonl. Данные обучения должны находиться в формате JSONL, где каждая строка является допустимым объектом JSON. В следующем примере показан пример пары запроса и ответа:

    {"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."}
    
  • Таблица Delta, которая соответствует одной из принятых схем, упомянутых выше. Для таблиц Delta необходимо указать параметр data_prep_cluster_id для обработки данных. См. статью "Настройка обучения".

  • Общедоступный набор данных распознавания лиц.

    Если в качестве обучающих данных используется общедоступный набор данных Hugging Face, укажите полный путь к разделите, например mosaicml/instruct-v3/train and mosaicml/instruct-v3/test. Эта учетная запись для наборов данных, имеющих разные схемы разбиения. Вложенные наборы данных из Hugging Face не поддерживаются.

    Более подробный пример см. в наборе mosaicml/dolly_hhrlhf данных об обнимаемом лице.

    Ниже приведены примеры строк данных из 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."}