LLaMA-Factory训练数据集

1.指令监督微调数据集

[
  {
    "instruction": "人类指令(必填)",
    "input": "人类输入(选填)",
    "output": "模型回答(必填)",
    "system": "系统提示词(选填)",
    "history": [
      ["第一轮指令(选填)", "第一轮回答(选填)"],
      ["第二轮指令(选填)", "第二轮回答(选填)"]
    ]
  }
]

对于上述格式的数据, dataset_info.json 中的 数据集描述 应为:

"数据集名称": {
  "file_name": "data.json",
  "columns": {
    "prompt": "instruction",
    "query": "input",
    "response": "output",
    "system": "system",
    "history": "history"
  }
}

2.预训练数据集

[
  {"text": "document"},
  {"text": "document"}
]

对于上述格式的数据, dataset_info.json 中的 数据集描述 应为:

"数据集名称": {
  "file_name": "data.json",
  "columns": {
    "prompt": "text"
  }
}

3.偏好数据集

[
  {
    "instruction": "人类指令(必填)",
    "input": "人类输入(选填)",
    "chosen": "优质回答(必填)",
    "rejected": "劣质回答(必填)"
  }
]

对于上述格式的数据,dataset_info

### 如何使用 LLaMA-Factory 训练自定义数据集 #### 准备环境和安装依赖库 为了能够顺利运行 LLaMA-Factory训练自定义的数据集,需要先准备好 Python 环境并安装必要的依赖包。通常情况下,这可以通过创建一个新的虚拟环境来完成,并通过 pip 或 conda 安装所需的软件包。 #### 配置命令行参数 当利用 LLaMA-Factory 开始训练之前,配置合适的命令行参数是非常重要的。对于加载特定模型而言,`--model_name_or_path` 参数应当被设定为目标模型的 ID,比如 `modelscope/Llama-2-7b-ms`[^2]。此路径指向存储于魔搭社区中的预训练模型资源位置。 #### 处理自定义数据集 为了让 LLaMA-Factory 能够处理新的数据源,在启动训练过程前还需要对输入文件做适当调整。一般会涉及到将文本转换成适合喂给神经网络的形式,例如 tokenization 和 padding 操作。具体实现取决于所使用的框架版本以及具体的任务需求。 #### 启动训练脚本 一旦所有的准备工作都已完成,则可以执行带有上述提到的各种选项的实际训练指令了。下面给出了一段简单的 Python 代码片段作为例子展示如何调用这些功能: ```python from transformers import Trainer, TrainingArguments, AutoModelForCausalLM, AutoTokenizer import datasets tokenizer = AutoTokenizer.from_pretrained('modelscope/Llama-2-7b-ms') model = AutoModelForCausalLM.from_pretrained('modelscope/Llama-2-7b-ms') dataset = datasets.load_dataset('path_to_custom_data') # 加载本地或远程数据集 tokenized_datasets = dataset.map(lambda examples: tokenizer(examples['text']), batched=True) training_args = TrainingArguments( output_dir='./results', num_train_epochs=3, per_device_train_batch_size=8, save_steps=10_000, save_total_limit=2, ) trainer = Trainer( model=model, args=training_args, train_dataset=tokenized_datasets["train"], ) trainer.train() ``` 这段代码展示了如何初始化 Hugging Face 的 Transformer 库所提供的 `Trainer` 类来进行高效便捷的大规模语言模型训练工作流管理[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值