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

昇思学习营-DeepSeek-R1-Distill-Qwen-1.5B 模型LoRA微调学习心得

LoRA微调:加入参数式微调

冻结原始网络参数,对Attention层中QKV等添加旁支,包含两个低维度的矩阵A和矩阵B,微调过程中仅更新A、B 矩阵

效果:训练参数被大幅降低,资源消耗较低。

对attention的参数加入如下图所示,使用两个A,B矩阵来拟合原始QKV矩阵,其中A,B矩阵中的两个参数r,lora_alpha为重要参数,一般情况下,lora_alpha为r的两倍以上。

Mindspore中的实现代码如下图所示:

整体流程代码部分:

数据导入和载入分词模型及配置:

\

数据样式:

数据处理逻辑部分:

训练模型参数及配置载入:

训练参数及配置:

香橙派板子上运行模型优化策略:

香橙派AIpro的host侧和device侧共享,所以在host侧的内存占用(如python的多进程,模型加载等)也会影响到显存。

优化策略:

1. 在加载模型时,直接加载fp16的权重,而非加载fp32权重再转成fp16。

2.如何限制拉起的python进程数,从而控制额外的内存占用,减少对显存的影响

3.在开启新的终端时,手动限制进程最大内存占用,开了swap然后再限制内存就可以空出来给NPU用。

学习心得:

  1. 了解lora模型训练基础原理
  2. 对mindspore上进行模型微调的代码进行分析和确认,方便后续代码的升级和维护
  3. 对香橙派板子上进行微调的具体流程,包含数据预处理、模型参数及配置加载、训练参数和保存等。
  4. 对香橙派板子上运行的模型优化策略有一定了解,例如权重加载、限制进程数、限制内存等。
http://www.dtcms.com/a/300000.html

相关文章:

  • 数据结构 二叉树(2)---二叉树的实现
  • 2025年SEVC SCI2区,混沌编码量子粒子群算法QPSO+柔性车间调度,深度解析+性能实测
  • 每日一题7.26
  • WorkManager vs Flow 适用场景分析
  • 抖音短视频矩阵系统源码搭建---底层框架5年开发分享
  • idea中无法删除模块,只能remove?
  • 二叉搜索树(Binary Search Tree)详解与java实现
  • 代码随想录打卡第十五天
  • 睡眠函数 Sleep() C语言
  • AI Agent开发学习系列 - langchain: 本地大模型调用
  • CMU15445-2024fall-project4踩坑经历
  • 设计自己的小传输协议 状态机解析与封装抽象
  • Java设计模式之行为型模式(中介者模式)实现方式详解
  • 函数参数的解包与顺序匹配机制
  • Go的管道——channel
  • HTML5元素相关补充
  • HighlightingSystem
  • MATLAB近红外光谱分析技术及实践技术应用
  • C++ 类型萃取:深入理解与实践
  • 【AcWing 143题解】最大异或对
  • Android-广播详解
  • 零拷贝应用场景
  • 【Spring AI】大模型服务平台-阿里云百炼
  • 基于cooragent的旅游多智能体的MCP组件安装与其开发
  • javaSE 6
  • connect系统调用及示例
  • Go-Elasticsearch v9 安装与版本兼容性
  • Docker常用命令详解:以Nginx为例
  • 求hom_math_2d的角度值
  • Aerospike架构深度解析:打造web级分布式应用的理想数据库