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

大模型入门(二)—— PEFT

前言

PEFT(Parameter-Efficient Fine-Tuning)是hugging face开源的一个参数高效微调大模型的工具,里面集成了4中微调大模型的方法,可以通过微调少量参数就达到接近微调全量参数的效果,使得在GPU资源不足的情况下也可以微调大模型。

1)LORA:LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

LORA是PEFT中最常用的方法,LORA认为过参数的模型权重其实存在低内在维度,那么模型适应过程中的权重变化也存在低内在维度,因此模型在微调的过程中实际上可以通过微调低秩矩阵来微调模型。LORA的微调过程如下:在Linear层增加一个“旁路”, “旁路”用A、B两个矩阵组合表示,维度分别是d × r和 r × d,其中r远小于d,A随机初始化,B初始化为0,在微调模型的过程中,左边的W不更新,只更新右边的A和B的参数。前向传播时是左右的输出和,反向传播时只更新右边,因此计算的梯度以及优化器的中间值也只和右边有关,最终右边的参数会单独保存下来。LORA这种训练方式不会改变大模型的参数,且针对每个下游任务生成自己的LORA参数,在预测阶段只要将大模型的参数和LORA参数叠加在一起即可。

LORA还提供了单独的库loralib,可以结合pytorch一起使用。

2)P-tuning:GPT Understands, Too

一般在通过Prompt的方式使用大模型时,通常需要人工构造一些模板,P-tuning将自然语言模板的构建转换成连续参数优化的问题,用一些特殊的token替代人工构造的自然语言模板,让模型自己去学习这些连续的token,在学习的过程中只微调这些token的embedding参数,并且为了保证token之间的联系,并不是随机初始化embedding,而是通过lstm层学习这些token的embedding。

3)Prefix Tuning:Optimizing Continuous Prompts for Generation

Prefix Tuning针对不同的模型结构有设计不同的模式,以自回归的模型为例,不再使用token去作为前缀,而是直接使用参数作为前缀,比如一个l × d的矩阵P作为前缀,但直接使用这样的前缀效果不稳定,因此使用一个MLP层重参数化,并放大维度d,除了在embedding层加入这个前缀之外,还在其他的所有层都添加这样一个前缀。最后微调时只调整前缀的参数,大模型的参数保持不变。保存时只需要为每个任务保存重参数的结果即可。

4)Prompt tuning:The Power of Scale for Parameter-Efficient Prompt Tuning

像GPT3中那种,通过人工构造一些token作为前缀输入到模型中,因为这些token是从vocab中选择的,因此会受到大模型的参数的影响,所以要取得好的结果的话,人工构造的提示语必须要符合模型训练语料的特性。而Prompt tuning是为Prompt单独生成一份参数,在微调的过程中大模型的参数冻结不变,只更新Prompt的参数。且文章实验表明对于Prompt的参数使用大模型的vocab中的一些token 的embedding初始化,或者使用标签词的嵌入(当标签词的token数大于1时,对所有token取平均,即将一个标签词看作一个整体)初始化要比随机初始化的效果要好。此外Prompt的长度对结果也会有影响,长度越长效果会越好,但随着模型的规模变大,不同长度或者不同初始化的Prompt之间的差距会被缩小。

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

在这里插入图片描述

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费


http://www.mrgr.cn/news/64539.html

相关文章:

  • VSCode 1.82之后的vscode server离线安装
  • 摄影分享网站(源码+数据库+报告)
  • python项目实战 小说下载源码
  • el-talble selection行 初始默认勾选
  • 深入 Prometheus 监控生态 - 第六篇:与 Grafana 实现系统全面监控(健康状态和任务状态看板)
  • 华为OD机试真题(Python/JS/C/C++)- 考点 - 细节
  • 【JavaEE初阶 — 多线程】Thread的常见构造方法&属性
  • 【Python】全面解析Python中的GIL(全局解释器锁):多线程与多进程的实战与抉择
  • asrpro 库制作
  • 样本不均衡与异常点检测处理|SMOTE|LOF|IForest
  • SVN 提交操作
  • 【语义分割|代码解析】CMTFNet-4: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割!
  • 非线性数据结构之图
  • Python编程风格:保持逻辑完整性
  • Linux运行Java程序,并按天输出日志
  • 【Orange Pi 5 Linux 5.x 内核编程】-设备驱动中的sysfs
  • 【单片机C51两个按键K1、K2控制8个LED灯,初始值0xFE。摁下一次K1,LED灯左移;摁下一次K2,LED灯右移;】2022-1-5
  • 再学FreeRTOS---(中断管理)
  • 智能指针、移动语义、完美转发、lambda
  • 数字信号处理Python示例(3)生成三相正弦信号
  • 鸿蒙开发案例:分贝仪
  • Android中的Handle底层原理
  • 如何设置和使用低代码平台中的点击事件?
  • redis源码系列--(二)--eventlooop+set流程
  • 常用滤波算法(三)-算术平均滤波法
  • 【51蛋骗鸡单按键控制计数开始暂停复位】