大模型Tuning分类

2023-09-21 09:50:26

类型总结

微调(Fine-tunning)

语言模型的参数需要一起参与梯度更新

轻量微调(lightweight fine-tunning)

冻结了大部分预训练参数,仅添加任务层,语言模型层参数不变

适配器微调 (Adapter-tunning)

Adapter在预训练模型每层中插入用于下游任务的参数,在微调时将模型主体冻结,仅训练特定于任务的参数,减少训练时算力开销

提示学习(Prompting)

任务输入前添加一个自然语言任务指令和一些示例,直接在预训练语言模型中统一建模,比如GPT2/GPT3

前缀微调(Prefix-tuning)

将prompt方式扩展到连续空间,在每层输入序列前面添加prompt连续向量【随机初始化,并不对应到具体的token】目前是将语言模型freeze后,仅微调prompt参数,在实验中是增加了一个MLP重参数化,确保效果,使用MLP后的结果做预测

提示微调(Prompt-tuning)

将prompt扩展到连续空间,但是仅在输入层加入prompt连续向量,且不固定,同时使用LSTM建模prompt向量之间的关联性

【P-tuning与Prefix-tuning】:

  • Prefix-tuning仅针对NLG任务生效,服务于GPT架构;P-tuning考虑所有类型的语言模型
  • Prefix-tuning限定了在输入前面添加,P-tuning则可以在任意位置添加
  • Prefix-tuning为了保证效果在每一层都添加,但p-tuning可以只在输入层添加

【P-tuning与fine-tuning】

P-tuning不改变预训练阶段模型参数,而是通过微调寻找更好的连续prompt提示,来引导已学习到的知识的使用;Fine-tuning可能在调整模型参数过程中,可能带来了灾难性遗忘问题

提示微调v2(Prompt-tuning)

在第一版基础上,将每层输入都添加上prompt连续向量,同时探索了prompt长度在不同规模的模型上的效果;去掉MLP层重参数化

指令微调(Instruct-tuning)

指令微调是会直接通过自然语言形式给出人类指令,是基于一组NLP任务集合上直接tuning的过程,它可以提高语言模型在未知任务上的效果,即zero-shot learning能力

【instruct-tuning 与 prompt-tuning】

  • 提示微调:"我带女朋友去桂林旅游" 的英文翻译是___
  • 指令微调:翻译这句话:输入:我带女朋友去桂林旅游,输出:_______

二者目的都是挖掘语言模型本身已掌握的知识,prompt是激发语言模型补全能力,是针对某特定任务而言,不同的任务需要给出不同的表达形式;instruct则是激发语言模型的理解能力,是针对任务集合而形成的指令,它能通过理解做什么任务,在未可见任务上泛化能力更强【zero-shot learning】

指令提示微调(Instruction Prompt tuning)

语境提示微调是指结合LLM的ICL能力和prompt-tuning结合到指令提示微调中,将检索到的上下文演示示例和可微调的prompt嵌入式表征进行拼接,能够让LLM在医学领域方面获得不错的应用效果

Large Language Models Encode Clinical Knowledgeicon-default.png?t=N7T8https://arxiv.org/abs/2212.13138

Lora微调

  • 前人研究发现模型是过参数化的,存在更小的内在维度,可以低秩分解的
  • 固定预训练语言模型的参数,额外增加新的参数,增加低秩分解的矩阵可以适配下游任务

  • 效果:训练参数量显著降低,显存需求减少(GPT-3 模型上能够把参数量降低到普通fine-tune的万分之一)
  • 相比Adapters, LoRA不增加推理延迟
更多推荐

用js理解常用设计模式

目录原则创建型单例模式工厂模式js闭包:函数工厂结构型代理模式装饰器模式行为型职责链模式观察者模式原则S–SingleResponsibilityPrinciple单一职责原则一个程序只做好一件事如果功能过于复杂就拆分开,每个部分保持独立例如:Promise每个then中的逻辑只做好一件事O–OpenClosedPri

旧版office如何卸载干净,Mac电脑移除office教程

版office卸载不干净导致无法激活新版Microsoftoffice,这个问题如何解决呢?深受这一烦恼的小伙伴看过来!旧版office由于证书一直清理不干净,电脑上有旧证书存在导致新版offce激活不成功,具体手动清理方法带给大家。Microsoftoffice365安装方法一:关闭所有Office应用程序。打开“应

无线定位中TDOA时延估计算法matlab仿真

目录1.算法运行效果图预览2.算法运行软件版本3.部分核心程序4.算法理论概述5.算法完整程序工程1.算法运行效果图预览2.算法运行软件版本matlab2022a3.部分核心程序...................................................................figu

详解window.print(),实现长列表打印分页

相信大家平时做项目时,打印需求很常见,但想把打印做好,还是要花点时间的。特别是长列表要分页的情况。我们知道浏览原生API`window.print()`可以用于印当前窗口(window.document)视图内容。调用此方法会产生一个打印预览弹框,用户可以根据具体设置来得到打印结果。一、window的打印事件默认情况下

抄写Linux源码(Day12:从 MBR 到 C main 函数 (1) )

回忆我们需要做的事情:为了支持shell程序的执行,我们需要提供:1.缺页中断(不理解为什么要这个东西,只是闪客说需要,后边再说)2.硬盘驱动、文件系统(shell程序一开始是存放在磁盘里的,所以需要这两个东西)3.fork,execve,wait这三个系统调用,也可以说是进程调度(否则无法haltshell程序并且启

C++ 字符串

C++字符串C++提供了以下两种类型的字符串表示形式:C风格字符串C++引入的string类类型C风格字符串C风格的字符串起源于C语言,并在C++中继续得到支持。字符串实际上是使用null字符\0终止的一维字符数组。因此,一个以null结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个RUNOOB字符串

【Linux】系统编程生产者消费者模型(C++)

目录【1】生产消费模型【1.1】为何要使用生产者消费者模型【1.2】生产者消费者模型优点【2】基于阻塞队列的生产消费者模型【2.1】生产消费模型打印模型【2.2】生产消费模型计算公式模型【2.3】生产消费模型计算公式加保存任务模型【2.3】生产消费模型多生产多消费【1】生产消费模型生产消费模型的321原则(便于记忆)。

WebGL中JS与GLSL ES 语言通信,着色器间的数据传输示例:js控制绘制点位

js改变点位,动态传值<canvasid="canvas"></canvas><!--顶点着色器--><scriptid="vertexShader"type="x-shader/x-vertex">attributevec4a_Position;voidmain(){//点位gl_Position=a_Positio

<Babel> 前端语言的巴别塔

Babel中文站点:https://www.babeljs.cn/Babel外文站点:https://babeljs.io/什么是BabelBabel取自人类语言最早的传说,TowerofBabel。上帝摧毁了巴别塔上说着共同语言的我们,又被Babel重新带了回来。如果说巴别塔是人们对混乱到秩序的向往,那Babel在前

详细介绍Webpack5中的Loader

loader用于帮助webpack将不同类型的文件转换为webpack可识别的模块。优先级分类pre:前置loadernormal:普通loader,没有用enforce指定就是normalinline:内联loaderpost:后置loaderloader执行顺序pre>normal>inline>post相同优先级

【深度学习】卷积神经网络(LeNet)【文章重新修改中】

卷积神经网络LeNet前言LeNet模型代码实现MINST代码分块解析1构建LeNet网络结构2加载数据集3初始化模型和优化器4训练模型5训练完成完整代码Fashion-MINST代码分块解析1构建LeNet网络结构2初始化模型参数3加载数据集4定义损失函数和优化器5训练模型完整代码参考与更多阅读材料前言全连接神经网络

热文推荐