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

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和位置编码,我们计划在未来进行研究。

相关文章:

LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS

本文是LLM系列文章,针对《LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS》的翻译。 Longlora:长上下文大型语言模型的高效微调 摘要1 引言2 相关工作3 LongLoRA4 实验5 结论 摘要 我们提出了LongLoRA,一种有效的微调方法&…...

CF1186B

给定两个点&#xff0c;原点和p点&#xff0c;现在需要从原点走到p点&#xff0c;有两个光源&#xff0c;a点和b点&#xff0c;这两个光源的半径相等&#xff0c;我们需要输出最小的半径的数值 代码 #include<bits/stdc.h> using namespace std;double dist(double x1,…...

【Redis】Set集合内部编码方式

内部编码 集合类型的内部编码有两种&#xff1a; intset&#xff08;整数集合&#xff09;&#xff1a;当集合中的元素都是整数并且元素的个数⼩于set-max-intset-entries配置&#xff08;默认512个&#xff09;时&#xff0c;Redis会选⽤intset来作为集合的内部实现&#xf…...

2023美团外卖商家含月销量均价

外卖商家含商家基本信息、电话、月销量、均价、评分等信息...

实施运维02

一.网线制作 1.所需材料 网线&#xff0c;水晶头&#xff0c;网线钳&#xff0c;水晶头, 路由器或者网络测速仪 网线钳 网线制作标准 T568A标准&#xff08;交叉线&#xff09;&#xff1a;适用链接场合&#xff1a;电脑-电脑、交换机-交换机、集线器-集线器 接线顺序&…...

MySQL数据生成工具mysql_random_data_load

在看MySQL文章的时候偶然发现生成数据的工具&#xff0c;此处直接将软件作者的文档贴了过来&#xff0c;说明了使用方式及下载地址 Random data generator for MySQL Many times in my job I need to generate random data for a specific table in order to reproduce an is…...

iPhone 15分辨率,屏幕尺寸,PPI 详细数据对比 iPhone 15 Plus、iPhone 15 Pro、iPhone 15 Pro Max

史上最全iPhone 机型分辨率&#xff0c;屏幕尺寸&#xff0c;PPI详细数据&#xff01;已更新到iPhone 15系列&#xff01; 点击放大查看高清图 &#xff01;...

Java实验一 Java语言基础(12题)

文章目录&#xff1a; 1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”&#xff0c;地支的顺序是“子丑寅卯辰巳午未申酉戌亥”&#xff0c;生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单&#xff…...

Unity可视化Shader工具ASE介绍——5、ASE快捷键和常用节点介绍

大家好&#xff0c;我是阿赵。   继续介绍Unity可视化Shader插件ASE。这次来说一些常用节点的快捷键&#xff0c;顺便介绍一些常用的节点。   用过UE引擎的朋友可能会发现&#xff0c;ASE的整体用法和UE的材质节点编辑器非常的像&#xff0c;甚至连很多节点的快捷键都和UE的…...

【axmol-2.1 vs cocos2dx性能备忘】

axmol-2.1-08c0605 cocos2d-x-4.0 cocos2d-x-3.17.1 结论 从多边形Sprite渲染性能测试用例看&#xff0c;axmol相对于cocos2d-x-4.0提升42%, 相对于cocos2d-x-3.17.1提升30.8%...

idea compile项目正常,启动项目的时候build失败,报“找不到符号”等问题

1、首先往上找&#xff0c;看能不能找到如下报错信息 You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled. 2、这种问题属于lombok编译失败导致&#xff0c;可能原因是依赖jar包没有更新到最新版本 3、解决方案 1&#xff09…...

从零开始:深入理解Kubernetes架构及安装过程

K8s环境搭建 文章目录 K8s环境搭建集群类型安装方式环境规划克隆三台虚拟机系统环境配置集群搭建初始化集群&#xff08;仅在master节点&#xff09;配置环境变量&#xff08;仅在master节点&#xff09;工作节点加入集群&#xff08;knode1节点及knode2节点&#xff09;安装ca…...

混淆技术研究笔记(五)混淆后如何反篡改?

有了上一节的基础工具后&#xff0c;接下来要考虑如何反篡改。 本文采用的是对混淆后的代码&#xff0c;针对某些关键包的字节码数据计算md5值&#xff0c;对所有类计算完成后对md5值进行排序&#xff0c;排序后拼接字符串再次计算md5值&#xff0c;最后通过私钥对md5进行RSA对…...

QTableWidget 表格部件

QTableWidget是QT中的表格组件类。一般用来展示多行多列的数据&#xff0c;是QT中使用较多的控件之一。1、QTableWidgetItem对象 QTableWidget中的每一个单元格都是一个QTableWidgetItem对象&#xff0c;因此先介绍下QTableWidgetItem的常用方法。 1.1、设置文本内容 void QT…...

MySQL join的底层原理

文章目录 前言一、join是什么&#xff1f;二、join的使用例子三、join的连接方式1、简单嵌套2、索引嵌套3、块嵌套4、哈希连接 前言 面试的时候&#xff0c;被问到join 的底层原理&#xff0c;之前没有深入了解过&#xff0c;今天对这个知识点进行一个学习。 一、join是什么&…...

如何在 Spring Boot 中实现容错机制

在 Spring Boot 中实现容错机制 容错机制是构建健壮和可靠的应用程序的重要组成部分。它可以帮助应用程序在面对异常或故障时保持稳定运行。Spring Boot提供了多种机制来实现容错&#xff0c;包括异常处理、断路器、重试和降级等。本文将介绍如何在Spring Boot中实现这些容错机…...

Sqlite3 查询 今日、昨日、本周、上周、本月、上月、本季度、上季度、本年

一、使用Between AND select * from 表名 where 字段名 Between ‘2019-1-01 00:00:00’ AND ‘2019-7-12 23:59:59’ 二、使用>,< select * from 表名 where 字段名 > ‘2019-1-01 00:00:00’ and 字段名 < ‘2019-12-12 23:59:59’ 三、升降序 select * from 表…...

IDEA XML文件里写SQL比较大小条件

背景 最近开发的时候&#xff0c;有一个需求的查询需要支持范围查询[a,b)&#xff0c;并且查询的结果要求查询的范围含头端点不含尾端点。因为between…and…查询的范围是含头含尾的&#xff0c;因而不能使用。 因此打算直接使用>和<来比较实现&#xff0c;使用>的时…...

Camtasia Studio2024最新版本正式更新上线!

Camtasia Studio2024是一款专门录制屏幕动作的工具&#xff0c;它能在任何颜色模式下轻松地记录 屏幕动作&#xff0c;包括影像、音效、鼠标移动轨迹、解说声音等等&#xff0c;简单实用的视频录制软件,游戏的精彩画面,网络视频,屏幕录制可以让您录制屏幕所有内容视频录制支持3…...

各种业务场景调用API代理的API接口教程

API代理的API接口在各种业务场景中具有广泛的应用&#xff0c;本文将介绍哪些业务场景可以使用API代理的API接口&#xff0c;并提供详细的调用教程和代码演示&#xff0c;同时&#xff0c;我们还将讨论在不同场景下使用API代理的API接口所带来的好处。 哪些业务场景可以使用API…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...