下面列出 LLaMA‑Factory(开源的 LLM 交互式微调与数据标注平台)内置支持的全部数据集及其主要特性、来源和使用方式,方便你快速挑选合适的数据来进行指令微调、RLHF、对话生成等任务。


1️⃣ LLaMA‑Factory 官方提供的“指令/对话”数据集(已在 datasets 中注册)

数据集名称 类型 规模(示例/条目) 语言 主要来源 适用场景
alpaca_gpt4 指令 52 k 英文 Stanford‑Alpaca + GPT‑4 重新标注 常规指令微调
alpaca 指令 52 k 英文 Stanford‑Alpaca (OpenAI text-davinci-003) 快速实验、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 code-davinci-002) 代码微调
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) 增量更新摘要

说明

  1. 表中 规模 为公开可用版本的条目数量,实际使用时常常在 train/validation 划分后会更少。
  2. 大多数数据集已经在 datasets(🤗 Hub)中注册,LLaMA‑Factory 会在运行 llamafactory train 时自动下载并转化为统一的 instruction format{'instruction':..., 'input':..., 'output':...})。
  3. 对于 多语言代码医学 等专用领域,建议单独组合对应子集(如 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/JSONLCSV 格式数据,只要满足 {'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️⃣ 关键考量:挑选合适的训练数据

目标 推荐数据集组合 说明
通用对话 sharegpt, vicuna_v1.1, wizardlm 多轮对话质量高,覆盖常见聊天场景
指令遵循 alpaca_gpt4, self_instruct, flan_collection 以指令+答案的格式为主
代码生成 code_alpaca_gpt4, codealpaca, starcoder_pretrain (外部) 包含多语言代码(Python/JavaScript/SQL)
多语言 flan_collection(多语言子集),openorca(过滤后) 支持 20+ 语言,对齐/翻译任务
医学/健康 medical_meadow, pubmed_qa (外部) 专业术语丰富,需要额外的安全过滤
RLHF 训练 hh_rlhf, openai_webgpt, oasst1(人类对齐) 用于奖励模型(Reward Model)或 PPO 步骤
摘要/长文本 cnn_dailymail, xsum, samsum 长文生成、压缩任务常用基准
混合领域 任选 2‑3 个(如 alpaca_gpt4 + code_alpaca_gpt4 + sharegpt 在微调时加入 任务标签task_type)可帮助模型学习不同风格

4️⃣ 小技巧 & 常见坑

问题 解决方案
下载慢/超时 在中国大陆使用 export HF_ENDPOINT=https://hf-mirror.com(或者自行搭建 HuggingFace 镜像),或提前在本地 datasets 缓存。
数据大小不匹配(train/eval 不同) 手动对 train_split / eval_split 进行指定,例:--train_split train[:90%] --eval_split train[90%:]
显存不足 开启 LoRA--lora_rank 8),并使用 FP16 (--fp16 True) 或 DeepSpeed ZeRO‑3 (--deepspeed ds_config.json)
指令/对话格式不统一 prepare_dataset.py 中使用 llamafactory/data 提供的 convert_to_instruction 工具统一化;也可以在 datasetsmap lambda,示例:dataset.map(lambda x: {'instruction': x['prompt'], 'output': x['completion']})
多语言训练时出现乱码 确认文件是 UTF‑8 with BOM(或直接 iconv -f ISO-8859-1 -t UTF-8 转码)并在 DatasetInfo 中声明 language
RLHF 步骤报错 “no reward model found” 确保先运行 llamafactory train 产生 reward_model,路径通过 --reward_model_path 指定;或者在 llamafactory rl 配置文件中显式写入 reward_model_name_or_path

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

🎯 快速上手小结

  1. 选定目标(对话、指令、代码、RLHF…)
  2. 挑选相应数据集(参考上表的推荐组合)
  3. config.yaml 或命令行里声明 --datasets(或 --dataset 单个)
  4. 确保混合精度/LoRA/DeepSpeed 兼容(尤其在 V100 等显卡上)
  5. 跑训练 + 评估,后续可用 llamafactory evaluatellamafactory inference 检查效果。

按以上步骤,你就能在 LLaMA‑Factory 中轻松加载并微调所需的数据集。如果还有关于特定数据集的细节(如许可、过滤策略)或训练参数的疑问,随时再来问我!祝你实验顺利 🚀

注:以上内容为AI生成,所以需要用户自己再实践检验一下。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐