您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[清华大学]:预训练大模型与医疗:从算法研究到应用 - 发现报告

预训练大模型与医疗:从算法研究到应用

医药生物2025-03-10-清华大学文***
AI智能总结
查看更多
预训练大模型与医疗:从算法研究到应用

闾海荣博士|清华大学自动化系 1.预训练大模型概述2.理解大模型的内在机理3.赋予模型精准性与可解释性4.医疗领域应用5.清华探索:数基生命 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 1.模型角度:模型参数不再是随机初始化,而是通过一些任务(如语言模型)进行预训练;2.数据角度:将训练任务拆解成共性学习和特性学习两个步骤。 Transformer架构:预训练的基石 ①关 于 预 训练 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 从word2vec到Transformer从context-free到context-aware ⑤数基生命 BERT和GPT ▪两类典型的大语言模型 ▪BERT:Bidirectional EncoderRepresentationsfromTransformers ①关 于 预 训练 ▪双向模型,同时考虑前文和后文▪采用掩码语言模型(maskedlanguagemodel)和下一句预测任务(nextsentenceprediction)进行预训练,使得模型能够学习到上下文关系和词汇语义▪通常用于文本分类、序列标注、问答等任务 ②剖 析 大 模型 ③精 准 可 解释 ▪GPT:Generative Pre-trainedTransformer ④医疗应用 ▪单向模型,只考虑前文,不考虑后文▪采用自回归(autoregressive)的方式生成文本,即逐个生成下一个词▪通常用于生成文本、对话、问答等任务 ⑤数基生命 BERT训练 ①关 于 预 训练 ②剖 析 大 模型 ④医疗应用 BERT主要采用掩码语言模型(maskedlanguagemodel,对应图MaskLM)和下一句预测任务(nextsentenceprediction,对应图NSP)进行预训练,使得模型能够学习到上下文关系和词汇语义。预训练好的BERT可以用于对输入文本进行编码,得到具有语义的向量表示。预训练好的BERT也可以通过微调(fine-tuning)方式适配各类NLP任务:TheStanfordQuestionAnsweringDataset问答(SQuAD)、命名实体识别(NER)、MNLI任务(大规模分类任务,目标是预测第二个句子相对于第一个句子是包含,矛盾还是中立)20Pag23 ⑤数基生命 BERT表示能力 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 BERT类模型 ②剖 析 大 模型 ④医疗应用 GPT发展史 GPT应用 ④医疗应用 模型内部本质上是基于统计的文字生成器 通过对海量文本的学习,自动构建了一个含有1750亿参数的大模型,建立了对这个世界基本的逻辑认知,由此产生了基于逻辑的推理能力实际上是根据对话中的最近4095个记号,算出紧接着最可能是哪个记号 ①关 于 预 训练 但,ChatGPT≠模型 ②剖 析 大 模型 模型负责把最近的对话内容翻译为一张概率表 ChatGPT负责根据这张表选出下一个记号,再让模型算再下一个记号的概率表 ③精 准 可 解释 ④医疗应用 ⑤数基生命 可以理解为高阶的马尔可夫链 后续状态按一定概率取决于过去状态的随机过程,被称为马尔可夫链m阶马尔可夫链模型可以根据前m个记号算出下一个记号的概率分布 ①关 于 预 训练 ②剖 析 大 模型 3阶马尔可夫链 ③精 准 可 解释 ChatGPT根据前4095个记号猜下一个记号,所以是一个4095阶的马尔可夫链 ④医疗应用 如果ChatGPT遇到它在训练时从没见过的记号串怎么办? ⑤数基生命 ——神经网络能很好解决这个问题 概念:嵌入向量(embeddingvector) 嵌入向量: ①关 于 预 训练 •在GPT里面,把一个记号作为一个N维浮点数向量来表示。这种用一个向量来表示一个单词或记号的方法按神经网络的术语就叫做嵌入•一个单词对应的向量叫这个单词的嵌入向量•把每个单词或记号(token)在GPT内部都会通过一层简单的神经网络映射层对应到一个嵌入向量,这个向量代表了记号的语言特征•GPT-3是1600维,GPT-3.52048维 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 位置信息的引入 使用Transformer摆脱了人工标注数据集的缺陷,模型在质量上更优、更易于并行化,所需训练时间明显更少 ①关 于 预 训练 •第一步:将离散的顺序号转换成一个与嵌入向量长度相同的向量,称为位置编码(positional encoding)•第二步:将位置编码与嵌入向量相加(即对应的元素相加),结果作为后续处理的输入向量•第三步:输入向量会被送到多层Transformer进行后续处理,每层Transformer的参数不同,但都会让输入先经过一个线性投影层•第四步:线性投影层将输入向量投影到另一个维度空间,剔除不重要的维度,将高维向量简化为低维向量 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 可信性无法保证,还不能提供合理的证据进行可信性验证 成本高、部署困难、每次调用花费不菲,对工程能力有很高的要求,GPT-3模型的训练成本在875万-1093.75万美元之间 如何让ChatGPT更靠谱 ChatGPT不是每次都选概率最大的记号 ①关 于 预 训练 ②剖 析 大 模型 两个关键参数: •temperature参数•top_p参数 ③精 准 可 解释 ④医疗应用 ⑤数基生命 temperature参数 •控制语言模型输出的随机性或创造性的参数•temperature参数=0,模型每次都挑最佳候选字,从不偏离•temperature参数越大,生僻的选择变得更容易被选中•openAI试验场(playground)限制temperature参数在0到1的区间 ①关 于 预 训练 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 t=0.4 ⑤数基生命 top_p参数 •限制top_p参数在0到1的区间 •拿到候选字的原始概率分布后,先把这些字按概率从高到低排序,按顺序依次选取,选到总概率超过top_p值的时候即停止,剩下的候选字彻底放弃 ①关 于 预 训练 •top_p=0,只保留最高频的一个字•top_p=0.5,考虑总概率占50%的那些最高频的字•top_p=1,全部候选字都考虑 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 top_p=0 大模型精确性提升思路:知识嵌入 大模型语言本身具有很强的语言理解或生成能力,然而为了提高其叙述内容的真实性和严谨性,需要采用特定的技术路线,例如将知识图谱中的事实描述融入大模型的训练过程中。 ①关 于 预 训练 知识嵌入:Zhang等人通过将知识图谱的表示向量加入到BERT中对应的tokens编码内,从而使得模型学习到与知识相关的事实信息,增强了模型在相应知识领域的准确性。[1] ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 相关模型在FewRel和TACRED上的表现 大模型精确性提升思路:知识预测 知识图谱应用于大模型训练后阶段:Liu等人提出了知识生成式大模型提示方法,让模型进行知识预测,通过将知识图谱的三元组形式转化成Questionandanswer的形式,让模型生成一些知识,然后将这些知识进行聚合,从而得到最终的更为精确靠谱的结果。模型在数值常识(NumerSense)、一般常识(CommonsenseQA2.0)和科学常识(QASC)基准测试中进行实验,得出了将外部知识融入到大模型中能够提升其常识推理任务的精度的结论。[1] ①关 于 预 训练 ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 大模型精确性提升思路:少样本提示 ChatGPT作为一种生成模型,存在一些问题。其中最主要的问题是不确定性和预训练语料库中存在的某些局限性,这可能导致ChatGPT在回答一些问题时存在时效性、事实性以及内容不合规等情况。[1] ①关 于 预 训练 少样本提示:尽管大型语言模型展现出惊人的零样本能力(泛化能力),但在复杂的任务中使用零样本设置时仍然表现不佳。为了提高模型的性能,我们可以采用少样本提示技术来启发上下文学习。这种技术可以通过给模型提供示例演示来引导其生成更好的响应。演示作为后续示例的条件,可以有效地提高模型的准确性和可靠性。[2] ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 大模型精确性提升思路:自我一致性 由于ChatGPT的训练机制主要专注于“单字接龙”,其在涉及算术和常识推理的任务中的精确性仍有待提升。 ①关 于 预 训练 自我一致性:由Wang等人提出,其核心思想是在链式思考的prompt[1]基础上,通过采样适量的多个不同推理路径,根据这些方案的一致性情况得出最合理的结果,从而提高模型的准确性和可靠性。[2] ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 大模型精确性提升思路:提示语工程 通过适当的Promptengineering,可以提升ChatGPT在相应任务上的精确性。 ImpressionGPT:使用“动态prompt”来构建具有相似诊断报告的“动态上下文”环境;对生成的报告进行评估,利用评估结果来指导ChatGPT生成增强的响应,让ChatGPT能够从好样本和坏样本中学习到相关内容。[1] ①关 于 预 训练 ②剖 析 大 模型 ③精 准 可 解释 ChatCAD:设计了三种不同的Prompt,将视觉模型得到的结果通过Prompt更好的让语言模型理解,通过ChatGPT与CAD结合,得到了诊断的性能提升。[2] ④医疗应用 ⑤数基生命 大模型可解释性 机器学习模型的可解释性 ▪传统模型的可解释性思路 ①关 于 预 训练 ▪模型相关▪模型无关 ②剖 析 大 模型 ▪大模型的可解释性思路 ▪基于attention机制:大模型如BERT和ChatGPT等大都基于attention机制构建,但随着模型参数量不断增大,通过attention机制也无法进行模型内部的解释 ▪PromptEngineering思路:对话中的post-hoc(事后)可解释性 ③精 准 可 解释 ④医疗应用 ⑤数基生命 传统可解释性思路 白箱算法的可解释性与模型构造本身高度相关,因此对于大模型可以根据相关思路设计更具有针对性的可解释性方法。 ①关 于 预 训练 主流的模型相关可解释性方法: ②剖 析 大 模型 •基于梯度显著性[1]•基于因果启发[2]•基于注意力机制[3]•基于神经元分析[4] ③精 准 可 解释 ④医疗应用 ⑤数基生命 针对大模型的可解释性思路:多层注意力机制 注意力头探查 注意力中的表层模式 •探查个别注意力头•探查注意力头组合•注意力聚类 •注意力模块的相对位置•分隔符标记•集中注意力与广泛注意力 BERT、GPT等大预言模型的基础框架为transformer,因此对于此类大模型的可解释性多与transformer模型的架构与机制有关。 ①关 于 预 训练 多层注意力机制:在Transformer模型中,通常包含大量的attention层。因此,每个attention层对于模型最终输出的影响很难用单层的热力图来解释。如果想要探究这类大型模型的可解释性,就必须从多层注意机制入手,并深入探究多个层之间以及同一层中不同multi-head之间的关系,以及它们对最终结果的影响。[1] ②剖 析 大 模型 ③精 准 可 解释 ④医疗应用 ⑤数基生命 针对大模型的可解释性思路:信息流解析 信息流解析:注重模型处理过程中,过程信息流的可视化,这样做的意义和价值在于模型的使用