LongLoRA:不需要大量计算资源的情况下增强了预训练语言模型的上下文能力

news2024/11/29 9:43:05

麻省理工学院和香港中文大学推出了LongLoRA,这是一种革命性的微调方法,可以在不需要大量计算资源的情况下提高大量预训练语言模型的上下文能力。

LongLoRA是一种新方法,它使改进大型语言计算机程序变得更容易,成本更低。训练LLM往往需要大量信息和花费大量的时间和计算机能力。使用大量数据(上下文长度为8192)进行训练所需的计算机能力是使用较少数据(上下文长度为2048)的16倍。

LongLoRA的研究论文中,作者分享了使这一过程更快、更便宜的两个想法。

首先,他们在训练中使用一种更简单的注意力形式(专注于特定信息),他们称之为转移短暂注意力(S2-Attn)。这种新的注意力方法有助于节省大量的计算机功率,并且几乎和通常的注意力方法一样有效。

其次,他们重新审视一种有效扩展上下文(用于训练的信息量)的方法。

LongLoRA在各种任务上都显示出很好的效果,可以用于不同规模的llm。它可以将用于训练的数据量从一个模型的4k增加到100k,另一个模型的数据量增加到32k,所有这些都可以在一台功能强大的计算机上完成。

作者还整合了一个名为LongQA的数据集,其中包含3000多对用于训练的问题和答案。这使得LongLoRA成为有效改进大型语言计算机程序的一个非常有用的工具。

LongLoRA

长序列语言建模研究评估了Proof-pile和PG19数据集上的不同模型。研究发现,在训练过程中,随着上下文大小的增加,模型表现得更好,这表明了LongLoRA的微调方法的有效性。简单地说,有更多信息的训练可以带来更好的结果。例如当上下文窗口大小从8192增加到32768时,一个模型的性能在困惑度方面从2.72提高到2.50。

最大上下文长度研究探讨了模型在一台机器上可以处理多少上下文。他们将模型扩展到处理非常长的上下文,并发现模型仍然表现良好,尽管在较小的上下文尺寸下性能有所下降。

除了语言建模之外,该研究还在一个基于检索的任务中测试了这些模型。这个任务中要求在很长的对话中找到特定的主题。模型在这项任务中的表现与最先进的模型相似,甚至在某些情况下表现得更好。与竞争对手相比,他们的模型更有效地适应了开源数据。

LongLoRA表明,大模型能够处理的信息越多,理解语言的能力就越强。并且它不仅擅长处理长文本,而且LongLoRA也非常擅长在长对话中找到特定的主题。这表明它可以处理现实世界中复杂而混乱的任务。

因为加大了上下文窗口,所以LongLoRA在处理较短的文本片段时会有一些问题,这个问题作者还没有找到原因。

总结

最近围绕语言模型(如LLaMA和Falcon)的讨论已经将焦点从仅仅增加模型参数转移到考虑上下文令牌的数量或上下文长度。LongLoRA的出现强调了上下文长度在语言模型的发展中所起的关键作用,为扩展其功能提供了一种经济有效的途径。

我们再总结一下LongLoRA的重点:

LongLoRA是一种新的微调方法,可以在不需要过多计算的情况下提高大型语言模型(llm)的上下文容量。

它采用稀疏的局部关注(S2-Attn)进行上下文扩展,在保持性能的同时降低了计算成本。

LongLoRA将LoRA与可训练的嵌入和规范化相结合,实现了显著的上下文扩展。

在一台机器上,LongLoRA可以将LLaMA2 7B的上下文从4k扩展到100k或LLaMA2 70B的32k。

LongQA数据集增强了监督微调的实用性。

训练过程中更长的上下文大小可以显著提高模型性能。

即使在扩展的上下文中,模型也表现良好,尽管在较小的上下文大小中略有下降。

在基于检索的任务中,配备longlora的模型优于竞争对手,特别是在使用开源数据时。

论文地址:LONGLORA: EFFICIENT FINE-TUNING OF LONG - CONTEXT LARGE LANGUAGE MODELS

https://avoid.overfit.cn/post/7b79c4325ff24114ad634a52d286f4f2

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

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

相关文章

2023-09-30 LeetCode每日一题(全部开花的最早一天)

2023-03-29每日一题 一、题目编号 2136. 全部开花的最早一天二、题目链接 点击跳转到题目位置 三、题目描述 你有 n 枚花的种子。每枚种子必须先种下,才能开始生长、开花。播种需要时间,种子的生长也是如此。给你两个下标从 0 开始的整数数组 plant…

【每日一题】全部开花的最早一天

文章目录 Tag题目来源题目解读解题思路方法一:贪心排序 写在最后 Tag 【贪心】【排序】【数组】【2023-09-30】 题目来源 2136. 全部开花的最早一天 题目解读 每一朵花需要先种下种子才会生长、开花。种种子需要花一些时间,生长也需要一些时间。每天只…

26973-2011 空气源热泵辅助的太阳能热水系统 储水箱容积大于0.6m3 技术规范

声明 本文是学习GB-T 26973-2011 空气源热泵辅助的太阳能热水系统 储水箱容积大于0.6m3 技术规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了空气源热泵辅助的太阳能热水系统的定义、符号和单位、组成与分类、设计要求、技术…

excel筛选后求和

需要对excel先筛选,后对“完成数量”进行求和。初始表格如下: 一、选中表内任意单元格,按ctrlshiftL,开启筛选 二、根据“部门”筛选,比如选择“一班” 筛选完毕后,选中上图单元格,然后按alt后&…

PyQt/PySide ImportError: DLL load failed while importing Shiboken,PyQt库和python

最近在测试PySide项目&#xff0c;在新环境下报错了&#xff1a;ImportError: DLL load failed while importing Shiboken: 找不到指定的程序。 Traceback (most recent call last):File "D:/xxx.py", line 10, in <module>from PySide6.QtWidgets import QAp…

excel中将一个sheet表根据条件分成多个sheet表

有如下excel表&#xff0c;要求&#xff1a;按月份将每月的情况放在一个sheet中。 目测有6个月&#xff0c;就应该有6个sheet&#xff0c;每个sheet中体现本月的情况。 一、首先增加一个辅助列&#xff0c;月份&#xff0c;使用month函数即可。 填充此列所有。然后复制【月份】…

基于微信小程序的网络安全科普题库答题系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

数据集笔记:旧金山共享单车OD数据

数据地址&#xff1a;System Data | Bay Wheels | Lyft

嵌入式学习笔记(38)什么是PWM

PWM&#xff08;pulse width modulation 脉宽调制&#xff09; (2)PWM波形是一个周期性波形&#xff0c;周期为T&#xff0c;在每个周期内波形是完全相同的。每个周期由一个高电平和低电平组成。 (3)PWM波形有2个重要参数&#xff1a;一个是周期T&#xff0c;另一个是占空比d…

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 D: 合并数列

[蓝桥杯 2023 国 B] 合并数列 【问题描述】 小明发现有很多方案可以把一个很大的正整数拆成若干正整数的和。他采取了其中两种方案&#xff0c;分别将他们列为两个数组 { a 1 , a 2 , ⋯ a n } \{a_1, a_2, \cdots a_n\} {a1​,a2​,⋯an​} 和 { b 1 , b 2 , ⋯ b m } \{b…

springboot项目中定时任务注解@Scheduled未按cron表达式执行

springboot项目中定时任务注解Scheduled未按cron表达式执行 背景问题复现原因分析解决方法其他原因 背景 在将一个类注入到ioc后&#xff0c;其中定义了几个定时任务&#xff0c;分别是每隔十秒执行一次&#xff0c;但实际情况却是半小时才执行一次&#xff0c;故开始分析原因&…

【成功解决】ERROR: cuda failure (unknow error) in error_util.h:91

点击目录可跳转 起因原因解决办法 起因 安装cudnn时&#xff0c;想进行验证操作&#xff0c;进入官方提供的$HOME/cudnn_samples_v8/mnistCUDNN/后&#xff0c;运行./mnistCUDNN时&#xff0c;报了标题的错误。如下图&#xff1a; 顺便提一下&#xff0c;我是不知道为什么报错…

UE5屏幕适配

一、本程序设计发布在手机上&#xff0c;首先确定屏幕的设计分辨率&#xff0c;这里我们选择iphone6s&#xff0c;750x1334。 二、设置DPI Scale为1.0的比例&#xff0c;点击齿轮标志 因为我们这个程序是手机竖屏使用的&#xff0c;所以DPI Scale Rule选择Shortest Side&#…

容器网络概述

容器就是 Container&#xff0c;而 Container 的另一个意思是集装箱。其实容器的思想就是要变成软件交付的集装箱。集装箱的特点&#xff0c;一是打包&#xff0c;二是标准。 封闭的环境主要使用了两种技术&#xff0c;一种是看起来是隔离的技术&#xff0c;称为 namespace&am…

Pycharm中右键运行python程序时出现Run ‘pytest in XXX.py

新版本pycharm2022&#xff0c;调试程序的时候&#xff0c;无法进入__main__&#xff0c;最后发现是选择debug模式是pytest。 主要原因是有个函数名为test。 右键运行代码时和正常运行不一致&#xff0c;只执行单一函数test。右键菜单出现以下画面&#xff1a;“ Debug Pytho…

leetCode 279.完全平方数 动态规划 + 完全背包

给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#xff0c;而 3 和 11 不是。 示…

队列的实现——单链表

队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为队尾 出队列&#xff1a;进行删除操作的一端称为队头 那么我们应该用顺序变…

No156.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

Spring Boot:利用JPA进行数据库的增改

目录 JPA介绍Service接口Service和Autowired示例代码 Dao数据库操作层Repository示例代码 控制器文件示例代码-增加增加成功示例代码-修改修改成功 JPA介绍 JPA&#xff08;Javaa Persistence API)一种用于持久化 Java 对象到关系型数据库的标准规范。它提供了一种统一的方式来…

LeetCode每日一题:2136. 全部开花的最早一天(2023.9.30 C++)

目录 2136. 全部开花的最早一天 题目描述&#xff1a; 实现代码与解析&#xff1a; 贪心 原理思路&#xff1a; 2136. 全部开花的最早一天 题目描述&#xff1a; 你有 n 枚花的种子。每枚种子必须先种下&#xff0c;才能开始生长、开花。播种需要时间&#xff0c;种子的生…