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

麻省理工学院和香港中文大学推出了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.mzph.cn/news/91657.shtml

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

相关文章

目标检测YOLO实战应用案例100讲-雾天场景下低能见度图像 目标检测(下)

目录 雾天场景目标检测算法分析对比 4.1 引言 4.2 雾天图像目标检测相关的综合评价指标分析

git创建

问: git remote add origin https://github.com/1109176988/blog.git fatal: not a git repository (or any of the parent directories): .git 回答: 这个错误提示指出当前目录或其父目录中不存在.git文件夹,因此无法执行git相关操作。请确保你是在一个已经初始化…

前端的多种克隆方式和注意事项

克隆的意义和常见场景: 意义: 保证原数据的完整性和独立性常见场景: 复制数据, 函数入参, class构造函数等 浅克隆: 对象常用的浅克隆 es6扩展运算符...Object.assign 数组常用的浅克隆 es6的扩展运算符...slice>arr.slice(0)[].concat 深度克隆: 克隆对象的每个层级如…

进程的概念,组成和特征(PCB)

1.进程的概念 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 程序:是静态的,就是个存放在磁盘里的可执行文件,就是一系列的指令集合。进程(Process) :是动态的,是程序的一次执行过程。同一个程序多次执行…

容器网络之Flannel

​ 第一个问题位置变化,往往是通过一个称为注册中心的地方统一管理的,这个是应用自己做的。当一个应用启动的时候,将自己所在环境的 IP 地址和端口,注册到注册中心指挥部,这样其他的应用请求它的时候,到指挥…

HBase高阶(一)基础架构及存储原理

一、HBase介绍 简介 HBase是Hadoop生态系统中的一个分布式、面向列的开源数据库,具有高可伸缩性、高性能和强大的数据处理能力。广泛应用于处理大规模数据集。 HBase是一种稀疏的、分布式、持久的多维排序map 稀疏:对比关系型数据库和非关系型数据库&a…

【洛谷】P3378 【模板】堆

原题链接&#xff1a;https://www.luogu.com.cn/problem/P3378 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 一道模板题&#xff0c;主要是熟悉STL中优先队列&#xff08;priority_queue&#xff09;的使用。 堆的STL实现: priority_queue<in…

1.6.C++项目:仿mudou库实现并发服务器之channel模块的设计

项目完整版在&#xff1a; 文章目录 一、channel模块&#xff1a;事件管理Channel类实现二、提供的功能三、实现思想&#xff08;一&#xff09;功能&#xff08;二&#xff09;意义&#xff08;三&#xff09;功能设计 四、代码&#xff08;一&#xff09;框架&#xff08;二…

【分布式计算】二、架构 Architectures

1.中心化架构&#xff08;Centralized Architectures&#xff09; 1.1.经典C/S模型 服务器&#xff1a;一个或多个进程提供服务 客户端&#xff1a;一个或多个进程使用服务 客户端和服务器可以在不同的机器上 客户端遵循请求/回复模型 1.2.传统三层视图 用户界面层&#x…

注解实现策略模式

注解实现策略模式 1. 使用idea创建sprignboot项目2. 创建策略接口3. 创建策略类型注解4. 创建两个具体策略类5. 策略工厂类6. 使用 1. 使用idea创建sprignboot项目 2. 创建策略接口 public interface Handler {Double callPrice(Double price);}3. 创建策略类型注解 Target(…

KNN(上):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

蓝桥等考Python组别十级001

第一部分:选择题 1、Python L10 (15分) 已知s = Hello!,下列说法正确的是( )。 s[1]对应的字符是Hs[2]对应的字符是ls[-1]对应的字符是os[3]对应的字符是o正确答案:B 2、Python L10 (15分) 运行下面程序,输入字符串“Banana”,输出的结果是&#x

Socket网络编程练习题三:客户端上传文件到服务器

题目 客户端&#xff1a;将本地文件上传到服务器&#xff0c;接收服务器的反馈服务端&#xff1a;接收客户端上传的文件&#xff0c;上传完毕之后给出反馈 代码实战 1、客户端代码 package com.heima;import java.io.*; import java.net.Socket;public class Client {publi…

毛玻璃态按钮悬停效果

效果展示 页面结构组成 通过上述的效果展示可以看出如下几个效果 毛玻璃的按钮按钮上斜边背景及动画按钮上下边缘的小按钮和小按钮动画 CSS3 知识点 backdrop-filter 属性transition 属性transform 属性 实现基础按钮结构 <div class"btn"><a href&qu…

tailwindcss 如何在 uniapp 中使用

直接使用https://tailwindcss.com/docs/guides/vite这篇官方教程的写法是跑不通的&#xff0c;摸索以后整理了一下&#xff0c;最关键的是第6步 npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p在 tailwind.config.js 中写入 export default {conten…

了解ActiveMQ、RabbitMQ、RocketMQ和Kafka的特点

ActiveMQ ActiveMQ是一种基于JMS&#xff08;Java消息服务&#xff09;规范的消息中间件&#xff0c;由Apache基金会开发和维护 核心组件和特点&#xff1a; Broker&#xff08;代理&#xff09;&#xff1a;ActiveMQ的核心组件是Broker&#xff0c;它负责接收、存储和路由消息…

抓包习讯云院校数据通过PHP解析导入数据库

前言 最近&#xff0c;打卡APP需要这个数据&#xff0c;通过抓包后发现这个数据是固定的&#xff0c;获取很简单&#xff0c;但是数据太多&#xff0c;手动导入不显示&#xff0c;于是分析了json格式后果断通过脚本完成 【推荐】 《【MQTT】Esp32数据上传采集&#xff1a;最…

elementui引入弹出框报错:this.$alert is not defined 解决方案

1.按需引入文件element.js 注意&#xff1a;引入Message&#xff0c;MessageBox两个组件就行&#xff0c;alert包括在MessageBox里面了。 之前我引入了Alert组件&#xff0c;发现不行 2.在vue的prototype里注册伪名字 3.组件里直接调用就行了 4.实现效果 我发现elementui调用…

React 入门笔记

前言 国庆值班把假期拆了个稀碎, 正好不用去看人潮人海, 趁机会赶个晚集入门一下都火这么久的 React 前端技术. 话说其实 n 年前也了解过一丢丢来着, 当时看到一上来就用 JS 写 DOM 的套路直接就给吓退了, 扭头还去看 Vue 了&#x1f923;, 现在从市场份额来看, 确实 React 还…

保护模式阶段测试-模拟3环0环调用

保护模式阶段测试-模拟3环0环调用 最近又复习了一下保护模式相关的内容&#xff0c;然后打算搞个能够把段页的大部分知识能够串联起来的测试代码 最终想到的一个项目如下&#xff1a; 三环部分&#xff1a; 0.编写一个函数读取高2g的地址内容 1.通过设备通信到0环告诉0环我新…