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
	 xzwang
						xzwang