chatgpt如何引入领域知识?mit团队利用gpt4做数据增强来提升小模型在特定领域的效果

一、概述

title:Dr. LLaMA: Improving Small Language Models in Domain-Specific QA via Generative Data Augmentation

论文地址:Paper page - Dr. LLaMA: Improving Small Language Models in Domain-Specific QA via Generative Data Augmentation

代码:GitHub - zguo0525/Dr.LLaMA

1.1 Motivation

  1. 大模型LLM训练成本比较高,如果想引入一些特定领域的知识,对其进行重新训练,开销比较大。
  2. 小模型SML由于capacity有限同时训练数据有限,表现效果也不好。

1.2 Methods

  1. 利用LLMs做数据增强小模型的训练数据

1.3 Conclusion

  1. 大模型可以有效的refine和生成各式各样的QA对数据,利用这些领域内的数据进行fine-tuning后,小的多的模型在该领域上可以带来一个不错的提升。
  2. Prefix Tuning and Low-rank Adaptation对于SLMs是一个有效的训练方法,并且low-rank adaptation对超参数选择上比较鲁棒。
  3. 大模型LLMs在领域知识上做fine-tuning能极大的提升特定领域任务的表现。
  4. 结合知识蒸馏,对比学习等技术,加上本文提到的利用LLM做数据增强的方法,训练SLMs小预训练模型来解决特定领域的应用上可能更有效。

二、详细内容

1 小模型经过微调后于大模型Chatgpt3.5-turbo以及GPT-4对比

  • 1.6B的小模型微调后效果比130+B的大模型效果还要好

2 本文用到的微调技术

  • 主要用了Prefix Tuning和low-rank Adaptation

3 不同模型效果对比

  • Alpaca-7b是LLamA-7b衍生过来,但是做了instruction-tuned,限制了其适应领域知识的能力,效果比较差。
  • fine-tuning可能比特定领域预训练重要
  • LLaMA-7b虽然比BioGPT大很多,但是也可以单卡跑起来,后续作用可能比较大

4 哪种数据增强的效果比较好?

  • rewriteQA:重新改写已有的QA对,使其多样化
  • newQA:生成新的QA对
  • 结论1:GPT-3.5-turbo:有能力去使已有的QA对refine和多样化,给模型带来一定提升,但是缺乏领域知识,生成的新的QA来做数据增强对并不能带来效果提升。
  • 结论2:GPT-4有pubmedQA的领域知识,生成的新的QA对质量更高,所带来的提升也越大。
  • 结论3:BioGPT-Large:在医疗领域进行了预训练,效果还是比没有经过预训练的LLaMA-7b要好,还是说明了领域预训练的重要性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[网络安全]DVWA之XSS(Reflected)攻击姿势及解题详析合集

[网络安全]DVWA之XSS(Reflected)攻击姿势及解题详析合集 XSS(Reflected)-low level源代码姿势 XSS(Reflected)-medium level源代码姿势1.双写绕过2.大小写绕过 XSS(Reflected)-high level源代码str_replace函数 姿势 XSS(Reflected)-Impossible level源代…

Linux---相关介绍、相关下载、连接Linux系统、虚拟机快照

1. Linux系统相关 内核提供了Linux系统的主要功能,如硬件调度管理的能力。 Linux内核是免费开源的,是由林纳斯托瓦兹在1991年创立并发展至今成为服务器操作系统领域的 核心系统。 内核无法被用户直接使用,需要配合应用程序才能被用户使用…

简单网络管理协议 SNMP

文章目录 1 概述1.1 结构1.2 操作 2 SNMP2.1 报文格式2.2 五大报文类型 3 扩展3.1 网工软考真题 1 概述 #mermaid-svg-95KMV1m3prKJgwv1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-95KMV1m3prKJgwv1 .error-ico…

spring 容器结构/机制debug分析--Spring 学习的核心内容和几个重要概念--IOC 的开发模式--综合解图

目录 Spring Spring 学习的核心内容 解读上图: Spring 几个重要概念 ● 传统的开发模式 解读上图 ● IOC 的开发模式 解读上图 代码示例—入门 xml代码 注意事项和细节 1、说明 2、解释一下类加载路径 3、debug 看看 spring 容器结构/机制 综合解图 Spring Spr…

ChatGpt使用、小白上手指南,整理5个ChatGpt学习文库和平台

ChatGpt目前很火,话题度很高,关于它的账号售卖、视频课程网上遍地都是,尝试没有窍门,学习付费太高,一不小心就会被割韭菜。 闲暇之余也从网上搜集整理了5个平台,里面系统的介绍了有关ChatGpt的应用和相关&…

记一次springboot项目漏洞挖掘

前言 前段时间的比赛将该cms作为了题目考察,这个cms的洞也被大佬们吃的差不多了,自己也就借此机会来浅浅测试下这个cms残余漏洞,并记录下这一整个流程,谨以此记给小白师傅们分享下思路,有错误的地方还望大佬们请以指正…

OpenGL高级-立方体贴图

运行效果 源代码 着色器 渲染物体的顶点着色器: #version 330 core // 传入局部坐标下的顶点坐标 layout( location 0 ) in vec3 position; layout (location 1) in vec2 texCoords;// 传入变换矩阵 uniform mat4 model; uniform mat4 view; uniform mat4 proje…

二十七、搜索与图论——Floyd 算法(多元路最短路径问题)

Floyd算法主要内容 一、基本思路1、算法原理2、基本思路3、注意 二、Java、C语言模板实现三、例题题解 一、基本思路 1、算法原理 遍历每条边,通过比较进行路径更新——暴力 解决多源最短路问题,求解 i 点到 j 点的最短距离 f [ i, j, k] 表示从 i 走…

Linux | 将SpringBoot+Vue项目部署到服务器上

知识目录 一、写在前面二、后端部署2.1 项目打包2.2 项目运行 三、通过Shell脚本自动部署项目3.1 安装Git和Maven3.2 编写Shell脚本3.2 执行脚本 四、前端部署4.1 安装NGINX4.2 node.js安装4.3 npm打包项目4.4 运行项目 四、总结撒花 一、写在前面 大家好,我是初心…

AlmaLinux 9.2 正式版发布 - RHEL 兼容免费发行版

AlmaLinux 9.2 正式版发布 - RHEL 兼容免费发行版 由社区提供的免费 Linux 操作系统,RHEL 兼容发行版。 请访问原文链接:https://sysin.org/blog/almalinux-9/,查看最新版。原创作品,转载请保留出处。 作者主页:sys…

K8s(Kubernetes)学习(一):k8s概念及组件

Kubernetes中文文档:https://kubernetes.io/zh-cn/docs/home/ Kubernetes源码地址:https://github.com/kubernetes/kubernetes 一:Kubernetes是什么 首先要了解应用程序部署经历了以下几个时代: 传统部署时代:在物理服务器上运…

ChatGPT学习研究总结

目录 ChatGPT研究总结 一、程序接入用途不大 二、思考:如何构建一个类似ChatGPT的自定义模型 一些ChatGPT研究学习资料(来源网络) (1)一文读懂ChatGPT模型原理 (2)MATLAB科研图像处理——…

DHCP+链路聚合+NAT+ACL小型实验

实验要求: 1.按照拓扑图上标识规划网络。 2.使用0SPF协议进程100实现ISP互通。 3.私网内PC属于VLAN1O, FTP Server属于VLAN2O,网关分 别为所连接的接入交换机,其中PC要求通过DHCP动态获取 4:私网内部所有交换机都为三层交换机,请合理规划VLAN&#…

带你深入学习k8s--(四) 控制器(k8s核心)

目录 一、概念 1、什么是控制器 2、控制器执行流程 3、控制器类型 二、控制器的使用 1、ReplicaSet 2、Deployment 1、版本迭代 2、回滚 3、修改滚动更新策略 4、暂停与恢复 3、daemonset 4、job 5、cronjob 前言: 上一章我们说到,pod有…

VScode添加右键运行、并设置每次运行前都清屏即去除之前的输出

一、添加右键运行 下载安装运行插件即可 二、运行前清屏 在运行插件中设置 找到Code-runner: Clear Previous Output,把√打上即可

【Linux Network】传输层协议——TCP

目录 TCP协议 TCP协议段格式 确认应答(ACK)机制 超时重传机制 连接管理机制 理解TIME_WAIT状态 解决TIME_WAIT状态引起的bind失败的方法 理解 CLOSE_WAIT 状态 滑动窗口 流量控制 拥塞控制 延迟应答 捎带应答 面向字节流 粘包问题 TCP异常情况 TCP小结 基于TCP应用层协议 TCP/U…

Pytroch nn.Unfold() 与 nn.Fold()图码详解

文章目录 Unfold()与Fold()的用途nn.Unfold()Unfold()与Fold() 变化模式图解 nn.Fold()单通道 滑动窗口无重叠模拟图片数据(b,3,9,9),通道数 C 为3,滑动窗口无重叠。单通道 滑动窗口有重叠。 卷积等价于:Unfold Matri…

【滤波专题-第7篇】“类EMD”算法分解后要怎样使用(3)——EMD降噪方法及MATLAB代码实现

使用EMD分解(以及其他“类EMD”分解方法,以下为了简便统称EMD)做信号降噪,是EMD的一个比较重要的应用方向。EMD可以将复杂的信号分解为一系列的固有模态函数(IMFs),每一个IMF都包含了信号的一部…

ChatGPT:2. 使用OpenAI创建自己的AI网站:1. 初探API

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白,有OpenAI的账号,但想调用OpenAI的API搞一些有意思的事,那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新,进度慢…

【利用AI刷面试题】AI:十道不常见的TypeScript面试题

文章目录 前言😏以下是关于 TypeScript 的一些偏僻的面试题😝1. 泛型约束中的 "extends" 关键字有哪些用法和含义?2. 什么是交叉类型(Intersection Types)?如何在 TypeScript 中定义和使用它们&a…