LongLoRA:超长上下文,大语言模型高效微调方法

news2024/11/23 23:31:37

麻省理工学院和香港中文大学联合发布了LongLoRA,这是一种全新的微调方法,可以增强大语言模型的上下文能力,而无需消耗大量算力资源。

通常,想增加大语言模型的上下文处理能力,需要更多的算力支持。例如,将上下文长度从2048扩展至8192,需要多消耗16倍算力。

LongLoRA在开源模型LLaMA2 7B/13B/70B上进行了试验,将上下文原始长度扩展至32K、64K、100K,所需要的算力资源却很少。

开源地址:https://github.com/dvlab-research/LongLoRA

论文地址:https://arxiv.org/abs/2309.12307

在这里插入图片描述

LongLoRA的高效微调方法

根据LongLoRA的论文介绍,采用了两大步骤完成了高效微调。第一,在训练期间使用一种更简单的注意力形式(聚焦于特定信息),开发者称之为转变短注意力(S2-Attn)。

这种新的注意力方法有助于节省大量的计算能力,而且几乎与常规的注意力方法一样有效,在训练过程中发挥了重要作用。

在这里插入图片描述

第二,重新挖掘了一种有效扩大上下文(用于训练的信息量)的方法。开发人员发现,一种名为LoRA的方法对此非常有效,尤其是当与可训练的嵌入和规范化一起使用时。

LongLoRA在各种任务上都显示出了优异的结果,可以与不同大小的LLMs一起使用。它可以将用于训练的数据量从4k增加到100k,对于另一个模型,可以增加到32k,所有这些都在一台强大的计算机机器上完成。此外,它与其他现有技术兼容性很强,并不会改变原始模型设计架构。

在这里插入图片描述

此外,为了让 LongLoRA 更加实用、高效,开发者还整理了一个名为 LongQA 的数据集,其中包含 3000 多对用于训练的问题和答案。这使得 LongLoRA 还能有效改进大语言模型的输出能力。

在这里插入图片描述

研究发现

该研究评估了Proof-pile 和 PG19数据集上的不同模型。研究发现,在训练过程中,随着上下文大小的增加,模型的表现更好,显示了其微调方法的有效性。

简单来说,使用更多信息进行训练,将会带来更好的结果。例如,当上下文窗口大小从 8192 增加到 32768 时,一个模型的困惑度性能从 2.72 提高到 2.50。

该研究还探讨了这些模型可以在一台机器上处理多少上下文。开发人员扩展了模型以处理极长的上下文,并发现模型仍然表现良好,尽管上下文尺寸较小时性能有所下降。
在这里插入图片描述

除了语言建模之外,该研究还测试了其他任务,包括在很长的对话中找到特定的主题。开发人员的模型在这项任务中的表现与最先进的模型类似,甚至在某些情况下表现得更好。值得一提的是,与竞争对手相比,开发人员的模型能够更有效地适应开源数据。

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

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

在这里插入图片描述

总体来说,LongLoRA 在大型语言模型领域提出了创新方法,在处理大量信息时,也可以更轻松、更高效地微调这些模型,而必须消耗更多的算力资源。

本文素材来源LongLoRA论文,如有侵权请联系删除

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

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

相关文章

借助PLC-Recorder,汇川中型PLC(AM、AC系列,CODESYS平台)2ms高速采集的方法

高速数据采集要保证速度,也要保证时刻的准确性。在windows系统里,时间稳定性是个很难的问题。如果PLC发送的数据里带有时间信息,则可以由PLC来保证采样周期的稳定性。 从V2.12版本开始,PLC-Recorder软件可以处理发送电文里的时间…

国庆出游远程实测:ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性

ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性 【前言】【实测软件】【测试环境】【实操体验】1. 软件安装2. 登录速度3. 文件传输4. 操作延迟5. 画面清晰度6. 安全防护 【本文小结】 【前言】 随着科技的不断发展,远程控制软件已成为我们生活中不可或缺的一部分…

数据结构-图-最短路径问题

最短路径问题 单源最短路径Dijkstra算法原理代码实现 Bellman-Ford算法原理代码实现SPFA优化SPFA代码实现 多元最短路径Floyd-Warshall算法原理代码实现 单源最短路径 🚀最短路径:从图G的某个顶点出发到达另一个顶点的最短路径,其中最短是指…

鼠标灵敏度怎么调?4个方法提高使用体验感!

“不知道怎么回事,我的鼠标反应很慢慢,有时候好像会有延迟。使用起来感觉特别不舒服。这个问题应该怎么解决呢?希望大家帮帮我!” 在使用电脑的过程中,鼠标是很常用的一个工具。调整鼠标的灵敏度对电脑的使用体验会有显…

DBeaver 导出数据的问题 SQL 错误: jdbc 驱动内部错误 Java heap space

DBeaver 导出结果集 报错 具体操作如下: 网友给出的解决方案是 :调整java参数 dbeaver.ini -startup plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_6…

第八章 排序 九、归并排序

一、定义 把两个或多个有序的序列合并成一个有序序列 二、2路归并 三、归并排序 四、例子 1、首先将数组A复制一份到另一个B数组。 2、在定义三个指针分别指向A数组头部、中间、尾部。定义两个指针指向B数组的头部和中间。 3、然后比较B数组中头指针和中间指针的数字大小&a…

Dockerfile自定义容器

1、Dockerfile Dockerfile 是用于构建 Docker 镜像的文本文件,其中包含一系列的指令和配置,用于定义镜像的构建过程。通过 Dockerfile,你可以定义镜像的基础操作系统、依赖、环境设置、应用程序等信息,从而实现可复制、自动化的镜…

mmcv视频处理,如何遇到异常帧不中断

背景 mmcv读取视频帧如果遇到error,则会直接停止执行。但是,视频后面的内容有时候也十分重要,所以这个时候就需要一种方式可以继续处理后续帧。 处理方法 修改mmcv的VideoReader中的__next__函数,修改为如下: def _…

Django使用SMTP发送邮件教程

CONTENTS 1. SMTP介绍2. 申请邮箱授权码3. Django发送邮件 1. SMTP介绍 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/I…

fiddler 的用法

使用fiddler进行抓包 举例一些常见的代理工具 1.wireshark:功能非常强大,但是使用起来更复杂一些 2.fiddler:功能虽然比wireshark少,但是使用简单方便,功能也足以应付大部分场景了 安装了fiddler之后,http和https的请求和响应都会被抓包工具捕捉到,其他的不会 打开软件,左侧是…

网络安全:六种常见的网络攻击手段

1、什么是VPN服务? 虚拟专用网络(或VPN)是您的设备与另一台计算机之间通过互联网的安全连接。VPN服务可用于在离开办公室时安全地访问工作计算机系统。但它们也常用于规避政府审查制度,或者在电影流媒体网站上阻止位置封锁&#…

mybatis:mybatis-generator插件使用

mybatis:mybatis-generator插件使用 1 idea配置 idea,点击File->Settings->Plugins->设置,点击:Manage Plugin Repositories: 配置如下: http://plugins.jetbrains.com/下载插件并重启idea: 2 …

Avalonia环境搭建

1.开发文档 开发文档, GitHub项目地址 https://github.com/avaloniaui/avalonia 2.VS2022 及扩展安装 建议使用vs2022最新版本下载并安装扩展Avalonia for Visual Studio 2022 3.安装Avalonia UI模板 dotnet new install Avalonia.Templates 查看安装版本 dot…

3 个令人惊艳的 AI 文档神器,开源了!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 现今的互联网时代,无论哪个行业,在日常各种工作的沟通协作中,我们都免不了要与各种文档打交道。 但是,人的精力与任务处理速度毕竟有限&…

WinApp自动化测试之工具的选择

WinApp(Windows APP)是运行在Windows操作系统上的应用程序,通常会提供一个可视的界面,用于和用户交互。 例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio Code、Chrome,都属于WinApp。常见的WinA…

8. Java本项目知识基础---下篇

Java本项目知识基础—下篇 1. String 拼接字符串 进行头部、中部、尾部拼接 (简单、内存占用大) StringBuffer或StringBuilder进行append拼接(复杂、内存占用小) public static void main(String[] args) {String str "abc…

Z410 2023款无人机,专为零基础开发者打造的入门级开源无人机

为什么开发Z410升级款-Easydrone无人机 新手开发者通常在本科阶段加入人工智能行业,对无人机二次开发往往一知半解,面临着C、Python、ROS和mavlink等一系列入门知识,学习起来非常困难,学习的过程中也面临许多挫折。为了帮助零基础…

vcruntime140.dll缺失如何修复,vcruntime140.dll重新安装方法分享

大家好!今天,我非常荣幸能够站在这里,与大家分享关于vcruntime140.dll丢失的问题以及三种修复方法。希望通过我的演讲,能够帮助到在座的各位,解决我们在使用电脑过程中遇到的一些问题。 首先,让我们来了解一…

京东数据分析平台:9月中上旬白酒消费市场数据分析

9月份,围绕白酒的热点不断。9月5日,瑞幸咖啡官微发布消息称,瑞幸与贵州茅台跨界合作推出的酱香拿铁刷新单品纪录,首日销量突破542万杯,销售额破1亿元。9月14日,贵州茅台官微发布消息称与德芙推出联名产品“…

VMProtect使用教程(VC++MFC中使用)

VMProtect使用教程(VCMFC中使用) VMProtect是一种商业级别的代码保护工具,可以用于保护VC MFC程序。以下是使用VMProtect保护VC MFC程序的步骤: 1. 下载并安装VMProtect,C包含库及目录。 2. 在VC MFC项目中添加VMProtectSDK.h头文件,并在需…