医学LLM综述:概念、发展及模型训练

自2022年11月OpenAI推出ChatGPT以来,大语言模型引起了公众的广泛关注。基于大语言模型,ChatGPT能够回答问题、信息总结和文本翻译,其水平与人类的能力几乎相同。ChatGPT强大的类人交互能力和文本生成能力,使得大语言模型对于各个行业的发展都有着强大的影响力。在医疗行业,大语言模型能够处理和分析海量的医学文献、患者病历等医疗数据,为医疗服务和患者就医提供更加智能和高效的技术支持和辅助服务。

为了能够更深入、更完整地了解大语言模型,特别是医学大语言模型的技术及发展,在查阅、整理国内外医学大语言模型相关的文献资料的基础上,本文着重介绍医学大语言模型的概念特点、发展演变,帮助医疗信息化工作人员了解医学大语言模型训练过程。此外,本文还汇总介绍了一些主要的医学大语言模型,以及未来发展面临的挑战。

一、大语言模型(LLM)概念特点

大语言模型(LLM),是由包含数百亿以上参数的深度神经网络构建的语言模型,通过自监督学习方法,利用海量未标注文本进行训练,学习自然语言的模式和结构,能够在一定程度上模拟人类的语言认知和语言生成过程。

与传统语言模型相比,目前的大语言模型具有以下特点:

1、大规模

大语言模型一般都具有大规模的参数,参数数量可以达到数十亿,甚至是数千亿,这使得大语言模型能够描述更多的语言知识和复杂的语法结构。此外,大语言模型的大规模还体现在训练模型所需的数据量方面,其预训练以及微调都需要海量的数据来支持。

2、预训练和微调

大语言模型采用预训练和微调技术来训练模型、学习知识模式。首先基于大规模文本数据(无标签数据)进行预训练,在学习了语言的通用规则和知识后,再通过微调技术,基于有标签数据进行特定任务的训练,从而在专业领域自然语言处理工作中表现更为出色。

3、上下文感知

与传统语言模型相比,大语言模型在处理文本时具有强大的上下文感知能力,能够理解和生成依赖于上下文的文本内容。因此,大语言模型在人机对话、文章生成和情境理解方面能力卓越。

4、多模态支持

大语言模型还能支持多模态数据,包括文本、图像和语音。这就意味着,大语言模型能够理解和生成不同类型的内容数据,支持更多样化的应用。

5、涌现能力

涌现能力是指大语言模型在突破一定规模之后,所带来的语言理解、内容生成、逻辑推理等类人智慧的出现以及模型性能显著提升的现象。大语言模型的涌现能力包括:上下文学习、指令遵循和逐步推理。

二、语言模型的发展演变

大语言模型是语言模型的一个子集。语言模型(LM)是指用于建模自然语言的概率模型,通过计算单词序列的概率进行语言建模。语言模型的主要任务是基于给定的上下文,预测字词序列中下一个字词出现的概率分布。语言模型的发展可以划分为三个阶段:

1、统计学习阶段

在21世纪初期,统计学习方法成为自然语言处理领域的主流方法。统计学习方法通过分析大量双语言文本数据,学习源语言与目标语言之间的映射关系。之后,该方法通过前面出现的词汇来预测下一个词汇出现的概率。这种统计学习方法在理解复杂语言规则方面存在一定的局限性。

2、深度学习阶段

随着深度学习技术的进步和算力的提升,语言建模使用了更强大的神经网络模型。2013年,word2vec模型的提出,标志着词嵌入技术的诞生。词嵌入将词汇映射为低维向量,能够捕捉词汇的语义信息。此后,循环神经网络(RNN)、长短时记忆网络(LSTM)和门控循环单元(GRU)等模型相继应用于自然语言处理。2017年,Transformer架构诞生,其核心创新包括自注意力机制,能自适应关注输入序列的不同部分,识别长距离依赖关系,克服传统技术的局限性。

3、预训练阶段

2018年,基于Transformer架构的预训练模型兴起。谷歌推出了BERT模型,标志着预训练模型(PLM)的产生。预训练模型是一种基于无标注文本数据进行深度学习的模型,旨在发现自然语言的语法、语义以及习惯规则。自BERT出现之后,GPT系列、RoBERTa、XLNet等模型相继发布。当预训练模型的有效参数规模达到数百亿级别时,人们称之为大语言模型(LLM)。

三、医学大语言模型的发展

随着通用大语言模型的成功发展,医学大语言模型的开发和应用也得到了越来越多的关注。通过基于医学语料、面向医疗领域的预训练,能够形成医学大语言模型。目前,医学大语言模型的发展,更多的是基于通用大语言模型,进行微调处理,从而形成卓越的医学大语言模型。本文整理汇总了现有的医学大语言模型,参见图1。

图1.主要的医学大语言模型

1、GPT系列模型

通用大语言模型中,最受欢迎的是由OpenAI发布的GPT系列模型,这很大程度得益于ChatGPT产品的成功。GPT系列模型中,GPT-1中的参数仅为1亿2千万,GPT-2的参数为15亿,GPT-3参数达到1750亿。最新版本GPT-4,其参数则达到1.8万亿,是目前已知最大的自然语言处理模型。

基于GPT系列模型,面向医疗行业创建、训练了一些医学大语言模型。主要模型包括:①BioGPT,是一个基于GPT-2框架、针对生物医学领域的大语言模型,利用1千5百万PubMed文摘进行预训练,进行问答(QA)、关系提取和文档分类等处理。②BioMedLM 2.7B,其前身为PubMedGPT,基于PubMed文摘和全文本进行预训练。此外,BioMedLM还针对生物医学领域的专业术语进行了优化,使其对生物医学文本有更强的识别和理解能力。

2、BERT系列模型

BERT是由谷歌在2018年提出的一种预训练语言模型。该模型在自然语言处理领域取得了重大突破,该模型能够有效地理解文本的上下文信息,从而在各类自然语言处理任务中表现出色。

基于BERT通用模型训练的医学大语言模型,主要有:①BioBERT,扩展了BERT模型,进一步针对生物医学文献进行训练,增强了其处理医学语言的能力。该模型可用于疾病分类、医疗文档摘要等。②PubMedBERT,基于PubMed数据库中的大量生物医学文本上进行预训练,能够理解复杂的医学语言,显著提高了医学研究检索和临床决策的准确性。③ClinicalBERT,是专门为理解临床笔记而开发的模型,能够用于分析电子病历中的医疗数据。④BioLinkBERT,是一个专门用于生物医学领域的预训练语言模型,通过整合文档的链接关系,来增强知识学习和文档关系的理解。

3、PaLM系列模型

PaLM由谷歌开发,采用了路径(Pathway)技术,实现了语言模型的规模扩展,为自然语言处理领域带来了新的突破。该模型的重要性,体现在其能够扩展语言模型的规模、提高模型的性能和泛化能力。与传统语言模型相比,PaLM模型具有更高的训练效率、更强的推断能力以及更好的零样本学习表现。

基于PaLM通用模型训练的医学大语言模型,主要有:①Med-PaLM,具有对医学知识的深刻理解和生成能力。该模型还能够模拟医患互动和回答复杂的医学考试问题,为临床医生的临床决策提供支持。②Flan-PaLM,是通过指令微调技术优化的大语言模型。该模型通过多个指令数据集进行微调,显著提高了对于各种任务和评估的性能,特别是提升了在思维链任务上的推理能力。

4、其他模型

其他应用于医疗行业的大语言模型还有:①GatorTron,相对于通用大语言模型,在具体的医疗工作中表现出了更进一步的性能。②PMC-LLaMA,利用LLaMA模型进行训练,并在其预训练中融合了生物医学论文。

四、医学大语言模型训练过程

医学大语言模型的训练过程一般分为三个阶段:基于文本数据对模型进行预训练、基于问答数据对模型进行适配微调,以及基于专业设计的提示词进行提示学习。基于这三个阶段,能够使通用大语言模型适应医学领域的专业需求。医学大语言模型的训练过程参见图2。

图2.医学大语言模型训练过程

(一)预训练

1、数据收集

一般情况下,医学大语言模型是基于通用大语言模型进行扩展训练的。在通用数据集基础上,需要补充医学领域的语料数据。医学语料库包括电子病历数据、临床指南与实践规范、医学教材与学术论文等。这些语料数据可用于增强医学模型的语言建模和泛化能力。

2、数据预处理

(1)数据过滤 包括两种数据过滤方法:① 分类器方法,基于高质量文本训练分类器,识别和过滤低质量数据。② 启发式方法,通过精心设计的规则消除低质量文本,诸如基于度量、统计和关键词过滤。

(2)数据去重 重复数据会降低语言模型的多样性,影响模型性能,需要对预训练语料库去重。数据去重方法分为三类:句子级、文档级和数据集级去重。三类数据去重有助于改善大语言模型训练,应共同使用。

(3)数据脱敏 预训练文本数据可能涉及患者隐私以及敏感信息,存在隐私泄露风险,需删除患者敏感信息。可采用基于规则方法,诸如关键字识别等方法来检测和删除敏感信息。

(4)文本分词 文本分词是数据预处理关键步骤,目的是将原始文本分割成字词序列,作为大语言模型的输入。

3、基础模型选择

主流通用大语言模型包括GPT系列、BERT系列、PaLM系列,还有其它一些模型。这些模型的核心架构和技术路线围绕着Transformer架构不断发展变化。医学大语言模型训练选择基础模型时,需要考虑的关键因素主要是:预训练数据、多语言支持、模型架构和部署成本。这些因素将直接影响模型的泛化能力、应用场景的广泛性和模型部署的可行性。

(1)预训练数据 训练数据的数量、质量和多样性是模型泛化能力的保障。数据量越大、来源越广泛、处理方式越科学,模型的泛化能力越强。

(2)多语言支持 模型的训练语言决定了其应用边界。多语言支持能够扩大模型的应用场景,特别是在需要处理多种语言数据的场景中尤为重要。

(3)模型架构 不同的架构必然会影响模型的性能和适用场景。

(4)部署成本 选择一个综合能力强的模型可以在效果和成本之间取得平衡。

4、模型训练

(1)优化设置 在预训练过程中,可能会出现性能、稳定性问题。现有研究表明,需要动态调整批量训练的大小,从而能有效地稳定大语言模型的训练过程。此外,对于预训练不稳定问题,还能通过权重衰减和梯度裁剪方法来解决。

(2)训练技术 预训练过程中,可以采用可扩展的训练技术,包括3D并行、ZeRO和混合精度训练技术。这些技术能够提高训练的吞吐量,减少传输成本,降低通信开销,提升训练效率。

(二)适配微调

预训练完成后,模型通常会在特定的医学任务上进行适配微调,使其更好地适应特定领域的应用场景。适配微调不仅保留了预训练积累的知识,还将通用大语言模型进一步转变为更加专业的医学大语言模型,并能显著提高模型对医学文本的理解和生成能力。

适配微调方法包括:指令微调和对齐微调。指令微调旨在进一步增强大语言模型的医学专业能力;而对齐微调更关注于将大语言模型的行为与人类的价值观和偏好对齐。

1、指令微调

指令微调,是指基于自然语言格式,构建医学文本实例集合,之后基于该集合微调预训练后的大语言模型。因此,为了进行指令微调,首先需要收集或构建指令实例。之后,使用这些实例来进行有监督方式微调大语言模型。指令微调后,大语言模型能够展现出泛化未知任务的能力。

(1)构建指令实例 通常情况下,一个指令实例包括一个任务描述、一系列输入输出对以及少量的示例信息。构建指令实例工作包括两部分,第一部分是格式化已收集的数据集,创建有监督的多任务训练数据集。第二部分是格式化人类真实需求,已构建的训练数据集来自于专业领域数据,其任务描述有可能与人类真实需求不匹配。因此,基于真实用户的查询,以自然语言表示,引导出大语言模型遵循指令的能力。

(2)指令微调策略 与预训练不同,因为只需要使用较少数量的实例进行训练,因此指令微调将会更加高效。指令微调可以视为一个有监督的训练过程,其优化过程与预训练有些不同,诸如训练目标函数、优化参数设置等。

2、对齐微调

大语言模型在自然语言处理任务上展现出了类人的能力。但是,这些模型也可能会输出预期之外的结果,诸如不真实、不准确的信息,甚至是有害的、误导性的和有偏见的信息。为了消除这些虚假、有害信息,就需要基于人为反馈,进行对齐微调,使得大语言模型的结果更能满足人类的期望。

对齐微调工作包括以下方面:

(1)人为反馈的收集 ① 基于排序方法:引入评分系统,针对模型输出结果进行人为偏好排序。通过排序来调整模型输出,从而产生更可靠、更安全的结果。② 基于问题的方法:特别设计一些问题,针对这些问题给出人为反馈,基于问题反馈来调整模型输出结果。③ 基于规则方法:有针对性地设计一系列规则,来测试模型生成结果是否符合有用、正确和无害的对齐标准。

(2)基于人为反馈的强化学习 为了使大语言模型与人类价值观保持一致,使用收集到的人为反馈数据对大语言模型进行微调,有助于改进对齐指标。基于人为反馈的强化学习的关键步骤包括:监督微调、训练奖励模型和强化学习微调。

(三)提示学习

经过预训练和适配微调之后,为高效处理医学任务,就需要设计适当的提示策略。这里有两种提示方法,一种是上下文学习,另一种是思维链提示。

1、上下文学习

上下文学习是指在模型输入中加入特定的提示词,以引导模型生成特定的输出,而无需训练任何的模型参数。上下文学习对于医学大语言模型的应用尤为重要,因为不同的医学场景需要模型理解并回应极其专业和具体的指令或问题。通过设计精确的提示词,引导模型学习领域偏好,提高其专业性和准确性,能够更好地利用大语言模型完成诊断支持、治疗建议等任务。

2、思维链提示

思维链可提升大语言模型在复杂推理任务中的性能,分为小样本和零样本设置,要与上下文学习一起使用。

(1)小样本思维链 将推理步骤纳入提示,设计合适的提示,并利用生成的思维链来推导出答案。

(2)零样本思维链 无人工标注示范,直接生成推理步骤得出答案。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值