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

为何 LoRA 初始化 B=0 而 A 为高斯分布初始化?

回答:首先肯定不能A和B全部都为0的,全部都为0的话,梯度是没有的;所以,需要一部分为0初始化,一部分正常初始化,这样的目的是可以保证模型初始化的时候和原模型一样的输出;如果A不为0且B也不为0,会导致模型初始化就相对于原先的模型产生了扰动,引入了噪声会导致后续训练的时候收敛性没有一个初始化为0的好。而且理论上证明,还是A初始化为0的效果好,原因如下:

  • Init[A] 允许使用比 Init[B] 更大的学习率。

  • Init[A] 可能导致一种“内部不稳定性”,在这种情况下,对于某些输入 z,特征 Az 很大,但 LoRA 输出 BAz 很小。这种不稳定性允许更有效的特征学习。我们识别了这种情况下的特征学习/稳定性权衡,并用实证结果支持它。

  • Init[B] 不会引起任何不稳定性,但在这种情况下训练是次优的(矩阵 B 训练不足)。

  • 实证结果证实了理论,并表明 Init[A] 通常比 Init[B] 带来更好的性能

参考文献

论文:The Impact of Initialization on LoRA Finetuning Dynamics

http://www.jsqmd.com/news/447026/

相关文章:

  • wps加载项打包成exe
  • 10分钟上手pretty-quick:让代码格式化效率提升10倍的实战指南
  • wit-bindgen高级特性:类型别名、资源管理与异步支持完全攻略
  • 岐金兰空论
  • 为什么gh_mirrors/cr/cross_browser能跨浏览器追踪用户?核心算法解析
  • Glass终极隐私保护:为什么它永远不会出现在屏幕录制中
  • Input Leap企业部署终极指南:多用户环境下的配置管理与安全策略
  • 终极Githug插件系统架构解析:如何快速扩展Git学习功能的完整指南
  • 如何快速掌握Facebook xctool测试框架:从入门到精通的完整指南
  • twentytwenty实战案例:打造响应式图片对比界面的简单步骤
  • Mutate高级配置:如何设置热键、关键词和主题个性化
  • cryptocurrency-arbitrage:揭秘800+加密货币跨50个市场的套利机会计算器
  • 本地化JSON 处理新方案:基于 Docker的JSON Hero部署全记录
  • Pux Mux类深度解析:掌握路由定义与分发核心机制
  • STM32——DMA(十四) - 指南
  • 如何为xh HTTP请求工具开发自定义功能:完整插件开发指南
  • 如何优雅处理Vuelidate异步验证:从API请求到数据验证的完整指南
  • 基于Docker的Kafka服务
  • 从0到1:使用Job Iteration重构长时运行的Rails后台任务
  • 基于物品的协同过滤算法简单实战应用
  • 南大通用数据库安装使用教程(GBase8s)
  • android-ndk-rs未来展望:新特性与社区发展路线图
  • 10个火宝短剧实用技巧:提升AI短剧制作效率的终极指南
  • 终极Cuttlefish邮件服务器常见问题解决方案:从安装到高级配置全指南
  • windows文件实时同步
  • Nano Stores在React Native中的终极应用指南:简单快速的状态管理解决方案
  • 突破Session隔离:GH-Injector-Library全方法通用绕过技巧
  • CSP-S 2024 提高级 第一轮(初赛) 完善程序(2)
  • 探索apm生态:发现10个改变Atom体验的精选插件
  • Git Quick Stats自动化部署终极指南:CI/CD流水线集成完整教程