【AI大模型】Transformers大模型库(八):大模型微调之LoraConfig

目录
一、引言
二、LoraConfig配置参数
2.1 概述
2.2 LoraConfig参数说明
2.3 代码示例
三、总结
一、引言
这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。
🤗 Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。
🤗 Transformers 提供了便于快速下载和使用的API,让你可以把预训练模型用在给定文本、在你的数据集上微调然后通过 model hub 与社区共享。同时,每个定义的 Python 模块均完全独立,方便修改和快速研究实验。
🤗 Transformers 支持三个最热门的深度学习库: Jax, PyTorch 以及 TensorFlow — 并与之无缝整合。你可以直接使用一个框架训练你的模型然后用另一个加载和推理。
本文重点介绍LoraConfig配置参数
二、LoraConfig配置参数
2.1 概述
LoraConfig是Hugging Face transformers库中用于配置LoRA(Low-Rank Adaptation)的类。LoRA是一种用于微调大型语言模型的轻量级方法,它通过添加低秩矩阵到预训练模型的权重上来实现适应性调整,从而在不显著增加模型大小的情况下提升特定任务的性能。这种方法特别适合于资源有限的环境,因为它减少了存储和计算的需求。
2.2 LoraConfig参数说明
LoraConfig允许用户设置以下关键参数来定制LoRA训练。
r: 低秩矩阵的秩,即添加的矩阵的第二维度,控制了LoRA的参数量。alpha: 权重因子,用于在训练后将LoRA适应的权重与原始权重相结合时的缩放。lora_dropout: LoRA层中的dropout率,用于正则化。target_modules: 指定模型中的哪些模块(层)将应用LoRA适应。这允许用户集中资源在对任务最相关的部分进行微调。bias: 是否在偏置项上应用LoRA,通常设置为'none'或'all'。task_type: 指定任务类型,如'CAUSAL_LM',以确保LoRA适应正确应用到模型的相应部分。
2.3 代码示例
这是一段LoraConfig配置Qwen2的代码,指定模型中的"q_proj"、"v_proj"等层应用LoRA,了解具体有哪些层,可以通过print(model)查看。
config = LoraConfig(r=64,lora_alpha=16,target_modules=["q_proj", "v_proj", "v_proj", "o_proj", "gate_proj", "up_proj","down_proj"],lora_dropout=0.05,bias="none",task_type="CAUSAL_LM",
)model = get_peft_model(model, config)
print_trainable_parameters(model)
三、总结
本文简要介绍LoraConfig的配置参数情况,具体的机遇peft对大模型进行微调后面单独开一页详细讲解。
如果您还有时间,可以看看我的其他文章:
《AI—工程篇》
AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效
AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署
AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署
AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署
AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署
《AI—模型篇》
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
AI智能体研发之路-模型篇(二):DeepSeek-V2-Chat 训练与推理实战
AI智能体研发之路-模型篇(三):中文大模型开、闭源之争
AI智能体研发之路-模型篇(四):一文入门pytorch开发
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
AI智能体研发之路-模型篇(六):【机器学习】基于tensorflow实现你的第一个DNN网络
AI智能体研发之路-模型篇(七):【机器学习】基于YOLOv10实现你的第一个视觉AI大模型
AI智能体研发之路-模型篇(八):【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战
AI智能体研发之路-模型篇(九):【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
《AI—Transformers应用》
【AI大模型】Transformers大模型库(一):Tokenizer
【AI大模型】Transformers大模型库(二):AutoModelForCausalLM
【AI大模型】Transformers大模型库(三):特殊标记(special tokens)
【AI大模型】Transformers大模型库(四):AutoTokenizer
【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构
相关文章:
【AI大模型】Transformers大模型库(八):大模型微调之LoraConfig
目录 一、引言 二、LoraConfig配置参数 2.1 概述 2.2 LoraConfig参数说明 2.3 代码示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。 🤗 Transformers …...
8-1RT-Thread消息队列
8-1RT-Thread消息队列 消息队列又称队列,是一种常用于线程间通信的数据结构。 消息队列控制块里有两个链表,空闲列表用来挂接空的小几块,另一个链表是用来挂接存有消息的消息框。其中消息链表头指向消息队列当中的第一个消息框,而…...
解除网站IP抓取限制的方法有哪些?
在爬取网站数据时,经常会遇到IP被限制,导致返回的数据无法显示或者直接空白的情况。这时候就需要采取一些方法来解除网站对IP的爬取限制。IP代理是帮助用户绕过网站限制,保持稳定连接,实现数据顺畅爬取的重要解决方案。 1、IP代理…...
“手撕”二叉树的OJ习题
故事的开头,我们先来三道不是oj的开胃菜,练练手感,后面9道都是OJ题。 目录 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第八题 第九题 第十题 第十一题 第一题 二叉树前序非递归遍历实现 。 首先我们需要一个栈来存放二…...
Linux Mint 21.3简介
Linux Mint 21.3是一个更新版本,其中包含了许多新特性和改进。以下是一些主要更新内容: 1. Cinnamon 6.0桌面环境:Linux Mint 21.3采用了最新的Cinnamon 6.0桌面环境,带来了新的功能和改进,例如支持Wayland会话&#…...
C++11 面试题整理
C面试题 1 菱形继承 2 多态 多态实现原理: 静态多态 动态多态 静态多态: 依赖函数重载,编译期确定。 函数重载:允许在同一作用于内声明多个功能类似的同名函数,函数列表不同。注意:不能仅通过返回值类型…...
【智能制造-2】焊缝跟踪
焊缝跟踪? 焊缝跟踪:指在焊接位置前方安装光学传感器进行数据采集,然后传输到焊接机器人,进行自适应的各种模糊控制算法校正焊接机器人或专机的轨迹,实现自适应控制,达到实时的焊缝跟踪。 焊缝跟踪的方法…...
优思学院|用ChatGPT快速完成数据分析图表【柏累托图法】
数据分析是很多行业的人不可少的一部分,尤其是质量工程师更是日常的工作。然而,随着科技的进步,人工智能(AI)将逐渐承担起数据计算的工作,这意味着未来的质量工程师需要具备的不仅仅是计算能力,…...
[晕事]今天做了件晕事37 extern “C“ 被认为了是外部函数
最近看到一个函数声明是 extern “C" void _dump(); 这里的声明是要告诉编译器,这个_dump是C语言的符号,没有经过mangle过的。但是这个关键字可能让人混淆是外部函数。因为这个关键字可以声明外部函数。这也算是一词多用的一个普遍问题。关键的关键…...
问题:关于醋酸钠的结构,下列说法错误的是() #媒体#媒体
问题:关于醋酸钠的结构,下列说法错误的是() A.有极性键 B.有非极性键 C.是极性分子 D.是离子晶体 参考答案如图所示...
网络安全(补充)
同步包风暴(SYN Flood)攻击者假造源网址发送多个同步数据包(SYN Packet)给服务器,服务器因无法收到确认数据包(ACK Packet),使TCP/IP协议三次握手无法顺利完成,因而无法建…...
Redis集群(3)
集群扩容 节点配置和启动 我们要加入两个节点,主节点端口为6903,从节点端口为6933。配置与6900节点类似,不再赘述。启动这两个节点: ./redis-server ../conf/cluster_m_6903.conf ./redis-server ../conf/cluster_s_6933.conf加…...
防止Selenium被检测 Google Chrome 125
背景 最近在使用selenium自动播放学习课程,相信大家也有一些类似的使用场景。 能自动化的事情,绝不自己干。 为防止被检测是机器人做题,刷视频,需要做一些小调整。 先来看作为服务方维护者,是如何检测是Selenium打…...
LeetCode 算法:螺旋矩阵c++
原题链接🔗:螺旋矩阵 难度:中等⭐️⭐️ 题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&…...
【全开源】医护上门系统小程序APP公众号h5源码
医护上门系统:健康守护,就在您身边 🚪引言:开启全新的医护模式 在快节奏的现代生活中,健康问题往往成为我们关注的焦点。而“医护上门系统”正是为了满足这一需求,将专业的医疗服务送到您的家中。这一创新…...
结构体<C语言>
导言 结构体是C语言中的一种自定义类型,它的值(成员变量)可以是多个,且这些值可以为不同类型,这也是和数组的主要区别,下面将介绍它的一些基本用法,包括:结构体的创建、结构体变量的…...
点云分割报告整理(未完成版-每天写一点)
体积占用网格表示对点进行体素化,然后使用3d卷积神经网络来学习体素级语义。由于点云的稀疏性,体素化效率低,为避免较高的计算成本而忽略了细节。此外,由于同一体素内的所有点都被赋予了相同的语义标签,因此精度受到限…...
python基础 002 - 1 基础语法
1 标识符(identifier),识别码,表明身份 身份证,ID 定义:在编程语言中标识符就是程序员自己规定的具有特定含义的词,比如类名称、属性名称、变量名等, 在Python 中,pyt…...
浅谈Web开发的三大主流框架:Angular、React和Vue.js
在现代Web开发领域,Angular、React和Vue.js作为三大主流前端框架,各自拥有独特的特点和优势,为开发者提供丰富的选择。让我们更深入地了解这三大框架,并通过一些小型样例来展示它们的特性。 Angular Angular是一个完整的前端框架…...
使用net.sf.mpxj读取project的.mpp文件
1、导入.mpp文件 public void importMppFile(String updateType, MultipartFile multipartFile) {try (InputStream inputStream multipartFile.getInputStream()) {// 读取文件的组件MPPReader mppReader new MPPReader();// 注意,如果在这一步出现了读取异常&a…...
窗口调整工具:突破限制的窗口大小修改与窗口管理解决方案
窗口调整工具:突破限制的窗口大小修改与窗口管理解决方案 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 在日常电脑使用中,窗口调整工具是提升工作效率的重…...
OpenClaw任务监控:nanobot镜像执行日志分析与可视化方案
OpenClaw任务监控:nanobot镜像执行日志分析与可视化方案 1. 为什么需要任务监控? 上周我让OpenClaw自动处理一批Markdown文档的格式转换,第二天检查时发现有一半文件没处理完。翻遍日志才发现是模型在某个步骤"卡住"了——没有报…...
终极指南:如何使用爱享素材下载器轻松获取多平台资源
终极指南:如何使用爱享素材下载器轻松获取多平台资源 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.com/…...
突破游戏视觉定制边界:LeaguePrank的安全实现与创新应用
突破游戏视觉定制边界:LeaguePrank的安全实现与创新应用 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 如何在不触及游戏核心文件的前提下,为英雄联盟客户端打造个性化视觉体验?随着玩家对…...
全面掌握ESP WiFi中继器DHCP服务器配置:高效管理嵌入式设备网络
全面掌握ESP WiFi中继器DHCP服务器配置:高效管理嵌入式设备网络 【免费下载链接】esp_wifi_repeater A full functional WiFi Repeater (correctly: a WiFi NAT Router) 项目地址: https://gitcode.com/gh_mirrors/es/esp_wifi_repeater ESP WiFi中继器是一款…...
用Python处理全球植被数据?手把手教你将BEPS模型的.img文件转成GeoTIFF
从.img到GeoTIFF:Python生态数据处理实战指南 引言:当生态学遇上数据科学 在生态学研究领域,BEPS模型生成的全球植被生产力数据(GPP/NEP/NPP)是理解碳循环和生态系统功能的重要基础。然而,许多研究者第一次…...
域适应实战:如何用Python快速实现图像风格迁移(附代码)
域适应实战:Python实现图像风格迁移的工程化解决方案 当你在巴黎街头用手机拍摄埃菲尔铁塔时,是否想过让它瞬间拥有梵高《星月夜》的笔触质感?这种看似魔法的技术背后,是域适应技术在计算机视觉领域的精妙应用。不同于简单的滤镜叠…...
GTX1060老显卡也能跑PyTorch!保姆级Win10+CUDA11.3+cudnn8.2环境配置避坑实录
GTX1060老显卡深度学习环境搭建全指南:从驱动优化到PyTorch实战 手里还握着五年前入手的GTX1060显卡?别急着让它退役。这套经典的Pascal架构显卡依然能在深度学习入门阶段大显身手。本文将带你完整走通Win10系统下的CUDA 11.3 cuDNN 8.2 PyTorch 1.11…...
Vulkan与OpenGL深度解析——现代图形渲染的技术演进
1. 从OpenGL到Vulkan:图形渲染的进化之路 还记得我第一次接触图形编程时,OpenGL就像一位和蔼的老教授,把复杂的GPU操作封装成简单的API调用。但随着项目复杂度提升,我逐渐发现这位"老教授"的教学方式有些过时——它隐藏…...
智能邮件秘书:OpenClaw+Qwen3.5-9B自动分类与回复
智能邮件秘书:OpenClawQwen3.5-9B自动分类与回复 1. 为什么需要自动化邮件处理? 每天早晨打开邮箱时,看到堆积如山的未读邮件总会让人头皮发麻。作为一位经常需要处理客户咨询的技术顾问,我最高纪录是一天收到187封邮件。即使每…...
