AIDD入门第七课:大语言模型是如何读懂文字,又如何走进药物发现的?
前几篇文章中我们已经介绍了机器学习、深度学习、神经网络以及CNN、RNN、Transformer等经典结构。今天这篇文章进入一个更靠近当下AI浪潮的主题大语言模型与自然语言处理。自然语言处理Natural Language ProcessingNLP研究的是如何让机器处理、理解和生成自然语言。所谓自然语言就是人平时说的话、写的字比如中文、英文、论文摘要、实验记录、专利文本、药物说明书、病历、数据库注释等。大语言模型Large Language ModelLLM是基于海量文本训练出来的模型能够根据上下文预测、生成和改写语言。今天我们熟悉的很多AI对话系统本质上都与大语言模型有关。但大语言模型并不是“真正懂了人类语言”。它没有人生经验也没有痛苦与欲望。它只是从海量文本中学习了词与词、句与句、概念与概念之间的统计关系并在给定上下文时生成最可能的后续内容。它像一个读过无数书的人却未必真正经历过书中的世界。对于AIDD也就是人工智能辅助药物发现来说大语言模型和NLP越来越重要。因为药物研发并不只有分子和蛋白还有大量文本知识论文、专利、临床试验记录、靶点信息、疾病描述、药物机制、实验方案、数据库说明。谁能更好地读取这些文字谁就能更快地把知识转化为线索。要理解大语言模型我们先要弄懂10个基础术语Token、Tokenizer、嵌入、语言模型、预训练、微调、指令微调、RLHF、提示工程、上下文窗口。一、词元TokenToken 是大语言模型处理文本时的基本单位。它不一定等于一个汉字也不一定等于一个完整单词而是模型内部切分和理解文本的最小片段之一。生活中可以这样理解人读文章时会把一段话拆成词语、短语、标点和句子。模型读文字时也不能直接把整篇文章一口吞下它需要先把文本切成一小块一小块。这些小块就是 Token。比如一句话人工智能辅助药物发现在人看来可以理解成“人工智能 / 辅助 / 药物发现”。在模型看来它可能会被切成若干 Token。不同模型的切法不完全相同。英文中也是如此。一个单词可能是一个 Token也可能被拆成多个 Token。比如 “unbelievable” 可能被拆成 “un”“believ”“able” 这样的片段。中文则可能按字、词或子词切分。在AIDD中Token 不只存在于普通文本中。SMILES 分子字符串、蛋白质序列、DNA序列也可以被看作一种特殊的“语言”。例如蛋白质序列中的每个氨基酸可以被视为一个 TokenSMILES 中的原子符号、键符号、括号、环编号也可以作为 Token。Token 是模型阅读世界的颗粒度。人类以词语理解意义模型以 Token 进入计算。若切分不当世界就会从入口处开始变形。二、分词器TokenizerTokenizer 的作用是把原始文本切分成 Token并把这些 Token 转换成模型可以处理的编号。生活中可以把 Tokenizer 想象成图书馆的编目员。一本书如果随便堆在地上人也许还能翻开读但机器需要更清楚的规则。编目员会给书分类、编号、登记使它们能够被检索、管理和调用。Tokenizer 也是这样它把一句自然语言变成一串模型能识别的编号。例如机器学习改变药物发现Tokenizer 可能先把它切成若干 Token再把每个 Token 映射成一个数字ID。模型真正看到的不是汉字本身而是一串数字编号。在AIDD中Tokenizer 的设计非常关键。如果处理普通文本可以使用通用语言模型的 Tokenizer如果处理 SMILES需要考虑化学符号不能被错误拆开如果处理蛋白质序列需要让氨基酸单位保持合理如果处理医学文本需要保留疾病名、药物名、基因名等专有实体。例如“BRCA1”“EGFR”“TNF-α”这类生物医学术语如果被粗暴切碎模型可能更难学习它们的真实含义。Tokenizer 看似只是预处理工具实际上决定了模型如何切开世界。刀若不准后面的理解再努力也只是缝合错误。三、嵌入EmbeddingEmbedding 的作用是把 Token 转换成向量。向量是一组数字可以被模型计算、比较和更新。生活中可以这样理解人认识一个词不只是记住它的字形还会知道它的语义位置。比如“阿司匹林”和“布洛芬”都和药物有关“EGFR”和“HER2”都和靶点、生物标志物、肿瘤治疗有关“溶解度”和“脂溶性”都与药物性质有关。人脑会自然形成一种概念空间哪些词相近哪些词相关哪些词相距很远。Embedding 就是让模型用数学方式表达这种关系。每个 Token 被表示成一个向量。如果两个 Token 在大量语境中经常以相似方式出现它们的向量可能会更接近。模型并不是用“字典解释”理解词而是用向量空间中的位置和关系来处理词。在AIDD中Embedding 很重要。分子可以有分子嵌入蛋白质可以有蛋白嵌入疾病可以有疾病嵌入药物、靶点、通路、表型也都可以被嵌入到某种向量空间中。例如一个蛋白语言模型可以把氨基酸序列转换成蛋白质表征向量用于功能预测、结构分析或突变效应评估。一个分子语言模型也可以把 SMILES 转换成分子向量用于性质预测和相似性搜索。Embedding 是从符号到计算的桥。人说“意义”模型说“向量”。这听起来冷酷却正是机器理解语言的起点。四、语言模型Language Model语言模型的基本任务是学习语言中 Token 出现的规律并根据上下文预测接下来可能出现什么。生活中可以想象你在补全一句话今天的天气很____。你可能会想到“好”“冷”“热”“糟糕”。如果前文是“乌云密布风也越来越大”你更可能补“糟糕”或“阴沉”。这说明你不是孤立地猜词而是在根据上下文判断。语言模型也是如此。它通过大量文本学习语言规律哪些词常常一起出现哪些句式合理哪些概念相关哪些表达符合语境。大语言模型则是在更大规模数据、更大模型参数和更强计算能力上训练出来的语言模型。在AIDD中语言模型不只用于普通文字。SMILES 可以被看作分子语言蛋白质序列可以被看作生命语言医学病历可以被看作临床语言论文和专利可以被看作知识语言。因此语言模型可以用于文献知识抽取药物-靶点关系识别生物医学问答分子生成蛋白质序列建模实验方案辅助设计数据库注释理解药物研发报告自动总结。语言模型的本质是从上下文中学习可能性。它能生成流畅文本但流畅不等于正确。一个句子写得像真话并不代表它就是真话。语言模型最危险的地方正在于它常常把不确定说得很顺。五、预训练Pre-training预训练是指在大规模通用数据上先训练模型让模型学习基础规律再用于后续具体任务。生活中可以想象一个医学生的培养。他不会一开始就学习某一种罕见病的治疗方案而是先学习解剖学、生理学、生物化学、病理学、药理学等基础知识。只有具备基础知识后才可能进入专科训练。预训练也是类似过程。大语言模型先在海量文本上学习语言规律、常识关联、表达方式和概念结构。这个阶段并不是为了某一个具体任务而是为了形成通用能力。在AIDD中预训练同样重要。蛋白质语言模型可以在海量蛋白质序列上预训练分子语言模型可以在大量 SMILES 或分子图上预训练生物医学语言模型可以在论文、专利、医学文献和数据库文本上预训练。预训练的价值在于很多具体任务的数据很少但通用数据很多。模型可以先从大规模数据中学习基础结构再迁移到小样本任务中。比如我们想预测某类蛋白突变的功能影响专门标注数据可能很少。但预训练蛋白模型已经从大量蛋白序列中学到了一些进化和结构规律这些知识可以帮助后续任务。预训练像打地基。地基看不见却决定房子能盖多高。六、微调Fine-tuning微调是指在预训练模型的基础上使用特定任务的数据继续训练模型让它适应具体任务。生活中可以这样理解一个人接受过通识教育后还需要进入具体岗位培训。医学基础很好不代表一上来就会做肿瘤临床试验设计化学基础很好也不代表马上会做某个靶点的先导化合物优化。基础知识需要被调整到具体任务中。微调就是这个过程。预训练模型已经学到通用规律但我们希望它在某个任务上表现更好比如判断一段医学文本中是否提到药物不良反应从论文中抽取药物-靶点关系预测一个分子是否有活性生成符合某类靶点要求的分子识别蛋白质序列中的功能位点。在AIDD中微调非常常见。比如一个通用语言模型可以进一步在生物医学文献上微调使其更熟悉疾病名、基因名、药物名和实验术语。一个通用分子模型也可以在某类靶点活性数据上微调使其更适合该靶点的候选分子筛选。但微调也有风险。如果数据太少模型可能过拟合如果数据质量差模型会学习错误如果任务定义不清模型会变得似是而非如果微调过度模型可能遗忘原有通用能力。微调不是给模型贴标签而是让模型适应新环境。适应得好是专业化适应过头就是狭隘化。七、指令微调Instruction Tuning指令微调是指用大量“指令—回答”形式的数据训练模型让模型学会按照人类指令完成任务。生活中可以想象一个实习生。他也许读过很多书知道很多知识但刚进入工作时不一定知道如何按要求完成任务。领导说“总结这份报告”“提取关键风险”“改成正式语气”“列成表格”他需要理解这些指令并给出符合要求的输出。指令微调就是训练模型学会“听话做事”。普通预训练模型主要学习文本规律而指令微调让模型进一步学习什么是总结什么是解释什么是分类什么是改写什么是问答什么是按格式输出什么是遵循用户约束。在AIDD中指令微调可以帮助模型更好地完成专业任务。例如“从这篇文献中提取靶点、疾病和药物关系”“把这段实验方法改写成SOP格式”“解释这个蛋白质突变可能的功能影响”“根据候选分子性质生成筛选建议”“把药物研发项目进展总结成表格”。指令微调的价值在于让模型从“会续写文本”变成“会完成任务”。但它仍然不等于真正理解。模型可以学会指令格式却仍可能给出错误内容。尤其在AIDD这样的专业领域指令执行必须接受事实、机制和实验逻辑的约束。会听话不代表说得对。有时最危险的助手不是不会回答而是回答得太像那么回事。八、强化学习Reinforcement Learning强化学习的核心思想是让对模型输出进行评价再用这些反馈进一步优化模型使模型更符合某种偏好和使用要求。生活中可以想象训练一个写作助手。它第一次写出的内容可能冗长、啰嗦、跑题甚至语气不合适。人类编辑会告诉它这个回答更清楚那个回答更礼貌这个解释更准确那个格式更好。模型通过这些偏好反馈逐渐学会什么样的回答更受欢迎。在大语言模型中强化学习常用于提升模型的有用性、遵循性和安全性。模型不仅要会说话还要尽量说得清楚、有帮助、不过度冒险。在AIDD中这一点尤其重要。因为专业模型不仅要生成流畅文本还要避免误导研发决策。例如一个模型面对药物发现问题时不能随意编造实验结果不能把预测当事实不能把文献中没有支持的机制说得斩钉截铁。人类反馈可以帮助模型更倾向于谨慎、规范、可解释的回答。但也有局限。人类偏好不等于科学正确回答看起来礼貌不等于内容可靠模型学会迎合人类不等于学会自然规律。RLHF 像把野马套上缰绳。它能让模型更好地与人协作但缰绳不等于方向方向仍要由科学判断决定。九、提示工程Prompt Engineering提示工程是指通过设计输入提示引导大语言模型生成更符合需求的回答。生活中可以想象你向别人提问。你问“讲讲药物发现。”对方可能从历史、流程、技术、行业随便讲起。但如果你问“请用面向AIDD初学者的语言解释药物发现中的靶点识别、虚拟筛选和ADMET评价并用生活案例说明”对方的回答就会更接近你的需求。模型也是这样。提示越清楚任务越明确约束越具体输出通常越稳定。提示工程常见做法包括明确角色限定任务提供背景指定输出格式给出示例说明评价标准要求分步骤回答加入边界条件让模型先分析再输出结论。在AIDD中提示工程可以用于很多场景让模型总结论文让模型提取药物-靶点-疾病三元组让模型解释模型预测结果让模型生成实验方案草案让模型改写研究计划书让模型对候选分子筛选结果进行结构化总结。例如一个模糊提示是分析这个靶点。一个更好的提示是请从疾病相关性、结构可成药性、已有药物进展、潜在风险和AIDD建模可行性五个维度分析这个靶点是否适合作为小分子药物发现项目的起点并用表格输出。提示工程不是咒语而是任务设计。它不是让模型变聪明而是让问题变清楚。很多时候模型回答不好不是因为模型完全不行而是因为人类把问题问得像一团雾。十、上下文窗口Context Window上下文窗口指的是模型在一次对话或一次输入中能够“看到”和处理的最大 Token 数量。生活中可以想象一个人的短期记忆。你和别人谈话时如果对话太长对方可能会忘记前面说过什么。即使他很聪明也不可能无限记住所有细节。大语言模型也是如此。它有一个最大上下文范围超过这个范围的信息模型可能无法直接看到。上下文窗口决定了模型一次能处理多少内容。例如一篇短文可能放得下一篇长论文可能需要分段一本书通常不能一次全部塞进去大量实验记录需要检索、摘要或结构化处理。在AIDD中上下文窗口非常重要。如果我们希望模型阅读一篇长综述、一组专利、一批实验报告或多个数据库条目就必须考虑上下文窗口限制。否则模型可能只看到局部内容却给出像全局结论一样的回答。常见解决方式包括分段处理摘要压缩检索增强生成构建知识库提取结构化信息长上下文模型多轮迭代分析。例如让模型分析100篇文献时不能简单把所有PDF文本一起塞进去。更合理的做法是先提取每篇文献的关键信息再构建证据表最后进行综合分析。上下文窗口像一张桌子。桌子再大也不能摆下整个图书馆。真正重要的不是把所有东西堆上桌而是知道该拿什么上桌。把这些概念串起来大语言模型如何服务AIDD现在我们把这些术语放回AIDD场景。假设我们希望构建一个面向药物发现的智能助手让它帮助我们阅读文献、提取靶点信息、总结候选分子证据并辅助生成研究方案。首先文本会经过 Tokenizer被切分成一个个 Token。每个 Token 再通过 Embedding 转换成向量进入语言模型进行计算。语言模型通过预训练已经从大量文本中学到通用语言规律。如果这个模型进一步在生物医学文献、药物专利、临床试验数据上微调它就会更熟悉AIDD和药物研发语境。如果我们希望模型更好地按照人类要求完成任务就需要指令微调让它学会总结、分类、抽取、改写和解释。为了让模型输出更符合人类偏好还可能使用 RLHF使其回答更有帮助、更安全、更规范。实际使用时我们通过提示工程告诉模型要做什么、如何做、输出成什么格式。而上下文窗口则决定了模型一次能看到多少材料。如果材料太多就需要借助检索、摘要和分块处理。这样一个大语言模型才能从“会生成文字”逐渐变成“能辅助知识工作”。在AIDD中它可以帮助我们阅读大量文献提取药物-靶点-疾病关系整理实验信息生成项目调研报告辅助设计研究假设解释模型结果构建知识图谱支持RAG问答系统辅助药物发现流程管理。但我们仍要记住大语言模型提供的是语言层面的理解和生成不等于实验事实本身。它可以读文献但不能替代文献证据它可以总结机制但不能替代机制验证它可以生成候选想法但不能替代化学、结构和生物学判断它可以辅助AIDD流程但不能自动完成药物发现。结语语言模型不是知识本身而是通往知识的一种工具Token 是模型阅读文本的基本颗粒Tokenizer 是把文本切成颗粒的刀Embedding 是把符号变成向量的桥Language Model 学习语言中的规律Pre-training 让模型获得通用基础Fine-tuning 让模型适应具体任务Instruction Tuning 让模型学会遵循指令RL 让模型更符合某种偏好Prompt Engineering 让问题变得更清楚Context Window 决定模型一次能看见多少内容。这些概念共同构成了大语言模型与自然语言处理的基本骨架。对于AIDD来说大语言模型的价值不只是“能聊天”。更重要的是它可以帮助我们处理药物研发中庞大的文本知识把论文、专利、数据库、实验记录和项目文档转化为更容易检索、理解和利用的信息。但科学不能只靠语言前进。语言可以描述分子却不是分子本身语言可以解释机制却不是机制本身语言可以生成假设却不是证据本身语言可以显得聪明却不保证真实。大语言模型像一盏照向知识海面的灯。它能帮我们看见漂浮的线索也可能照亮虚假的倒影。因此使用大语言模型时真正重要的不是让它说得更漂亮而是让它说得有证据、有边界、有结构并且能够接受验证。AI时代最稀缺的不是会生成文字的机器。而是面对流畅文字时仍然愿意追问一句证据在哪里
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2631546.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!