# 肿瘤知识问答大模型 ## 项目概述 本项目旨在构建一个针对肿瘤知识的问答大模型,基于`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]。 --- **注意**: 本项目仅供学术研究使用,不构成医疗建议。