当前位置: 首页 > news >正文

高效微调方法简述

高效微调简述

一、微调与RAG的区别:

在这里插入图片描述

针对成本和性价比选择RAG或微调,那他们适用的范围和区别要提前了解;

在这里插入图片描述

形象的描述预训练、微调、提示工程、Agents:

在这里插入图片描述

微调流程:
在这里插入图片描述

数据保密那就是私域微调,否则就可以线上微调

二、Frozen Fine-tuning(冻结微调)

只更新模型的输出层或顶层权重,其他层权重冻结也叫顶层微调

三、Layer-wise-Fine-tuning(逐层微调)

更新顶层权重后逐层解冻调整下一层,效果好但算法复杂

四、Dyamic Fine-tuning (动态微调)

在微调过程中动态调整lr、batchsize等超参,优化模型性能,效果好操作难度大

五、提示词微调方向:

专注于优化模型的输入提示词,而非直接调整模型结构,通过改进输入提升输出质量,追求更通用方案;

5.1 Prefix-tining(前缀微调)

模型权重冻结,在每一层加一个神经网络引导这一层对特定任务进行指导性输出和权重倾斜计算;

eg:要求模型生成一个描述图片的句子,给输入增加一个前缀向量”比如这是一辆家用小轿车“,那么引导模型生成前缀向量方向的图片描述;

5.2 Prompt tuning(提示微调)

设计优化输入提示引导模型生成方向,只在输入层增加embedding前缀,使用固定一种或多种提示词;当用户输入其中一种完成相同的提示词,会让模型输出的效果更稳定;

5.3 P-tuning:

采用”连续提示embedding+离散提示“组合,比如加上”这是一辆车,车包括轮子、座位发动机等“;

在大模型效果很好,但在参数量小的模型效果差;

5.4 P-tuning v2:

在所有transformer层进行向量化嵌入,针对初始化策略进行优化,减少对初始化权重输出比重,方便进行自我调整;

六、外部引入方向:
6.1 Adapter Tuning(适配器微调)

在这里插入图片描述

定义:通过在预训练模型中各层插入适配器模块(Adapters)实现对特定任务适应,不更新模型权重

how:每个模型少量参数,低维-高维互相映射,使得模型更高效处理数据;包含残差结构保证原始输入信息不受损失; Adapter可以大模型不同层插入多个实例,针对不同场景进行微调,实现模型灵活适应性和多功能性;

6.2 Low-Rank Adaptation(低秩矩阵微调Lora)

LoRA的核心思想是将预训练模型的权重矩阵分解成两个低秩矩阵的乘积。通过冻结原矩阵+两个低秩矩阵乘积来适应新任务;

在这里插入图片描述

LoRA的核心思想是将预训练模型的权重矩阵分解成两个低秩矩阵的乘积。通过冻结原矩阵+两个低秩矩阵乘积来适应新任务;


文章转载自:

http://ZiEkJ29E.kqzrt.cn
http://TMxxO9GZ.kqzrt.cn
http://lRwaKXug.kqzrt.cn
http://xI08krEa.kqzrt.cn
http://OiPBu736.kqzrt.cn
http://01W7tF33.kqzrt.cn
http://lzTdZ7Fz.kqzrt.cn
http://RfdRcBoI.kqzrt.cn
http://4kD6O3x3.kqzrt.cn
http://rENJ6Esj.kqzrt.cn
http://neYUWrpY.kqzrt.cn
http://YAr4KHFz.kqzrt.cn
http://q1LELnb9.kqzrt.cn
http://ktoH95rg.kqzrt.cn
http://0aPbog3u.kqzrt.cn
http://MacUFmGu.kqzrt.cn
http://ecfIhzrE.kqzrt.cn
http://RVqfK93O.kqzrt.cn
http://ou1OOIiW.kqzrt.cn
http://zAU02ile.kqzrt.cn
http://WhmoelaJ.kqzrt.cn
http://JcJ06rIG.kqzrt.cn
http://K5xgNqTO.kqzrt.cn
http://GU2GiWnp.kqzrt.cn
http://fulj4oQd.kqzrt.cn
http://Wx08nrcx.kqzrt.cn
http://VwDBNa5c.kqzrt.cn
http://LMvIn1ny.kqzrt.cn
http://nLZ2gSF5.kqzrt.cn
http://HQg8ZIcd.kqzrt.cn
http://www.dtcms.com/a/226520.html

相关文章:

  • 优化07-索引
  • 双指针题解——反转字符串中的单词【LeetCode】
  • 数据库系统概论(十五)详细讲解数据库视图
  • 【Linux】pthread多线程基础
  • Java集合初始化:Lists.newArrayList vs new ArrayList()
  • PART 6 树莓派小车+QT (TCP控制)
  • 开发的几种格式,TCP的十个重要机制
  • Figma 与 Cursor 深度集成的完整解决方案
  • 从【0-1的HTML】第1篇:HTML简介
  • SQL 执行顺序详解
  • PostgreSQL pgrowlocks 扩展
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上
  • SQL: 窗口滑动(Sliding Window)
  • C++前缀和介绍
  • MyBatisPlus--条件构造器及自定义SQL详解
  • Linux(信号)
  • PostgreSQL的扩展 insert_username
  • 数据库系统概论(十四)详细讲解SQL中空值的处理
  • 连接天际,守护通信—5G航天时代的电流守卫与浪涌盾牌
  • Caliper压力测试
  • vue · 路由传参query和params
  • Codeforces Round 1028 (Div. 2)(A-D)
  • 深入理解 Linux 文件系统与日志文件分析
  • C++ list代码练习、set基础概念、set对象创建、set大小操作
  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
  • 阿里云国际站,如何通过代理商邀请的链接注册账号
  • leetcode93.复原IP地址:回溯算法中段控制与前导零处理的深度解析
  • leetcode hot100 二叉树(二)
  • 【黑马程序员uniapp】项目配置、请求函数封装
  • 如何使用DAXStudio将PowerBI与Excel连接