WaveletGPT:基于小波的多尺度表征增强大型语言模型训练效率

news2024/10/6 7:25:54

斯坦福大学的研究人员首次将小波理论应用于大型语言模型,提出了WaveletGPT,通过在Transformer解码器层中添加多尺度滤波器,加速了模型训练速度,并在文本、音频和音乐等多个领域取得了显著的性能提升。

论文介绍

大型语言模型 (LLM) 已经彻底改变了人工智能,影响了各个科学和工程学科。最初为机器翻译设计的 Transformer 架构已成为 GPT 模型的基础,极大地推进了该领域的发展。然而,当前的 LLM 在其训练方法上面临着挑战,该方法主要侧重于在保持因果关系的同时,根据先前上下文预测下一个 token。这种直接的方法已应用于各种领域,包括机器人技术、蛋白质序列、音频处理和视频分析。随着 LLM 规模的不断扩大,达到数千亿甚至数万亿个参数,人们对人工智能研究可及性的担忧也随之而来,有些人担心人工智能研究可能会局限于行业研究人员。研究人员正在解决的核心问题是如何增强模型能力以匹配更大的架构,或者用更少的训练步骤实现可比的性能,最终解决 LLM 开发中的规模和效率挑战。

研究人员探索了通过操纵中间嵌入来增强 LLM 性能的各种方法。一种方法涉及将手动调整的滤波器应用于潜在空间的离散余弦变换,用于在非因果架构(例如 BERT)中执行命名实体识别和主题建模等任务。但是,这种转换整个上下文长度的方法不适合因果语言建模任务。

两种值得注意的技术,FNet 和 WavSPA,试图改进类 BERT 架构中的注意力块。FNet 用二维 FFT 块取代了注意力机制,但这种操作是非因果的,因为它考虑了未来的 token。WavSPA 在小波空间中计算注意力,利用多分辨率变换来捕获长期依赖关系。但是,它也依赖于非因果操作,检查整个序列长度。

这些现有方法虽然具有创新性,但在其对 GPT 等仅解码器的因果架构的适用性方面存在局限性。它们经常违反对下一 token 预测任务至关重要的因果关系假设,使其不适合直接应用于类 GPT 模型。挑战仍然在于开发能够在保持仅解码器架构的因果性质的同时提高模型性能的技术。

来自斯坦福大学的研究人员提出了将小波融入 LLM 的第一个实例 WaveletGPT,通过将小波融入其架构来增强 LLM。这项技术被认为是同类中的首创,它使用 Haar 小波将多尺度滤波器添加到 Transformer 解码器层的中间嵌入中。这种创新允许每个下一 token 预测在每一层访问多尺度表示,而不是依赖于固定分辨率的表示。

值得注意的是,这种方法在不添加额外参数的情况下将基于 Transformer 的 LLM 的预训练速度提高了 40-60%,鉴于 Transformer 解码器架构在各种模态中的广泛使用,这是一项重大进步。该方法还展示了在相同训练步骤下性能的实质性提高,相当于增加了多层或参数。

基于小波的操作在三种不同模态中均显示出性能提升:语言(text-8)、原始音频(YoutubeMix)和符号音乐(MAESTRO),突出了其对结构化数据集的多功能性。此外,通过使小波核可学习(仅添加一小部分参数),模型实现了更大的性能提升,使其能够从头开始学习中间嵌入上的多尺度滤波器。

所提出的方法在保持因果关系假设的同时将小波融入到基于 Transformer 的大型语言模型中。这种方法可以应用于各种架构,包括非 Transformer 设置。该技术侧重于处理来自每个解码器层的中间嵌入。

对于给定信号 xl(i)(表示第 l 个解码器层沿第 i 个坐标的输出),该方法应用离散小波变换。使用 N+1 层和嵌入维度 E,此过程从解码器块之间的中间嵌入生成 N*E 个长度为 L(上下文长度)的信号。

小波变换,特别是使用 Haar 小波,涉及使信号通过具有不同分辨率的滤波器。Haar 小波是通过缩放和平移操作从母小波派生的方形函数。此过程创建了在不同时间尺度捕获信号信息的子小波。

离散小波变换是通过使信号通过低通和高通滤波器,然后进行下采样来实现的。对于 Haar 小波,这等效于平均和差分运算。该过程通过卷积和下采样生成逼近系数 (yapprox) 和细节系数 (ydetail)。对逼近系数递归执行此操作以获得多尺度表示,从而允许每个下一 token 预测访问中间嵌入的这些多分辨率表示。

这种方法通过关注逼近系数将小波和 LLM 嵌入联系起来,逼近系数捕获了不同级别的结构化数据。对于文本,这种结构的范围从字母到主题模型,而对于符号音乐,它的范围从音符到整个乐曲。该方法使用 Haar 小波,将过程简化为移动平均运算。为了保持因果关系和原始序列长度,该方法计算每个 token 维度内特定内核长度内的先前样本的移动平均值。这将创建输入信号的多尺度表示,从而允许模型跨嵌入维度捕获不同分辨率的信息,而无需更改中间 Transformer 嵌入的结构。

该方法引入了一种独特的方法来合并多尺度表示,而不会增加架构复杂性。它没有计算每个嵌入维度的所有级别的近似信号,而是通过嵌入维度本身的索引对级别进行参数化。这种方法保留了一半的中间嵌入信号不变,而根据它们的索引处理另一半。对于已处理的一半,一个简单的映射函数 f 确定每个坐标的内核大小,范围从级别 I 到 IX 近似值。修改后的信号 xnl(i) 使用因果移动平均滤波器计算,该滤波器的内核大小由 f(i) 确定。此操作维护了 LLM 中至关重要的因果关系假设,并防止信息从未来 token 泄漏。该技术创建了一种结构,其中不同的嵌入维度以不同的速率移动,从而允许模型捕获不同尺度的信息。这种多速率结构使注意力机制能够利用每一层和每个 token 的多尺度特征,从而潜在地增强模型捕获数据中复杂模式的能力。

在这里插入图片描述

跨三种模态(文本、符号音乐和音频波形)的结果表明,基于小波的中间操作可以显着提高性能。对于自然语言,验证损失的减少相当于在 text-8 数据集上从 16 层模型扩展到 64 层模型。就训练步骤而言,修改后的架构实现相同损失的速度几乎是原始架构的两倍。对于原始音频,这种加速更加明显,这可能是由于音频信号在短时间尺度上的准平稳性质。与 text-8 和符号音乐相比,原始波形 LLM 设置的收敛速度几乎快了两倍。

在这里插入图片描述

比较绝对时钟运行时间,修改后的架构在可学习和不可学习的设置中都显示出计算效率。报告了相对于基线架构完成一个 epoch 所需的时间。事实证明,该方法计算成本低,因为主要操作涉及 Haar 小波的简单平均或学习跨嵌入维度具有可变上下文长度的单个滤波器卷积核。这种效率与性能的提高相结合,突出了基于小波的方法在增强跨不同模态的 LLM 训练方面的有效性,而不会产生显着的计算开销。

在这里插入图片描述

本研究介绍了 WaveletGPT,介绍了小波(一种核心信号处理技术)与大型语言模型预训练的集成。通过向中间嵌入引入多尺度结构,性能速度提高了 40-60%,而无需添加任何额外参数。该技术在三种不同的模态中被证明是有效的:原始文本、符号音乐和原始音频。当训练相同的时间时,它表现出显着的性能提升。未来可能的方向包括结合来自小波和多分辨率信号处理的先进概念,以进一步优化大型语言模型。

论文下载

  • 论文地址:https://arxiv.org/abs/2409.12924

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

求和问题题解

减 sort拍后就A了 #include <bits/stdc.h> #include <cstring> using namespace std; typedef long long ll; ll n,a[400005],cnt0,b[400005]; bool cmp(long long x,long long y){return x>y; } int main () {cin>>n;for(int i1;i<n;i){cin>>…

查缺补漏----同步,异步,半同步,分离式通信

目录 1.同步通信&#xff08;同步定时方式&#xff09; 2.异步通信 3.半同步通信 4.分离式通信 1.同步通信&#xff08;同步定时方式&#xff09; 同步通信方式&#xff08;比如SPI&#xff09;&#xff0c;是把许多字符组成一个信息组&#xff0c;这样&#xff0c;字符可…

Springboot 整合 durid

文章目录 Springboot 整合 druiddruid的优势配置参数使用整合 Druid配置数据源配置参数绑定配置参数配置监控页面配置拦截器 Springboot 整合 druid druid的优势 可以很好的监控 DB 池连接 和 SQL 的执行情况可以给数据库密码加密可以很方便的编写JDBC插件 配置参数 使用 整…

数据结构之树(4)

摘要&#xff1a;本篇主要讲哈夫曼树、并查集、二叉排序树、平衡二叉树等&#xff0c;非常非常非常重要&#xff01;&#xff01;&#xff01; 一、哈夫曼树 基于霍夫曼树&#xff0c;利用霍夫曼编码进行通信可以大大提高信道利用率&#xff0c;缩短信息传输时间&#xff0c;…

Android2024.2.1升级错误

提示 Gradle 版本不兼容&#xff0c;升级后就报错了 。 1.gradle安装包镜像 distributionBaseGRADLE_USER_HOME distributionPathwrapper/dists //distributionUrlhttps\://services.gradle.org/distributions/gradle-8.5-bin.zip distributionUrlhttps://mirrors.cloud.tencen…

Koa2项目实战1(项目搭建)

前言 在正式开始之前&#xff0c;需要先知道用到的东西&#xff1a; koa&#xff1a;Koa 是一个基于 Node.js 的 Web 应用框架&#xff0c;非常适合开发API服务&#xff0c;可以与前端框架&#xff08;如 Vue.js、React.js&#xff09;结合使用&#xff0c;实现前后端分离的开…

第八篇:磁盘管理(1)

目录 6.1分区 6.1.1基本分区 6.1.1.1磁盘的相关知识 6.1.1.1.1基础知识 6.1.1.1.2命名 1.对于串口硬盘&#xff1a;/dev/sda、/dev/sdb、/dev/sdc......往后都是一个字母一个字母的累加 2.对于并口硬盘&#xff1a;/dev/hda其余相同 6.1.1.1.3磁盘的分区方式 方式1&am…

c++_ 多态

目录 一.多态 1.1多态(polymorphism)的概念 1.2实现多态还有两个必须重要条件&#xff1a; 1.3 重载 和 虚函数的重写/覆盖 和 隐藏 的比对 1.4 协变(了解) 1.5 析构函数的重写 1.6 override 和final关键字 二.纯虚函数和抽象类 三. 多态的原理 3.1虚函数表指针 3.…

黑马JavaWeb开发跟学(十一)SpringBootWeb案例

黑马JavaWeb开发跟学十一.SpringBootWeb案例 SpringBootWeb案例1. 新增员工1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 功能测试1.6 前后端联调 2. 文件上传2.1 简介2.2 本地存储2.3 阿里云OSS2.3.1 准备2.3.2 入门2.3.3 集成 3. 修改员工3.1 查询回显3.1.1 接口文档3.1…

性能测试笔记2-总

安装路径&#xff1a;先装jdk,后装JMeter 安装JDK&#xff1a; 下载JDK – 安装JDK – 配置环境变量 – 验证 安装Jmeter&#xff1a; 下载Jmeter – 安装Jmeter – 配置环境变量 – 启动验证 注意点&#xff1a; 下载JDK时&#xff0c;注意电脑操作系统是32位/64位 下载…

力扣 简单 110.平衡二叉树

文章目录 题目介绍解法 题目介绍 解法 平衡二叉树:任意节点的左子树和右子树的高度之差的绝对值不超过 1 //利用递归方法自顶向下判断以每个节点为根节点的左右子树的最大深度是否大于1 class Solution {public boolean isBalanced(TreeNode root) {if(root null){return tr…

Uniapp API

1.uni.showToast 显示消息提示框 unishowToast({ obj参数 }) 2.uni.showLoading 显示 loading 提示框, 需主动调用 uni.hideLoading 才能关闭提示框。 3.uni.showModal 显示模态弹窗&#xff0c;可以只有一个确定按钮&#xff0c;也可以同时有确定和取消按钮。类似于一个A…

windows上安装python环境

前言 最近电脑重装了系统&#xff0c;需要重新安装python环境 &#xff0c;因此记录一下 1.下载 打开python官网下载&#xff0c;下载链接&#xff1a;https://www.python.org/downloads/windows/ 点击下载 &#xff0c;我这里使用64位操作系统(大部分电脑)&#xff0c;根据…

怎么查看网站是否被谷歌收录,查看网站是否被谷歌收录的简便方法

查看网站是否被谷歌收录&#xff0c;有多种简便方法可供选择。以下是一些常用的简便方法&#xff1a; 一、使用“site:”指令 打开谷歌搜索引擎&#xff1a; 在浏览器中打开Google.com&#xff0c;确保使用的是谷歌的官方搜索引擎。 输入查询指令&#xff1a; 在搜索框中输…

网关路由登录校验

网关过滤器 登录校验必须在请求转发到微服务之前做&#xff0c;否则就失去了意义。而网关的请求转发是Gateway内部代码实现的&#xff0c;要想在请求转发之前做登录校验&#xff0c;就必须了解Gateway内部工作的基本原理。 暂时无法在飞书文档外展示此内容 如图所示&#xff…

15分钟学 Python 第38天 :Python 爬虫入门(四)

Day38 : Python爬虫异常处理与反爬虫机制 章节1&#xff1a;异常处理的重要性 在爬虫开发过程中&#xff0c;网络请求和数据解析常常会遭遇各种异常。正确的异常处理可以提高程序的稳定性&#xff0c;避免崩溃&#xff0c;并帮助开发者快速定位问题。 章节2&#xff1a;常见…

requests案例——腾讯新闻数据的爬取

需求&#xff1a; 1.利用requests方法爬取该i.news.qq.com网站的数据&#xff08;包括名字和对应链接&#xff09; 2.实现翻页的爬取 3.将爬取下来的数据保存在excel文件中 4.利用jsonpath来解析获取的数据 5.使用openpyxl库处理 Excel 文件 注意&#xff1a; 1.如果报以…

一个不错的 SQL 编码风格的指南

前言 SQL语句的编写对于我们后端开发者而言是一个必备的技巧&#xff0c;在日常工作中&#xff0c;SQL语言编写的质量不仅仅会影响到团队的合作效率与项目的可维护性&#xff0c;还直接关系到数据库的性能优化与数据安全。今天大姚给大家分享一个不错的 SQL 编码风格的指南&am…

卡码网KamaCoder 117. 软件构建

题目来源&#xff1a;117. 软件构建 C题解&#xff08;来源代码随想录&#xff09;&#xff1a;拓扑排序&#xff1a;给出一个 有向图&#xff0c;把这个有向图转成线性的排序。拓扑排序也是图论中判断有向无环图的常用方法。 拓扑排序的过程&#xff0c;其实就两步&#xff1…

Kubernetes资源详解

华子目录 1.Kubernetes中的资源1.1资源管理介绍1.2资源管理方式1.2.1命令式对象管理1.2.2kubectl常见command命令1.2.3资源类型1.2.4常用资源类型 基本命令示例运行和调试命令示例高级命令示例总结 其他命令示例create和apply区别案例显示命名空间查看命名空间中的pod如何对外暴…