通用基座大模型是否可以超越领域专有大模型?微软最新论文证明这是可以的!微软最新动态Prompt技术——MedPrompt详解

news2025/1/22 23:34:49

本文来自DataLearnerAI官方网站:通用基座大模型是否可以超越领域专有大模型?微软最新论文证明这是可以的!微软最新动态Prompt技术——MedPrompt详解 | 数据学习者官方网站(Datalearner)icon-default.png?t=N7T8https://www.datalearner.com/blog/1051701842078748

在GPT-4这种超大基座模型发布之后,一个非常活跃的方向是专有模型的发展。即一个普遍的观点认为,基座大模型虽然有很好的通用基础知识,但是对于专有的领域如医学、金融领域等,缺少专门的语料训练,因此可能表现并不那么好。如果我们使用专有数据训练一个领域大模型可能是一种非常好的思路,也是一种非常理想的商业策略。但是,微软最新的一个研究表明,通用基座大模型如果使用恰当的prompt,也许并不比专有模型差!同时,他们还提出了一个非常新颖的动态prompt生成策略,结合了领域数据,非常值得大家参考。

微软的动态prompt——MedPrompt表现超过微调领域模型

  • 基座模型 vs 领域大模型
  • 微软Prompt新方法MedPrompt
    • 动态少样本选择(Dynamic few-shot)
    • 自生成思维链(Self-generated chain of thought)
    • 选项洗牌集成(Choice Shuffling Ensemble)
  • MedPrompt效果
  • 总结

下图是微软测试的结果:

MedPrompt大幅提升GPT-4在医学里面的水平

微软Prompt新方法MedPrompt

微软提到的这个Prompt方法实际上是一种结合了训练数据的few-shot方法。简单来说,在prompt中加入few-shot案例,可以大幅提高模型的性能。但是传统技术上都是直接使用固定的few-shot案例,这显然是低效的。在大量的领域知识中这种使用方式几乎不可行。为此,微软考虑让模型自动搜索领域知识,然后生成few-shot样例再为用户提供答案

在微软的案例中,具体来说,就是为GPT-4准备医学领域的预训练数据,在GPT-4回答用户领域问题之前,先通过检索的方法从训练数据中找到近似的问答结果,然后构造few-shot案例,嵌入用户的输入中,再让模型回答问题。

而微软这种通过训练数据构造few-shot的MedPrompt也不是简单的选择训练数据回答,而是包括三个方法的框架:

动态少样本选择(Dynamic few-shot)

根据测试样本选择k个训练样本,使其与测试样本语义最相似,构成少样本展示。使用text-embedding-ada-002模型将样本映射为向量表示,基于向量空间距离计算相似性。

这个动态选择样本的方式相比此前那种固定的few-shot方式有个最大的好处是可以借助领域数据动态构建few-shot案例,而不是固定的结果,这种方式更加灵活高效。这种方法还可以结合传统的kNN技术获得更好的效果。

而使用向量相似度检索可以大幅提升找到相关数据的概率。

自生成思维链(Self-generated chain of thought)

微软结合前面的动态选择训练数据,使用GPT-4来自主生成每道题目的详细思维展示,作为Prompt(提示)给GPT-4使用

这个过程发生在预处理阶段,将所有的领域数据通过自生成思维链技术进行处理,生成一个更加优质的Prompt示例,这样在动态few-shot选择的时候可以获得更加高质量的prompt模板。

作者对比了GPT-4生成的思维链与专家生成的对比,相比较而言GPT-4的CoT细节更丰富,甚至比专家设计的更好。

也就是说微软先用GPT-4在领域数据中自动生成CoT的数据,然后动态prompt生成few-shot时候基于这些改造成CoT回答的样例告诉模型如何回答。

选项洗牌集成(Choice Shuffling Ensemble)

这个方法主要解决大模型的一些不稳定的问题。我们都知道大模型的问题的回答通常有一定的随机性。这种方法的核心在于通过改变问题中的选项顺序,然后观察模型对不同顺序下选择的一致性,以此来减少模型对某些选项的偏好。

具体来说,它是在模型已经接收到问题和任何相关提示(如在Medprompt方法中的动态少样本选择和自动生成的思维链)之后,但在最终决定答案之前使用的。

总结

这个论文其实贡献了很多重要的有价值的结论,主要包括:

  1. 它证明了使用Prompt技术配合领域数据是可以提高基座模型在特定领域的能力的,媲美甚至超过fine-tuning
  2. 动态Prompt和自生成CoT技术给了一种非常好的结合领域数据和prompt的方法,为领域大模型微调提供了另外一种思路。

关于MedPrompt的详细介绍和对比结果,参考原文:通用基座大模型是否可以超越领域专有大模型?微软最新论文证明这是可以的!微软最新动态Prompt技术——MedPrompt详解 | 数据学习者官方网站(Datalearner)

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

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

相关文章

我不是DBA之慢SQL诊断方式

最近经常遇到技术开发跑来问我慢SQL优化相关工作,所以干脆出几篇SQL相关优化技术月报,我这里就以公司mysql一致的5.7版本来说明下。 在企业中慢SQL问题进场会遇到,尤其像我们这种ERP行业。 成熟的公司企业都会有晚上的慢SQL监控和预警机制。…

华为鸿蒙爆发真实力!原生应用媲美iOS,使用流畅度将提升20至30%

随着华为鸿蒙原生应用开发计划的启动,一场席卷全球的科技浪潮正在涌动。鸿蒙生态的快速发展,吸引了无数企业和开发者的关注,他们纷纷拥抱这个新兴的生态系统,共同构建一个更加繁荣的鸿蒙世界。 华为鸿蒙原生应用开发计划引爆全球…

IO / day04 作业

1.使用两个子进程完成两个文件的拷贝&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一半内容&#xff0c;父进程用于回收两个子进程的资源 代码 #include <myhead.h>int main(int argc, const char *argv[]) {if(argc<3){printf("input error\n&q…

Python代码将txt里面多行json字符串转成excel文件

python 代码 将txt里面的多行json字符串转成excel history.txt文件json代码样例 Json转换Excel代码 import json import pandas as pddef json_out(file_path,excel_path):all_list[]with open(file_path, "r", encodingutf-8) as f:for line in f:all_list.append…

Linux动态库常见问题

1.编译好库后&#xff0c;应用程序调用&#xff0c;路径明明写对了&#xff0c;但是编译的时候却显示xxx未定义 2.编译好了却说不能打开动态库&#xff0c;没有此文件 ./jrtplib_test: error while loading shared libraries: libjrtp.so.3.11.2: cannot open shared object f…

【LeetCode热题100】【滑动窗口】无重复字符的最长子串

给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解释: 因为无…

11.机器人系统仿真搭建gazebo环境、仿真深度相机、雷达、RGB相机

目录 1 gazebo仿真环境搭建 1.1 直接添加内置组件创建仿真环境 1.2 urdf、gazebo、rviz的综合应用 2 ROS_control 2.1 运动控制实现流程(Gazebo) 2.1.1 已经创建完毕的机器人模型&#xff0c;编写一个单独的 xacro 文件&#xff0c;为机器人模型添加传动装置以及控制器 …

Kontakt v7.7.2(音频采样器)

Native Instruments Kontakt 7是一款强大的软件采样器&#xff0c;它允许用户从各种来源采样音频并进行编辑和处理。它包含大量预设采样库&#xff0c;包括乐器、合成器、鼓组和声音效果等。此外&#xff0c;Kontakt 7还允许用户创建自己的采样库&#xff0c;以便根据自己的需要…

Java异常讲解

&#x1f435;本篇文章将对异常相关知识进行讲解 一、异常的结构 在程序执行的过程中出现的一些问题叫做异常&#xff0c;异常其实是一个一个类&#xff0c;每一种异常都代表一个类 1.1 几种常见的异常 System.out.println(10/0); //算数异常 //Exception in thread "m…

QGraphicsView实现简易地图7『异步加载-多瓦片-无底图』

前文链接&#xff1a;QGraphicsView实现简易地图6『异步加载-单瓦片-无底图』 前一篇文章提到的异步单瓦片加载&#xff0c;是指线程每准备好一个瓦片数据后&#xff0c;立刻抛出信号让主线程加载。而本篇异步多瓦片加载是指线程准备好所有瓦片数据后&#xff0c;一起抛出信号让…

flink中处理kafka分区的消息顺序

背景 kafka分区的消息是有序的&#xff0c;那么flink在消费kafka分区的时候消息的顺序是怎么样的呢&#xff1f;还能保持这个有序性吗&#xff0c;本文就来记录下 flink消费kafka分区的顺序性 从上图可知&#xff0c;flink的转换算子比如map&#xff0c;flatMap&#xff0c;f…

D. In Love

贪心&#xff0c;维护最靠左的右端点以及最靠右的左端点 // Problem: D. In Love // Contest: Codeforces - Codeforces Round 905 (Div. 3) // URL: https://codeforces.com/contest/1883/problem/D // Memory Limit: 256 MB // Time Limit: 2000 ms // // Powered by CP Edi…

C语言--每日练习题--Day38

第一题 1. 下列代码的运行结果&#xff08;&#xff09; short i 65537; int j i 1; printf("i%d,j%d\n", i, j); A&#xff1a;i 65537&#xff0c;j 65538 B&#xff1a;i 1&#xff0c;j 2 C&#xff1a;i -1&#xff0c;j 0 D&#xff1a;i 1&#xff…

多向通信----多人聊天

package 多人聊天; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; publ…

Xcode15 Library ‘iconv.2.4.0‘ not found

Xcode 15运行老代码报错&#xff1a;Library iconv.2.4.0 not found 解决&#xff1a; TARGETS-->Bulid Phases --> Link Binary With Libraries 添加一个“Libiconv.tbd”, 同时把原来的 “libiconv.2.4.0.tbd”删除&#xff08;一定要删除&#xff0c;不然运行还是…

微服务开发:断路器详解

微服务是目前业界使用的最重要的实现方面。通过使用微服务架构&#xff0c;开发人员可以消除他们以前在单体应用程序中遇到的许多问题。展望未来&#xff0c;人们开始在微服务中搜索和采用各种模式。大多数时候&#xff0c;新模式的产生是为了解决另一个模式中出现的常见问题。…

ahk系列-windows超级运行框-表达式计算(11)—avg /sum 平均求和

1、环境准备 windows 7&#xff0c;8&#xff0c;10&#xff0c;11操作系统ahk 2.x_64位 2、使用方式 avg /sum 计算平均值&#xff0c;计算总和 支持数字中可以简写 k(千) &#xff0c; w(万) &#xff0c;y(亿) 可以计算运行框中的数据&#xff0c;也可以计算剪切板中的数…

【Linux】进程控制-进程终止

目录 一、进程终止&#xff0c;OS做了什么&#xff1f; 二、进程终止的常见方式 1、代码跑完&#xff0c;结果正确 2、代码跑完&#xff0c;结果不正确 补充 (1)、main函数的返回值的意义是什么&#xff1f; (2)、return 0的含义是什么&#xff1f; (3)、退出码是什么和…

ps-把文字刻进石头上

使用到的工具 准备图片&#xff1a;一张石头的图片&#xff0c;一张有喜欢字体的空白图片 得到一个纹理的psd文件&#xff1a;只把文字的图片显示&#xff0c;CTRLshifts保存成psd文件 “滤镜”——“滤镜库”——“纹理化”——&#xff08;选中文字图片的psd文件&#xff09…

代码随想录算法训练营第三十六天|01背包问题 二维 ,01背包问题 一维 ,416. 分割等和子集

背包理论基础 01 背包&#xff08;二维&#xff09; 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 背包最大重量为4。 物品为&#x…