LLMs参数高效微调(PEFT) Parameter efficient fine-tuning (PEFT)

news2024/11/24 7:40:15

正如你在课程的第一周所看到的,训练LLMs需要大量的计算资源。完整的微调不仅需要内存来存储模型,还需要在训练过程中使用的各种其他参数。

即使你的计算机可以容纳模型权重,最大模型的权重现在已经达到几百GB,你还必须能够为优化器状态、梯度、前向激活和训练过程中的临时内存分配内存。这些额外的组件可能比模型大数倍,很快就会变得太大,难以在消费者硬件上处理。
在这里插入图片描述

与完整的微调不同,完整微调会在监督学习期间更新每个模型权重,而参数高效微调方法仅更新一小部分参数。

一些路径技术会冻结大部分模型权重,并专注于微调现有模型参数的子集,例如特定层或组件。
在这里插入图片描述

其他技术根本不会触及原始模型权重,而是添加少量新参数或图层,并仅对新组件进行微调。
在这里插入图片描述

使用PEFT,大多数甚至全部LLM权重都被保持冻结。因此,训练的参数数量要比原始LLM中的参数数量小得多。在某些情况下,仅占原始LLM权重的15-20%。这使得训练的内存需求更加可管理。

实际上,PEFT通常可以在单个GPU上执行。而且,由于原始LLM只是稍作修改或保持不变,PEFT对于完整微调的灾难性遗忘问题不太容易发生。
在这里插入图片描述

完整微调会为你训练的每个任务产生一个新版本的模型。这些模型的大小与原始模型相同,因此如果你为多个任务进行微调,可能会导致昂贵的存储问题。
在这里插入图片描述

让我们看看如何使用PEFT来改善这种情况。通过参数高效微调,你只训练少量权重,从而在整体上获得更小的占用空间,具体取决于任务,可能仅为几兆字节。
在这里插入图片描述

新的参数与原始LLM权重结合进行推理。PEFT权重会针对每个任务进行训练,并且可以在推理时轻松替换,
在这里插入图片描述

从而实现将原始模型高效地适应多个任务。
在这里插入图片描述

有几种方法可以用于参数高效微调,每种方法在参数效率、内存效率、训练速度、模型质量和推理成本方面都存在权衡。
在这里插入图片描述

让我们来看一下三种主要类别的PEFT方法。

选择性方法只微调原始LLM参数的子集。你可以采用几种方法来确定要更新的参数。你可以选择仅训练模型的某些组件或特定层,甚至是单个参数类型。研究人员发现,这些方法的性能是参差不齐的,参数效率和计算效率之间存在显著的权衡。在本课程中,我们不会重点讨论它们。
在这里插入图片描述

重新参数化方法也使用原始LLM参数,但通过创建原始网络权重的新低秩转换来减少要训练的参数数量。这种类型的常用技术是LoRA,我们将在下一个视频中详细探讨。
在这里插入图片描述

最后,附加方法通过保持所有原始LLM权重冻结并引入新的可训练组件来进行微调。
在这里插入图片描述

在这里,有两种主要方法。

适配器方法在模型的体系结构中添加新的可训练层,通常位于注意力或前馈层之后的编码器或解码器组件内。
在这里插入图片描述

另一方面,软提示方法保持模型体系结构固定且冻结,并专注于操作输入以实现更好的性能。可以通过向提示嵌入添加可训练参数或保持输入固定并重新训练嵌入权重来实现这一点。在本课程中,你将了解一种特定的软提示技术,称为提示微调。
在这里插入图片描述

首先,让我们继续下一个视频,更详细地了解LoRA方法,看看它如何减少训练所需的内存。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/rCE9r/parameter-efficient-fine-tuning-peft

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

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

相关文章

windows系统 Fooocus 图片生成模型 ,4-6GB显存即可玩,27S/p

安装步骤: 1.下载程序代码框架,大小2GB ,下载 ​​​​​​https://github.com/lllyasviel/Fooocus/releases/download/1.0.35/Fooocus_win64_1-1-1035.7z 2.下载模型文件sd_xl_base_1.0_0.9vae.safetensors ,大小6GBhttps://huggingface.co/stabilityai/stable-diffusion-x…

【C++】—— C++11之线程库

前言: 在本期,我将给大家介绍的是 C11 中新引进的知识,即关于线程库的相关知识。 目录 (一)线程库的介绍 1、线程库的由来 2、线程库的简单介绍 (二)线程函数参数 (三&#xf…

在线外卖平台源码 美团外卖源码 支持多商户+多样化配送费模式+本土外卖平台+支持第三方配送

进云仿美团外卖源码是一个进云源生插件,支持多商户多样化配送费模式本土外卖平台支持第三方配送,运行需要进云框架支撑! 特点: 1、多样化配送费模式; 2、板块-绑定商户分类机制; 3、板块显示时间&#…

应急物资管理系统|库房三维可视化

智慧应急物资管理系统(智装备DW-S300)是一套成熟系统,依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 政府相关部门设立的应急物资库是防灾救灾、…

javaCV实现java图片ocr提取文字效果

引入依赖&#xff1a; <dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.5</version></dependency> 引入中文语言训练数据集&#xff1a;chi_sim GitHub - tesseract-ocr…

Failed to load ApplicationContext解决办法,spring版本问题

有如下报错&#xff1a; "D:\Program Files\Java\jdk-13.0.1\bin\java.exe" -agentlib:jdwptransportdt_socket,address127.0.0.1:7325,suspendy,servern -ea -Didea.test.cyclic.buffer.size1048576 -Dfile.encodingUTF-8 -classpath "D:\Program Files\JetBr…

飞腾CPU如何使用PXE方式安装麒麟桌面系统?

目前国产CPU(桌面级、服务器级)中,飞腾应用较为广泛,在飞腾CPU架构下,搭载以银河麒麟V10 SP1系统为主,下面我们从环境准备、环境搭建、UEFI PXE功能确认、x86笔记本软件环境配置四部分来介绍国产笔记本电脑飞腾CPU使用PXE方式安装银河麒麟V10 SP1系统的详细过程。 一、环…

【RISC-V】RISC-V寄存器简介

一、通用寄存器 32位RISC-V体系结构提供32个32位的整型通用寄存器寄存器别名全称说明X0zero零寄存器可做源寄存器(rs)或目标寄存器(rd)X1ra链接寄存器保存函数返回地址X2sp栈指针寄存器指向栈的地址X3gp全局寄存器用于链接器松弛优化X4tp线程寄存器常用于在OS中保存指向进程控…

初阶数据结构(五) 栈的介绍与实现

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn&#x1f493; ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的学习足迹&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 栈 栈的介绍栈的概念栈的结构 栈的实现…

Spring Framework CVE-2020-5408 CORS 配置漏洞

文章目录 0.前言1.参考文档2.基础介绍3.解决方案3.1. CrossOrigin限制指定来源3.1. WebMvcConfigurer 限制指定来源3.3. 其他用法1. 在方法上使用CrossOrigin&#xff1a;2. 在Controller上使用CrossOrigin&#xff1a;3. 设置多个源&#xff1a;4. 设置所有源&#xff1a;5. …

nginx服务与调优

一、nginx概述&#xff1a; 1.Nginx简介&#xff1a; Nginx是一个高性能的HTTP和反向代理服务器。是一款轻量级的高性能的web服务器/反向代理服 务器/电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;单台物理服务器可支持30 000&#xff5e;50 000个并发请求…

初识umi

一、umi简介 Umi&#xff0c;中文发音为「乌米」&#xff0c;是可扩展的企业级前端应用框架。Umi 以路由为基础的&#xff0c;同时支持配置式路由和约定式路由&#xff0c;保证路由的功能完备&#xff0c;并以此进行功能扩展。然后配以生命周期完善的插件体系&#xff0c;覆盖…

运行命令出现错误 /bin/bash^M: bad interpreter: No such file or directory

在系统上运行一个 Linux 的命令的时候出现下面的错误信息&#xff1a; -bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory 这个是在 Windows 作为 WSL 的时候出的错误。 原因和解决 出现问题的原因在于脚本在 Windows 中使用的回车换行和 Linux …

ANSYS软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 ANSYS是一款全球领先的工程仿真软件&#xff0c;广泛应用于机械、电气、流体、热力学等领域。它提供了强大的建模、网格划分、材料库、边界条件和载荷、求解器、结果后处理、批处理和脚本编程、多物理场仿真、协同设计和教育版等…

深入理解Android消息机制的原理

Handler & Looper & MessageQueue关系简述 一个线程至多有一个looper&#xff1b;一个looper有一个mq&#xff1b;一个mq对应多个message&#xff1b;一个message对应多个handler。消息类型&#xff1a;同步、异步、同步屏障消息。无限循环&#xff1a;在队列中没有消…

【C++从0到王者】第二十四站:多态的底层原理

文章目录 前言一、虚函数表二、一道经典的例题三、深度剖析多态的条件之一&#xff1a;为什么必须是父类的指针或引用四、深度剖析多态的条件之二&#xff1a;为什么是虚函数的重写/覆盖&#xff1f;五、虚函数表的一些总结六、关于Func3的验证七、动态绑定与静态绑定八、总结 …

数据分析作业2

中国在 2020 年开展第七次全国人口普查&#xff0c;截止 2021 年 5 月 11 日普查结果公布&#xff0c;全国人口共1411778724人。单从数据表格看相关数据不够直观&#xff0c;需要进行数据可视化展示&#xff0c;方便查看数据结果。 任务一&#xff1a;链接 MySQL 数据库&#x…

LeetCode 周赛上分之旅 #42 当 LeetCode 考树上倍增,出题的趋势在变化吗

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…

webassembly003 ggml GGML Tensor Library part-2 官方使用说明

https://github.com/ggerganov/whisper.cpp/tree/1.0.3 GGML Tensor Library 官方有一个函数使用说明&#xff0c;但是从初始版本就没修改过 : https://github1s.com/ggerganov/ggml/blob/master/include/ggml/ggml.h#L3-L173 This documentation is still a work in progres…

【档案专题】七、电子档案利用与开发

导读&#xff1a;主要针对电子档案利用与开发相关内容介绍。对从事电子档案管理信息化的职业而言&#xff0c;不断夯实电子档案管理相关理论基础是十分重要。只有通过不断梳理相关知识体系和在实际工作当中应用实践&#xff0c;才能走出一条专业化加职业化的道路&#xff0c;从…