首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >状态空间模型 >状态空间模型的并行扫描算法是如何工作的?

状态空间模型的并行扫描算法是如何工作的?

词条归属:状态空间模型

1. 循环结构的并行化需求

朴素循环结构逐时间步串行计算,无法利用现代硬件的并行能力,训练效率低下。并行扫描(Parallel Scan)算法通过将递推分解为可结合的前缀和运算,使循环结构能够在硬件上并行执行。

2. 选择性扫描(Selective Scan)

Mamba 引入的选择性机制使参数依赖输入,破坏了线性时不变性,无法直接用卷积。为此,Mamba 采用选择性扫描算法:将序列分块,块内做二次(类注意力)计算以利用硬件效率,块间传递 SSM 状态以维持整体线性复杂度。该算法在保持线性扩展的同时恢复了并行训练能力。

3. 硬件感知实现

Mamba 的实现进一步做了 IO 优化:不将庞大的状态矩阵写入 GPU 高带宽内存(HBM),而是在片上高速 SRAM 中完成扫描(recurrence)运算,大幅减少内存读写。官方实现报告,该高效扫描内核相比朴素的选择性循环实现可提速数十倍。

相关文章
Flink中可查询状态是如何工作的
QueryableStates 允许用户对流的内部状态进行实时查询,而无需将结果存储到任何外部存储中。 这制造了许多有趣的可能,因为我们不再需要等待系统写入外部存储(这一直是此类系统的主要瓶颈之一)。 甚至可能没有任何类型的数据库能让用户的应用程序直接查询流,这将使应用程序更快、更便宜。 这可能不适用于所有用例,但如果您的 Pipeline 必须维护内部状态(可能是进行一些聚合),则最好使状态可用于查询。
smartsi
2021-06-29
3.6K0
面部识别算法是如何工作的?
过去十年,深度学习领域出现了许多先进的新算法和突破性的研究,并且引入了新的计算机视觉算法。
小白学视觉
2022-12-27
1.5K0
Transformers是SSMs:通过结构化状态空间对偶性的广义模型和高效算法(一)
尽管Transformer一直是深度学习在语言建模中取得成功的主要架构,但最近的研究表明,如Mamba之类的状态空间模型(SSMs)在小到中等规模上能够匹敌或超越Transformer的性能。我们表明,这两类模型实际上是非常相关的,并在一个经过充分研究的结构化半可分离矩阵类的各种分解之间,发展出SSM和注意力变体之间丰富的理论联系框架。我们的状态空间对偶性(SSD)框架使我们能够设计一种新的架构(Mamba-2),其核心层是对Mamba的选择性SSM的改进,速度提高了2-8倍,同时在语言建模方面继续与Transformer保持竞争力。
AI浩
2024-10-22
1.1K0
Goroutine是如何工作的
一、Go语言简介 如果你是Go语言新手,或如果你对"并发(Concurrency)不是并行(parallelism)"这句话毫无赶脚,那么请看一下Rob Pike大神关于这个主题的演讲吧,演讲共30分 钟,我敢保证你在这个演讲上花费30分钟是绝对值得的。 总结一下两者(Concurrency和Parallelism)的不同:"当人们听到并发(Concurrency)这个词时,总是会想起并行 (Parallelism),它们之间有相关性,但却是两个明显不同的概念。在编程领域,并发(Concurrency)是独
李海彬
2018-03-21
4.1K0
Widget是如何工作的
在前面我们介绍各种各样的Widget,相信大家对Wiget的使用都已经有了自己的认识,今天我们就从底层角度看下Widget是如何工作,是什么支撑起了Wiget这个系统。
flyou
2020-05-28
5.5K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券