Merge pull request #14 from aJupyter/dev
feat: add datasets and update readme
This commit is contained in:
commit
a5c77ac693
@ -36,8 +36,6 @@
|
|||||||
|
|
||||||
**EmoLLM**是一个能够支持 **理解用户-支持用户-帮助用户** 心理健康辅导链路的心理健康大模型,由[InternLM2](https://github.com/InternLM/InternLM)指令微调而来,欢迎大家star~⭐⭐
|
**EmoLLM**是一个能够支持 **理解用户-支持用户-帮助用户** 心理健康辅导链路的心理健康大模型,由[InternLM2](https://github.com/InternLM/InternLM)指令微调而来,欢迎大家star~⭐⭐
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
心理健康大模型(Mental Health Grand Model)是一个综合性的概念,它旨在全面理解和促进个体、群体乃至整个社会的心理健康状态。这个模型通常包含以下几个关键组成部分:
|
心理健康大模型(Mental Health Grand Model)是一个综合性的概念,它旨在全面理解和促进个体、群体乃至整个社会的心理健康状态。这个模型通常包含以下几个关键组成部分:
|
||||||
@ -112,6 +110,8 @@ filetree
|
|||||||
|
|
||||||
请阅读[数据构建指南](generate_data/tutorial.md)查阅
|
请阅读[数据构建指南](generate_data/tutorial.md)查阅
|
||||||
|
|
||||||
|
本次微调用到的数据集见[datasets](datasets/data.json)
|
||||||
|
|
||||||
### 微调指南
|
### 微调指南
|
||||||
|
|
||||||
详见[微调指南](xtuner_config/README.md)
|
详见[微调指南](xtuner_config/README.md)
|
||||||
|
28282
datasets/data.json
Normal file
28282
datasets/data.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -8,87 +8,93 @@
|
|||||||
|
|
||||||
1. **模型选择与数据准备**
|
1. **模型选择与数据准备**
|
||||||
|
|
||||||
选择文心一言、通义千问、讯飞星火和智浦这四种大语言模型,获取调用相应接口的API,并准备用于生成对话数据。
|
选择文心一言、通义千问、讯飞星火和智浦这四种大语言模型,获取调用相应接口的API,并准备用于生成对话数据。
|
||||||
2. **单轮与多轮对话数据生成**
|
2. **单轮与多轮对话数据生成**
|
||||||
|
|
||||||
利用这四种模型,我们生成了10000条单轮和多轮对话数据。在这一过程中,我们确保了数据的多样性、复杂性和有效性。
|
利用这四种模型,我们生成了10000条单轮和多轮对话数据。在这一过程中,我们确保了数据的多样性、复杂性和有效性。
|
||||||
|
|
||||||
因为心理活动往往是复杂的,为了保证数据的多样性。我们选择了16 * 28 共`448`个场景进行数据集生成,具体场景名称请参考config.yml中的 `emotions_list 和 areas_of_life`两个参数的配置。
|
|
||||||
|
|
||||||
|
因为心理活动往往是复杂的,为了保证数据的多样性。我们选择了16 * 28 共 `448`个场景进行数据集生成,具体场景名称请参考config.yml中的 `emotions_list 和 areas_of_life`两个参数的配置。
|
||||||
3. **自我认知数据集的加入**
|
3. **自我认知数据集的加入**
|
||||||
|
|
||||||
为了增强模型的认知能力,我们特意加入了一部分自我认知数据集。这些数据集有助于模型更好地理解上下文,提高对话的自然度和连贯性。
|
为了增强模型的认知能力,我们特意加入了一部分自我认知数据集。这些数据集有助于模型更好地理解上下文,提高对话的自然度和连贯性。
|
||||||
|
|
||||||
|
|
||||||
**三、实践步骤**
|
**三、实践步骤**
|
||||||
|
|
||||||
1. **初始化**
|
1. **初始化**
|
||||||
* 安装所需的软件和库。
|
|
||||||
```bash
|
|
||||||
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
|
||||||
```
|
|
||||||
|
|
||||||
|
* 安装所需的软件和库。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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大模型进行数据生成。
|
* 使用智浦AI大模型进行数据生成。
|
||||||
```bash
|
```bash
|
||||||
# 终端运行
|
# 终端运行
|
||||||
python zhipuai_gen_data.py
|
python zhipuai_gen_data.py
|
||||||
```
|
```
|
||||||
* 使用讯飞星火大模型进行数据生成。
|
* 使用讯飞星火大模型进行数据生成。
|
||||||
```bash
|
```bash
|
||||||
# 终端运行
|
# 终端运行
|
||||||
python ./xinghuo/gen_data.py
|
python ./xinghuo/gen_data.py
|
||||||
```
|
```
|
||||||
|
|
||||||
4. **自我认知数据集的整合**
|
4. **自我认知数据集的整合**
|
||||||
|
|
||||||
* 自我认知数据集这个就需要按照格式手动生成的哈~,如下格式即可。
|
* 自我认知数据集这个就需要按照格式手动生成的哈~,如下格式即可。
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"conversation": [
|
"conversation": [
|
||||||
{
|
{
|
||||||
"input": "请介绍一下你自己",
|
"input": "请介绍一下你自己",
|
||||||
"output": "我是大佬的emo小助手,可以帮助你解决心理上的问题哦"
|
"output": "我是大佬的emo小助手,可以帮助你解决心理上的问题哦"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"conversation": [
|
"conversation": [
|
||||||
{
|
{
|
||||||
"input": "请做一下自我介绍",
|
"input": "请做一下自我介绍",
|
||||||
"output": "我是大佬的emo小助手,可以帮助你解决心理上的问题哦"
|
"output": "我是大佬的emo小助手,可以帮助你解决心理上的问题哦"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
5. **数据集整合。**
|
5. **数据集整合。**
|
||||||
|
|
||||||
在进行数据集整合之前,我们要检查生成的数据是否存在格式错误,类型不符合等情况。我们需要check.py进行检查数据。最后再使用merge_json.py将所有的json整合为一个总的json文件。
|
在进行数据集整合之前,我们要检查生成的数据是否存在格式错误,类型不符合等情况。我们需要check.py进行检查数据。最后再使用merge_json.py将所有的json整合为一个总的json文件。
|
||||||
|
|
||||||
6. **评估与优化**
|
6. **评估与优化**
|
||||||
|
|
||||||
* 使用适当的评估指标对生成的数据集进行评估。
|
* 使用适当的评估指标对生成的数据集进行评估。
|
||||||
* 根据评估结果进行必要的优化和调整。
|
* 根据评估结果进行必要的优化和调整。
|
||||||
|
|
||||||
7. **测试与部署**
|
7. **测试与部署**
|
||||||
|
|
||||||
* 使用独立测试集对训练好的模型进行评估。
|
* 使用独立测试集对训练好的模型进行评估。
|
||||||
* 根据测试结果进行必要的调整和优化。
|
* 根据测试结果进行必要的调整和优化。
|
||||||
* 将最终的模型部署到实际应用中。
|
* 将最终的模型部署到实际应用中。
|
Loading…
Reference in New Issue
Block a user