准备数据
本教程使用到的训练数据集是Alpaca数据集。您也可以自行准备数据集。
Alpaca数据集
本教程使用Alpaca数据集,数据集的介绍及下载链接如下。
Alpaca数据集是由OpenAI的text-davinci-003引擎生成的包含52k条指令和演示的数据集。这些指令数据可以用来对语言模型进行指令调优,使语言模型更好地遵循指令。
- 预训练使用的Alpaca数据集下载:https://huggingface.co/datasets/tatsu-lab/alpaca/resolve/main/data/train-00000-of-00001-a09b74b3ef9c3b56.parquet,数据大小:24M左右。
- SFT和LoRA微调使用的Alpaca数据集下载:https://huggingface.co/datasets/QingyiSi/Alpaca-CoT/blob/main/alpacaGPT4/alpaca_gpt4_data.json,数据大小:43.6 MB。
自定义数据
用户也可以自行准备训练数据。数据要求如下:
使用标准的.json格式的数据,通过设置--json-key来指定需要参与训练的列。请注意huggingface中的数据集具有如下this格式。可以使用–json-key标志更改数据集文本字段的名称,默认为text。在维基百科数据集中,它有四列,分别是id、url、title和text。可以指定–json-key标志来选择用于训练的列。
{ 'id': '1', 'url': 'https://simple.wikipedia.org/wiki/April', 'title': 'April', 'text': 'April is the fourth month...' }
上传数据到指定目录
将下载的原始数据存放在/home/ma-user/ws/training_data目录下。具体步骤如下:
- 进入到/home/ma-user/ws/目录下。
- 创建目录“training_data”,并将原始数据放置在此处。
mkdir training_data
数据存放参考目录结构如下:
${workdir}(例如/home/ma-user/ws ) |── training_data |── train-00000-of-00001-a09b74b3ef9c3b56.parquet # 训练原始数据集 |── alpaca_gpt4_data.json # 微调数据文件
注意:多机情况下,只有在rank_0节点进行数据预处理,转换权重等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下。