通用模型Medprompt如何在医学领域超越专家系统

news2024/11/17 15:29:39

在AI的发展历程中,一直存在着两种理念的较量:一种是追求普适性的通用AI模型,另一种是针对特定领域深度优化的专业AI系统。最近,微软的研究团队在这一辩论中投下了一枚重磅炸弹——他们开发的Medprompt策略,使得通用AI模型GPT-4在医学领域的问答任务上超越了所有现有的专业模型。

Medprompt:通用模型的“专业”提示

Medprompt是一种先进的提示策略,旨在提高通用人工智能(AI)模型在专业领域,尤其是医学领域的表现。这项技术通过一系列创新的方法,使得像GPT-4这样的通用AI模型能够解决复杂的医学问题,而无需依赖于特定领域的大量训练或专家知识。Medprompt策略介绍:

1. 动态少样本选择(Dynamic Few-shot Selection)

这一技术通过选择与当前问题语义上最相似的训练样本来构建提示。它利用k-最近邻(k-NN)聚类方法,在嵌入空间中找到与测试问题最接近的训练样本。这样做的目的是为模型提供最相关的示例,帮助它更好地理解和回答问题。

2. 自生成思维链(Self-Generated Chain of Thought)

Medprompt允许GPT-4自己生成一系列推理步骤,这些步骤详细说明了如何从问题到答案的逻辑过程。这种自我生成的思维链(CoT)有助于模型进行深入的逻辑推理,从而提高答案的准确性。

3. 选择洗牌集成(Choice Shuffling Ensemble)

为了减少模型可能的偏好偏差,Medprompt采用选择洗牌技术。它通过随机打乱选项的顺序,生成多个推理路径,然后选择最一致的答案,即对选项顺序变化最不敏感的答案。

Medprompt的工作流程

Medprompt的工作流程包括两个主要阶段:预处理和推理。

预处理阶段
  • 对训练集中的每个问题使用轻量级嵌入模型生成嵌入向量。
  • 使用GPT-4为每个问题生成思维链和最终答案的预测。
  • 如果生成的答案正确,存储相关问题、嵌入向量、思维链和答案。
推理阶段
  • 对测试问题重新使用嵌入模型生成嵌入向量。
  • 使用kNN算法从预处理过的训练数据池中检索最相似的示例。
  • 将这些示例及其对应的GPT-4生成的推理链作为上下文提供给GPT-4。
  • 将测试问题和相应的答案选择添加到上下文中,形成最终的提示。
  • 模型遵循少量示例,输出思维链和候选答案。
  • 通过多次重复上述步骤并打乱测试问题的答案选择来执行集成过程,增加多样性。

Medprompt通过结合上述方法,不仅在医学问答数据集上取得了前所未有的准确率,还在多个非医学领域的数据集上展现了其通用性和有效性。这项研究证明了即使是通用AI模型,只要通过精心设计的提示策略,也能够在专业领域内实现专家级别的性能。

超越专家系统:MedQA上的90%准确率

在MedQA数据集(模拟美国医学执照考试)上,Medprompt策略使GPT-4的准确率首次超过了90%,这是该领域的一个重要里程碑。这一成就不仅展示了通用AI模型的潜力,也对医学教育和临床决策支持系统的未来提出了新的可能。

如图所示,Medprompt在MedQA数据集上的性能,并与包括Med-PaLM 2在内的其他模型进行了比较。Medprompt的准确率达到了90.2%,而专门调优的模型Med-PaLM 2的准确率为86.5%。这一结果突出了Medprompt策略在没有专家知识的情况下,通过提示工程提升通用模型性能的能力。

不同基础模型在MultiMedQA套件的多项选择部分的性能对比,GPT-4使用Medprompt在MedQA US (4-option)数据集上达到了上述的准确率,这一结果是通过选择最佳的5次少样本示例(5 shot)并结合Medprompt策略实现的。

研究者们还测试了Medprompt在医学以外领域的应用,包括电气工程、机器学习、哲学、会计、法律、护理和临床心理学等。在这些领域的测试表明,Medprompt的通用性提示策略可以推广到其他专业领域,这为AI的应用开辟了新的道路。但这些测试并不能完全代表现实世界中的医学任务。未来,AI在医疗领域的应用需要更多的研究来确保其在开放世界中的有效性和可靠性。同时,需要关注AI输出的偏见问题,并在追求整体准确性的同时,确保不同子群体间的公平性。

论文链接:https://arxiv.org/pdf/2311.16452.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1630133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

156.25MHz的差分晶体振荡器SG3225VEN

数字经济正焕发出勃勃生机,云计算,大数据,5G和人工智能等新技术的发展给行业带来了新的机遇。无论是在数据中心内部还是在数据中心之间,提供低成本,高速的100/200/400G小型化解决方案都是光模块的发展需求。为了使DSP稳定工作,需要一个小型的封装晶体振荡器来提供参…

合合信息Embedding模型获得MTEB中文榜单第一

前言 最近几年,可以说大语言模型汇聚了所有的光彩,大语言模型的飞速发展更是吸引着社会各界的目光,这些模型的强大能力源自于Embedding技术的支撑,这种技术将语言转化为机器可理解的数值向量。随着大型语言模型的不断突破&#x…

产品经理一定得把ppt做的很高大上吗

严格来说你的这个PPT不能说是丑,只能说不好看,但并非你自己说的那种非常不好看。百分制的话我能给到60分左右,属于勉强及格的水准。PPT好看的标准很模糊也很客观,每个人的审美水平有高低,所以很难做到众人都挑不出毛病…

onlyoffice 的使用感受

自接触onlyoffice到使用,半年多了,因为Windows server2008要使用,属于非常古老的服务器了,所以费了好大力气才安装上去了。 如果是linux下使用docker则非常简单了,几个命令就把onlyoffice安装上去了。 对于当今的机器…

【工程记录】Python爬虫入门记录(Requests BeautifulSoup)

目录 写在前面1. 环境配置2. 获取网页数据3. 解析网页数据4. 提取所需数据4.1 简单提取4.2 多级索引提取 写在前面 仅作个人学习与记录用。主要整理使用Requests和BeautifulSoup库的简单爬虫方法。在进行数据爬取时,请确保遵守相关法律法规和网站的服务条款&#x…

c调用python , 有参无参

文章目录 1. c语言调用python 的步骤1.1 包含头文件1.2 初始化Python解释器1.3 添加当前路径到sys.path 中1.4 导入要调用的模块1.5 获取函数对象1.5.1 检查函数对象是否可被调用 1.6 构造参数1.7 调用函数并获取返回值1.8 返回值解析1.9 释放引用的所有python对象1.10 关闭pyt…

Android 在attrs.xml添加属性时出现 Found item Attr/****** more than one time

Android 在attrs.xml添加属性时出现 Found item Attr/****** more than one time 问题描述解决办法方式一方式二 小结 问题描述 在Android应用开发过程中,经常需要自定义控件,并且定义控件的属性,方便灵活的修改控件的显示样式,提…

【CLion】clion无法加载或找不到cmakekists文件

一、问题表象 最近工作中,在git pull远程仓库最新版本程序后,平时打开CLion自动加载的工程CMakeLists文件突然失效(显示找不到可编译的文件),无法debug程序。 二、原因分析 基于平时的编码经验和之前git pull也出现…

李沐64_注意力机制——自学笔记

注意力机制 1.卷积、全连接和池化层都只考虑不随意线索 2.注意力机制则显示的考虑随意线索 (1)随意线索倍称之为查询(query) (2)每个输入是一个值value,和不随意线索key的对 (3)通过注意力池…

Oracle集群ORA-03113:end-of-file on communication channel

一、问题场景描述 今天Oracle集群要更新各数据库的数据,折腾的启动不了了: --》数据量比较大,数据泵方式导出的dmp文件 准备导入集群 --》由于之前的生产数据库数据比较少,需要增大表空间。 --》于是在sqlplus命令窗口&#xff0c…

ChatGPT4.0知识问答、DALL-E生成AI图片、Code Copilot辅助编程,打开新世界的大门

目录 1、DALL-E 文字转图片 在线AI修改2、Write For Me3、Code Copilot 目前最强的AI编程大模型4、Diagrams: Show Me5、Instant Website [Multipage] 网站合成神器6、AskYourPDF Research Assistant 无限PDF7、Diagrams & Data: Research, Analyze, Visualize 精读Excel …

kuramoto模型 - 简要介绍

Kuramoto模型源远流长,这里不会对它做过于理论方面的讲解,只是面向动力学重构的工作中,可能要用到Kuramoto模型的相关介绍。 假设读者了解的常微分方程基本概念,图论知识,了解邻接矩阵, 通过本文&#xf…

归并排序详解

目录 归并排序的核心思想: 递归实现: 非递归实现: 时间复杂度: 空间复杂度: 应用场景: 本文全部以升序为例: 归并排序的核心思想: 先分解在合并: 1.归并的归&…

运算符重载(2)

1.赋值运算符重载 #include<iostream> using namespace std;class Person { friend void test01(); public:Person(int age){m_Age new int(age);}/*堆区的数据由程序员手动开辟并手动释放*/~Person(){if (m_Age ! NULL){delete m_Age;}}Person& operator(Person &a…

Python_AI库 Matplotlib的应用简例:绘制与保存折线图

本文默认读者已具备以下技能&#xff1a; 熟悉Python基础语法&#xff0c;以自行阅读python代码块熟悉Vscode或其它编辑工具的应用 在数据可视化领域&#xff0c;Matplotlib无疑是一个强大的工具。它允许我们创建各种静态、动态、交互式的可视化图形&#xff0c;帮助我们更好…

币圈资讯Cryptosquare论坛

在加密货币世界中&#xff0c;信息的及时获取对于投资者和交易者至关重要。今天&#xff0c;我将向大家介绍Cryptosquare这个综合性资讯论坛&#xff0c;它汇集了币圈新闻、空投信息、社会热点以及与Web3相关的工作信息。让我们一起解锁加密世界的种种可能性&#xff0c;探索Cr…

鹏哥C语言复习——字符函数与字符串函数

目录 一.字符函数 1.字符分类函数 2.字符转换函数 二.基础字符串函数 1.strlen函数 2.strcpy函数 3.strcat函数 4.strcmp函数 三.基础字符串函数优化 1.strncpy函数 2.strncat函数 3.strncmp函数 四.进阶字符串函数 1.strstr函数 2.strtok函数 3.strerror函数 一…

Eclipse 如何导入一个 Maven 项目

如果你的项目是 Maven 项目的话&#xff0c;导入的时候需要使用 Import&#xff0c;而不能使用打开项目的方式。 选择导入 选择导入 Maven 项目 然后选择 Maven 项目&#xff0c;开始导入。 选择目录后导入 然后选择你需要导入的目录后&#xff0c;单击导入。 Eclipse 如何导…

Llama-7b-Chinese本地推理

Llama-7b-Chinese 本地推理 基础环境信息&#xff08;wsl2安装Ubuntu22.04 miniconda&#xff09; 使用miniconda搭建环境 (base) :~$ conda create --name Llama-7b-Chinese python3.10 Channels:- defaults Platform: linux-64 Collecting package metadata (repodata.js…

【MySQL精炼宝库】数据库的约束 | 表的设计 | 聚合查询 | 联合查询

目录 一、数据库约束 1.1 约束类型&#xff1a; 1.2 案例演示&#xff1a; 二、表的设计 2.1 一对一: 2.2 一对多: 2.3 多对多: 2.4 内容小结&#xff1a; 三、新增 四、查询 4.1 聚合查询&#xff1a; 4.1.1 聚合函数&#xff1a; 4.1.2 GROUP BY子句&#xff1a…