Понимание сопоставления столбцов
Сопоставление столбцов - это важный процесс настройки в AutoTrain, который информирует систему о роли различных столбцов в вашем наборе данных. Будь то табличный набор данных, текстовые классификационные данные или данные другого типа, необходимость точного сопоставления столбцов гарантирует, что AutoTrain правильно обрабатывает каждый элемент набора данных.
Как работает сопоставление столбцов
У AutoTrain нет возможности узнать, что представляют собой столбцы в вашем наборе данных. Для эффективного обучения моделей AutoTrain требуется четкое понимание функций каждого столбца в вашем наборе данных. Это осуществляется с помощью простой системы отображения в пользовательском интерфейсе, представленной в виде словаря. Вот типичный пример:
{"text": "text", "label": "target"}
В этом примере текстовый столбец в вашем наборе данных соответствует текстовым данным, которые AutoTrain использует для обработки, а целевой столбец рассматривается как метка для обучения.
Но давайте не будем путаться! В AutoTrain есть способ понять, что представляет собой каждый столбец в вашем наборе данных. Если ваши данные уже представлены в формате AutoTrain, вам не нужно изменять сопоставления столбцов. Если нет, вы можете легко сопоставить столбцы в вашем наборе данных с правильным форматом AutoTrain.
В пользовательском интерфейсе вы увидите отображение столбцов в виде словаря:
full_text, target_sentiment "this movie is great", positive "this movie is bad", negative
Вы можете сопоставить эти столбцы с форматом AutoTrain следующим образом:
{"text": "full_text", "label": "target_sentiment"}
Если в вашем наборе данных есть столбцы: text и label, вам не нужно изменять отображение столбцов.
Давайте взглянем на сопоставления столбцов для каждой задачи:
LLM
Примечание: Для всех задач LLM, если текстовые столбцы не отформатированы, т.е. содержат примеры в формате чата (dict или json), вам следует использовать параметр chat_template. Подробнее об этом читайте в разделе Параметры LLM.
SFT / Универсальный тренер
{"text": "text"}
text: Столбец в вашем наборе данных, содержащий текстовые данные.
Тренер вознаграждения
{"text": "text", "rejected_text": "rejected_text"}
text: Столбец в вашем наборе данных, содержащий текстовые данные.
rejected_text: Столбец в вашем наборе данных, содержащий отклоненные текстовые данные.
DPO / ORPO Тренер
{"prompt": "prompt", "text": "text", "rejected_text": "rejected_text"}
prompt: Столбец в вашем наборе данных, содержащий данные запроса.
text: Столбец в вашем наборе данных, содержащий текстовые данные.
rejected_text: Столбец в вашем наборе данных, содержащий отклоненные текстовые данные.
Классификация и регрессия текста, Seq2Seq
Для классификации текста и регрессии отображение столбцов должно быть следующим:
{"text": "dataset_text_column", "label": "dataset_target_column"}
text: Столбец в вашем наборе данных, содержащий текстовые данные.
label: Столбец в вашем наборе данных, содержащий целевую переменную.
Классификация токенов
{"text": "tokens", "label": "tags"}
text: Столбец в вашем наборе данных, содержащий токены. Эти токены должны быть списком строк.
label: Столбец в вашем наборе данных, содержащий теги. Эти теги должны представлять собой список строк.
Для классификации токенов, если вы используете CSV, убедитесь, что столбцы представляют собой структурированные списки.
Табличная классификация и регрессия
{"id": "id", "label": ["target"]}
id: Столбец в вашем наборе данных, содержащий уникальный идентификатор для каждой строки.
label: Столбец в вашем наборе данных, содержащий целевую переменную. Это должен быть список строк.
Для одного целевого столбца вы можете передать список с одним элементом.
Для нескольких целевых столбцов, например, для задачи классификации с несколькими метками, вы можете передать список с несколькими элементами.
Классификация изображений
For image classification, the column mapping should be as follows:
{"image": "image_column", "label": "label_column"}
Классификация изображений требует сопоставления столбцов только в том случае, если вы используете набор данных из Hugging Face Hub. Для загруженных наборов данных оставьте сопоставление столбцов без изменений.
Трансформаторы предложений
Для всех заданий по преобразованию предложений необходимо сопоставить столбцы с столбцами sentence1_column, sentence2_column, sentence3_column и target_column. Не все столбцы должны быть сопоставлены для всех инструкторов по преобразованию предложений.
pair :
{"sentence1_column": "anchor", "sentence2_column": "positive"}
pair_class :
{"sentence1_column": "premise", "sentence2_column": "hypothesis", "target_column": "label"}
pair_score :
{"sentence1_column": "sentence1", "sentence2_column": "sentence2", "target_column": "score"}
triplet :
{"sentence1_column": "anchor", "sentence2_column": "positive", "sentence3_column": "negative"}
qa :
{"sentence1_column": "query", "sentence2_column": "answer"}
Extractive Question Answering — метод поиска ответов на вопросы внутри документов
Для получения исчерпывающего ответа на вопрос сопоставление столбцов должно быть следующим:
{"text": "context", "question": "question", "answer": "answers"}
где answer - это словарь с ключами text и answer_start.
Обеспечение точного отображения
Чтобы убедиться, что ваша модель тренируется правильно:
- Проверьте названия столбцов: Дважды проверьте, чтобы имена, используемые в картографическом словаре, точно соответствовали именам в вашем наборе данных.
- Соответствующий формат: Особенно при классификации токенов, убедитесь, что ваш формат данных соответствует ожиданиям (например, списки строк).
- Обновите сопоставления для новых наборов данных: Для каждого нового набора данных могут потребоваться свои уникальные сопоставления, основанные на его структуре и решаемой задаче.
Следуя этим рекомендациям и используя приведенные примеры в качестве шаблонов, вы сможете эффективно обучать AutoTrain тому, как интерпретировать ваши данные и обрабатывать их для решения различных задач машинного обучения. Этот процесс является основополагающим для достижения оптимальных результатов при обучении модели.