【阅读笔记】Chain of LoRA

一、论文信息

1 论文标题

Chain of LoRA: Efficient Fine-tuning of Language Models via Residual Learning

2 发表刊物

arXiv2023

3 作者团队

Department of Computer Science, Princeton University
School of Computer Science and Engineering, Nanyang Technological University

4 关键词

LLMs、LoRA

二、文章结构

COLA
Introduction
Related Work
Adapter based methods
Prefix tuning methods
LoRA and its variants
Method
Preliminaries
LoRA
Frank-Wolfe
Chain of LoRA
Tune LoRA
Tie a knot
Extend the chain
Convergence of COLA and the Nonconvex Frank-Wolfe method
Experimental Framework
Implementation details
Main Results
Experimental Setup
Models and Tasks
models
datasets
methods compared
Implementation details
Results and Analysis
Main Results
Ablation Study
Conclusion and future work

三、主要内容

论文探讨了如何通过残差学习来提高大型语言模型(LLMs)在特定任务上的微调效率。作者提出了Chain of LoRA (COLA) 方法,这是一种迭代优化框架,灵感来源于Frank-Wolfe算法,旨在在不增加额外计算成本或内存开销的情况下,缩小LoRA(低秩适应)与全参数微调之间的泛化误差差距。

四、相关研究

相关研究包括LoRA(低秩适应)及其变体,它们通过训练较小的低秩矩阵来近似权重更新,以提高微调效率。此外,还有参数高效的微调方法(PEFT),如Prefix tuning和Adapter-based方法,它们通过修改模型参数的较小部分来适应特定任务。

五、解决方案

COLA通过迭代地微调、合并和扩展LoRA模块来构建一个LoRA链。这种方法通过学习残差信息来逐步逼近最优权重更新,而不是从头开始学习整个权重更新。COLA在微调过程中,将学习到的LoRA模块合并到预训练的语言模型参数中,并为新生成的LoRA模块重置优化器状态。
在这里插入图片描述

六、实验环节

论文在OPT-1.3B和Llama2-7B两个大型语言模型上进行了实验,并在七个基准任务(SST-2, WSC, CB, WIC, BoolQ, MultiRC, RTE)上进行了评估。实验结果表明,COLA在保持相同或更低的计算成本的同时,能够持续地优于LoRA。

七、进一步探索点:

  1. 应用COLA与不同的基础优化器。
  2. 在更大的语言模型上进行进一步实验。
  3. 在分类任务之外,探索COLA在生成、摘要和多选任务上的应用。

八、总结

Chain of LoRA (COLA) 是一种新的微调框架,它通过迭代优化和残差学习来提高大型语言模型在特定任务上的性能。与现有的LoRA方法相比,COLA在不增加计算成本的情况下,能够实现更好的泛化性能。通过实验验证,COLA在多个模型和任务上都显示出了其有效性,并为未来的研究提供了新的方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/311569.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity获取系统语言

大家好,我是阿赵。   在使用Unity引擎做多语言的游戏时,很有可能需要根据用户的手机或者电脑的当前语言来设置游戏的默认语言。   Unity的API里面默认就有可以获取系统语言的方法: Application.systemLanguageUnity的API例子&#xff1a…

leetcode动态规划(零钱兑换II、组合总和 Ⅳ)

518.零钱兑换II 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount 5, coins [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 55 5221 52111 511111 示例 2: 输入: amount 3, coi…

R730服务器做了raid的硬盘,插在R720上面可以用吗?

环境 戴尔R720 戴尔R730 问题描述 R730服务器做了raid的硬盘,插在R720上面可以用吗? 解决方案 1.直接在 R730服务器做了raid的硬盘,卸下来在插在r720上面使用 ,读不到硬盘 2.前往R730服务器上面,去清除RAID配置的…

数字化转型之路为何道阻且长?

数字化转型是企业在数字化时代下的整体转型,是一个系统、长期、艰巨的过程。其本质不仅仅是技术的升级,更多的是涉及业务流程,用数据来重构和升级企业的商业模式和运营模式。但为什么很多企业的数字化转型难以成功呢? 战略缺位&am…

Spring配置类以及扫描过程源码解析

书接上文 文章目录 一、 拾遗1. 回顾2. 源码分析 二、 配置类扫描源码分析1. 源码分析2. BeanDefinition覆盖问题3. full配置类和lite配置类的区别 一、 拾遗 1. 回顾 前面我们分析了Spring框架器启动过程要做的事情,着重分析了ApplicationContext的refresh方法。…

只有金蝶用户,才懂金蝶BI方案的含金量

资深金蝶系统用户都看得明明白白,金蝶系统侧重于企业资源的计划和管理,而当前企业数字化运营决策不仅需要高效合理的流程管理,更需要一套完善的数据分析方案(金蝶BI方案),无缝对接金蝶系统,智能…

【Kafka-3.x-教程】-【五】Kafka-监控-Eagle

【Kafka-3.x-教程】专栏: 【Kafka-3.x-教程】-【一】Kafka 概述、Kafka 快速入门 【Kafka-3.x-教程】-【二】Kafka-生产者-Producer 【Kafka-3.x-教程】-【三】Kafka-Broker、Kafka-Kraft 【Kafka-3.x-教程】-【四】Kafka-消费者-Consumer 【Kafka-3.x-教程】-【五…

软件测试|Python如何将列表从大到小排序

简介 在编程中,对列表进行排序是一个常见的操作,有时候我们需要将列表按照从大到小的顺序进行排列。Python 提供了多种方法来实现这一目标。在本文中,我们将深入探讨几种将列表从大到小排序的方法,帮助您根据不同情况选择最合适的…

OpenHarmony—开发环境搭建

背景 因为没有实体的开发硬件,且不想破坏原有的Linux环境,所以这里基于 Docker QEMU 搭建开发环境 宿主机Linux系统命令行方式DockerQEMU 6.2 Docker环境准备 安装Docker 在Ubuntu中,可以使用下面的命令来安装Docker: sudo …

HarmonyOS自定义组件生命周期函数介绍

aboutToAppear 在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。 aboutToDisappear 在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变…

SpringBoot怎么写一个自定义的starter,Gradle依赖引入starter的Jar包

1.新建一个Spring的项目myasset-spring-boot-starter 项目结构如下: 注意:不需要Application启动类 和 application.yml/application.properties文件 2. resources下添加spring.factories文件 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfigu…

基于知识图谱的健康知识问答系统

基于知识图谱的健康知识问答系统 引言数据集与技术选型数据集技术选型 系统功能与实现数据导入与图数据库构建问答任务设计与实现1. 实体提取2. 用户意图识别 前端聊天界面与问答系统 结语 引言 随着互联网的发展,人们对健康知识的需求逐渐增加。为了更方便地获取健…

pytorch12:GPU加速模型训练

目录 1、CPU与GPU2、数据迁移至GPU2.1 to函数使用方法 3、torch.cuda常用方法4、多GPU并行运算4.1 torch.nn.DataParallel4.2 torch.distributed加速并行训练 5、gpu总结 1、CPU与GPU CPU(Central Processing Unit, 中央处理器):主要包括控制…

【AIGC】一组精美动物AI智能画法秘诀

如何使用AI绘画,从以下角度,依据表格内容梳理,表格如下: 外貌特征物种姿势特征描述场景风格技术描述小巧可爱幼小浣熊倚在桌子上具有人形特征中世纪酒馆电影风格照明8k分辨率细节精致毛茸茸手持咖啡杯Jean-Baptiste Monge的风格蓝…

【AIGC-文本/图片生成视频系列-8】Align your Latents: 基于潜在扩散模型的高分辨率视频合成

目录 一. 项目概述与贡献 二. 方法详解 三. 应用总览 四. 个性化视频生成 五. 实时卷积合成 六. 更多结果 七. 论文 八. 个人思考 AI生成高分辨率视频一直是一个挑战。 今天讲解一篇潜在扩散模型(LDM)用于高分辨率、时间一致且多样化的视频生成…

模拟数字转换器

本节主要介绍以下内容: ADC简介 ADC功能框图详解 参考资料:《零死角玩转STM32》“ADC—电压采集”章节 一、ADC简介 ADC :Analog to Digital,模拟数字转换器 三个独立的ADC 1 / 2 / 3分辨率为12位每个ADC具有18个通道,其中…

自旋锁和互斥锁的区别

自旋锁和互斥锁的区别_自旋锁和互斥锁有什么区别?-CSDN博客

网工内推 | 高级网工,H3C认证优先,朝九晚六,周末双休

01 万德 招聘岗位:高级网络工程师 职责描述: 1、项目交付:项目管理和交付,包括项目前期的规划、实施以及后期的运维支持、项目验收等。 2、技术支持:为客户及合作伙伴提供网上问题远程和现场支持;对公司内…

【MySQL】锁机制

文章目录 一、表级锁和行级锁二、排他锁和共享锁三、InnoDB行级锁行级锁间隙锁意向共享锁和意向排他锁 四、InnoDB表级锁五、死锁六、锁的优化建议 一、表级锁和行级锁 表级锁: 对整张表加锁。开销小,加锁快,不会出现死锁;锁粒度…

msvcp140_codecvt_ids.dll缺失的解决方法,dll文件全面解析

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp140CODECVTIDS.dll丢失”。那么,msvcp140CODECVTIDS.dll是什么文件?它的作用是什么?为什么会丢失?本文将详细介绍msvcp140CODECVTIDS.d…