0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LLaMA2上下文长度暴涨至100万tokens,只需调整1个超参数

深度学习自然语言处理 来源:量子位 2023-10-22 10:20 次阅读

只需微调一下,大模型支持上下文大小就能从1.6万tokens延长至100万?!

还是在只有70亿参数的LLaMA 2上。

要知道,即使是当前最火的Claude 2和GPT-4,支持上下文长度也不过10万和3.2万,超出这个范围大模型就会开始胡言乱语、记不住东西。

现在,一项来自复旦大学和上海人工智能实验室的新研究,不仅找到了让一系列大模型提升上下文窗口长度的方法,还发掘出了其中的规律。

9520a7a2-7004-11ee-939d-92fbcf53809c.png

按照这个规律,只需调整1个超参数,就能确保输出效果的同时,稳定提升大模型外推性能。

外推性,指大模型输入长度超过预训练文本长度时,输出表现变化情况。如果外推能力不好,输入长度一旦超过预训练文本长度,大模型就会“胡言乱语”。

所以,它究竟能提升哪些大模型的外推能力,又是如何做到的?

大模型外推能力提升“机关”

这种提升大模型外推能力的方法,和Transformer架构中名叫位置编码的模块有关。

事实上,单纯的注意力机制(Attention)模块无法区分不同位置的token,例如“我吃苹果”和“苹果吃我”在它眼里没有差异。

因此需要加入位置编码,来让它理解词序信息,从而真正读懂一句话的含义。

目前的Transformer位置编码方法,有绝对位置编码(将位置信息融入到输入)、相对位置编码(将位置信息写入attention分数计算)和旋转位置编码几种。其中,最火热的要属旋转位置编码,也就是RoPE了。

RoPE通过绝对位置编码的形式,实现了相对位置编码的效果,但与相对位置编码相比,又能更好地提升大模型的外推潜力。

如何进一步激发采用RoPE位置编码的大模型的外推能力,也成为了最近不少研究的新方向。

这些研究,又主要分为限制注意力和调整旋转角两大流派。

限制注意力的代表研究包括ALiBi、xPos、BCA等。最近MIT提出的StreamingLLM,可以让大模型实现无限的输入长度(但并不增加上下文窗口长度),就属于这一方向的研究类型。

9534c1ec-7004-11ee-939d-92fbcf53809c.png

△图源作者

调整旋转角的工作则更多,典型代表如线性内插、Giraffe、Code LLaMA、LLaMA2 Long等都属于这一类型的研究。

95461e06-7004-11ee-939d-92fbcf53809c.png

△图源作者

以Meta最近爆火的LLaMA2 Long研究为例,它就提出了一个名叫RoPE ABF的方法,通过修改一个超参数,成功将大模型的上下文长度延长到3.2万tokens。

这个超参数,正是Code LLaMA和LLaMA2 Long等研究找出的“开关”——

旋转角底数(base)。

只需要微调它,就可以确保提升大模型的外推表现。

但无论是Code LLaMA还是LLaMA2 Long,都只是在特定的base和续训长度上进行微调,使得其外推能力增强。

是否能找到一种规律,确保所有用了RoPE位置编码的大模型,都能稳定提升外推表现?

掌握这个规律,上下文轻松100w+

来自复旦大学和上海AI研究院的研究人员,针对这一问题进行了实验。

他们先是分析了影响RoPE外推能力的几种参数,提出了一种名叫临界维度(Critical Dimension)的概念,随后基于这一概念,总结出了一套RoPE外推的缩放法则(Scaling Laws of RoPE-based Extrapolation)。

只需要应用这个规律,就能确保任意基于RoPE位置编码大模型都能改善外推能力。

先来看看临界维度是什么。

从定义中来看,它和预训练文本长度Ttrain、自注意力头维度数量d等参数都有关系,具体计算方法如下:

955f7a2c-7004-11ee-939d-92fbcf53809c.png

其中,10000即超参数、旋转角底数base的“初始值”。

作者发现,无论放大还是缩小base,最终都能让基于RoPE的大模型的外推能力得到增强,相比之下当旋转角底数为10000时,大模型外推能力是最差的。

957007b6-7004-11ee-939d-92fbcf53809c.png

958052b0-7004-11ee-939d-92fbcf53809c.png

对此论文认为,旋转角底数更小,能让更多的维度感知到位置信息,旋转角底数更大,则能表示出更长的位置信息。

958b4fda-7004-11ee-939d-92fbcf53809c.png

既然如此,在面对不同长度的续训语料时,究竟缩小和放大多少旋转角底数,才能确保大模型外推能力得到最大程度上的提升?

论文给出了一个扩展RoPE外推的缩放法则,与临界维度、大模型的续训文本长度和预训练文本长度等参数有关:

9590165a-7004-11ee-939d-92fbcf53809c.png

基于这一规律,可以根据不同预训练和续训文本长度,来直接计算出大模型的外推表现,换言之就是预测大模型的支持的上下文长度。

反之利用这一法则,也能快速推导出如何最好地调整旋转角底数,从而提升大模型外推表现。

作者针对这一系列任务进行了测试,发现实验上目前输入10万、50万甚至100万tokens长度,都可以保证,无需额外注意力限制即可实现外推。

与此同时,包括Code LLaMA和LLaMA2 Long在内的大模型外推能力增强工作都证明了这一规律是确实合理有效的。

这样一来,只需要根据这个规律“调个参”,就能轻松扩展基于RoPE的大模型上下文窗口长度、增强外推能力了。

论文一作柳潇然表示,目前这项研究还在通过改进续训语料,提升下游任务效果,等完成之后就会将代码和模型开源,可以期待一下~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 参数
    +关注

    关注

    11

    文章

    1398

    浏览量

    31471
  • 人工智能
    +关注

    关注

    1776

    文章

    43845

    浏览量

    230600
  • 大模型
    +关注

    关注

    2

    文章

    1516

    浏览量

    1103

原文标题:LLaMA2上下文长度暴涨至100万tokens,只需调整1个超参数|复旦邱锡鹏团队出品

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于进程上下文、中断上下文及原子上下文的一些概念理解

    : 0x0fff0000凡是上面4宏返回1得到地方都是原子上下文,是不容许内核访问用户空间,不容许内核睡眠的,不容许调用任何可能引起睡眠的函数。而且代表thread_info->preempt_count不是0,这就告诉内核,
    发表于 09-06 09:58

    进程上下文与中断上下文的理解

    )进程下文:其是指切换到内核态后执行的程序,即进程运行在内核空间的部分。2.中断上下文:(1)中断上文:硬件通过中断触发信号,导致内核调用中断处理程序,进入内核空间。这个过程中,硬件的
    发表于 12-11 19:45

    JavaScript的执行上下文

    JavaScript执行上下文之执行上下文
    发表于 05-29 16:12

    进程上下文/中断上下文及原子上下文的概念

    为什么会有上下文这种概念进程上下文/中断上下文及原子上下文的概念
    发表于 01-13 07:17

    中断中的上下文切换详解

    ();  /* 发起一次在中断中的上下文切换 */  cpu_irq_context_switch();  }  tos_knl_irq_enter接口(进入ISR时调用)将一标识中断嵌套次数的变量
    发表于 03-23 17:18

    基于多Agent的用户上下文自适应站点构架

    自适应站点很少考虑对用户环境的自适应。为此,提出用户上下文自适应站点的概念,给出基于多Agent技术的用户上下文自适应站点构架模型。阐述用户上下文获取、挖掘过程以及站
    发表于 04-11 08:49 13次下载

    基于交互上下文的预测方法

    传统的上下文预测是在单用户的上下文基础上进行的,忽视了实际普适计算环境中由于用户交互活动导致的上下文变化因素。为了合理、有效地解决上述局限性问题,该文提出基
    发表于 10-04 14:08 7次下载

    基于Pocket PC的上下文菜单实现

    介绍了基于 Pocket PC 中的点按操作概念, 论述了在Pocket PC 中上下文菜单的实现原理及方法, 并给出了基于MFC 下的Windows CE 应用程序实现上下文菜单的步骤和代码实例。
    发表于 07-25 18:26 17次下载

    基于Pocket PC的上下文菜单实现

    本文介绍了基于 Pocket PC 中的“点按”操作概念 论述了在 Pocket PC 中上下文菜单的实现原理及方法 并给出了基于 MFC 下的 Windows CE 应用程序实现上下文菜单的步骤和代码实例 。
    发表于 04-18 10:46 0次下载

    基于上下文相似度的分解推荐算法

    针对移动服务推荐中用户上下文环境复杂多变和数据稀疏性问题,提出一种基于移动用户上下文相似度的张量分解推荐算法-UCS-TF。该算法组合用户间的多维上下文相似度和上下文相似可信度,建立用
    发表于 11-27 17:42 0次下载

    基于上下文语境的微博情感分析

    传统情感分析方法仅考虑单一文本,对长度短小且口语化严重的微博文本情感极性识别率较低。针对上述问题,提出一种结合上下文消息的情感分析方法。将微博情感分析问题看做标签序列学习任务,使用隐马尔可夫支持向量
    发表于 02-24 11:34 0次下载
    基于<b class='flag-5'>上下文</b>语境的微博情感分析

    初学OpenGL:什么是绘制上下文

    初学OpenGL,打开红宝书,会告诉你OpenGL是个状态机,OpenGL采用了客户端-服务器模式,那时觉得好抽象,直到后来了解了绘制上下文才把这些联系起来。我们可以认为每一个硬件GPU是个服务器
    发表于 04-28 11:47 2303次阅读

    如何分析Linux CPU上下文切换问题

    在我的上一篇文章:《探讨 Linux CPU 的上下文切换》中,我谈到了 CPU 上下文切换的工作原理。快速回顾一下,CPU 上下文切换是保证 Linux 系统正常运行的核心功能。可分为进程
    的头像 发表于 05-05 20:11 1629次阅读

    网络安全中的上下文感知

    当今,所有网络安全领域都在向上下文感知基础设施转变。应用程序感知、身份感知、内容感知、流程感知、环境感知,都是向上下文感知转变的例子。
    的头像 发表于 09-20 09:27 1838次阅读

    在线研讨会 | 基于 LLM 构建中文场景检索式对话机器人:Llama2 + NeMo

    Llama2 的出现掀起了开源大模型的热潮,相比于前身 Llama1,Llama2 的训练数据多了 40%,经过了 2 万亿个标记的训练,上下文长度
    的头像 发表于 10-13 20:35 602次阅读
    在线研讨会 | 基于 LLM 构建中文场景检索式对话机器人:<b class='flag-5'>Llama2</b> + NeMo