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

LoRA三种不同训练流程在配置和保存权重的差异(64)

LoRA三种不同训练流程在配置和保存权重的差异

  • 调整大小的嵌入层 vs 需保存的模块
  • PEFT(参数高效微调)工具
  • 三种训练流程
    • 仅使用适配器(需保存模块列表为空)、
    • 将 embed_tokens(词嵌入模块)加入需保存模块列表,
    • 以及对嵌入层进行大小调整(需保存模块列表为空):

调整大小的嵌入层 vs 需保存的模块

若你将嵌入层(embedding layer)添加到 modules_to_save(需保存模块列表)中,它会如预期般被保存。若你对嵌入层进行大小调整(第 4 节课将详细讲解此操作),系统会自动检测到这一变化,嵌入层同样会被保存,但不会被添加到 modules_to_save 列表中。之后查看已保存的配置时,嵌入层不会在列表中显示,即便 .safetensors 文件里包含了已保存的嵌入层参数。

PEFT(参数高效微调)工具

PEFT会使用 get_peft_model_state_dict() 工具函数构建一个字典,该字典仅包含必须保存的层和模块:适配器(adapters)、需保存模块列表(modules_to_save 中的内容),以及调整过大小的嵌入层(无论其是否在需保存模块列表中)。

三种训练流程

以下代码展示了三种不同训练流程在配置和保存权重上的差异:

仅使用适配器(需保存模块列表为空)、

将 embed_tokens(词嵌入模块)加入需保存模块列表,

以及对嵌入层进行大小调整(需保存模块列表为空):

from safetensors
http://www.dtcms.com/a/356811.html

相关文章:

  • 《Shell 大道:筑基篇(下)—— 流控筑根基,数据任驱驰》
  • shell学习笔记-实战:创建、运行与变量操作
  • Python Imaging Library (PIL) 全面指南:PIL基础入门-构建简易图像编辑器
  • matlab利用模糊算法控制PID参数实现模糊控制
  • LabVIEW实现跨 VI 簇按钮控制功能
  • 2026届大数据毕业设计选题推荐-基于Python的出行路线规划与推荐系统 爬虫数据可视化分析
  • 如何为在线医疗问诊小程序实现音视频通话功能?
  • Spring Boot整合MyBatis Plus实现多维度数据权限控制
  • Day17_【机器学习—在线数据集 鸢尾花案例】
  • Java面试实战:Spring Boot微服务在电商场景的技术深度解析
  • Scikit-learn Python机器学习 - Scikit-learn介绍
  • Dify1.8.0更新,Docker 无法拉取镜像怎么破?
  • 【大模型13】 视觉大模型与多模态
  • 部署2.516.2版本的jenkins,同时适配jdk8
  • 【ACP】2025-最新-疑难题解析-9
  • 技术速递|新手指南:如何在 Foundry Local 中使用自定义模型
  • 趣味学Rust基础篇(控制流程)
  • 关于Libvio访问异常排查指南
  • 2025互联网大厂Java面试1000道题目及参考答案
  • openEuler系统实现MySQL数据库主从复制
  • Java 流(Stream)、文件(File)和IO
  • NSSCTF-[NISACTF 2022]string_WP
  • 第6.4节:awk语言 for 语句
  • Linux 软件编程(十四)网络编程:数据存储与 SQLite 数据库
  • (二)Python语法基础(下)
  • web端播放flv视频流demo(flv.js的使用)
  • 【C语言16天强化训练】从基础入门到进阶:Day 15
  • 量化研究--开放ptrade西蒙斯全天候ETF策略动量策略
  • 一文说清楚ABAP中的‘显示提交(Explicit Commit)’和‘隐式提交(Implicit Commit)’
  • CesiumJS 封装 - 初始化与配置