AutoTrain 文档
理解列映射
并获得增强的文档体验
开始使用
理解列映射
列映射是 AutoTrain 中一个至关重要的设置过程,它告知系统数据集中不同列的角色。无论是表格数据集、文本分类数据还是其他类型,精确的列映射都确保 AutoTrain 正确处理每个数据集元素。
列映射的工作原理
AutoTrain 无法知道数据集中列的含义。AutoTrain 需要清楚地了解数据集中每列的功能,以便有效地训练模型。这通过用户界面中一个简单的映射系统来管理,该系统表示为一个字典。这是一个典型的例子
{"text": "text", "label": "target"}
在此示例中,数据集中的 text
列对应于 AutoTrain 用于处理的文本数据,而 target
列被视为训练的标签。
但是,请不要感到困惑!AutoTrain 有办法理解数据集中每列的含义。如果您的数据已经是 AutoTrain 格式,则无需更改列映射。如果不是,您可以轻松地将数据集中的列映射到正确的 AutoTrain 格式。
在 UI 中,您将看到列映射为一个字典
{"text": "text", "label": "target"}
在这里,数据集中的 text
列被映射到 AutoTrain 列 text
,数据集中的 target
列被映射到 AutoTrain 列 label
。
假设您正在训练一个文本分类模型,并且您的数据集具有以下列
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
:数据集中包含目标变量的列。
Token 分类
{"text": "tokens", "label": "tags"}
text
:数据集中包含 token 的列。这些 token 必须是字符串列表。
label
:数据集中包含标签的列。这些标签必须是字符串列表。
对于 token 分类,如果您正在使用 CSV,请确保列是字符串化列表。
表格数据分类和回归
{"id": "id", "label": ["target"]}
id
:数据集中包含每行唯一标识符的列。
label
:数据集中包含目标变量的列。这应为字符串列表。
对于单个目标列,您可以传递包含单个元素的列表。
对于多个目标列,例如多标签分类任务,您可以传递包含多个元素的列表。
图像分类
对于图像分类,列映射应如下所示
{"image": "image_column", "label": "label_column"}
仅当您使用来自 Hugging Face Hub 的数据集时,图像分类才需要列映射。对于上传的数据集,请保持列映射不变。
句子 Transformer
对于所有句子 Transformer 任务,需要将列映射到 sentence1_column
、sentence2_column
、sentence3_column
和 target_column
列。并非所有句子 Transformer 的训练器都需要映射所有列。
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"}
抽取式问答
对于抽取式问答,列映射应如下所示
{"text": "context", "question": "question", "answer": "answers"}
其中 answer
是一个字典,包含键 text
和 answer_start
。
确保准确的映射
为了确保您的模型正确训练
验证列名:仔细检查映射字典中使用的名称是否准确反映了数据集中的名称。
适当格式化:尤其是在 token 分类中,确保您的数据格式符合预期(例如,字符串列表)。
更新新数据集的映射:每个新数据集可能需要根据其结构和手头的任务进行独特的映射。
通过遵循这些指南并使用提供的示例作为模板,您可以有效地指导 AutoTrain 如何解释和处理您的数据以进行各种机器学习任务。此过程对于从您的模型训练工作中获得最佳结果至关重要。
< > 在 GitHub 上更新