Update tutorial.md

This commit is contained in:
MING_X 2024-03-11 15:22:39 +08:00 committed by GitHub
parent cb767418c7
commit af8c4eb85a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,20 +1,22 @@
# EMO 心理大模型 微调数据生成教程 # EmoLLM 微调数据生成教程
**一、目标与背景** **一、目标与背景**
为了使我们的心理大模型有更好的表达效果,我们必须要有高质量的数据集。为了达到这一目标,我们决定利用四种强大的人工智能大模型文心一言、通义千问、讯飞星火和智浦AI来生成对话数据。此外,我们还将增强数据集的认知深度,通过加入少量自我认知数据集来提高模型的泛化能力。 为了使我们的心理大模型有更好的表达效果,我们必须要有高质量的数据集。为了达到这一目标,我们决定利用四种强大的中文大模型:文心一言、通义千问、讯飞星火 和 智谱GLM 来生成对话数据。此外,我们还将增强数据集的认知深度,通过加入少量自我认知数据集来提高模型的泛化能力。
**二、数据集生成方法** **二、数据集生成方法**
1. **模型选择与数据准备** 1. **模型选择与数据准备**
选择文心一言、通义千问、讯飞星火和智浦这四种大语言模型获取调用相应接口的API并准备用于生成对话数据。 选择文心一言、通义千问、讯飞星火和智谱GLM这四种大语言模型获取调用相应接口的API并准备用于生成对话数据。
2. **单轮与多轮对话数据生成**
3. **单轮与多轮对话数据生成**
利用这四种模型我们生成了10000条单轮和多轮对话数据。在这一过程中我们确保了数据的多样性、复杂性和有效性。 利用这四种模型我们生成了10000条单轮和多轮对话数据。在这一过程中我们确保了数据的多样性、复杂性和有效性。
因为心理活动往往是复杂的为了保证数据的多样性。我们选择了16 * 28 共 `448`个场景进行数据集生成具体场景名称请参考config.yml中的 `emotions_list 和 areas_of_life`两个参数的配置。 因为心理活动往往是复杂的为了保证数据的多样性。我们选择了16 * 28 共 `448`个场景进行数据集生成具体场景名称请参考config.yml中的 `emotions_list 和 areas_of_life`两个参数的配置。
3. **自我认知数据集的加入**
5. **自我认知数据集的加入**
为了增强模型的认知能力,我们特意加入了一部分自我认知数据集。这些数据集有助于模型更好地理解上下文,提高对话的自然度和连贯性。 为了增强模型的认知能力,我们特意加入了一部分自我认知数据集。这些数据集有助于模型更好地理解上下文,提高对话的自然度和连贯性。
@ -22,40 +24,40 @@
1. **初始化** 1. **初始化**
* 安装所需的软件和库 * 安装所需的软件和库
```bash ```bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
``` ```
* 准备输入数据和配置参数 * 准备输入数据和配置参数
可参见 `config.yml`均有注释 可参见 `config.yml`均有注释
2. **模型选择与配置** 2. **模型选择与配置**
* 根据需求选择适合的模型 * 根据需求选择适合的模型
为了使大家都能够玩上大模型我们选用InterLLM2-7B作为我们的基线模型消费级显卡也可部署微调的哦 为了使大家都能够玩上大模型我们选用InterLLM2-7B作为我们的基线模型消费级显卡也可部署微调的哦
* 对模型进行必要的配置和调整 * 对模型进行必要的配置和调整
根据我们的数据集以及配置策略使用XTuner进行微调 根据我们的数据集以及配置策略使用XTuner进行微调
3. **数据生成** 3. **数据生成**
* 使用通义千问大模型进行数据生成 * 使用通义千问大模型进行数据生成
```bash ```bash
# 终端运行 # 终端运行
bash run_qwen.bash bash run_qwen.bash
``` ```
* 使用百度文心大模型进行数据生成 * 使用百度文心大模型进行数据生成
```bash ```bash
# 终端运行 # 终端运行
python ernie_gen_data.py python ernie_gen_data.py
``` ```
* 使用智浦AI大模型进行数据生成。 * 使用智谱GLM大模型进行数据生成
```bash ```bash
# 终端运行 # 终端运行
python zhipuai_gen_data.py python zhipuai_gen_data.py
``` ```
* 使用讯飞星火大模型进行数据生成 * 使用讯飞星火大模型进行数据生成
```bash ```bash
# 终端运行 # 终端运行
python ./xinghuo/gen_data.py python ./xinghuo/gen_data.py
@ -63,7 +65,7 @@
4. **自我认知数据集的整合** 4. **自我认知数据集的整合**
* 自我认知数据集这个就需要按照格式手动生成的哈~,如下格式即可 * 自我认知数据集需要按照格式手动生成,如下格式即可
```json ```json
[ [
{ {
@ -85,16 +87,17 @@
] ]
``` ```
5. **数据集整合** 5. **数据集整合**
在进行数据集整合之前我们要检查生成的数据是否存在格式错误类型不符合等情况。我们需要check.py进行检查数据。最后再使用merge_json.py将所有的json整合为一个总的json文件。 在进行数据集整合之前我们要检查生成的数据是否存在格式错误类型不符合等情况。我们需要check.py进行检查数据。最后再使用merge_json.py将所有的json整合为一个总的json文件。
6. **评估与优化**
7. **评估与优化**
* 使用适当的评估指标对生成的数据集进行评估 * 使用适当的评估指标对生成的数据集进行评估
* 根据评估结果进行必要的优化和调整 * 根据评估结果进行必要的优化和调整
7. **测试与部署** 7. **测试与部署**
* 使用独立测试集对训练好的模型进行评估 * 使用独立测试集对训练好的模型进行评估
* 根据测试结果进行必要的调整和优化 * 根据测试结果进行必要的调整和优化
* 将最终的模型部署到实际应用中 * 将最终的模型部署到实际应用中