171 lines
4.4 KiB
Markdown
171 lines
4.4 KiB
Markdown
|
|
# 肿瘤知识问答大模型
|
|||
|
|
|
|||
|
|
## 项目概述
|
|||
|
|
|
|||
|
|
本项目旨在构建一个针对肿瘤知识的问答大模型,基于`qwen2.5-7B`模型作为基座模型,使用LoRA(Low-Rank Adaptation)技术进行微调。模型训练数据涵盖了基因数据、肿瘤药物、NCCN(美国国家综合癌症网络)指南、CSCO(中国临床肿瘤学会)指南等权威肿瘤学知识信息,并通过问答题目进行微调,以提升模型在肿瘤领域的问答能力。
|
|||
|
|
|
|||
|
|
## 模型架构
|
|||
|
|
|
|||
|
|
- **基座模型**: `qwen2.5-7B`
|
|||
|
|
- **微调方法**: LoRA(Low-Rank Adaptation)
|
|||
|
|
- **训练数据**:
|
|||
|
|
- 基因数据
|
|||
|
|
- 肿瘤药物信息
|
|||
|
|
- NCCN指南
|
|||
|
|
- CSCO指南
|
|||
|
|
- 肿瘤知识问答题目
|
|||
|
|
|
|||
|
|
## 数据集
|
|||
|
|
|
|||
|
|
### 数据来源
|
|||
|
|
1. **基因数据**: 包含与肿瘤相关的基因突变、表达谱等信息。
|
|||
|
|
2. **肿瘤药物**: 涵盖常用肿瘤药物的适应症、副作用、作用机制等。
|
|||
|
|
3. **NCCN指南**: 美国国家综合癌症网络发布的肿瘤治疗指南。
|
|||
|
|
4. **CSCO指南**: 中国临床肿瘤学会发布的肿瘤诊疗指南。
|
|||
|
|
5. **问答题目**: 基于上述数据生成的肿瘤知识问答题目,用于模型微调。
|
|||
|
|
|
|||
|
|
### 数据预处理
|
|||
|
|
- **数据清洗**: 去除重复、不完整或无关的数据。
|
|||
|
|
- **数据标注**: 对问答题目进行标注,确保问题和答案的准确性。
|
|||
|
|
- **数据分割**: 将数据集分为训练集、验证集和测试集。
|
|||
|
|
|
|||
|
|
## 模型训练
|
|||
|
|
|
|||
|
|
### 微调方法
|
|||
|
|
使用LoRA技术对`qwen2.5-7B`模型进行微调。LoRA通过在预训练模型的权重矩阵中引入低秩矩阵来减少参数量,从而在保持模型性能的同时降低计算成本。
|
|||
|
|
|
|||
|
|
### 训练步骤
|
|||
|
|
1. **加载预训练模型**: 加载`qwen2.5-7B`模型。
|
|||
|
|
2. **应用LoRA**: 在模型的关键层应用LoRA技术。
|
|||
|
|
3. **训练模型**: 使用准备好的肿瘤知识问答数据集进行微调。
|
|||
|
|
4. **验证与测试**: 在验证集和测试集上评估模型性能,调整超参数以优化结果。
|
|||
|
|
|
|||
|
|
## 模型评估
|
|||
|
|
|
|||
|
|
### 评估指标
|
|||
|
|
- **准确率**: 模型在问答任务中的准确率。
|
|||
|
|
- **召回率**: 模型能够正确回答的问题比例。
|
|||
|
|
- **F1分数**: 准确率和召回率的调和平均数。
|
|||
|
|
|
|||
|
|
### 评估结果
|
|||
|
|
在测试集上的评估结果如下:
|
|||
|
|
待更新
|
|||
|
|
|
|||
|
|
## 使用指南
|
|||
|
|
|
|||
|
|
### 环境配置
|
|||
|
|
1. **Python版本**: 3.10+
|
|||
|
|
2. **依赖库**:
|
|||
|
|
- `transformers`
|
|||
|
|
- `torch`
|
|||
|
|
|
|||
|
|
|
|||
|
|
### 模型下载
|
|||
|
|
|
|||
|
|
|
|||
|
|
SDK下载
|
|||
|
|
```bash
|
|||
|
|
#安装ModelScope
|
|||
|
|
pip install modelscope
|
|||
|
|
```
|
|||
|
|
```python
|
|||
|
|
#SDK模型下载
|
|||
|
|
from modelscope import snapshot_download
|
|||
|
|
model_dir = snapshot_download('zpeng1989/Medical_Oncology_Large_Language_Model')
|
|||
|
|
```
|
|||
|
|
Git下载
|
|||
|
|
```
|
|||
|
|
#Git模型下载
|
|||
|
|
git clone https://www.modelscope.cn/zpeng1989/Medical_Oncology_Large_Language_Model.git
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 模型推理
|
|||
|
|
```python
|
|||
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|||
|
|
|
|||
|
|
# 加载微调后的模型
|
|||
|
|
model = AutoModelForCausalLM.from_pretrained("path_to_your_model")
|
|||
|
|
tokenizer = AutoTokenizer.from_pretrained("path_to_your_model")
|
|||
|
|
|
|||
|
|
# 输入问题
|
|||
|
|
question = "什么是NCCN指南?"
|
|||
|
|
inputs = tokenizer(question, return_tensors="pt")
|
|||
|
|
|
|||
|
|
# 生成答案
|
|||
|
|
outputs = model.generate(**inputs)
|
|||
|
|
answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
|||
|
|
|
|||
|
|
print(answer)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 具体案例
|
|||
|
|
|
|||
|
|
### Case 1
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[
|
|||
|
|
{
|
|||
|
|
"role": "system",
|
|||
|
|
"content": "你是医生"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"role": "user",
|
|||
|
|
"content": [
|
|||
|
|
{
|
|||
|
|
"type": "text",
|
|||
|
|
"text": "安罗替尼的副作用与肝功能有何关联?"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"role": "assistant",
|
|||
|
|
"content": "安罗替尼的副作用可能与肝功能有关,包括肝酶异常等。"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Case 2
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[
|
|||
|
|
{
|
|||
|
|
"role": "system",
|
|||
|
|
"content": "你是医生"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"role": "user",
|
|||
|
|
"content": [
|
|||
|
|
{
|
|||
|
|
"type": "text",
|
|||
|
|
"text": "KDR受体的功能和作用是什么?"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"role": "assistant",
|
|||
|
|
"content": "KDR受体主要调节VEGF激活的内皮细胞功能,在内皮细胞中促进增殖、迁移,血管渗透性以及血管再生。"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
本项目采用 [MIT 许可证](LICENSE)。
|
|||
|
|
|
|||
|
|
## 致谢
|
|||
|
|
- 感谢 `qwen2.5-7B` 模型的开发者。
|
|||
|
|
- 感谢 NCCN 和 CSCO 提供的指南数据。
|
|||
|
|
- 感谢所有为肿瘤知识问答数据集做出贡献的研究人员。
|
|||
|
|
|
|||
|
|
## 联系方式
|
|||
|
|
如有任何问题,请联系 [592392714@qq.com]。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**注意**: 本项目仅供学术研究使用,不构成医疗建议。
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|