下面列出 LLaMA‑Factory(開源的 LLM 交互式微調與數據標註平台)內置支持的全部數據集及其主要特性、來源和使用方式,方便你快速挑選合適的數據來進行指令微調、RLHF、對話生成等任務。
1️⃣ LLaMA‑Factory 官方提供的“指令/對話”數據集(已在 datasets 中註冊)
|
數據集名稱
|
類型
|
規模(示例/條目)
|
語言
|
主要來源
|
適用場景
|
|
alpaca_gpt4 |
指令
|
52 k
|
英文
|
Stanford‑Alpaca + GPT‑4 重新標註
|
常規指令微調
|
|
alpaca |
指令
|
52 k
|
英文
|
Stanford‑Alpaca (OpenAI |
快速實驗、baseline
|
|
sharegpt |
多輪對話
|
90 k(已去重)
|
英文
|
ShareGPT 網頁抓取
|
多輪對話微調
|
|
openai_webgpt |
多輪對話
|
28 k
|
英文
|
OpenAI WebGPT 採樣
|
對話回覆、檢索
|
|
vicuna_v1.1 |
多輪對話
|
70 k
|
英文
|
Vicuna‑1.1 (ShareGPT + LLaMA)
|
受限對話
|
|
hh_rlhf |
RLHF 反饋
|
70 k (pre‑selected)
|
英文
|
Anthropic “Helpful‑Harmless”
|
RLHF/獎勵模型訓練
|
|
oasst1 |
多輪對話
|
14 M (raw) / 2 M (filtered)
|
多語言
|
Open‑Assistant (Reddit)
|
大規模多語言對話
|
|
code_alpaca_gpt4 |
編碼指令
|
52 k
|
英文
|
Code‑Alpaca (GPT‑4)
|
編程指令、代碼生成
|
|
codealpaca |
編碼指令
|
52 k
|
英文
|
CodeAlpaca (OpenAI |
代碼微調
|
|
self_instruct |
指令
|
83 k (synthetic)
|
英文
|
Self‑Instruct (GPT‑3 生產)
|
擴展指令多樣性
|
|
flan_collection |
多任務指令
|
1 M+ (多子集)
|
多語言
|
FLAN (Google)
|
多任務指令微調
|
|
wizardlm |
多輪對話/指令
|
101 k
|
英文
|
WizardLM (GPT‑4)
|
複雜對話
|
|
medical_meadow |
醫療指令
|
12 k
|
英文
|
Medical Meadow (LLM‑Based)
|
醫療/健康對話
|
|
gpt4all |
多輪對話
|
46 k
|
多語言
|
GPT‑4‑All (OpenAI+LoRA)
|
通用對話
|
|
xsum (as instruction) |
摘要指令
|
200 k
|
英文
|
XSum (CNN)
|
摘要任務
|
|
samsum (as dialogue) |
對話摘要
|
13 k
|
英文
|
SAMSum
|
對話摘要
|
|
cnn_dailymail (as summarization) |
摘要
|
287 k
|
英文
|
CNN/DailyMail
|
長文本摘要
|
|
dolly (databricks) |
指令
|
15 k
|
英文
|
Dolly 2.0 (OpenAI)
|
指令微調
|
|
gpt4all_prompt_gpt4 |
Prompt‑style 指令
|
45 k
|
英文
|
GPT‑4All prompt collection
|
Prompt‑engineering
|
|
OpenOrca |
多輪對話
|
8 M+ (filtered 200 k)
|
多語言
|
OpenOrca (OpenAI)
|
大規模對話微調
|
|
übersetzungs‑corpus |
翻譯指令
|
3 M+
|
多語言
|
OPUS, WMT
|
翻譯任務
|
|
eus (Extract‑Update‑Summarize) |
增量摘要
|
60 k
|
英文
|
EUS dataset (research)
|
增量更新摘要
|
説明
- 表中 規模 為公開可用版本的條目數量,實際使用時常常在
train/validation劃分後會更少。- 大多數數據集已經在
datasets(🤗 Hub)中註冊,LLaMA‑Factory 會在運行llamafactory train時自動下載並轉化為統一的 instruction format({'instruction':..., 'input':..., 'output':...})。- 對於 多語言、代碼、醫學 等專用領域,建議單獨組合對應子集(如
flan_collection+code_alpaca_gpt4)進行 混合微調,可以顯著提升專業化能力。
2️⃣ 如何在 LLaMA‑Factory 中使用這些數據集
2.1 基礎命令(指令微調示例)
# 以 alpaca_gpt4 為例
CUDA_VISIBLE_DEVICES=0 llamafactory train \
--model_name_or_path /path/to/llama-7b \
--dataset alpaca_gpt4 \
--output_dir ./output/llama-7b-alpaca-gpt4 \
--do_train True \
--do_eval True \
--per_device_train_batch_size 4 \
--per_device_eval_batch_size 4 \
--learning_rate 2e-5 \
--num_train_epochs 3 \
--fp16 True
2.2 多數據集混合(推薦做法)
# 使用 alpaca_gpt4 + code_alpaca_gpt4 + sharegpt 三個子集
CUDA_VISIBLE_DEVICES=0,1 llamafactory train \
--model_name_or_path /path/to/llama-13b \
--datasets alpaca_gpt4,code_alpaca_gpt4,sharegpt \
--dataset_ratios 0.4,0.3,0.3 # 按比例抽樣(可省略,默認均勻抽樣) \
--output_dir ./output/llama-13b-mixed \
--do_train True \
--fp16 True \
--gradient_accumulation_steps 4 \
--per_device_train_batch_size 2 \
--learning_rate 1e-5 \
--num_train_epochs 5
--datasets接受 逗號分隔的多個數據集名稱。--dataset_ratios(可選)控制抽樣權重,幫助在 大數據集(如 OASST1)和 小數據集(如 medical_meadow)之間平衡。
2.3 使用自定義本地數據
如果你有自己的 JSON/JSONL 或 CSV 格式數據,只要滿足 {'instruction':..., 'input':..., 'output':...} 結構,就可以通過 --dataset local 並提供路徑:
CUDA_VISIBLE_DEVICES=0 llamafactory train \
--model_name_or_path /path/to/llama-7b \
--dataset local \
--dataset_path ./my_dataset.jsonl \
--output_dir ./output/custom \
--do_train True
需要注意:文件必須是 UTF‑8 編碼,每行必須是合法 JSON 對象。
3️⃣ 關鍵考量:挑選合適的訓練數據
|
目標
|
推薦數據集組合
|
説明
|
|
通用對話 |
|
多輪對話質量高,覆蓋常見聊天場景
|
|
指令遵循 |
|
以指令+答案的格式為主
|
|
代碼生成 |
|
包含多語言代碼(Python/JavaScript/SQL)
|
|
多語言 |
|
支持 20+ 語言,對齊/翻譯任務
|
|
醫學/健康 |
|
專業術語豐富,需要額外的安全過濾
|
|
RLHF 訓練 |
|
用於獎勵模型(Reward Model)或 PPO 步驟
|
|
摘要/長文本 |
|
長文生成、壓縮任務常用基準
|
|
混合領域 |
任選 2‑3 個(如 |
在微調時加入 任務標籤( |
4️⃣ 小技巧 & 常見坑
|
問題
|
解決方案
|
|
下載慢/超時 |
在中國大陸使用 |
|
數據大小不匹配(train/eval 不同) |
手動對 |
|
顯存不足 |
開啓 LoRA( |
|
指令/對話格式不統一 |
在 |
|
多語言訓練時出現亂碼 |
確認文件是 UTF‑8 with BOM(或直接 |
|
RLHF 步驟報錯 “no reward model found” |
確保先運行 |
5️⃣ 參考資源(官方/社區)
|
資源
|
鏈接
|
|
LLaMA‑Factory 項目主頁 |
https://github.com/hiyouga/LLaMA-Factory |
|
官方數據集文檔 (datasets list) |
https://github.com/hiyouga/LLaMA-Factory#supported-datasets |
|
HuggingFace Datasets Hub |
https://huggingface.co/datasets |
|
LoRA + DeepSpeed 示例 |
https://github.com/hiyouga/LLaMA-Factory/blob/main/scripts/finetune_lora_deepspeed.sh |
|
中文社區數據集合集 |
https://github.com/THU-KEG/Chinese-LLaMA-Dataset |
|
RLHF 教程 |
https://github.com/hiyouga/LLaMA-Factory/blob/main/docs/rlhf.md |
🎯 快速上手小結
- 選定目標(對話、指令、代碼、RLHF…)
- 挑選相應數據集(參考上表的推薦組合)
- 在
config.yaml或命令行裏聲明--datasets(或--dataset單個) - 確保混合精度/LoRA/DeepSpeed 兼容(尤其在 V100 等顯卡上)
- 跑訓練 + 評估,後續可用
llamafactory evaluate或llamafactory inference檢查效果。
按以上步驟,你就能在 LLaMA‑Factory 中輕鬆加載並微調所需的數據集。如果還有關於特定數據集的細節(如許可、過濾策略)或訓練參數的疑問,隨時再來問我!祝你實驗順利 🚀