首页 > 其他分享 >DyLoRA:使用动态无搜索低秩适应的预训练模型的参数有效微调

DyLoRA:使用动态无搜索低秩适应的预训练模型的参数有效微调

时间:2023-04-20 15:56:36浏览次数:39  
标签:训练 微调 rank 搜索 模块 DyLoRA LoRA

又一个针对LoRA的改进方法:

DyLoRA: Parameter-Efficient Tuning of Pretrained Models using Dynamic Search-Free Low Rank Adaptation

https://arxiv.org/pdf/2210.07558v2.pdf

https://github.com/huawei-noah/KD-NLP/tree/main/DyLoRA

Part1前言

LoRA存在的问题

  • rank的值是固定的,训练完成后不能修改。
  • 优化rank的值需要大量的搜索和努力。

提出的方法:引入了一种动态低秩适应(Dy-LoRA)技术。通过对适配器模块在训练期间的不同秩所学到的表示进行排序,为一系列的秩而不是单一的秩训练LoRA块。

主要贡献

  • 动态LoRA:在LoRA的基础上,我们开发了一种新的算法(DyLoRA),使其在推理时是动态的,而不会产生额外的费用。
  • 无需搜索的LoRA:我们证明,通过在性能上做出可忽略不计的妥协,有可能避免为LoRA选择最佳秩的昂贵的搜索过程。

Part2介绍

在每一个LoRA模块中,有一个向上投影和向下投影的矩阵。设我们想训练LoRA模块在的范围内操作,其中可以被视为新的超参数。为了使LoRA模块在一系列的秩中工作,而不是单一的秩,我们需要确保增加或减少秩不会明显阻碍模型的性能。实现这种行为的一种方法是在LoRA模块的训练过程中对不同秩的信息内容进行排序。在这方面,在每个训练步骤中,我们对进行抽样。形成一个预先定义的分类分布其(支持度为Range[rmin, rmax]),并相应地截断矩阵。

是W的b截断版本。

前向传播计算时是这么计算的:

损失的计算:

另外在训练的时候增加了一个新的模块:frozen,即只更新截断块中第b个相关的行或者列。

整个流程如下:

需要注意反向传播时是否是更新整个截断块还是第b个行或列。

Part3实验结果

首先是说明不同rank对结果的影响:

接着是该方法和其他方法的对比:

标签:训练,微调,rank,搜索,模块,DyLoRA,LoRA
From: https://www.cnblogs.com/xiximayou/p/17337142.html

相关文章

  • 搜索引擎基础语法
     搜索语法大全1.intitle搜索范围限定在网页标题上面网页标题通常是对网页内容提纲挈领式的归纳。把查询内容范围限定在网页标题中,有时能获得意想不到的结果语法结构:内容+空格intitle:你要查找的信息(此信息会被限定在网页标题内)例如:web学习intitle:安全注意:intitle:和后......
  • #yyds干货盘点# LeetCode面试题:搜索旋转排序数组 II
    1.简述:已知存在一个按非降序排列的整数数组nums,数组中的值不必互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标从0开始计数)。例如,[0,1,2......
  • 助你掌握搜索神器,10个实用的Elasticsearch查询技巧
    前言  Elasticsearch是一个非常流行的搜索引擎,已经成为了许多企业的首选解决方案。然而,我们要想成为一个优秀的程序员,就必须掌握各种查询技巧。本文将向大家介绍10个实用的Elasticsearch查询技巧,并配上详细的代码示例,帮助我们更好地掌握Elasticsearch的查询语法。示例1.匹......
  • 如何采集百度地图上搜索电话,导出到excel里去
      很多销售推广人员问,怎么样能够快速的把BAIDU地图左边的搜索列表里的商家地图,电话采集出来,导出到EXCEL里。我就开发了一个小软件,专门为快速的实现导出数据到EXCEL。  为了使用方便,已经将全国的所又省份,每个省份里包含的地级市,每个地级市包含的区县,都收集数据集成到......
  • 35. 搜索插入位置(leetcode)
    https://leetcode.cn/problems/search-insert-position/简单二分,这里可以判断return,相当于剪枝这里的写法最后更新后的l或r一定可以使得nums[l]或者nums[r]>=target所以退出循环最后的l或r就是第一个大于等于target的下标classSolution{public:intsearchInsert(vect......
  • 亚马逊平台使用API接口通过关键字搜索商品
    亚马逊公司(Amazon,简称亚马逊;NASDAQ:AMZN),2022年营收为5140亿美元,是美国最大的一家网络电子商务公司,位于华盛顿州的西雅图。是网络上最早开始经营电子商务的公司之一,亚马逊成立于1994年,一开始只经营网络的书籍销售业务,现在则扩及了范围相当广的其他产品,已成为全球商品品种最多的网......
  • 好用的字符串搜索库 - Fuse.js
    https://github.com/krisk/Fuse OptionsFollow#BasicOptions#isCaseSensitiveType: booleanDefault: falseIndicateswhethercomparisonsshouldbecasesensitive.#includeScoreType: booleanDefault: falseWhetherthescoreshouldbeincludedinthe......
  • Elasticsearch搜索功能的实现(五)-- 实战
    实战环境elasticsearch8.5.0+kibna8.5.0+springboot3.0.2+springdataelasticsearch5.0.2+jdk17一、集成springdataelasticsearch1添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-st......
  • Elasticsearch搜索功能的实现(三)-- 相似度
    一、开箱即用的相似度配置Elasticsearch允许您配置文本评分算法或每个字段的相似度。相似度设置提供了一种选择缺省BM25之外的文本相似度算法的简单方法,例如:boolean只有基于文本的字段类型(如文本和关键字)支持此配置。唯一可以开箱即用的相似之处,无需任何进一步配置包括:BM25......
  • Elasticsearch搜索功能的实现(二)--Elasticsearch中的核心概念与DSL
    一、Elasticsearch中的核心概念1、索引index一个索引就是一个拥有几分相似特征的文档的集合。比如说,可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、......