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

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

3天内不再提示

我们能否扩展现有的预训练 LLM 的上下文窗口

深度学习自然语言处理 来源:深度学习自然语言处理 2023-06-30 11:09 次阅读

在大家不断升级迭代自家大模型的时候,LLM(大语言模型)对上下文窗口的处理能力,也成为一个重要评估指标。 比如 OpenAI 的 gpt-3.5-turbo 提供 16k token 的上下文窗口选项,AnthropicAI 的更是将 Claude 处理 token 能力提升到 100k。大模型处理上下文窗口是个什么概念,就拿 GPT-4 支持 32k token 来说,这相当于 50 页的文字,意味着在对话或生成文本时,GPT-4 最多可以记住 50 页左右内容。 一般来讲,大语言模型处理上下文窗口大小的能力是预定好的。例如,Meta AI 发布的 LLaMA 模型,其输入 token 大小必须少于 2048。 然而,在进行长对话、总结长文档或执行长期计划等应用程序中,经常会超过预先设置的上下文窗口限制,因而,能够处理更长上下文窗口的 LLM 更受欢迎。 但这又面临一个新的问题,从头开始训练具有较长上下文窗口的 LLM 需要很大的投入。这自然引出一个疑问:我们能否扩展现有的预训练 LLM 的上下文窗口? 一种直接的方法是对现有的预训练 Transformer 进行微调,以获得更长的上下文窗口。然而,实证结果表明,使用这种方式训练的模型对长上下文窗口的适应速度非常慢。经过 10000 个批次的训练后,有效上下文窗口的增加仍然非常小,仅从 2048 增加到 2560(实验部分的表 4 可以看出)。这表明这种方法在扩展到更长的上下文窗口上效率低下。 本文中,来自 Meta 的研究者引入了位置插值(Position Interpolation,PI)来对某些现有的预训练 LLM(包括 LLaMA)的上下文窗口进行扩展。结果表明,LLaMA 上下文窗口从 2k 扩展到 32k,只需要小于 1000 步的微调b8fa05e0-1692-11ee-962d-dac502259ad0.png   论文地址:https://arxiv.org/pdf/2306.15595.pdf   该研究的关键思想不是进行外推(extrapolation),而是直接缩小位置索引,使得最大位置索引与预训练阶段的上下文窗口限制相匹配。换句话说,为了容纳更多的输入 token,该研究在相邻的整数位置上插值位置编码,利用了位置编码可以应用于非整数位置的事实,与在训练过的位置之外进行外推相比,后者可能导致灾难性的数值。   b902b38e-1692-11ee-962d-dac502259ad0.png   PI 方法将基于 RoPE(旋转位置编码)的预训练 LLM(如 LLaMA)的上下文窗口大小扩展到最多 32768,只需进行最小的微调(在 1000 个步骤内),这一研究在需要长上下文的各种任务上性能较好,包括密码检索、语言建模以及从 LLaMA 7B 到 65B 的长文档摘要。与此同时,通过 PI 扩展的模型在其原始上下文窗口内相对保持了较好的质量。   方法 在我们比较熟悉的 LLaMA、ChatGLM-6B、PaLM 等大语言模型中,都有 RoPE 身影,该方法由追一科技苏剑林等人提出,RoPE 通过绝对编码的方式实现了相对位置编码。 虽然 RoPE 中的注意力得分只取决于相对位置,但它的外推性能并不好。特别是,当直接扩展到更大的上下文窗口时,困惑度可能会飙升到非常高的数字 (即 > 10^3)。 本文采用位置插值的方法,其与外推方法的比较如下。由于基函数 ϕ_j 的平滑性,插值更加稳定,不会导致野值。 b91dd984-1692-11ee-962d-dac502259ad0.png    该研究将 RoPE f 替换为 f ′,得到如下公式   b931949c-1692-11ee-962d-dac502259ad0.png   该研究将在位置编码上的转换称为位置插值。这一步将位置索引从 [0, L′ ) 缩减到 [0, L) ,以匹配计算 RoPE 前的原始索引范围。因此,作为 RoPE 的输入,任意两个 token 之间的最大相对距离已从 L ′ 缩减到 L。通过在扩展前后对位置索引和相对距离的范围进行对齐,减轻了由于上下文窗口扩展而对注意力分数计算产生的影响,这使得模型更容易适应。   值得注意的是,重新缩放位置索引方法不会引入额外的权重,也不会以任何方式修改模型架构。   实验 该研究展示了位置插值可以有效地将上下文窗口扩展到原始大小的 32 倍,并且这种扩展只需进行几百个训练步骤即可完成。 表 1 和表 2 报告了 PI 模型和基线模型在 PG-19 、 Arxiv Math Proof-pile 数据集上的困惑度。结果表明使用 PI 方法扩展的模型在较长的上下文窗口大小下显著改善了困惑度。 b93f2968-1692-11ee-962d-dac502259ad0.png   b95104bc-1692-11ee-962d-dac502259ad0.png     表 3 报告了在 PG19 数据集上使用 PI 方法,将 LLaMA 7B 模型扩展到 8192 和 16384 上下文窗口大小时的困惑度与微调步数之间的关系。   由结果可得,在没有微调的情况下(步数为 0),模型可以展现出一定的语言建模能力,如将上下文窗口扩展到 8192 时的困惑度小于 20(相比之下,直接外推方法的困惑度大于 10^3)。在 200 个步骤时,模型的困惑度超过了 2048 上下文窗口大小下原始模型的困惑度,表明模型能够有效利用比预训练设置更长的序列进行语言建模。在 1000 个步骤时可以看到模型稳步改进,并取得了更好的困惑度。   b9692ba0-1692-11ee-962d-dac502259ad0.png     下表表明,通过 PI 扩展的模型在有效上下文窗口大小方面都成功地实现了扩展目标,即仅通过微调 200 个步骤后,有效上下文窗口大小达到最大值,在 7B 和 33B 模型大小以及最高 32768 上下文窗口的情况下保持一致。相比之下,仅通过直接微调扩展的 LLaMA 模型的有效上下文窗口大小仅从 2048 增加到 2560,即使经过 10000 多个步骤的微调,也没有明显加速窗口大小增加的迹象。   b97bdb88-1692-11ee-962d-dac502259ad0.png     表 5 显示扩展到 8192 的模型在原始基准任务上产生了可比较的结果,而该基准任务是针对更小的上下文窗口设计的,对于 7B 和 33B 模型大小,在基准任务中的退化最多达到 2%。   b994d2d2-1692-11ee-962d-dac502259ad0.png   表 6 表明,具有 16384 上下文窗口的 PI 模型,可以有效地处理长文本摘要任务。   b9b040e4-1692-11ee-962d-dac502259ad0.png

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

    关注

    6

    文章

    835

    浏览量

    54458
  • 窗口
    +关注

    关注

    0

    文章

    62

    浏览量

    10730
  • 模型
    +关注

    关注

    1

    文章

    2706

    浏览量

    47697
  • LLM
    LLM
    +关注

    关注

    0

    文章

    202

    浏览量

    233

原文标题:不到1000步微调,将LLaMA上下文扩展到32K,田渊栋团队最新研究

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

收藏 人收藏

    评论

    相关推荐

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

    开讲之前,咱们有必要看看这两个概念:a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,包括所有的寄存器变量
    发表于 09-06 09:58

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

    来源 网络一.什么是内核态和用户态内核态:在内核空间执行,通常是驱动程序,中断相关程序,内核调度程序,内存管理及其操作程序。用户态:用户程序运行空间。 二.什么是进程上下文与中断上下文1.进程上下文
    发表于 12-11 19:45

    JavaScript的执行上下文

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

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

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

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

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

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

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

    终端业务上下文的定义方法及业务模型

    该文针对业务上下文仅关注业务质量较少考虑用户终端环境的现状,提出终端业务上下文的概念,为普适业务的开展提供必要的信息支撑。给出一种终端业务上下文的通用定义方法
    发表于 03-06 11:06 11次下载

    基于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次下载

    基于上下文语境的词义消歧方法

    句的上下文语境,为其中的一个歧义句子提供消歧知识;其次,通过一种无监督的词义消歧方法进行词义消歧。在真实的语料上实验结果表明,使用2个上下文语境句子,窗口大小为1时,该方法的消歧准确率比基线方法( OrigDisam)提高
    发表于 01-12 14:10 0次下载

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

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

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

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

    网络安全中的上下文感知

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

    下载量超300w的ChatGLM-6B再升级:8-32k上下文,推理提速42%

    基于 FlashAttention 技术,项目团队将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度
    的头像 发表于 06-29 16:15 977次阅读
    下载量超300w的ChatGLM-6B再升级:8-32k<b class='flag-5'>上下文</b>,推理提速42%