From 0e0508d2413576e3fe7b389fe4580e0e917fb02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=9D=B0?= Date: Wed, 16 Oct 2024 17:56:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/zh/docs/dtx/dataset.md | 421 ++ docs/zh/docs/dtx/features.md | 16 +- docs/zh/docs/dtx/fine-tuning-fast.md | 154 +- docs/zh/docs/dtx/fine-tuning-lab.md | 126 +- .../docs/dtx/images/DCEdata_en_Trainning.csv | 3427 ----------------- docs/zh/docs/dtx/images/DCEdata_en_test.csv | 429 --- .../docs/dtx/images/DCEdata_en_validation.csv | 428 -- docs/zh/docs/dtx/images/add-task.png | Bin 59880 -> 114202 bytes .../basic-information-of-experiment.png | Bin 123016 -> 0 bytes docs/zh/docs/dtx/images/basic-information.png | Bin 20691 -> 0 bytes docs/zh/docs/dtx/images/core01.png | Bin 9082 -> 0 bytes docs/zh/docs/dtx/images/core02.png | Bin 7126 -> 0 bytes docs/zh/docs/dtx/images/core03.png | Bin 17964 -> 0 bytes .../images/create-fine-tuning-experiment.png | Bin 148720 -> 0 bytes .../dtx/images/create-parameter-groups.png | Bin 346939 -> 0 bytes docs/zh/docs/dtx/images/dataset01.png | Bin 180803 -> 129305 bytes docs/zh/docs/dtx/images/dataset02.png | Bin 247044 -> 109343 bytes .../images/delete-fine-tuning-experiment.png | Bin 127473 -> 0 bytes docs/zh/docs/dtx/images/delete-parameter.png | Bin 76272 -> 0 bytes docs/zh/docs/dtx/images/dtx-chat01.png | Bin 337974 -> 97209 bytes docs/zh/docs/dtx/images/dtx-chat02.png | Bin 264052 -> 222041 bytes docs/zh/docs/dtx/images/dtx-chat03.png | Bin 225514 -> 111095 bytes docs/zh/docs/dtx/images/dtx-chat04.png | Bin 263608 -> 113735 bytes docs/zh/docs/dtx/images/dtx-chat05.png | Bin 0 -> 136704 bytes docs/zh/docs/dtx/images/dtx.png | Bin 344763 -> 127069 bytes docs/zh/docs/dtx/images/edit-parameter.png | Bin 76425 -> 0 bytes .../images/fine-tuning-experiment-create.png | Bin 0 -> 112677 bytes .../fine-tuning-experiment-create01.png | Bin 0 -> 94030 bytes .../fine-tuning-experiment-create02.png | Bin 0 -> 103234 bytes .../fine-tuning-experiment-create03.png | Bin 0 -> 19325 bytes .../images/fine-tuning-experiment-delete.png | Bin 0 -> 114810 bytes .../images/fine-tuning-experiment-enter.png | Bin 0 -> 174081 bytes .../images/fine-tuning-experiment-info01.png | Bin 0 -> 101867 bytes .../images/fine-tuning-experiment-info02.png | Bin 0 -> 124844 bytes .../images/fine-tuning-experiment-log01.png | Bin 0 -> 172944 bytes .../images/fine-tuning-experiment-log02.png | Bin 0 -> 306368 bytes .../images/fine-tuning-experiment-monitor.png | Bin 0 -> 143916 bytes docs/zh/docs/dtx/images/namespace.png | Bin 68101 -> 0 bytes .../dtx/images/parameter-configuration.png | Bin 74288 -> 0 bytes docs/zh/docs/dtx/images/parmergroup01.png | Bin 274821 -> 0 bytes docs/zh/docs/dtx/images/parmergroup02.png | Bin 185188 -> 0 bytes .../docs/dtx/images/resource-allocation.png | Bin 57382 -> 0 bytes .../docs/dtx/images/resource-allocation01.png | Bin 274332 -> 0 bytes .../docs/dtx/images/resource-allocation02.png | Bin 297324 -> 0 bytes .../docs/dtx/images/resource-allocation03.png | Bin 264474 -> 0 bytes docs/zh/docs/dtx/index.md | 126 +- docs/zh/docs/dtx/parameters.md | 83 - docs/zh/navigation.yml | 4 +- 48 files changed, 636 insertions(+), 4578 deletions(-) create mode 100644 docs/zh/docs/dtx/dataset.md delete mode 100644 docs/zh/docs/dtx/images/DCEdata_en_Trainning.csv delete mode 100644 docs/zh/docs/dtx/images/DCEdata_en_test.csv delete mode 100644 docs/zh/docs/dtx/images/DCEdata_en_validation.csv delete mode 100644 docs/zh/docs/dtx/images/basic-information-of-experiment.png delete mode 100644 docs/zh/docs/dtx/images/basic-information.png delete mode 100644 docs/zh/docs/dtx/images/core01.png delete mode 100644 docs/zh/docs/dtx/images/core02.png delete mode 100644 docs/zh/docs/dtx/images/core03.png delete mode 100644 docs/zh/docs/dtx/images/create-fine-tuning-experiment.png delete mode 100644 docs/zh/docs/dtx/images/create-parameter-groups.png delete mode 100644 docs/zh/docs/dtx/images/delete-fine-tuning-experiment.png delete mode 100644 docs/zh/docs/dtx/images/delete-parameter.png create mode 100644 docs/zh/docs/dtx/images/dtx-chat05.png delete mode 100644 docs/zh/docs/dtx/images/edit-parameter.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-create.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-create01.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-create02.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-create03.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-delete.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-enter.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-info01.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-info02.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-log01.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-log02.png create mode 100644 docs/zh/docs/dtx/images/fine-tuning-experiment-monitor.png delete mode 100644 docs/zh/docs/dtx/images/namespace.png delete mode 100644 docs/zh/docs/dtx/images/parameter-configuration.png delete mode 100644 docs/zh/docs/dtx/images/parmergroup01.png delete mode 100644 docs/zh/docs/dtx/images/parmergroup02.png delete mode 100644 docs/zh/docs/dtx/images/resource-allocation.png delete mode 100644 docs/zh/docs/dtx/images/resource-allocation01.png delete mode 100644 docs/zh/docs/dtx/images/resource-allocation02.png delete mode 100644 docs/zh/docs/dtx/images/resource-allocation03.png delete mode 100644 docs/zh/docs/dtx/parameters.md diff --git a/docs/zh/docs/dtx/dataset.md b/docs/zh/docs/dtx/dataset.md new file mode 100644 index 0000000..39c6557 --- /dev/null +++ b/docs/zh/docs/dtx/dataset.md @@ -0,0 +1,421 @@ +# 数据集 + +[dataset_info.json](dataset_info.json) 包含了所有可用的数据集。如果您希望使用自定义数据集,请**务必**在 `dataset_info.json` 文件中添加*数据集描述*,并通过修改 `dataset: 数据集名称` 配置来使用数据集。 + +目前我们支持 **alpaca** 格式和 **sharegpt** 格式的数据集。 + +```json +"数据集名称": { + "hf_hub_url": "Hugging Face 的数据集仓库地址(若指定,则忽略 script_url 和 file_name)", + "ms_hub_url": "ModelScope 的数据集仓库地址(若指定,则忽略 script_url 和 file_name)", + "script_url": "包含数据加载脚本的本地文件夹名称(若指定,则忽略 file_name)", + "file_name": "该目录下数据集文件夹或文件的名称(若上述参数未指定,则此项必需)", + "formatting": "数据集格式(可选,默认:alpaca,可以为 alpaca 或 sharegpt)", + "ranking": "是否为偏好数据集(可选,默认:False)", + "subset": "数据集子集的名称(可选,默认:None)", + "split": "所使用的数据集切分(可选,默认:train)", + "folder": "Hugging Face 仓库的文件夹名称(可选,默认:None)", + "num_samples": "该数据集所使用的样本数量。(可选,默认:None)", + "columns(可选)": { + "prompt": "数据集代表提示词的表头名称(默认:instruction)", + "query": "数据集代表请求的表头名称(默认:input)", + "response": "数据集代表回答的表头名称(默认:output)", + "history": "数据集代表历史对话的表头名称(默认:None)", + "messages": "数据集代表消息列表的表头名称(默认:conversations)", + "system": "数据集代表系统提示的表头名称(默认:None)", + "tools": "数据集代表工具描述的表头名称(默认:None)", + "images": "数据集代表图像输入的表头名称(默认:None)", + "videos": "数据集代表视频输入的表头名称(默认:None)", + "chosen": "数据集代表更优回答的表头名称(默认:None)", + "rejected": "数据集代表更差回答的表头名称(默认:None)", + "kto_tag": "数据集代表 KTO 标签的表头名称(默认:None)" + }, + "tags(可选,用于 sharegpt 格式)": { + "role_tag": "消息中代表发送者身份的键名(默认:from)", + "content_tag": "消息中代表文本内容的键名(默认:value)", + "user_tag": "消息中代表用户的 role_tag(默认:human)", + "assistant_tag": "消息中代表助手的 role_tag(默认:gpt)", + "observation_tag": "消息中代表工具返回结果的 role_tag(默认:observation)", + "function_tag": "消息中代表工具调用的 role_tag(默认:function_call)", + "system_tag": "消息中代表系统提示的 role_tag(默认:system,会覆盖 system column)" + } +} +``` + +## Alpaca 格式 + +### 指令监督微调数据集 + +- [样例数据集](alpaca_zh_demo.json) + +在指令监督微调时,`instruction` 列对应的内容会与 `input` 列对应的内容拼接后作为人类指令,即人类指令为 `instruction\ninput`。而 `output` 列对应的内容为模型回答。 + +如果指定,`system` 列对应的内容将被作为系统提示词。 + +`history` 列是由多个字符串二元组构成的列表,分别代表历史消息中每轮对话的指令和回答。注意在指令监督微调时,历史消息中的回答内容**也会被用于模型学习**。 + +```json +[ + { + "instruction": "人类指令(必填)", + "input": "人类输入(选填)", + "output": "模型回答(必填)", + "system": "系统提示词(选填)", + "history": [ + ["第一轮指令(选填)", "第一轮回答(选填)"], + ["第二轮指令(选填)", "第二轮回答(选填)"] + ] + } +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "columns": { + "prompt": "instruction", + "query": "input", + "response": "output", + "system": "system", + "history": "history" + } +} +``` + +### 预训练数据集 + +- [样例数据集](c4_demo.json) + +在预训练时,只有 `text` 列中的内容会用于模型学习。 + +```json +[ + {"text": "document"}, + {"text": "document"} +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "columns": { + "prompt": "text" + } +} +``` + +### 偏好数据集 + +偏好数据集用于奖励模型训练、DPO 训练、ORPO 训练和 SimPO 训练。 + +它需要在 `chosen` 列中提供更优的回答,并在 `rejected` 列中提供更差的回答。 + +```json +[ + { + "instruction": "人类指令(必填)", + "input": "人类输入(选填)", + "chosen": "优质回答(必填)", + "rejected": "劣质回答(必填)" + } +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "ranking": true, + "columns": { + "prompt": "instruction", + "query": "input", + "chosen": "chosen", + "rejected": "rejected" + } +} +``` + +### KTO 数据集 + +KTO 数据集需要提供额外的 `kto_tag` 列。详情请参阅 [sharegpt](#sharegpt-格式)。 + +### 多模态图像数据集 + +多模态图像数据集需要提供额外的 `images` 列。详情请参阅 [sharegpt](#sharegpt-格式)。 + +### 多模态视频数据集 + +多模态视频数据集需要提供额外的 `videos` 列。详情请参阅 [sharegpt](#sharegpt-格式)。 + +## Sharegpt 格式 + +### 指令监督微调数据集 + +- [样例数据集](glaive_toolcall_zh_demo.json) + +相比 alpaca 格式的数据集,sharegpt 格式支持**更多的角色种类**,例如 human、gpt、observation、function 等等。它们构成一个对象列表呈现在 `conversations` 列中。 + +注意其中 human 和 observation 必须出现在奇数位置,gpt 和 function 必须出现在偶数位置。 + +```json +[ + { + "conversations": [ + { + "from": "human", + "value": "人类指令" + }, + { + "from": "function_call", + "value": "工具参数" + }, + { + "from": "observation", + "value": "工具结果" + }, + { + "from": "gpt", + "value": "模型回答" + } + ], + "system": "系统提示词(选填)", + "tools": "工具描述(选填)" + } +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "formatting": "sharegpt", + "columns": { + "messages": "conversations", + "system": "system", + "tools": "tools" + } +} +``` + +### 预训练数据集 + +尚不支持,请使用 [alpaca](#alpaca-格式) 格式。 + +### 偏好数据集 + +- [样例数据集](dpo_zh_demo.json) + +Sharegpt 格式的偏好数据集同样需要在 `chosen` 列中提供更优的消息,并在 `rejected` 列中提供更差的消息。 + +```json +[ + { + "conversations": [ + { + "from": "human", + "value": "人类指令" + }, + { + "from": "gpt", + "value": "模型回答" + }, + { + "from": "human", + "value": "人类指令" + } + ], + "chosen": { + "from": "gpt", + "value": "优质回答" + }, + "rejected": { + "from": "gpt", + "value": "劣质回答" + } + } +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "formatting": "sharegpt", + "ranking": true, + "columns": { + "messages": "conversations", + "chosen": "chosen", + "rejected": "rejected" + } +} +``` + +### KTO 数据集 + +- [样例数据集](kto_en_demo.json) + +KTO 数据集需要额外添加一个 `kto_tag` 列,包含 bool 类型的人类反馈。 + +```json +[ + { + "conversations": [ + { + "from": "human", + "value": "人类指令" + }, + { + "from": "gpt", + "value": "模型回答" + } + ], + "kto_tag": "人类反馈 [true/false](必填)" + } +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "formatting": "sharegpt", + "columns": { + "messages": "conversations", + "kto_tag": "kto_tag" + } +} +``` + +### 多模态图像数据集 + +- [样例数据集](mllm_demo.json) + +多模态图像数据集需要额外添加一个 `images` 列,包含输入图像的路径。 + +注意图片的数量必须与文本中所有 `` 标记的数量严格一致。 + +```json +[ + { + "conversations": [ + { + "from": "human", + "value": "人类指令" + }, + { + "from": "gpt", + "value": "模型回答" + } + ], + "images": [ + "图像路径(必填)" + ] + } +] +``` + +对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为: + +```json +"数据集名称": { + "file_name": "data.json", + "formatting": "sharegpt", + "columns": { + "messages": "conversations", + "images": "images" + } +} +``` + +### 多模态视频数据集 + +- [样例数据集](mllm_video_demo.json) + +多模态视频数据集需要额外添加一个 `videos` 列,包含输入视频的路径。 + +注意视频的数量必须与文本中所有 `