当前位置: 首页 > news >正文

斯坦福大学引入FlashFFTConv来优化机器学习中长序列的FFT卷积

斯坦福大学的FlashFFTConv优化了扩展序列的快速傅里叶变换(FFT)卷积。该方法引入Monarch分解,在FLOP和I/O成本之间取得平衡,提高模型质量和效率。并且优于PyTorch和FlashAttention-v2。它可以处理更长的序列,并在人工智能应用程序中打开新的可能性。

处理长序列的效率一直是机器学习领域的一个挑战。卷积神经网络(cnn)最近作为序列建模的关键工具获得了突出的地位,在从自然语言处理到计算机视觉和遗传学的各个领域都提供了一流的性能。尽管卷积序列模型具有卓越的品质,但在速度方面仍落后于Transformers 。

快速傅里叶变换(FFT)卷积算法,通过在频域内计算输入序列和核之间的卷积,可以解决上面卷积的问题。但是FFT卷积在执行时间方面有非常大的问题。

斯坦福大学的研究人员正在努力优化现代FFT卷积方法:

为较短序列优化FFT卷积是一种常见的做法,涉及跨多个批次重用内核滤波器和FFT的预计算。这种方法允许跨批处理和核的并行化,而核融合使中间卷积输出能够被有效地缓存。

但是随着序列长度的增长,出现了两个主要障碍。1、FFT卷积不能充分利用当代加速器中专用的矩阵-矩阵乘法单元。2、当序列超过SRAM的容量时,核融合因为需要昂贵的I/O操作变得不切实际。

而斯坦福大学的研究人员引入了FlashFFTConv,利用FFT的Monarch分解来优化扩展序列的卷积。这种分解将FFT重新想象为一系列矩阵-矩阵乘法运算,并选择分解顺序,表示为“p”。

这项研究提供了使用基于序列长度的直接成本模型来优化GPU中FLOP和I/O成本的“p”的见解。这种分解不仅有利于较长序列的核融合,而且还减少了必须驻留在SRAM中的序列数据量。FlashFFTConv可以有效地处理从256到惊人的400万个字符的序列。FlashFFTConv利用实值FFT算法并优化零填充输入的矩阵乘法操作,可以将FFT操作长度减少高达50%。

此外,FlashFFTConv还提供了一个通用的框架:部分卷积和频率稀疏卷积。这些技术类似于Transformers中的稀疏和近似注意力机制,可以显著降低内存使用和运行时间。

FlashFFTConv加速FFT卷积,可以提高卷积序列模型的质量和效率。对于相同的计算,它还可以实现指标的改进,例如Hyena-GPT-s的perplexity降低2.3,M2-BERT-base的平均GLUE分数提高3.3。这种性能提升类似于将模型的参数大小增加一倍。

FlashFFTConv在效率方面也很出色,与PyTorch相比,它提供了高达7.93倍的效率和高达5.6倍的内存节省。并且这些效率的提高在很长的序列长度范围内都持续存在。由于降低了FLOP成本,它在2K或更长时间序列的计算时间上超过了FlashAttention-v2,实现了高达62.3%的端到端FLOP使用率。

FlashFFTConv使模型能够处理更长的序列,打破了以前认为不可逾越的障碍。它已经完成了Path-512任务,这是一项序列长度为256K的高分辨率图像分类任务,并使用部分卷积将HyenaDNA扩展到惊人的400万序列长度。

斯坦福大学的FlashFFTConv在优化长序列的FFT卷积方面取得了非常巨大的进步。这项突破性技术有望重塑卷积序列模型的格局,提高它们的质量和效率。

以下是一些相关的信息:

https://avoid.overfit.cn/post/de29ba25d1c94218b1c9da494b5e58c3

相关文章:

斯坦福大学引入FlashFFTConv来优化机器学习中长序列的FFT卷积

斯坦福大学的FlashFFTConv优化了扩展序列的快速傅里叶变换(FFT)卷积。该方法引入Monarch分解,在FLOP和I/O成本之间取得平衡,提高模型质量和效率。并且优于PyTorch和FlashAttention-v2。它可以处理更长的序列,并在人工智能应用程序中打开新的可…...

信息系统项目管理师-干系人管理论文提纲

快速导航 1.信息系统项目管理师-项目整合管理 2.信息系统项目管理师-项目范围管理 3.信息系统项目管理师-项目进度管理 4.信息系统项目管理师-项目成本管理 5.信息系统项目管理师-项目质量管理 6.信息系统项目管理师-项目资源管理 7.信息系统项目管理师-项目沟通管理 8.信息系…...

Windmill:最快的自托管开源工作流引擎

我们对 Windmill 进行了基准测试,认为它是 Airflow、Prefect 甚至 Temporal 中最快的自托管通用工作流引擎。对于 Airflow,有速度快了 10 倍! 工作流引擎编排工作人员的有向无环图 (DAG) 中定义的作业,同时尊重依赖性。 主要优点…...

线性代数 - 几何原理

目录 序言向量的定义线性组合、张成空间与向量基线性变换和矩阵线性复合变换与矩阵乘法三维空间的线性变换行列式矩阵的秩和逆矩阵维度变换点乘叉乘基变换特征值和特征向量抽象向量空间 序言 欢迎阅读这篇关于线性代数的文章。在这里,我们将从一个全新的角度去探索线…...

火电厂电气部分设计

摘要 本文首先根据任务书上所给系统与线路及所有负荷的参数,分析负荷发展趋势。从负荷增长方面阐明了建站的必要性,然后通过对拟建变电站的概括以及出线方向来考虑,并通过对负荷资料的分析,安全,经济及可靠性方面考虑…...

界面组件DevExpress Reporting v23.1 - Web报表设计器功能升级

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表 界面组件DevExpress Reporting v23.1已经发布一段…...

小程序Canvas 2D问题解决,如安卓drawImage不执行、动态高度设置、高度1365(或4096)限制等

我的最新版小程序想在绘制时使用自定义字体,需要将旧版canvas升级到2d新版,发现了许多问题,下面记录一下并提供解决思路,仅供参考,欢迎提供新思路。 一、开发工具和安卓上drawImage不执行,绘制出来是空白&…...

人工智能对网络安全的影响越来越大

如果问当前IT行业最热门的话题是什么,很少有人会回答除了人工智能(AI)之外的任何话题。 在不到 12 个月的时间里,人工智能已经从一项只有 IT 专业人员才能理解的技术发展成为从小学生到作家、程序员和艺术家的每个人都使用的工具…...

JavaEE(SpringMVC)期末复习

文章目录 JavaEE期末复习一、单选题: JavaEE期末复习 一、单选题: 1.Spring的核⼼技术是( A )? A依赖注入 B.JdbcTmplate C.声明式事务 D.资源访问 Spring的核心技术包括依赖注入(Dependency Injection&am…...

微服务保护 Sentinel

1.初识Sentinel 文章目录 1.初识Sentinel1.1.雪崩问题及解决方案1.1.1.雪崩问题1.1.2.超时处理1.1.3.仓壁模式1.1.4.断路器1.1.5.限流1.1.6.总结 1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.4.微服务整合Sentinel 2.流量控制2.1.簇点链…...

【无标题】文本超过一行隐藏,鼠标经过显示提示框

创建一个组件专门用来出来文字的 <template><div class"tooltip-wrap"><el-tooltipref"tlp":content"text"effect"dark":disabled"!tooltipFlag":placement"placement"popper-class"tooltip…...

成为独立开发者有多难

首先自我介绍&#xff1a;我是一名前端开发工程师&#xff0c;7年的前端开发经验。CSDN 九段刀客_js,vue,ReactNative-CSDN博客,80多万的访问量&#xff0c;1万多的粉丝。 相信80%的程序员的终极梦想都是成为一名独立开发者&#xff0c;不用找工作有自己的产品可以有睡后收入。…...

C++ 正则表达式使用

C 11 以后有了正则表达式,对于处理字符串还是很方便的.由于我也再学习.所以下面的内容有可能描述的不准确,这些都是我自己代码中使用的,或者demo测试的. 首先使用正则表达式先要添加头文件 #include <regex> 然后编写自己的正则表达式: 例如我想匹配字符串中表示数字…...

VSCode任务tasks.json中的问题匹配器problemMatcher的问题匹配模式ProblemPattern详解

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、简介 在 VS Code 中&#xff0c;tasks.json 文件中的 problemMatcher 字段用于定义如何解析任务输出中的问题&#xff08;错误、警告等&#xff09;。 problemMatcher有三种配置方式&#xff0c;具体可…...

CSS 实现文本框签名

<div class"textarea-prepend"><textarea rows"6" placeholder"请输入消息内容"></textarea></div>.textarea-prepend {position: relative;}.textarea-prepend textarea {width: 300px;}.textarea-prepend::before {ba…...

Spring 定时任务如何到达某一指定时间点后,触发任务机制

在Spring框架中&#xff0c;可以使用Spring Task来实现定时任务。以下是使用Spring Task触发定时任务的步骤&#xff1a; 添加依赖&#xff1a;首先&#xff0c;在你的项目中添加Spring Task的依赖。如果使用Maven管理项目&#xff0c;可以在pom.xml文件中添加以下依赖项&#…...

PDF Reader Pro 3.0.1.0(pdf阅读器)

PDF Reader Pro是一款功能强大的PDF阅读、注释、填写表单&签名、转换、OCR、合并拆分PDF页面、编辑PDF等软件。 它支持多种颜色的高亮、下划线&#xff0c;可以按需选择&#xff0c;没有空白处可以进行注释&#xff0c;这时候便签是你最佳的选择&#xff0c;不点开时自动隐…...

【rust:tauri-app踩坑记录】dangerousRemoteDomainIpcAccess 不适用于IP地址,临时解决方案

找到一个临时解决方案&#xff1a; 修改依赖包的源代码 找到 C:\Users%USER_HOME%.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-1.4.1\src\scope\ipc.rs 修改 函数 remote_access_for 将 155 行中的 matches_domain 删除掉&#xff0c;去掉校验 if matches_w…...

[Docker]八.Docker 容器跨主机通讯

一.跨主机通讯原理 在主机192.168.31.140上的docker0(172.17.0.0/16)中有一个容器mycentos( 172.17.0.2/16), 在主机192.168.31.81上的docker0(172.17.0.0/16)中有一个容器mycentos( 172.17.0.2/16),然后在主机192.168.31.140上ping主机192.168.31.81,发现ping不通要实现两个主…...

面试cast:reinterpret_cast/const_cast/static_cast/dynamic_cast

目录 1. cast 2. reinterpret_cast 3. const_cast 3.1 加上const的情况 3.2 去掉const的情况 4. static_cast 4.1 基本类型之间的转换 4.2 void指针转换为任意基本类型的指针 4.3 子类和父类之间的转换 5. dynamic_cast 5.1 RTTI(Run-time Type Identification) 1.…...

除了get_security_bars,pytdx还有这些宝藏接口:行情、财务、板块数据一键获取指南

深度挖掘pytdx&#xff1a;行情、财务与板块数据的实战应用指南 在量化投资和金融数据分析领域&#xff0c;pytdx作为一款强大的Python库&#xff0c;其价值远不止于基础K线数据的获取。许多开发者仅仅停留在get_security_bars这样的基础接口上&#xff0c;却不知道它隐藏着更多…...

地图匹配算法:GPS轨迹与道路网络的匹配

地图匹配算法&#xff1a;GPS轨迹与道路网络的匹配 随着GPS技术的普及&#xff0c;车辆导航、共享出行和物流配送等领域产生了大量轨迹数据。由于GPS信号漂移、城市道路密集等因素&#xff0c;原始轨迹点往往无法准确反映车辆的真实行驶路径。地图匹配算法通过将离散的GPS点与…...

Android网络调试:除了adb logcat,你更需要掌握用tcpdump抓取HTTP/HTTPS流量

Android网络调试进阶&#xff1a;用tcpdump抓取与分析HTTP/HTTPS流量的完整指南 当你盯着adb logcat里那些模糊不清的网络错误日志时&#xff0c;是否曾想过——如果能直接看到设备发出的原始网络包该多好&#xff1f;作为移动开发者&#xff0c;我们经常需要验证API请求是否正…...

第四章:TTM分析: 4.8.2 TTM Eviction 选择策略: LRU 与候选筛选

前置阅读: TTM Eviction 机制概述与触发流程 本文解析 TTM Eviction 四步走中的 Step 2: 选择策略 – 从 VRAM 的 LRU 链表中,按什么规则选出被驱逐的 victim BO。 1. 核心问题 VRAM 不够用了,需要踢一个 BO 出去。但并不是所有 BO 都能踢: pinned 的 BO 不能踢 (被钉住了) …...

WPS 通配符神技:一键上标参考文献 + 中英文自动加空格

WPS 高效排版技巧&#xff1a;一键上标参考文献 & 中英文自动加空格 两个实用的 Word 通配符查找替换技巧&#xff0c;让你的学术文档瞬间专业&#xff01; 在撰写论文、报告或技术文档时&#xff0c;我们常常遇到两个排版痛点&#xff1a; 参考文献引用 [1] 没有上标&…...

GHelper:轻量级华硕笔记本控制工具完整使用指南

GHelper&#xff1a;轻量级华硕笔记本控制工具完整使用指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, an…...

NLP文本预处理技术与Keras实践指南

1. 文本数据预处理的核心挑战在自然语言处理&#xff08;NLP&#xff09;领域工作时&#xff0c;我经常遇到这样的场景&#xff1a;拿到一批原始文本数据时&#xff0c;它们可能包含社交媒体评论、新闻文章或产品描述等各种形式。这些数据通常存在大小写混乱、特殊符号、停用词…...

【VS Code Copilot Next 工作流自动化终极指南】:20年IDE专家亲授从零配置到生产级落地的7大黄金法则

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VS Code Copilot Next 自动化工作流的核心价值与演进脉络 VS Code Copilot Next 并非简单升级&#xff0c;而是将 AI 编程助手从“补全建议者”重塑为“上下文感知的工作流协作者”。其核心价值在于深度…...

TypeORM重大更新:MongoManager已弃用?3步快速迁移至新API

TypeORM重大更新&#xff1a;MongoManager已弃用&#xff1f;3步快速迁移至新API 【免费下载链接】typeorm TypeScript & JavaScript ORM for Node.js — supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle, and more. 项目地址: https://gitcode.com/Gi…...

硅基演化与碳基锚定——OpenClaw的反熵共同体、协议霸权与后人类纪元的文明契约(第十篇)

硅基演化与碳基锚定——OpenClaw的反熵共同体、协议霸权与后人类纪元的文明契约&#xff08;第十篇&#xff09;摘要历经前九篇从代码骨架、生态血肉、经济血脉、安全悖论直至认知内爆与热力学坍缩的层层剥洋葱式解构&#xff0c;我们已将 OpenClaw 从一款风靡全球的“开源龙虾…...