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,一经查实,立即删除!

相关文章

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

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

容器网络之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…

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

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

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…

抓包习讯云院校数据通过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 还…

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…

手动实现Transformer

Transformer和BERT可谓是LLM的基础模型&#xff0c;彻底搞懂极其必要。Transformer最初设想是作为文本翻译模型使用的&#xff0c;而BERT模型构建使用了Transformer的部分组件&#xff0c;如果理解了Transformer&#xff0c;则能很轻松地理解BERT。 一.Transformer模型架构 1…

【Spring Cloud】深入理解 Eureka 注册中心的原理、服务的注册与发现

文章目录 前言一、微服务调用出现的问题1.1 服务消费者如何获取服务提供者的地址信息&#xff1f;1.2 如果有多个服务提供者&#xff0c;消费者该如何选择&#xff1f;1.3 消费者如何得知服务提供者的健康状态&#xff1f; 二、什么是 Eureka2.1 Eureka 的核心概念2.2 Eureka 的…

MyBatis 映射文件(Mapper XML):配置与使用

MyBatis 映射文件&#xff08;Mapper XML&#xff09;&#xff1a;配置与使用 MyBatis是一个强大的Java持久化框架&#xff0c;它允许您将SQL查询、插入、更新和删除等操作与Java方法进行映射。这种映射是通过MyBatis的映射文件&#xff0c;通常称为Mapper XML文件来实现的。本…

国庆创作周 组播《第十二课》

国庆创作周《第十二课》图解

5自由度雄克机械臂仿真描点

5自由度雄克机械臂仿真描点 任务 建立雄克机械臂的坐标系和D-H参数表&#xff0c;使用Matlab机器人工具箱&#xff08;Robotics Toolbox&#xff09;&#xff0c;用机械臂末端执行器触碰8个红色的目标点。 代码 %% 机器人学 format compact close all clear clc%% DH参数 L…

Springboot: Spring Cloud Gateway 使用的基本概念及配置介绍

1. SpringCloud 与 SpringBoot的版本映射关系 在已有的Spring Boot项目中增加Spring Cloud&#xff0c;首先要确定使用的Spring Cloud的版本&#xff0c;这取决于项目使用的Spring Boot的版本 SpringCloud 与 SpringBoot的版本映射关系 如果两者的版本不兼容&#xff0c;再会…

R | R及Rstudio安装、运行环境变量及RStudio配置

R | R及Rstudio安装、运行环境变量及RStudio配置 一、介绍1.1 R介绍1.2 RStudio介绍 二、R安装2.1 演示电脑系统2.2 R下载2.3 R安装2.4 R语言运行环境设置&#xff08;环境变量&#xff09;2.4.1 目的2.4.2 R-CMD测试2.4.3 设置环境变量 2.5 R安装测试 三、RStudio安装3.1 RStu…