基于牛顿求根法,新算法实现并行训练和评估RNN,带来超10倍增速
人们普遍认为 RNN 是无法并行化的,因为其本质上的序列特性:其状态依赖于前一状态。这使得人们难以用长序列来训练 RNN。近日,一种新算法的出现打破了这一惯常认知,可以并行化 RNN 和 NeuralODE 等非线性序列模型的评估和训练,从而为相关研究和开发带来显著的速度提升。
过去十年来,深度学习领域发展迅速,其一大主要推动力便是并行化。通过 GPU 和 TPU 等专用硬件加速器,深度学习中广泛使用的矩阵乘法可以得到快速评估,从而可以快速执行试错型的深度学习研究。
尽管并行化已经在深度学习研究中得到了广泛的使用,但循环神经网络(RNN)和神经常微分方程(NeuralODE)等序列模型却尚未能完全受益于此,因为它们本身需要对序列长度执行序列式的评估。
序列评估已经变成了训练序列式深度学习模型的瓶颈。这一瓶颈可能会使人们关注的研究方向偏离序列模型。
举个例子,注意力机制和 transformer 在近些年中超过 RNN 成为了语言建模的主导技术,部分原因就是它们能以并行的方式训练。连续归一化流(CNF)过去常使用的模型是 NeuralODE,现在却转向了训练过程不涉及到模拟 ODE 的新方向。
近期有一些尝试复兴序列 RNN 的研究工作,但它们的重心都是线性循环层 —— 可使用前缀扫描(prefix scan)来进行并行化地评估,非线性循环层在其序列长度上依然无法并行化。
近日,英国 Machine Discovery 公司和牛津大学的一篇论文提出了一种新算法,可将 RNN 和 NeuralODE 等非线性序列模型的评估和训练工作并行化,并且他们宣称这一算法还不会在「合理的数值精度」内改变模型的输出。
论文地址:https://arxiv.org/pdf/2309.12252.pdf
那么他们是怎么做到这一点的呢?
据介绍,他们引入了一种用于求解非线性微分方程的通用框架,其做法是将这些方程重新表述为二次收敛的定点迭代问题,这相当于牛顿求根法。定点迭代涉及到可并行运算和一个可并行地评估的逆线性算子,即使是对于 RNN 和 ODE 这样的序列模型也可以。
由于是二次收敛,所以定点迭代的数量可以相当小,尤其是当初始起点接近收敛的解时。在训练序列模型方面,这是一个相当吸引人的功能。由于模型参数通常是渐进式更新的,所以之前训练步骤的结果可以被用作初始起点。
最重要的是,研究者表示,新提出的算法无需序列模型具备某种特定结构,这样一来,用户不必改变模型的架构也能收获并行化的好处。
DEER 框架:将非线性微分方程视为定点迭代
DEER 框架具有二次收敛性,并且与牛顿法存在关联。这一框架可以应用于一维微分方程(即 ODE),也可用于更高维的微分方程(即偏微分方程 / PDE)。该框架还可以应用于离散差分方程以达到相同的收敛速度,这一特性可以应用于 RNN。
使用该框架,用户可以设计一种用于评估 RNN 和 ODE 的并行算法,并且不会对结果产生明显的影响。
DEER 框架
令我们感兴趣的输出信号为 y (r),其由 n 个在 d 维空间的信号构成,其坐标表示为 r。输出信号 y (r) 可能依赖于输入信号 x (r),其关系是某个非线性的延迟微分方程(DE):
其中 L [・] 是 DE 的线性算子,f 是非线性函数,其依赖于 P 个不同位置的 y 值、外部输入 x 和参数 θ 的。这是一个通用形式,足以表示各种连续微分方程,比如 ODE(当 L [・] = d/dt 且 r = t)、偏微分方程(PDE)、甚至用于 RNN 的离散差分方程。
现在,在左侧和右侧添加一项
,其中 Gp (r) 是一个依赖于位置 r 的 n×n 矩阵。G_p 的值会在后面决定。现在1式就变成了:
2式的左侧是一个关于 y 的线性方程,在大多数情况下,其求解难度都低于求解非线性方程。在3式中,研究者引入了一个新符号
,用以表示在给定边界条件下求解2式左侧的线性算子的线性算子。
3式可被看作是一个定点迭代问题,即给定一个初始猜测
,可以迭代地计算等式右侧,直到其收敛。为了分析这种接近真实解的收敛性,这里将第 i 轮迭代时的 y 值记为
,其中
是满足3式的真实解。将 y^(i) 代入3式可以得到 y^(i 1),然后泰勒展开至一阶,得:
其中 J_pf 是 f 在其第 p 个参数上的雅可比矩阵。根据上式,通过选择
可让 δy^(i 1) 的一阶项为0。
这表明,根据上式选择矩阵 G_p,能以最快的速度收敛到解附近。这还表明,3式和5式中的迭代相当于在巴拿赫空间(Banach space)中实现牛顿法,因此能提供二次收敛性。
3式中的迭代过程涉及到评估函数 f、其雅可比矩阵和矩阵乘法,这些运算可以使用现代加速器(如 GPU 和 TPU)来并行化处理。如果能以并行方式求解线性方程,那么整个迭代过程都可利用并行计算。在深度学习背景中,将非线性微分方程视为定点迭代问题来求解还有另一个优势,即可以将前一步骤的解(如果能放入内存)用作下一训练步骤的起始猜测。如果起始猜测更好,则能减少寻找非线性微分方程的解所需的迭代步骤。
实际实现
为了将3式的 DEER 框架用于具体问题,需要遵循一些步骤。
第一步是将问题改写成1式,定义变量 y、线性算子 L [・] 和非线性函数 f (・)。
第二步是实现研究者所说的位移器函数(shifter function)。这个位移器函数是以 y (r) 的整体离散值为输入,返回经过位移的 y 值的列表,即 y (r − s_p),其中 p = {1, ..., P}。这个位移器函数可能需要一些附加信息,比如起始或边界条件。这个位移器函数的输出将会是非线性函数的输入。
下一步(通常也是最难的一步)是根据矩阵列表 G_p 和在某些点离散的向量值 h 实现逆算子
。这个逆算子可能也需要有关边界条件的信息。
只要能提供算法1中的需求,就可以将 DEER 框架应用于任意微分或差分方程。
并行化常微分方程(ODE)
ODE 的形式通常是 dy/dt = f (y (t), x (t), θ),其中初始条件 y (0) 是已给定的。上面的 ODE 形式如果用1式表示,则有 r = t、L = d/dt、P =1和 s_1=0。这意味着 ODE 中的算子
相当于在给定初始条件 y (0) 时求解下面的线性方程。
假设 G (t) 和 z (t) 是 t = t_i 和 t = t_{i 1} 之间的常量,分别为 G_i 和 z_i,则可以将 y_{i 1}=y_(t_i 1) 和 y_i = y (t_i) 之间的关系写成:
其中 ∆_i = t_{i 1} − t_i,I 是单位矩阵,exp (・) 是矩阵指数。9式可以使用并行前缀扫猫算法进行评估。具体来说,首先可以为每个离散时间点 t_i 定义一对变量
,初始值 c_0=(I|y_0) 以及一个关联算子
给定上面的初始值 c_0和关联算子,可以并行方式运行关联扫描以获取上述算子的累积值。解 y_i 可从这个并行扫描算子的结果的第二个元素获取。
并行化 RNN
循环神经网络(RNN)可以看作是一种离散版的 ODE。令索引 x 处的输入信号为 x_i,前一状态为 y_{i-1},则当前状态可以写成 y_i = f (y_{i-1}, x_i , θ)。
这个形式可以捕获常见的 RNN 单元,比如 LSTM 和 GRU。而如果用1式来写这个形式,则有 r = i、L [y] = y、P =1和 s_1=1。这意味着给定起始状态 y_0,可以通过求解下式来计算逆线性算子:
求解上式就相当于求解前一小节的9式。这意味着也可以使用并行前缀扫描和11式中定义的关联算子来将其并行化。
实验
图2给出了新提出的方法在 V100GPU 上所实现的速度提升。
这张图表明,当维度小、序列长度长时,取得的速度提升最大。但是,随着维度增多,速度提升会下降。对前向 梯度计算的提速甚至超过仅前向计算的提速。
图3比较了使用序列方法和 DEER 方法评估的 GRU 的输出。
从图3可以看出,使用 DEER 方法评估的 GRU 的输出几乎与使用序列方法获得的输出一样。图3(b) 中的小误差源于单精度浮点的数值精度限制。
图4(a, b). 给出了使用 DEER 方法和 RK45方法时训练期间的损失变化情况。从图中可以看到,相比于使用普通的 ODE 求解器,当使用新提出的 DEER 方法时,训练速度可以提升11倍,并且这两种方法的验证损失差别不大。
图4(c, d) 比较了使用 DEER 方法和常用的序列方法时,GRU 网络训练期间的验证准确度。从图中可以看到,使用 DEER 方法时的验证准确度图表与使用序列方法时的很相近。
音乐领域的ControlNet来了!Music ControlNet可精确控制音乐中的时间变化
MusicControlNet是一款基于扩散(diffusion)技术的音乐生成模型,旨在为文本到音乐生成模型提供多个准确的、时变的音乐控制。虽然现代文本到音乐生成模型已经能够以广泛的风格生成高质量音乐,但文本控制主要适用于操纵全局的音乐属性,如流派、情绪和速度,对于精确控制音乐中时间变化的属性,比如节奏中的拍子位置或音乐动态的变化,则表现不佳。站长网2023-11-21 10:12:140002实测完快手的AI视频「可灵」后,我觉得这才是第一个中国版Sora
昨天,6月6号,是快手的13周年生日。在这一天,所有AI圈的人都想不到,快手在13周年之际,没有任何预兆、没有任何宣传,直接发布了他们的AI视频大模型。可灵。给我也干了个措手不及。我当时正在看360的发布会,突然手机就叮叮当当一顿狂响,打开一看,一群人跟我说:快快快,看快手,他们发AI视频模型了。站长网2024-06-07 18:53:500000苹果计划收购德国AI初创公司Brighter AI以增强隐私功能
有消息称,苹果正计划收购德国人工智能初创公司BrighterAI,该公司专注于匿名化人脸和车牌数据。据了解,苹果计划利用此次收购来增强其产品AppleVisionPro的隐私功能。这项收购意在帮助苹果最大限度地降低在公共场合拍摄的视频或照片中捕获可识别信息的风险。站长网2024-02-05 11:27:080000知乎和面壁科技合作大模型“知海图AI”开始内测
今日,知乎创始人、CEO周源宣布,知乎和面壁科技合作的中文大模型“知海图AI”正式开启内测。同时,基于人工智能的“热榜摘要”开启内测,对知乎热榜上的问题回答进行抓取、整理和聚合,并把回答梗概展现给用户。据了解,“知海图AI”大模型,由面壁智能与知乎共同训练完成。“知海图AI”的训练基于面壁智能自主研发的CPM企业级大模型与ModelForce大模型系统。站长网2023-04-13 17:30:150000流水3亿,3天涨粉100万+,短剧让用户重新爱上抖音
“好虐啊!好虐啊!男主到底什么时候追妻火葬场?”“男主什么时候才能复仇成功?”“死渣男!女主到底什么时候发现他出轨?”喜欢看剧的你,是否有过类似的吐槽?近几年,注水剧多了,吐槽也多了。不少人懒得看电视剧,失去了看剧的快乐,本人也如此。直到年初爆火短剧《二十九》的出现,让我重新找回了看剧的快乐。01#3集播放量破亿,抖音短剧《二十九》表现优异站长网2023-10-26 18:10:380000