Skip to content

Commit 5076e8b

Browse files
committed
数据集文档更新
1 parent 41081ec commit 5076e8b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+636
-4578
lines changed

docs/zh/docs/dtx/dataset.md

Lines changed: 421 additions & 0 deletions
Large diffs are not rendered by default.

docs/zh/docs/dtx/features.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,11 @@ hide:
1010
| 一级功能 | 二级功能 | 描述 |
1111
| ------- | ------ | ---- |
1212
| 数据集 | 可视化创建数据集 | 提供直观的界面,支持创建训练、验证和测试数据集 |
13+
| | 格式 | 支持 Alpaca 格式和 ShareGPT 格式的数据集。Alpacaga 支持指令监督微调、预训练、偏好训练、KTO、多模态数据集;ShareGPT 支持指令监督微调、偏好训练和 KTO 数据集 |
1314
| | S3存储支持 | 支持从S3存储中直接拉取文件,提升数据接入的便捷性 |
1415
| | 本地文件上传 | 支持本地文件上传,提供多样化的数据接入方式 |
15-
| 参数组 | 可视化创建超参数组 | 通过直观的界面配置超参数组,包括调度器(Scheduler)、优化器(Optimizer)、学习率(Learning Rate)、训练周期(Epochs)和批次大小(Batch Size)等 |
16-
| 微调实验 | 可视化模型微调 | 支持 LoRA、全量微调(full)、冻结微调(freeze)等多种模型微调方式的可视化管理 |
17-
| | 矩阵式微调 | 支持使用不同的参数组和数据集创建微调实验,进行矩阵式微调 |
16+
| 分布式微调实验 | 微调方法 | 支持 LoRA、全量微调(full)、冻结微调(freeze)等多种模型微调方式的可视化管理 |
17+
| | 训练阶段 | 支持(增量)预训练、多模态指令监督微调、奖励模型训练、PPO训练、DPO训练、KTO训练、ORPO训练等多种集成方法 |
1818
| | 实时监控 | 支持查看微调过程中的学习率、训练损失和验证损失等关键数据,实时监控模型训练状态 |
19-
| | 检查点评估 | 支持对微调过程中的检查点(checkpoint)进行评估打分,确保模型质量 |
20-
| | 模型导出与部署 | 支持将微调后的模型导出到模型中心,便于部署模型推理服务 |
21-
| 模型微调 | 多种微调方法 | 支持(增量)预训练、多模态指令监督微调、奖励模型训练、PPO训练、DPO训练、KTO训练、ORPO训练等多种集成方法 |
22-
| | 精度支持 | 支持 16 比特全参数微调、冻结微调、LoRA 微调,以及基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调 |
23-
| | 先进算法集成 | 支持 GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调等先进算法 |
24-
| | 实用技巧支持 | 集成 FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA 等实用技巧 |
25-
| 模型推理 | 推理支持 | 提供基于 vLLM 的 OpenAI 风格 API,支持模型推理服务 |
26-
| 支持的基础模型 | 支持的模型 | 包括 Baichuan 2、BLOOM/BLOOMZ、ChatGLM3、Command R、DeepSeek (Code/MoE)、Falcon、Gemma/Gemma 2/CodeGemma、GLM-4、InternLM2、Llama、Llama 2、Llama 3、LLaVA-1.5、Mistral/Mixtral、OLMo、PaliGemma、Phi-1.5/Phi-2、Phi-3、Qwen/Qwen1.5/Qwen2 (Code/MoE)、StarCoder 2、XVERSE、Yi/Yi-1.5、Yi-VL 和 Yuan 2 等众多基础模型。 |
19+
| | 查看任务日志 | 支持查看微调过程中的日志信息 |
20+
| 支持的基础模型 | 支持的模型 | 包括 LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Qwen2-VL、Yi、Gemma、Baichuan、ChatGLM、Phi 等等 |

docs/zh/docs/dtx/fine-tuning-fast.md

Lines changed: 74 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -2,128 +2,122 @@
22

33
大致流程为:
44

5-
[前置要求准备](#_2) -> [创建数据集](#_3) -> [创建参数组](#_4) -> [创建微调实验](#_5) -> [部署微调模型](#_6) -> [对话](#_7)
6-
7-
<div class="video-container">
8-
<iframe width="560" height="315" src="https://harbor-test2.cn-sh2.ufileos.com/drun/fine-tuning.mp4" title="模型微调教学" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
9-
</div>
5+
[前置要求准备](#_2) -> [创建数据集](#_3) -> [创建分布式微调实验](#_4) -> [部署微调模型](#_5) -> [对话](#_6)
106

117
## 前置要求
128

139
1. 已购买算力集群,并且该算力集群被加入当前用户所在的 workspace 中
14-
2. 集群有可用的大模型(目前微调只适用与 llama2-7b 模型)
15-
3. 已准备本地/远程数据集,数据集格式为 Q&A(目前仅支持 CSV 格式且文件不超过 50M)
10+
2. 集群有可用的大模型
11+
3. 已准备本地/远程数据集,数据集格式为 Q&A
1612

1713
## 创建数据集
1814

19-
1.**模型微调** -> **数据集** 中,点击 **上传数据集** 按钮。
15+
1.**模型微调** -> **数据集** 中,点击 **创建** 按钮。
2016

2117
![创建数据集](images/dataset01.png)
2218

19+
20+
2321
1. 参照以下说明填写表单后,点击 **确认**
2422

2523
![数据集](images/dataset02.png)
2624

2725
| 参数说明 | 详细描述 |
2826
| -------- | -------- |
2927
| 数据集名称 | 不支持中文,长度限制 63 字符 |
30-
| 自定义标签 | 为数据集添加自定义标签 |
31-
| 数据集语言 | 当前支持中文/英文 |
32-
| 集群及命名空间 | 选择数据集所属的集群以及命名空间,注意:数据集所在集群/命名空间应该和微调实验所属集群/命名空间保持一致。 |
33-
| 授权协议 | 根据数据集的属性,设置授权协议 |
34-
| 词条数目 | 根据数据集的大小,选择词条的数目 |
35-
| 任务类型 | 根据数据集属性,选择数据集被应用的任务的类型,同时支持添加子类型 |
36-
| 数据集信息 | 配置数据集的信息,可以上传本地数据集文件,配置三种类型的数据集地址,或者设置插件,配置参数让插件拉取数据集 |
37-
| 特征映射 | 填写数据集中文件的表头 |
38-
| 列名 | 该数据集分为两列,列名分别为:question/answer |
39-
40-
!!! tip
41-
42-
- [点击下载 DCEdata_en_test.csv](images/DCEdata_en_test.csv) 测试集文件
43-
- [点击下载 DCEdata_en_Trainning.csv](images/DCEdata_en_Trainning.csv) 训练集文件
44-
- [点击下载 DCEdata_en_validation.csv](images/DCEdata_en_validation.csv) 验证集文件
45-
46-
## 创建参数组
47-
48-
**模型微调** -> **参数组** 中,点击 **创建** 按钮。
49-
50-
![创建参数组](images/create-parameter-groups.png)
51-
52-
- 设置参数组基本信息,参数组名称以及微调类型和所属集群以及命名空间,目前支持的微调类型为:SFT
53-
- 按照需要配置参数组信息,点击右下角确认完成参数组的创建
54-
55-
点击 **确认** 创建参数组。
56-
57-
![参数组](images/parmergroup02.png)
28+
| 格式 | 目前我们支持 [Alpaca](https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/data_preparation.html#alpaca) 格式和 [ShareGPT](https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/data_preparation.html#sharegpt) 格式的数据集。 |
29+
| 适用于 | 针对不同格式,数据集格式不同,Alpaca支持指令监督微调、预训练、偏好训练、KTO、多模态数据集;ShareGPT支持指令监督微调、偏好训练和KTO数据集; |
30+
| 数据集文件 | 配置数据集的信息,可以上传本地数据集文件,仅支持 .json 和 .jsonl 文件类型,配置字段映射让插件拉取数据集 |
5831

59-
以 DCE 参数组为例:
6032

61-
![参数组](images/parmergroup01.png)
33+
## 创建分布式微调实验
34+
1. 进入分布式微调页面
35+
![进入分布式微调页面](images/fine-tuning-experiment-enter.png)
6236

63-
## 创建微调实验
37+
2.**模型微调** -> **分布式微调** 中,点击 **创建** 按钮
6438

65-
1.**模型微调** -> **微调实验** 中,点击 **创建微调实验** 按钮
66-
67-
![创建微调实验](images/create-fine-tuning-experiment.png)
68-
69-
2. 填写表单
39+
![创建微调实验](images/fine-tuning-experiment-create.png)
7040

41+
3. 填写表单
42+
**基本信息:**
43+
![实验基本信息](images/fine-tuning-experiment-create01.png)
7144
- 实验名称:由小写字母、数字字符或“-”组成,并且必须以字母或数字字符开头及结尾。
72-
- 选择评估方式:实验中对模型使用的评分准则。
73-
- 选择命名空间。
45+
- 选择部署位置。
46+
- 基础模型:选择微调实验支持的模型;
47+
- 提示词模版:与基础模型适配的模版,instruct、chat模型模版和模型一定要适配、base模型影响不大,但是微调过后如果再进行微调,就要选和第一次一样的模版;
48+
- 微调方法:根据需求选择合适的微调方法;
49+
- 训练阶段:根据需求选择合适的训练的阶段;
50+
- 训练数据集:目前只支持aplaca格式。
7451

75-
![实验基本信息](images/basic-information-of-experiment.png)
52+
**点击下一步,任务配置**
53+
![任务配置](images/fine-tuning-experiment-create02.png)
7654

7755
- 任务名称:由小写字母、数字字符或“-”组成,并且必须以字母或数字字符开头及结尾。
7856
- 选择算力类型并填写物理卡个数。
79-
57+
- 填写资源配置
58+
8059
!!! info
81-
82-
当前模型服务仅支持 Nvidia 的 GPU,模型会根据物理卡个数在GPU上进行分布式微调。
83-
84-
- CPU 配额:通常需要使用多核 CPU 来加速训练和推理过程。具体的 CPU 配额需要根据任务的需求和可用的硬件资源来确定。
85-
- 内存配置:根据模型的大小和数据集的大小来确定内存需求,并根据需要调整内存配置。
86-
87-
推荐 CPU 配额和内存配置请求值为 **16** Core,限制值为 **32** Core。
88-
89-
!!! note
90-
91-
两者的请求值皆不可超过限制值。
92-
93-
![任务配置](images/resource-allocation.png)
94-
95-
- 选择实验中要使用的 **基础大模型****数据组** 以及 **参数组**
96-
- 若要设置多个微调任务,可点击左下角 **添加任务** 创建新任务。
97-
60+
当前模型服务仅支持Nvidia的GPU,模型会根据物理卡个数在GPU上进行分布式微调
61+
62+
**任务配置参数设置**
63+
![任务配置参数设置](images/fine-tuning-experiment-create03.png)
64+
**超参数配置**
65+
- 任务并行数: 同时运行的任务数量(控制多机)。
66+
- 物理卡数: 用于训练的物理GPU或TPU卡的数量(控制每台机器使用的卡数,目前只支持GPU)。
67+
- 学习率: 模型参数更新的步长,学习率过高可能导致训练不稳定,过低可能导致收敛缓慢。推荐取值: 1e-5 至 1e-3,通常从1e-4开始调整。
68+
- 训练轮数: 完整地遍历训练数据集的次数。推荐取值: 1-10,视数据集大小和计算资源而定,一般做微调1到3轮就足够。
69+
- 最大梯度范数: 用于控制梯度的最大值,以避免梯度爆炸问题。推荐取值: 0.5-1.0,视具体情况而定。
70+
- 最大样本数: 每次训练使用的最大样本数量,通常用于调试或预训练阶段。推荐取值: 根据硬件资源确定,通常设置为None(不限制)。
71+
- 计算类型: 指定训练时的计算精度类型。推荐取值: FP16,若硬件支持可选择混合精度以加速训练。
72+
- 截断长度:输入分词后的最大长度 。
73+
- 批处理大小: 每次训练中输入模型的样本数量。较大的批处理大小可提高训练效率,但也需要更多的显存。推荐取值: 8-64,视显存容量和模型复杂度而定。资源充足的情况下,批处理大小越大,效果越好。
74+
- 梯度累计解释: 梯度累计的次数,即在更新模型前积累梯度的次数。推荐取值: 1-8,通常与批处理大小的实际可行性有关。
75+
- 验证集比例解释: 用于验证的数据集在整个数据集中的比例。根据需求设定
76+
- 学习率调节器解释: 调整学习率的策略,如预热、线性下降或余弦退火。推荐取值: 预热加线性衰减,或余弦退火。根据训练情况和目标任务选择。
77+
78+
**LoRA参数配置**
79+
- LoRA秩解释: LoRA 秩表示用于低秩分解的秩值,它决定了学习的参数量。较高的秩值会增加参数量,通常在训练复杂模型时使用。推荐取值: 4-16,视模型大小和任务复杂度而定。
80+
- LoRA缩放系数解释: 缩放系数用于放大或缩小LoRA的输出,在微调过程中可以调整其影响力。较高的缩放系数会使LoRA的贡献更大。推荐取值: 8-32,通常使用16作为默认值,并根据实验结果调整。
81+
- LoRA随机丢弃解释: LoRA随机丢弃用于在训练过程中随机丢弃部分LoRA层的输出,以防止过拟合并增强模型的泛化能力。推荐取值: 0.1-0.3,视过拟合程度和数据集规模而定。
82+
- LoRA学习率比例解释: LoRA学习率比例是指LoRA部分的学习率相对于基础模型学习率的比例。较高的学习率比例可以加速LoRA参数的学习,但也可能导致不稳定性。推荐取值: 0.5-1.0,通常从0.5开始,视训练稳定性进行调整。
83+
高级配置
84+
- 量化等级: 量化等级指模型参数的量化精度,可以选择int4或int8来减少模型的计算量和内存占用。选择none则不进行量化。推荐取值: none, int4, int8,根据模型性能要求和计算资源选择。
85+
- 量化方法: 量化方法指定了使用哪种算法进行模型的量化。常见方法包括bnb(Bits-and-Bytes),hqq(High Quality Quantization),和etqq(Extreme Tiny Quantization)。根据任务要求和实验结果选择。
86+
- RoPE插值方式: RoPE(旋转位置编码)插值方式用于处理旋转位置编码的不同实现方案,影响模型对位置信息的处理。
87+
- 加速方式: 加速方式指使用的模型加速技术,以提高训练和推理速度。unslosh和flashattention2是常用的加速方法。根据硬件支持情况和加速效果选择,同时需要注意使用的模型是否适用以上的加速模式。
88+
89+
**其他参数配置**
90+
- 日志间隔: 日志间隔指在训练过程中记录日志的频率,通常以训练步数为单位。适当的日志间隔可以帮助监控训练进度和模型性能。推荐取值: 10-1000步,视数据集大小和训练需求而定。
91+
- 保存间隔: 保存间隔指模型权重的保存频率,通常以训练步数或时间为单位。较短的保存间隔可以减少训练中途崩溃时的损失。推荐取值: 1000-5000步,视训练时长和数据集大小而定。
92+
- 预热步数: 预热步数是在正式训练前的学习率线性增加阶段,通常用于避免模型在初期出现过大的梯度更新。推荐取值: 500-2000步,视训练总步数和学习率策略而定。
93+
- NEFTune噪声参数: NEFTune噪声参数控制在NEFTune方法中引入的噪声水平,以增强模型的泛化能力。推荐取值:5,视具体任务和噪声敏感性而定。
94+
- 优化器: 优化器是指用于更新模型参数的算法。常见的优化器包括Adam、SGD、Adafactor等,选择合适的优化器对训练效率和效果至关重要。推荐取值: AdamW
95+
96+
**添加任务按钮**
9897
![alt text](images/add-task.png)
9998

100-
3. 点击右下角 **确认** 按钮创建微调实验。
99+
4. 点击右下角 **确定** 按钮创建微调实验。
101100

102101
## 部署微调模型
103102

104-
**模型仓库** -> **内置模型** 的微调模型中,可以查看运行成功的实验结果。
105-
106-
1. 点击右侧的 **...** ,在弹出的选项中选择 **部署**
107-
103+
1.**模型仓库** -> **内置模型** 的微调模型中,接入模型;
108104
![微调模型部署](images/dtx-chat01.png)
109105

110-
2. 填写模型服务名称、命名空间、算力配额、资源配置后点击 **确定** (注:推荐 CPU 配额和内存配置请求值为 **16** Core, **32** Gi)。
106+
2. 模型接入成功后,点击右下方 ,在弹出的选项中选择部署,部署模型服务。!
111107

112108
![微调模型部署](images/dtx-chat02.png)
113109

114-
3. 创建成功,接下来可以通过部署的模型提供服务。
115-
116-
## 模型服务对话
110+
3. 填写模型服务名称、命名空间、算力配额、资源配置后点击 **确定** (注:推荐 CPU 配额和内存配置请求值为 **16** Core, **32** Gi)。
117111

118-
1. 微调模型部署成功后,可以在 **模型服务** -> **本地模型服务** -> **微调模型** 勾选模型服务后,
119-
点击右侧 **对话** 即可与该模型对话。
112+
![微调模型部署](images/dtx-chat03.png)
120113

121-
![模型服务对话](images/dtx-chat03.png)
114+
3. 创建成功,接下来可以通过部署的模型提供服务。
122115

123-
!!! tip
116+
## 模型服务对话
124117

125-
最多可选中三个微调模型进行对话。
118+
1. 微调模型部署成功后,可以在 **模型服务** -> **本地模型服务** -> **我创建的** 查看模型服务,点击文件名即可即可与该模型对话。
119+
![微调模型对话](images/dtx-chat04.png)
126120

127121
2. 你可以输入训练集中的问题,发送给微调模型,以此验证模型微调的效果,微调模型会回答用户提出的问题。
128122

129-
![模型服务对话](images/dtx-chat04.png)
123+
![微调模型对话](images/dtx-chat05.png)

0 commit comments

Comments
 (0)