https://arxiv.org/pdf/2412.16701
摘要
近日,生成式人工智能的进步催生了高效的大型语言模型(LLMs),它们能够整合多种数据类型,以增强决策能力。其中,多模式检索增强生成(RAG)应用因其结合信息检索和生成模型的能力而备受期待,提高了其在生物医学研究等多个领域的实用性。本文介绍了一种名为AlzheimerRAG的多模式检索增强生成pipeline工具,主要用于生物医学研究场景,专注于从PubMed文章中提取阿尔茨海默病相关内容。pipeline通过多模式融合技术来整合文本和视觉数据处理,有效地索引和访问海量的生物医学文献。
初步实验结果表明,相较于指标如BioASQ和PubMedQA,信息检索和领域特定信息综合的效果得到了提高。我们还通过不同的阿尔茨海默病临床场景展示了一个案例研究,结果表明AlzheimerRAG能够生成准确度不逊于人工且幻觉率较低的响应。总之,观察到认知任务负荷的减少,这使研究人员能够获得多模式见解,从而提高对阿尔茨海默病的理解和治疗。
研究方法
AlzheimerRAG的端到端方法被分解为详细的阶段,每个阶段包含特定的任务和技术方面以及实现细节。此部分分步描述pipeline架构,如下图所示。
数据采集与预处理
我们的进程第一步是从PubMed收集相关的文章。我们利用与阿尔茨海默病相关的搜索查询从PubMed库中获取最相关的100篇文章。我们解析每个文档,并收集全文、摘要、表格和图像,以用于文本和视觉检索。之后,我们清理并规范化数据以确保一致性和可用性。这涉及提取和清理文本数据,移除无关章节、参考文献和脚注。我们还通过将图形/图表转换为一致的图像格式来标准化它们,以便于统一处理。
文本数据检索
这一步旨在检索与阿尔茨海默病相关的医学文本数据,以进行文本数据处理。我们的工作流程中,针对生成文本数据嵌入,使用了微调的QLoRA参数及运行参数。QLoRA微调实验中,采用64的LoRA注意力维度等级,适度的规模平衡了性能和计算效率,捕获了基本交互而没有过多复杂性。我们应用了16的缩放参数用于低秩适应,以及0.1的dropout通过正则化降低过拟合风险。训练参数是在多次实验后确立的。观察到使用QLoRA减少了训练周期和批次大小,从而稳定训练并确保模型更新更为频繁、提升收敛速度。连同其他超参数,这些设置帮助我们配置文本检索模型训练,提升内存效率,加速训练时间,有效地平衡性能与资源限制。
图像检索
为了从PubMed文章中生成捕获图像细节的特征嵌入,我们使用了微调的“LlaVA”模型。LlaVA将预训练的语言模型(如Vicuna或LLaMA)与视觉模型(如CLIP的视觉编码器)结合,通过将视觉特征转换为与语言模型兼容的嵌入。我们在OK-VQA定制数据集上微调LlaVA,采用户Llama-2 7B作为主干语言模型。数据集包含涉及推理的图像-文本对,以回答关于图像的问题。通过编写Python脚本,将数据集转换为适合LlaVA仓库存用的格式。
知识蒸馏
知识蒸馏是一种将大而复杂的模型(教师)的知识转移到更小、更高效的模型(学生)的方法。其目标是保留教师模型的性能,同时降低计算成本和内存需求。这一过程通过引导学生模型模仿教师模型的输出,通常使用柔和化预测作为训练目标。在AlzheimerRAG的背景下,使用知识蒸馏方法来顺畅集成和对齐多模式数据。
-
多模式对齐:整合多模式数据(文本和视觉)进入蒸馏过程,以此确保学生模型学习如何像教师一样促进跨模态交互。
-
跨模态注意融合:在蒸馏过程中实施跨模态注意机制,保持文本和图像数据之间的信息流通。
-
渐进蒸馏:逐渐将知识从大规模教师模型(经过微调的LLaMA和LlaVA)转移到逐渐小型化的学生模型,以确保稳定性和性能保留。
知识蒸馏的过程步骤如图所示,展示了序列图。
AlzheimerRAG Pipeline技术实现
AlzheimerRAG管道的工作流程如图所示,其实现为一个Python应用程序,利用FastAPI和Jinja2模板与LangChain集成,提供了一个方便用户访问的界面,使之能够高效利用与生物医学领域相关的多模式RAG功能。该应用程序被部署在Heroku上,一个基于云的平台即服务(Paas)解决方案,有助于管理无缝的持续集成和部署。从AlzheimerRAG管道用户界面生成的一个示例输出可以在下图中观察到。
关键组件
FastAPI用于API开发:FastAPI是一个高性能的Web框架,专用于API开发,提供了直观的API开发接口,并无缝集成Python的异步功能。
Jinja2 用于模板渲染:Jinja2 是一个用于 Python 的模板引擎,它提供了动态模板渲染功能。它能够根据后端数据生成 HTML 内容,从而实现流畅且交互性强的用户体验。
LangChain用于多模式RAG:使用LangChain和LlamaIndex,因为它们在以下方面展现出显著的优点:i) 保持数据完整性,ii) 流程化处理多模式数据,iii) 增强语义嵌入。Llamalndex和LangChain共同提高了提取内容的上下文感知,允许高效检索和信息合成,从而生成细致的输出。
FaissDB用于多模式数据嵌入: FaissDB是一个广泛用于多模式数据嵌入的向量数据库。文本和图像嵌入被编码为统一的高维向量,并被索引以便进行高效的相似性搜索。当进行查询时,推理和检索组件会在向量空间内搜索,以提取相关信息。其好处在于使用近似最近邻搜索(ANN)在高维空间中快速找到嵌入,特别适合大规模应用。生成组件使用检索到的多模式表示来生成各种格式输出,如文本或图像。
实验结果
通过与生物医学领域的现有技术对比,评估我们方法的性能。
在实验中选取了BioBERT,一个在生物医学文本上微调过的Transformer模型,以及MedPix,使用深度学习进行医学图像分类的工具。为了比较跨模态注意力融合,介绍了一种简单的文本和图像模态混合的方法,主要通过在没有显著模态交互的情况下,仅将嵌入进行连接。
除了标准评价指标如召回率、准确率和F1分数之外,还包括了一项由生物医学领域专家评分的临床相关性(CR),其分为1到5级。表格3显示了性能,其中观察到AlzheimerRAG的临床相关性显著更高。
例如,在BioASQ等基准数据集上评估多模式RAG的能力,通过给定查询进行文献检索并生成关于阿尔茨海默病问题的准确答案。结果在表格中突出显示。
基于这些实验结果,我们还进行了与其他适应于生物医学领域的模型在检索和问答能力方面的比较评估,如表中所示。
可以观察到,由于BioBERT在PubMed预训练,在检索中表现出高精度。SciBERT,因其更广泛的科学文本预训练,具有更大的适应性,但可能需要微调以胜任顶级生物医学问答任务。BM25,作为一个传统的基于关键字的模型,设定了一个基线,但缺乏深层语义理解。ColBERT虽然在没有特定领域调整的情况下表现适中,但其将高效检索与语义深度相结合。BERT+TF-IDF混合模型在深度学习和传统检索之间提供了平衡,表现出合理的结果但有有限的上下文深度。最后,T5因其生成能力在问答方面特别出色,尤其是在微调到生物医学上下文时,达到了高准确性。相比之下,AlzheimerRAG通过FaissDb进行快速精确的检索,并结合了专用语言模型,使其在生物医学检索和问答中成为强大的工具。其处理文本和图像的能力在需要视觉数据的场景中具有显著优势。
消融评价
消融研究的主要目的是评估机制中关键组件的重要性。通过移除跨模态注意力机制、知识蒸馏过程、QLoRA微调技术和多模态集成,进行了多种组合实验。每个模拟都旨在分离并评估特定组件的影响。
移除跨模态注意力后,我们评价模型整合和利用文本与图像数据的能力将会下降。用简单的文本和图像嵌入连接代替跨模态注意力机制。去除知识蒸馏,我们假设它将导致更大的学生模型,这不仅效率低,还可能导致过拟合。在消融中,我们直接微调较小的学生模型,而不进行蒸馏过程。同样地,我们在没有QLoRA技术的情况下进行微调,观察计算成本和性能。最后,移除多模态集成以检查模型整体性能是否下降。
每种变体的性能指标被记录并统一在表格中。
观察到,跨模态注意力使文本和图像数据的有效互动成为可能,删除它会导致显著的指标下降。知识蒸馏对于创建保持高教师模型性能的高效学生模型至关重要,其缺失导致显著的性能下降。QLoRA微调通过比传统方法更低的计算成本提高了精确度和临床相关性。最后,多模态集成对于框架的整体效能是必要的,因为分离文本和图像处理大大降低了召回率、精确度和实际应用。
临床案例分析
设计了一个案例研究以评估针对生物医学研究定制的AlzheimerRAG。该研究特别关注与阿尔茨海默病相关的临床情境。我们从PubMed中整理了50篇关于阿尔茨海默病的主要文章。RAG过程涉及使用Python框架如LangChain和Llamaindex将临床文档转换为文本,并将这些文本处理成可嵌入和检索的块。使用向量存储技术和选择的嵌入模型来优化数据检索,使用FaissDB进行向量存储。评估的LLM包括GPT4.0、Llama2-7B、Mistral及其LLM-RAG对应物。
临床场景
-
早期诊断及监控
:评估系统推荐诊断工具和解释结果以实现早期检测的能力。
-
药物管理
:确定引导当前药物的能力,潜在副作用及针对阿尔茨海默病治疗的相互作用。
-
非药物干预
:评估对认知治疗、体育活动和生活方式修改以减缓疾病进展的建议。
-
照顾者支持与教育
:评估生成材料以教育照护者关于疾病进展和管理策略的能力。
-
行为症状管理
:评估提供策略以管理常见症状如激动、抑郁和焦虑的效果。
系统根据五个主要临床场景:诊断与监控、药物管理、非药物干预、照顾者支持和行为管理进行评估,这些部分是从医学文献中识别出的,因其在阿尔茨海默病治疗中的重要性。评价了350个响应,包含50个人工生成、150个LLM生成和150个LLM-RAG生成的响应。根据既定指南和专家审核确定响应的正确性。由Amazon Mechanical Turk领域专家提供的人生成答案与正确答案百分比进行了对比。
结论
AlzheimerRAG是一种创新的多模式检索增强生成(RAG)模型,专为阿尔茨海默病研究设计。通过结合来自PubMed的文本、影像研究、临床试验和遗传信息等多种数据类型,该管道提供了一个全面分析的强大平台。这种整合能够提供支持诊断、治疗规划和理解阿尔茨海默病病理生理学的准确见解。关键功能如跨模态注意融合改善了数据对齐和处理,而知识蒸馏确保了可扩展性和效率。AlzheimerRAG在准确性和鲁棒性上优于现有方法,突显了多模式方法在处理复杂疾病方面的价值。
未来的方向包括将框架扩展到其他神经退行性疾病(例如增加解释性)、支持实时数据更新、改善对临床试验的支持,以及优化用户界面以便于临床医生和研究人员使用。这些进展可能拓宽管道的实用性、可靠性和在现实临床环境中的影响。
如何学习大模型 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 的正确特征了。