AutoTrain 文件
理解列對映
並獲得增強的文件體驗
開始使用
理解列對映
列對映是 AutoTrain 中一個關鍵的設定過程,它告訴系統資料集中不同列的角色。無論是表格資料集、文字分類資料還是其他型別的資料,都需要精確的列對映來確保 AutoTrain 正確處理每個資料集元素。
列對映的工作原理
AutoTrain 無法知道您資料集中的列代表什麼。為了有效地訓練模型,AutoTrain 需要清楚地瞭解資料集中每一列的功能。這透過使用者介面中一個簡單的對映系統來管理,以字典形式表示。這是一個典型的例子:
{"text": "text", "label": "target"}
在這個例子中,您資料集中的 `text` 列對應於 AutoTrain 用於處理的文字資料,而 `target` 列則被視為訓練的標籤。
不過別搞混了!AutoTrain 有辦法理解您資料集中的每一列代表什麼。如果您的資料已經是 AutoTrain 格式,則無需更改列對映。如果不是,您可以輕鬆地將資料集中的列對映到正確的 AutoTrain 格式。
在使用者介面中,您會看到列對映以字典形式呈現:
{"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 任務,如果文字列未格式化,即包含聊天格式(字典或 JSON)的樣本,則應使用 `chat_template` 引數。更多資訊請參閱 LLM 引數部分。
SFT / 通用訓練器
{"text": "text"}
`text`: 資料集中包含文字資料的列。
獎勵模型訓練器 (Reward Trainer)
{"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 Classification)
{"text": "tokens", "label": "tags"}
`text`: 資料集中包含詞元的列。這些詞元必須是字串列表。
`label`: 資料集中包含標籤的列。這些標籤必須是字串列表。
對於詞元分類,如果您使用 CSV 檔案,請確保這些列是字串化的列表。
表格分類與迴歸
{"id": "id", "label": ["target"]}
`id`: 資料集中包含每行唯一識別符號的列。
`label`: 資料集中包含目標變數的列。這應該是一個字串列表。
對於單個目標列,您可以傳遞一個只包含一個元素的列表。
對於多個目標列,例如多標籤分類任務,您可以傳遞一個包含多個元素的列表。
影像分類
對於影像分類,列對映應如下所示:
{"image": "image_column", "label": "label_column"}
僅當您使用 Hugging Face Hub 的資料集時,影像分類才需要列對映。對於上傳的資料集,請保持列對映不變。
Sentence Transformers
對於所有 Sentence Transformers 任務,需要將列對映到 `sentence1_column`、`sentence2_column`、`sentence3_column` 和 `target_column`。並非所有 Sentence Transformers 的訓練器都需要對映所有這些列。
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` 鍵的字典。
確保精確對映
為確保您的模型正確訓練:
驗證列名:仔細檢查對映字典中使用的名稱是否與您資料集中的名稱完全一致。
格式適當:尤其是在詞元分類中,確保您的資料格式符合預期(例如,字串列表)。
為新資料集更新對映:每個新資料集可能需要根據其結構和當前任務進行獨特的對映。
透過遵循這些指南並使用提供的示例作為模板,您可以有效地指示 AutoTrain 如何解釋和處理您的資料以完成各種機器學習任務。這個過程對於在模型訓練中取得最佳結果至關重要。
< > 在 GitHub 上更新