LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS

本文是LLM系列文章,针对《LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS》的翻译。

Longlora:长上下文大型语言模型的高效微调

  • 摘要
  • 1 引言
  • 2 相关工作
  • 3 LongLoRA
  • 4 实验
  • 5 结论

摘要

我们提出了LongLoRA,一种有效的微调方法,以有限的计算成本扩展预训练的大型语言模型(llm)的上下文大小。通常,训练具有长上下文大小的llm在计算上是昂贵的,需要大量的训练时间和GPU资源。例如,在上下文长度为8192的情况下进行训练,自注意力层的计算成本是在上下文长度为2048的情况下的16倍。本文从两个方面加快LLM的语境扩展。一方面,虽然在推理过程中需要密集的全局关注,但通过稀疏的局部关注可以有效地对模型进行微调。所提出的转移短注意力(S2 -Attn)有效地支持上下文扩展,从而节省大量计算,性能与使用普通注意力进行微调相似。特别的是,它可以在训练中仅用两行代码实现,而在推理中是可选的。另一方面,我们重新审视了上下文扩展的参数有效微调机制。值得注意的是,我们发现LoRA在可训练的嵌入和规范化的前提下可以很好地进行上下文扩展。LongLoRA在LLaMA2模型从7B/13B到70B的各种任务上证明了强有力的实证结果。LongLoRA在单个8× A100机器上采用LLaMA2 7B从4k上下文到100k,或LLaMA2 70B到32k。LongLoRA扩展了模型的上下文,同时保留了它们原来的架构,并且与大多数现有技术兼容,比如FlashAttention-2。此外,为了使LongLoRA实用,我们收集了一个数据集LongQA,用于监督微调。它包含超过3k长的上下文问答对。我们所有的代码、模型、数据集和演示都可以在github.com/dvlab-research/LongLoRA上获得。

1 引言

2 相关工作

3 LongLoRA

4 实验

5 结论

在这项工作中,我们提出了LongLoRA,可以有效地扩展llm的上下文长度,使其显着变大。与标准的完全微调相比,LongLoRA具有更少的GPU内存成本和训练时间,并且具有最小的精度折衷。在体系结构层面,我们建议在训练期间将短暂注意力转移到接近标准的自注意力模式。转移短暂注意力很容易实现,只需要两行代码。此外,通过转移短注意力训练的模型在推理过程中保留了原始的标准注意力结构,使大多数预先存在的基础设施和优化可重用。在训练层面,我们用可训练的归一化和嵌入弥合了LoRA和完全微调之间的差距。我们的方法可以在一台8× A100机器上将LLaMA2 7B模型扩展到100k上下文长度,将70B模型扩展到32k上下文长度。我们认为LongLoRA是一种通用的方法,可以兼容更多类型的llm和位置编码,我们计划在未来进行研究。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Premiere Elements 2024(PR简化版)直装版

Adobe Premiere Elements 2024 是一款由Adobe Systems推出的视频编辑软件,它结合了易用性和专业级的功能,帮助用户对视频进行剪辑、特效、色彩校正等处理。 主要功能和特点: 导入和组织视频:Premiere Elements 2024允许用户快速导…

JAVA设计模式-模板模式

一.概念 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 ​ 使用了JAVA的继承机制,在抽象类中定义一个模板方法,该方法引用了若干个抽象方法&#xff0…

ESP8266 WiFi物联网智能插座—下位机软件实现

目录 1、软件架构 2、开发环境 3、软件功能 4、程序设计 4.1、初始化 4.2、主循环状态机 4.3、初始化模式 4.4、配置模式 4.5、运行模式 4.6、重启模式 4.7、升级模式 5、程序功能特点 5.1、日志管理 5.2、数据缓存队列 本篇博文开始讲解下位机插座节点的MCU软件…

虚拟机软件Parallels Desktop 19 mac功能介绍

Parallels Desktop 19 mac是一款虚拟机软件,它允许用户在Mac电脑上同时运行Windows、Linux和其他操作系统。Parallels Desktop提供了直观易用的界面,使用户可以轻松创建、配置和管理虚拟机。 PD19虚拟机软件具有快速启动和关闭虚拟机的能力,让…

Kelper.js 笔记 python交互

1 加载Kepler 地图 KeplerGl() 1.1 主要参数 height 可选 默认值:400 地图显示的高度 data 数据集 字典,键是数据集的名称 config地图配置字典 1.2 举例 from keplergl import KeplerGlmap_KeplerGl() map_ 默认的位置 1.3 添加自己的图 1.3.1 读…

ElementPlus Switch 开关基础使用

昨天开发用到开关组件 后台返回字段是 can_write 默认是0 or 1 但是Switch 组件绑定的默认值默认是 true or false 直接绑定会导致默认是关闭状态 在页面一加载 值发生变化时 会自己调用 查了文档 需要使用 active-value 和 inactive-value 来指定绑定的数据类型 …

23种经典设计模式:单例模式篇(C++)

前言: 博主将从此篇单例模式开始逐一分享23种经典设计模式,并结合C为大家展示实际应用。内容将持续更新,希望大家持续关注与支持。 什么是单例模式? 单例模式是设计模式的一种(属于创建型模式 (Creational Pa…

RK3588平台产测之ArmSoM-W3 DDR带宽监控

1. 简介 专栏总目录 ArmSoM团队在产品量产之前都会对产品做几次专业化的功能测试以及性能压力测试,以此来保证产品的质量以及稳定性 优秀的产品都要进行多次全方位的功能测试以及性能压力测试才能够经得起市场的检验 2. 环境介绍 硬件环境: ArmSoM-W…

stm32(二十)IAP升级优化(双缓存,可恢复)

这次主要对STM32F103/Keil和LPC2478/IAR加了一个IAP在线升级功能, 主要记录一下自己的思路,无代码,实在是代码感觉没啥写的,都是一些网上很多流传的东西。 1、开发环境 Keilstm32f103JLINK 2、程序思路 在升级中,必…

JS 图片的左右切换

图片的左右切换 <div class"slider"><img src"image1.jpg" alt"Image 1"><img src"image2.jpg" alt"Image 2"><img src"image3.jpg" alt"Image 3"> </div> <button …

网页游戏的开发流程

网页游戏的开发流程可以根据项目的规模和复杂性而有所不同&#xff0c;但通常包括以下一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.需求分析&#xff1a; 确定游戏的概念、目标受众和核…

手写 分页

子组件&#xff1a;TimePage.vue 效果图 <template><div class"click-scroll-X"><!-- 上 --><!-- eslint-disable-next-line --><span class"left_btn" :disabled"pageNo 1" click"leftSlide"><&…

PanoFlow:学习360°用于周围时间理解的光流

1.摘要&#xff1a; 光流估计是自动驾驶和机器人系统中的一项基本任务&#xff0c;它能够在时间上解释交通场景。自动驾驶汽车显然受益于360提供的超宽视野&#xff08;FoV&#xff09;◦ 全景传感器。 然而&#xff0c;由于全景相机独特的成像过程&#xff0c;为针孔图像设计…

python输出奇数:如何使用Python输出奇数?

Python输出奇数的方法有很多种&#xff0c;下面给出一种使用for循环的实现方式&#xff1a;上述代码的输出结果为&#xff1a; Python输出奇数的方法有很多种&#xff0c;下面给出一种使用for循环的实现方式&#xff1a; # 定义一个变量n&#xff0c;表示要输出的奇数的最大值…

NSIC2050JBT3G 车规级120V 50mA ±15% 用于LED照明的线性恒流调节器(CCR) 增强汽车安全

随着汽车行业的巨大变革&#xff0c;高品质的汽车氛围灯效、仪表盘等LED指示灯效已成为汽车内饰设计中不可或缺的元素。深力科安森美LED驱动芯片系列赋能智能座舱灯效充满艺术感和科技感——NSIC2050JBT3G LED驱动芯片&#xff0c;实现对每路LED亮度和颜色进行细腻控制&#xf…

SLAM从入门到精通(launch文件学习)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 大家应该还记得我们在一开始学习ros的时候&#xff0c;如果需要启动一个节点的话&#xff0c;需要首先打开roscore&#xff0c;接着用rosrun打开对…

shiro550复现环境搭建

前言 Shiro反序列化漏洞指的是Apache Shiro安全框架中的一个潜在漏洞&#xff0c;该漏洞可能导致攻击者能够通过精心构造的恶意序列化对象来执行任意代码或进行拒绝服务&#xff08;DoS&#xff09;攻击。 这种漏洞的根源是在Shiro的RememberMe功能中&#xff0c;当用户选择“…

C# 实体类转换的两种方式

以下提供两种方式&#xff0c;一种是序列化&#xff0c;一种是泛型反射&#xff1b; 实现功能&#xff1a; 两个实体类数据转换赋值 //学生类 private class Student {public string name { get; set; }public int age { get; set; }public string className { get; set;…

【Node.js】crypto 模块

crypto模块的目的是为了提供通用的加密和哈希算法。用纯JavaScript代码实现这些功能不是不可能&#xff0c;但速度会非常慢。 Nodejs用C/C实现这些算法后&#xff0c;通过cypto这个模块暴露为JavaScript接口&#xff0c;这样用起来方便&#xff0c;运行速度也快。 只要密钥发…

location对象详解

location对象详解_window.location.assign_边中之城的博客-CSDN博客