超长上下文处理:基于Transformer上下文处理常见方法梳理

news2024/9/28 1:08:12

原文链接:芝士AI吃鱼

目前已经采用多种方法来增加Transformer的上下文长度,主要侧重于缓解注意力计算的二次复杂度。

例如,Transformer-XL通过缓存先前的上下文,并允许随着层数的增加线性扩展上下文。Longformer采用了一种注意力机制,使得token稀疏地关注远距离的token,从而降低计算复杂度。BigBird和LongT5也利用稀疏注意力机制来处理长序列。Hourglass通过对中间层的激活单元进行下采样,以减少计算量并实现更长的上下文。COLT5提出了条件计算的方法,以节省内存并实现更大的上下文。Memorizing Transformer使用k近邻查找来选择最相关的token,这也可以看作是减少注意力计算复杂度的一种方式。

我们的工作遵循了Memorizing Transformer的方法,旨在训练一个能够处理更长注意力上下文长度的模型(例如,通过缓解分心问题),从而具有更好的长上下文处理能力。

针对更长的上下文微调LLM。之前的工作,如RETRO和Memorizing Transformer,已经展示了一条有前途的道路,可以在不需要重新训练整个模型的情况下微调现有的LLM以添加新的功能。

最近,一些工作已经探索了通过微调LLaMA来增加其上下文长度。Landmark attention提出了一种将LLM的上下文压缩成landmarks的压缩方案,将LLaMA-7B的上下文长度增加到32K。

位置插值引入了对旋转位置编码方案的修改,使其能够微调32K上下文。与这项工作相比,我们的方法不依赖于位置编码,通过在内存中删除位置编码使我们能够推广到256k个token,尽管该模型只在长度为8K的序列上进行了训练,但依然产生了理论上无限的上下文长度。

对比学习。对比学习旨在通过比较正负样本来学习得到更好的表征。CLIP和SimCLR是两种在图像领域取得最先进性能的流行对比学习方法。

在对比预训练期间,负样本被保留在同一批次中,通过学习将它们与正样本区分开。在对比学习中扩展批次大小已被证明可以提高表征的质量,而且一些研究人员也发现语言建模过程中的嵌入空间很容易遭受退化,其中嵌入会被紧密地压缩在一个狭窄的锥体中,使得难以区分它们。TRIME提出了一种训练方法,旨在训练具有记忆增强功能的语言模型,它使用batch内的负样本来提高表征的质量。

注意力集中的Transformer(Focused Transformer,FoT)是Transformer模型的一个简单的即插即用扩展,既可以用于训练新模型,也可以用于微调现有的具有更长上下文的大模型。为此,FoT使用记忆注意力网络(memory attention layers)和跨批次训练。如图2所示,记忆注意力网络使模型能够在推理时从外部内存中检索信息,有效地扩展了上下文。跨批次训练过程使模型倾向于学习key-value的表征,这些表征可以很容易被记忆注意力网络使用。

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

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

相关文章

【GLBCXX_3.4.21 not found】问题解决

问题描述 rootlocalhost:/home# rar -h rar:/lib64/libstdc.so.6 ,version "GLBCXX_3.4.21" not found 问题排查过程 下载相应的GCC源码,找到适合自己版本,这里选择是的是7.3.0 gcc源码下载地址:http://ftp.gnu.org/g…

fastadmin数据内容admin_id权限

/*** 是否开启数据限制* 支持auth/personal* 表示按权限判断/仅限个人* 默认为禁用,若启用请务必保证表中存在admin_id字段*/protected $dataLimit true;/*** 数据限制字段*/protected $dataLimitField admin_id;

第一次上传GitHub代码------教程、记录和踩雷

刚录用的一篇论文,编辑要求上传GitHub repo。 对于上传代码,本人是一无所知,写这篇博客记录一下 一. 创建代码仓库 点击右上角,选择New repository,来创建仓库: 根据提示,填写仓库的名称、描述…

TCP 协议(二)连接与断开

TCP 连接概述 TCP 协议是一种面向连接的、可靠的数据传输协议,同时 TCP 连接是全双工的,即连接的两端可以互传数据。在深入了解 TCP 连接之前,我们先来弄清楚整个 TCP 连接的过程,之后在深入整个数据报文结构来认识 TCP。 TCP连…

全网最全,adb常用命令大全(详细)全覆盖,看这篇就够了..

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 adb 模拟按键输入…

python subprocess执行外部命令常用方法

subprocess模块是Python标准库中的一个模块,用于创建和控制子进程。它提供了一种在Python程序中调用其他外部命令、执行系统命令和与系统进程进行交互的方法。常用的有两种方法:subprocess.run(),subprocess.Popen() 1. subprocess.run()方法…

回顾类与对象:掌握String探索其模拟实现的沉浸式体验

目录 一.STL简介二.string的模拟实现1.成员变量与(拷贝)构造、析构函数2.运算符重载[ ]3.添加数据与扩容4.赋值运算符重载及其他重载5.其他函数 一.STL简介 标准模板库 STL是C标准库的重要组成部分,stl分为六大组件:算法、容器、迭代器、空间适配器、仿…

NLP实战7:seq2seq翻译实战-Pytorch复现

🍨 本文为[🔗365天深度学习训练营]内部限免文章(版权归 *K同学啊* 所有) 🍖 作者:[K同学啊] 📌 本周任务: ●请根据N5、N6周内容,为解码器添加上注意力机制 一、前期准备…

常用分类损失CE Loss、Focal Loss及GHMC Loss理解与总结

一、CE Loss 定义 交叉熵损失(Cross-Entropy Loss,CE Loss)能够衡量同一个随机变量中的两个不同概率分布的差异程度,当两个概率分布越接近时,交叉熵损失越小,表示模型预测结果越准确。 公式 二分类 二…

【QT】QT搭建OpenCV环境

QT/OpenCV 01、开始之前02、QT03、CMake04、OpenCV05、配置06、测试 01、开始之前 本文版本: 1、QT:Based on Qt 5.12.2 (MSVC 2017, 32 bit),编译方式是MinGW 2、CMake:cmake-3.27.0-rc4-windows-x86_64.msi 3、OpenCV&#xff1…

2023年值得入手的开放式耳机推荐,蓝牙耳机的选购指南分享推荐

身为一个音乐爱好者,出于对音质和佩戴舒适的追求,也有入手了很多品类的耳机,其中不乏有有线耳机、无线蓝牙耳机,两种不同的音频传输方式大类,其各自所拥有的特性也是不同的。而居于后者的无线蓝牙耳机,在现…

【Java基础教程】(八)面向对象篇 · 第二讲:Java 数组全面解析——动态与静态初始化、二维数组、方法参数传递、排序与转置、对象数组、操作API~

Java基础教程之面向对象 第二讲 本节学习目标1️⃣ 概念1.1 动态初始化1.2 静态初始化 2️⃣ 二维数组3️⃣ 数组与方法参数的传递4️⃣ 数组排序5️⃣ 数组转置6️⃣ 对象数组7️⃣ 数组操作API7.1 数组复制7.2 数组排序 🌾 总结 本节学习目标 掌握数组的动态及静…

水库监测中仪器安装及监测结果的要求有哪些

水库监测点位布设需要根据水库运行情况和安全监测的需求来进行,一般分为基础监测点位和重要部位监测点位,基础监测点位主要包括上游水位、上游库水位变幅、库岸稳定以及上下游坝坡稳定等。重要部位监测点位主要包括坝轴线、溢洪道进口和泄水洞出口等部位…

前端报错:“Uncaught SyntaxError: missing ) after argument list“只是参数列表后面缺少 “)”?

报错"Uncaught SyntaxError: missing ) after argument list",字面翻译过来的意思:语法错误: 参数列表后面缺少 )。 一直以为是少了 一个小括号找了好久 发现并不是 据提示是参数列表的问题,找到文件中存在参数列表的地方。如下图…

如何利用MyBatis完成web项目的环境搭建(导入核心依赖包、日志、编译环境,配置文件以及Druid连接池)

目录 项目环境搭建 servlet实例 核心依赖 导入日志 编译环境 mapper注册 resouces中 dao中 MyBatis配置文件 实例效果 导入配置文件 Druid连接池 Druid连接池是什么? 如何配置Druid连接池? 实体类 实例效果 项目环境搭建 1.在pom.xml中…

STM32 Proteus UCOSII系统锅炉报警系统设计压力温度水位-0059

STM32 Proteus UCOSII系统锅炉报警系统设计压力温度水位-0059 Proteus仿真小实验: STM32 Proteus UCOSII系统锅炉报警系统设计压力温度水位-0059 功能: 硬件组成:51单片机 8位数码管MAX7219数码管驱动模块多个按键LED灯蜂鸣器 1.准确测量…

IronOCR for .NET 2023.7.0 Crack

IronOCR for .NET 关于 读取 .NET 应用程序中图像和 Pdf 文本的高级 OCR (光学字符识别) 库。 IronOCR for .NET enables software engineers to read text content from images & PDFs in .NET applications and Web sites. Read text and barcod…

HarmonyOS/OpenHarmony应用开发-程序包安装、卸载、更新流程

一、应用程序包安装和卸载流程 1.开发者 开发者可以通过调试命令进行应用的安装和卸载,可参考多HAP的调试流程。 图1 应用程序包安装和卸载流程(开发者) 2.终端设备用户 开发者将应用上架应用市场后,终端设备用户可以在终端设…

python_day4_dict

字典dict:键值对(无重复,无下标索引) my_dict {python: 99, java: 88, c: 77, c: 66} my_dict2 {} # 空字典 my_dict3 dict() print(f"my_dict:{my_dict},类型为:{type(my_dict)}") print(f"my_dict2:{my_dict2},类型为:…

AI应用系列--- TalkingPhoto 会说话的照片

利用HeyGen的服务可以生成有趣的Talkingphoto,方法有二: 1、访问HeyGen - AI Video Generator 网站,登录后即可根据提示或者案例生成talkingphoto 2、是使用HeyGen的 Discord​​​​​​机器人:https://discord.com/channels/1…