OncoGPT1:肿瘤学领域大模型

 


提出背景

论文:https://arxiv.org/ftp/arxiv/papers/2402/2402.16810.pdf

代码:https://github.com/OncoGPT1

为建立一个专门针对肿瘤学领域的患者-医生对话数据集,我们采取了:

  1. 收集在线医疗咨询网站的对话数据

    • 子解法1:从包括HealthCareMagic、eHealth Forum、Question Doctors、WebMD等英文网站收集患者-医生对话。
    • 子解法2:从包括优来医生、秒手网、名方康、博禾医生、爱加医疗、医脉传媒、问医家庭医生等中文网站收集对话数据。
    • 子解法3:使用谷歌翻译工具批量将中文对话翻译成英文,并通过人工细致审核翻译质量。
    • 之所以采用这些子解法,是因为问题的特征:需要从真实的医疗咨询场景中收集对话数据,以确保模型训练数据的实际适用性和覆盖面。
  2. 通过关键词过滤筛选与癌症相关的对话

    • 子解法1:使用包括cancer、carcino-、tumor、carcinoma、neoplasm、malignancy、lesion、leukemia、adenoma、sarcoma等关键词进行筛选。
    • 之所以采用这个子解法,是因为问题的特征:需要精确识别与肿瘤学相关的对话内容,以构建专业的肿瘤学对话数据集。
  3. 对话数据的清洗和隐私保护

    • 子解法1:剔除与问题不相关的问答对话。
    • 子解法2:去除对话中的个人信息、医院和网站信息,以保护隐私并遵守伦理标准。
    • 之所以采用这些子解法,是因为问题的特征:需要确保数据的准确性和可用性,同时遵循隐私保护和伦理标准。
  4. 对话数据的分类和专家审核

    • 子解法1:将对话分为基础知识相关问题(普及科学)和治疗相关问题两大类。
    • 子解法2:由领域专家和临床医生审查数据,纠正不准确之处,确保回答的权威性。
    • 之所以采用这些子解法,是因为问题的特征:需要区分对话内容的类别,以便更有效地使用数据,并确保数据集的高质量和专业性。

 

收集的肿瘤特定对话数据来源

来源名称 语言 对话数量 链接
秒手 中文 93 https://www.miaoshou.net/
优来 中文 120 https://www.youlai.cn/
名方康 中文 550 https://www.mfk.com/
博禾 中文 327 https://www.bohe.cn/
寻医问药 中文 1854 https://www.xywy.com/
医脉传媒 中文 2343 https://www.yilianmeiti.com/
家庭医生 中文 3141 https://wwys.familydoctor.com.cn/
爱加医疗 中文 149799 https://www.iplusmed.com/
eHealth Forum 英文 1159 https://www.iehealthf.com/
iCliniq 英文 735 https://www.icliniq.com/
Question Doctors 英文 1271 https://questiondoctors.com/
WebMD 英文 4253 https://www.webmd.com/
HealthCareMagic 英文 14539 https://www.healthcaremagic.com/

 

数据处理流程

下图是一个数据处理流程,目的是为了创建一个专注于肿瘤学的患者-医生对话数据集并应用于一个名为OncoGPT的语言模型。
在这里插入图片描述

  1. 数据源:列出了包括MiaoShou、YouLai、MFK、BoHe、XYWY、YiLianMeiTi、FamilyDoctor、iPlusMed、eHealth Forum、iCliniq、Question Doctors、HealthCareMagic和WebMD的中英文医疗咨询网站,作为对话数据收集来源。

  2. 翻译:将中文网站的数据通过Google Translate翻译成英文,保证数据处理在同一语言(英文)下进行。

  3. 数据清洗:对收集的数据进行了多个清洗步骤,包括隐私过滤、脏字符过滤、低质量问题过滤等,以提高数据集的质量和可用性。

  4. 医生审核:经过数据清洗的对话被提交给医生进行复查,以确保信息的准确性和专业性。

  5. 预处理和微调:使用Meta公司的LLaMa模型作为基础,结合Alpaca项目的52K条指令数据、ChatDoctor的100K条对话数据以及特定于本项目的180K条肿瘤相关对话数据进行预处理和微调。

  6. OncoGPT模型:经过上述流程处理和训练后,最终得到了OncoGPT模型,专门用于回答肿瘤学相关的问题。

右下角的文本框展示的是OncoGPT模型回答有关癌症问题的一个示例,具体内容如下:

问(病人):“Thymic squamous cell carcinoma, is the cure rate high? How effective is chemotherapy and radiotherapy?”

答(OncoGPT):“Hi, welcome to OncoGPT. Unfortunately, thymus squamous cell carcinomas have a low cure rate due to its aggressive nature and late presentation. Chemotherapy and radiotherapy are the mainstays of treatment for thymus squamous cell carcinoma. They are effective in controlling the symptoms and slowing down the growth of the tumors. However, long term survival remains a challenge. Hope this answers your query. Wish you good health. Regards.”

这个对话示例显示了OncoGPT在提供具体医疗信息方面的能力,以及它是如何以友好和专业的方式与提问者互动。

模型训练

  1. 使用LLaMA-7B模型作为基础

    • 子解法:选择Meta的开源LLaMA-7B模型,它具有70亿参数,并且性能与大型的GPT-3.5模型相当。
    • 之所以使用LLaMA-7B子解法,是因为问题的特征:需要一个高性能的基础模型,能够在不同的自然语言处理基准测试中表现良好,同时适用于各种领域的对话模型生成。
  2. 初步微调获得基本对话能力

    • 子解法:首先用52K的数据集进行微调,以获取基础的对话能力。
    • 之所以进行初步微调子解法,是因为问题的特征:模型需要能够理解和生成基本的日常对话,为更复杂的医疗对话做铺垫。
  3. 使用疾病相关对话进行进一步微调

    • 子解法:使用来自ChatDoctor的5K疾病数据库生成的对话数据进一步微调,使模型学习疾病、症状、医学检查和推荐药物之间的内在知识。
    • 之所以使用疾病对话子解法,是因为问题的特征:模型需要具备识别和关联医学术语与症状的能力,以提供准确的医疗建议。
  4. 构建医疗问答模型的进一步微调

    • 子解法:使用100K的数据集微调,构造类似于ChatDoctor的医疗问答模型。
    • 之所以进行构建问答模型的微调子解法,是因为问题的特征:需要模型具备回答具体医疗问题的能力,并提供准确的医疗信息。
  5. 使用真实的肿瘤学对话数据集进行最终微调

    • 子解法:使用我们建立的180K+真实的肿瘤学相关对话数据集进行最后的微调。
    • 之所以使用肿瘤学对话数据集子解法,是因为问题的特征:模型最终需要精确处理和回答与肿瘤学相关的复杂医疗咨询。
  6. 高效的计算资源和时间管理

    • 子解法:在1*A100 GPU上,微调过程总共花费了15小时。
    • 之所以采用高效计算资源和时间管理子解法,是因为问题的特征:需要在合理的时间内使用强大的计算资源完成模型的训练和优化。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 00:42:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 00:42:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 00:42:03       87 阅读
  4. Python语言-面向对象

    2024-03-16 00:42:03       96 阅读

热门阅读

  1. git for windows

    2024-03-16 00:42:03       45 阅读
  2. 单个数据盘分区如何配置LVM

    2024-03-16 00:42:03       47 阅读
  3. Hive中的explode函数、posexplode函数与later view函数

    2024-03-16 00:42:03       38 阅读
  4. 专升本 C语言笔记-02 标识符 命名规范 关键字

    2024-03-16 00:42:03       44 阅读
  5. Rust 的 HashMap

    2024-03-16 00:42:03       43 阅读
  6. 2024.3.14每日一题

    2024-03-16 00:42:03       47 阅读
  7. k8s 安全机制详解

    2024-03-16 00:42:03       35 阅读
  8. Solidity Uniswap V2 Router contract addLiquidity

    2024-03-16 00:42:03       43 阅读
  9. ZK vs FHE

    ZK vs FHE

    2024-03-16 00:42:03      41 阅读
  10. tvm android_rpc_test.py执行报错解决

    2024-03-16 00:42:03       47 阅读
  11. 智能网联汽车网络安全威胁具体

    2024-03-16 00:42:03       42 阅读