陈凌云 姚宽达 王 茜 方 安 李 刚
(1中国医学科学院/北京协和医学院医学信息研究所 北京100020 2中国农业银行 北京100005)
自2022年11月,ChatGPT迅速成为现象级焦点,引发市场广泛关注,掀起新一轮人工智能浪潮。推出仅两个多月,ChatGPT全球用户已突破1亿,成为历史上用户增长速度最快的应用程序。
ChatGPT是一种基于语言模型的人工智能系统,由开放人工智能(OpenAI)公司开发,是GPT系列模型的一部分,旨在进行对话式交互。ChatGPT经过大规模预训练,可以理解和生成自然语言文本,能够与用户对话,并根据上下文生成连贯的回复。可被用于提供智能客服、虚拟助手、在线聊天等场景,为用户提供实时的问题解答和交流服务。ChatGPT在自然语言处理领域具有广泛的应用前景,可以帮助人们更方便地与计算机交流和获取信息。
ChatGPT引入基于人类反馈的强化学习模型,并使用高质量大数据,特别是其训练流程与理论模型在学术界引起极大关注[1],在需要算法与技术、组织与检索、人机智能交互[2]与协同支持的医学领域产生了范式转换、方法创新的巨大影响[3]。其预训练监督、自动评估以及强化学习近端策略优化(proximal policy optimization,PPO)模型3个层次技术创新,在医学信息研究应用方面具有重要意义,能够在医疗大数据临床文本处理和知识发现、医学文献知识提取、优化医学问诊、改善医患交流和沟通,以及在医院管理和科研中提供决策支持和数据分析。
自2018年GPT被OpenAI[4]公司开发以来,经历神经网络、深度学习,以及Transformer模型等多种模型迭代累积,逐步完善与成熟[5],见图1。
图1 GPT迭代对比
GPT-1是GPT系列第1个版本,使用12个Transformer编码器,采用自回归语言模型,创新性地将语境信息编码为隐藏向量,在此基础上生成任务[6]。GPT-2是GPT系列的第2个版本,于2019年发布,具有更多参数和更多层网络结构,使用48个Transformer编码器和1.5亿个参数,进一步使用无监督预训练方法,自动学习语言规律和特征,获得更强的语言泛化生成能力[7]。GPT-3是GPT系列第3个版本,于2020年发布,使用1 750亿个参数,采取零样本和多样本学习方法,甚至在没有样本的情况下生成解决方案,具有较强对话交互能力,并在对话中实现逻辑推断,获得生成连贯和富有逻辑性的语言能力[8]。
2022年ChatGPT继续基于Transformer模型架构,在微软Azure AI超级计算基础设施上训练,吸收GPT-1、GPT-2、GPT-3模型经验,参数由亿级迭代至千亿级,使用人类反馈的强化学习模型,应用强化学习PPO模型,成功实现多问题提示、动态交互的大规模预训练语言能力[9]。
GPT模型系列从GPT-1到ChatGPT,其算法区别体现在:GPT-1采用单向Transformer模型,利用自回归方式预训练和生成。GPT-2引入更大模型规模和参数量,采用更多层Transformer模型,提升生成能力和语言表达连贯性。GPT-3进一步增加模型的规模和参数量,引入零样本和小样本学习概念,展现更强的通用性和泛化能力。ChatGPT是基于GPT-3.5架构训练的版本,具备更强的语言理解和生成能力,但具体算法细节并未公开。应用方面区别体现在:GPT-1主要应用于生成文本、回答问题和完成填空题等自然语言处理任务。GPT-2在生成任务方面取得显著进展,可用于生成新闻、故事、代码和对话等任务。GPT-3具备较强的通用性和泛化能力,可适应多个自然语言处理任务,包括翻译、问答、摘要生成、对话交互等。ChatGPT作为语言模型,可被应用于回答问题、生成文本、提供建议等任务,但其基于已有数据进行训练。
近期,OpenAI公司公布GPT-4模型[9],继续优化大规模预训练模型,支持图文混合输入,实现更准确、更真实的机器翻译、自然语言输出等能力,表现出专业和学术方面与人类基本相同的能力。
ChatGPT采用多种模式叠加的方法。其中,对比预训练是指预训练多个模型,并将其结果对比和融合。通过对比预训练,ChatGPT能够获得更全面和多样化的语言表达能力。ChatGPT还进行多种微调,包括人工加工数据微调、指令微调和代码数据微调。这些微调过程可以提高ChatGPT在特定领域或任务中的性能表现,使其更适用于医学信息应用等特定场景。人工加工数据微调是指利用人工标注或编辑的数据微调,以增强ChatGPT在特定领域的理解和表达能力。指令微调是通过针对特定任务或指令的训练样本微调,使ChatGPT能够更好地理解和遵循给定的指令。代码数据微调是指使用编程代码相关的数据微调,使ChatGPT能够更好地理解和生成与编程相关的内容。
ChatGPT 由GPT-3.5模型提供支持,采用“人类反馈强化学习”训练方式,包括人类提问机器回答、机器提问人类回答,不断迭代和反馈,模型逐渐具有生成答案和相应的评判能力,见图2[10]。为下一阶段医学研究提供思路和方法。ChatGPT创新主要体现在以下3方面。
图2 ChatGPT训练流程
微调预训练模型是ChatGPT第1层级创新。ChatGPT预训练模型初始层主要负责提取原始文本中特征,输出层和附近层级负责生成语言任务,并在模型输出层添加具体分类器,将生成的响应与真实响应比较和计算打分,调整模型参数,适应特定对话目标。同时,ChatGPT不断微调学习率和正则化方法,初始阶段学习率较大,后续阶段逐渐减小,以帮助模型更好地适应对话任务;正则化则分别采用dropout、L1、L2等方法,避免模型过度拟合训练数据,提高泛化能力,降低模型复杂度[11]。
生成自动奖励模型、采用自动评估机制是ChatGPT第2层级重要创新。首先,ChatGPT模型对输出结果进行人工标注排序,舍弃常用的直接打分方法,提升模型的普适性和准确性。其次,奖励模型对排序结果两两组合,计算差值,遍历所有排序靠前与排序靠后结果的差值,对数处理计算整体值,生成奖励模型。奖励模型的损失函数:
(1)
其中rθ(x,y)是奖励模型对提问信息x和输出信息y的标量输出,θ为参数,yw是yw和yl输出信息对的排序靠前的项,D是比较数据集[12]。
最后,ChatGPT采用梯度下降法最小化损失函数,学习优化策略,生成奖励模型。据此,采用此自动奖励函数打分,ChatGPT有效改进预训练模型,即当原始模型输出的结果在打分模型中获得较低分值,或者输出结果偏离人类认知时,模型将受到惩罚,被要求重新学习。通过不断循环,初始模型逐渐被迭代升级,逐渐掌握人类偏好,成为人类满意的模型。
3)现场物资的精准控制和物资采购的精准预测。在工程项目中标之后,借助信息化手段及时建立本工程项目数据管理平台,将项目的总体进度计划录入到该工程项目数据管理平台中。在工程项目实施中,将物资库存状况,记载物资入场、损耗、退库等详细内容实时录入仓库管理子系统,快捷地统计现场物资状况并反馈到工程项目数据管理平台中。工程管理子系统实时追踪工程项目的进度过程,报告剩余未完成工程和已批复变更;预算管理子系统依据实时更新的物资信息精准预测物资需求。
应用强化学习PPO模型是ChatGPT第3层级关键创新。基于上述奖励模型,ChatGPT获取预训练模型输出结果的分值后,返回强化学习PPO模型,进一步优化微调GPT模型参数。在此阶段,强化学习PPO模型为ChatGPT的发展起到极大推动作用。强化学习PPO模型目标函数:
(2)
对于传统PPO强化学习模型,包含策略、动作空间和奖励函数等基本要素[13]。策略指基于语言模型,接收prompt提问作为输入,输出一系列文本(或文本的概率分布);动作空间是词表标记的排列组合;传统PPO模型目标通常包括模型值和“裁剪项”,以获得稳定输出结果:
(3)
相比较而言,ChatGPT模型的目标函数是创新性地增加KL惩罚和预训练梯度两个部分,成为奖励函数、模型值与人工值差距,以及特定场景的泛化值3个部分组成的函数,可准确获得符合人类需求和认知的结果,最重要的是能够主动适应泛化场景,获得自主学习能力[14]。
目前,医学研究主要基于规则、机器学习和深度学习方法进行研究,大都可以归为有监督学习模型。医学文献、病理研究、基因研究等在无监督学习研究方面,已经取得长足进步,取得较好研究成果[15]。但结合ChatGPT训练流程和模型创新点,基因、文献、问诊平台建设等将能产生新的研究成果。ChatGPT赋能医学信息应用可体现在以下两方面。一是数据加工与语料库构建。ChatGPT可以用于处理和加工医学领域大规模数据,包括医学文献、临床数据、病历信息等,通过ChatGPT的语言理解和生成能力,可以实现对数据的自动化整理、分类和标注,构建更丰富、结构化的医学语料库。二是医学信息或情报智能分析。通过ChatGPT的语义理解和推理能力,可以理解和解析医学文本、病历描述等信息,并从中提取关键信息、推断相关关系和趋势,进而辅助医学专业人员进行信息检索、知识发现和决策支持,提供更准确和智能化的医学信息分析服务。ChatGPT面向医学信息领域应用的优化方向主要涉及以下3个方面。
OpenAI公司爬虫数据集超万亿,GPT-3模型拥有多达1 750亿个参数,ChatGPT模型参数达数十亿级。但是模型参数越大,拟合效果和准确性未必越好。ChatGPT创新性地应用自动奖励模型,进一步发挥自动校准作用,准确、真实实现语言生成能力。ChatGPT自动奖励模型也不是一成不变的,而是不断动态生成的,其本身就是“GPT”模型,随着ChatGPT预训练模型的改进,打分奖励模型也在优化改进。
医学文献自动化阅读与知识提取方向的应用潜力巨大。通过应用ChatGPT等技术,可以实现文献筛选、知识抽取与整合,疾病诊断与治疗指南的自动化,探索新兴研究领域,促进学术交流与合作,提高医学研究效率和质量,为医学领域带来巨大的变革和进步。
在医学研究中,无监督学习模型无法最大成效地发挥作用,原因之一是没有自动评估机制和自动奖励模型,不能对初始模型动态校准,更无法对模型参数迭代升级。而ChatGPT模型中的自动奖励模型为此类研究提供了思路。
进一步看,在医疗大数据临床文本处理与知识发现研究中,数据准备、文本挖掘、评估反馈等研究都较深入,成果也较丰富,后续可应用ChatGPT自动奖励模型方法,研究知识发现领域相应的奖励模型,动态评估文本处理与知识发现研究,进一步提升准确性和自动化。
在生物医学科技文献知识对象挖掘中,数据和信息量较大,专业术语较复杂。前期在结合专业术语和语言特征语料库标注的基础上,应用ChatGPT自动奖励模型方法,训练相应的自动奖励模型,见图3,既能提升对医学文献评估的准确性,又可以提升专业人员梳理文献资料的效率。
图3 训练生物医学科技文献自动奖励模型流程
现阶段,人工智能的研究过程中存在3种不同研究思路。一种是基于人工神经网络的方法,试图从结构方面模拟人类智能。另一种是基于物理符号系统的方法,从功能方面模拟人类智能。第3种是基于感知动作系统的方法,试图从行为方面模拟人类智能[16]。随着数据信息量不断增长,未来10年生成式人工智能的能力和需求可能会增长超过1 000倍,因此自动学习知识技能已成为人工智能研究的主要方向。ChatGPT采用强化学习模型,从行为方面模拟人类智能的感知动作系统,为人工智能赋予自主学习能力。进一步分析,ChatGPT获得自主学习能力和逻辑推理能力,得益于应用强化学习PPO模型,特别是马尔科夫链决策过程不断动态调整前后语义策略,使前后策略更加一致,真实准确生成结果。
目前,国内医学信息量呈指数级增长,但仅能通过关键词和问题检索方式访问医学数据库。在庞大的数据海洋中,精确检索所需的数据信息仍是一项相当困难的任务,缺乏针对性。为此,医学研究可以借鉴ChatGPT强化学习PPO模型,标注人工检索过程、停留时间等,获得前后概率分布,并以检索时间和对象生成检索模型,为下一步人工检索提供支持。基于此,指数级的医学数据可以整合成强大而智能的知识库,见图4。
图4 PPO模型处理海量医学数据的流程
ChatGPT也可以成为辅助医生诊断和选择治疗方法的智力支持。目前,在医学研究中,慢性病等病因形成时间较长、较多、较复杂,前后病因的逻辑和相互影响对疾病治疗都非常重要。借鉴ChatGPT中PPO强化学习模型,应用马尔科夫链决策过程,动态学习前后病因影响大小、不同地域病因的影响关系,强化模型值与人工值差距研究,可以建立有成效的分析和决策系统,为慢性病等病因分析和治疗提供人工智能支持。
强化学习还可以为基因研究和疾病风险评估提供帮助。目前医学研究已经从成千上万患者样本中,生成数以万计的数据集,数据集通常包括突变DNA序列、DNA甲基化、单个基因活性以及细胞通路中蛋白质相互作用信息。近几年来的研究表明,蛋白质和基因的相互作用可以映射成一个数学网络,即相互作用网络图,因此也可以借鉴ChatGPT中PPO强化学习模型,应用马尔科夫链决策过程,在前期生物信息学和人工智能算法结合的基础上,强化泛化场景研究,突出基因序列突变之外的隐性基因研究,为基因研究和疾病风险评估提供全场景的研究方法。
以往医学问答系统存在数据缺失[17]、简写、拼音代替、错别字[18]等问题,影响准确性。借鉴ChatGPT提问等模式,开发基于ChatGPT模型的医学问答系统,系统以高度拟人化对话问答模式,带来较好交互体验,还可以收集整合问题集。此外,医生结合患者病历信息以及回答,给出患者问诊、解答等建议,进一步提升问答对话系统能力和交互体验,同时丰富“答案”集,为后续标注和自动评估机制打下基础。
在医院管理和卫生系统管理方面,ChatGPT可应用于医院内部的自动化客服和咨询系统,为患者提供在线预约、挂号、查询检查结果等服务,减轻人工接待压力,提高工作效率;医院知识库管理和知识查询,帮助医护人员快速获取医学知识和临床指南,支持决策和诊断过程,提升医疗质量和安全性;卫生系统公众健康教育,通过智能问答和健康咨询,为大众提供个性化健康建议和预防措施,促进公众健康管理和健康意识。这些应用可以提高服务效率、增强医学知识的传播和应用、促进公众健康意识,为医疗行业的改进和发展作出积极贡献。
借鉴GPT-N预训练大模型应用程序接口(application programming interface,API),开放接口研究和对话框提示研究,患者输入个人信息、健康状况信息以及病历信息,拓展信息采集时间宽度和灵活性,对话框提示能提升问答准确性,API接口能提升医学数据自动化传输水平。同时,医生可自主灵活选择时间,根据患者问题,起草诊断计划,提高治疗效率。根据问题数据集和答案集,再结合脱敏临床知识数据,可进一步提高医学科研效率。
ChatGPT迅速成为现象级焦点,掀起新一轮人工智能浪潮,需要客观分析其流程、模型和创新价值,并探讨其在医学研究中的应用。自动奖励模型可以提高评估准确性和效率,强化学习PPO模型突显研究对象的多样性和相互影响,通过应用马尔科夫链决策过程、分析前后逻辑,缩小模型值与人工值的差距,增强特定场景的泛化能力。问答系统可以提升对话能力和交互体验,并拓宽时间范围和数据集。综合考虑ChatGPT的训练流程和模型创新点,可以将其应用于医学研究领域,从而开创出更多、更好、更有价值的研究。