傅里叶变换是一类数学运算,可以识别构成信号的各个频率分量,并厘清各个分量的贡献。这类变换已经被用于挖掘声音、图像中的规律,无论是信号强度的平缓变化,还是细微重复的纹理与细节。数字处理器以0和1代表离散二进制数据来完成运算,一般依靠快速傅里叶变换(FFT)算法执行傅里叶变换。FFT会把一个大的傅里叶变换递归拆分成多个更小的变换,这种分治思路让数字处理器的运算速度大幅提升。这一优势体现在经典的O (N log N) 复杂度规律中,它描述了傅里叶变换所需的时间、能耗随变换规模N变化的关系。
模拟计算机依靠电压或者其他连续物理量来处理数据,传统上并不适合运行大规模傅里叶变换。如果能把FFT算法适配到模拟计算机上,就能兼顾模拟计算本身的高能效特性,同时享有这套算法带来的复杂度优势 —— 而此前只有数字处理器才能用上这个优势。
桑迪亚国家实验室、英飞凌与亚利桑那州立大学的研究人员近期提出一种新方案,可基于由大规模存储阵列构成的模拟系统高效完成关键的FFT运算。相关成果发表在《自然・电子学》上。该方案的思路是,将大规模傅里叶变换拆分为多组小规模运算,利用存储单元的电学特性,在模拟芯片上并行完成核心运算,其余步骤则交由数字方式处理。
论文第一作者T. Patrick Xiao在接受Tech Xplore采访时表示:“多年来,我们团队和很多同行都在研究模拟存内计算,把它当作矩阵乘法的高效加速器。矩阵乘法这个功能本身用处很大,绝大多数AI运算都可以转化为矩阵乘法。但这类硬件一直无法加速现代计算里最重要、应用最广的算法之一:FFT。这是一个很大的短板。”
SONOS闪存阵列内一块512×1024的存储区块,写入256点离散傅里叶变换矩阵,用于计算65536点FFT。右侧是单颗SONOS闪存单元的扫描电镜照片。
FFT算法已经是数字信号处理领域不可或缺的工具。但这套原本为数字处理器设计的算法,能否高效映射到模拟存内计算处理器,此前并不明确。
Xiao说:“一方面,我们的技术擅长跑矩阵乘法,矩阵越大越好,直到矩阵尺寸超过存储阵列的物理上限。另一方面,FFT算法的逻辑是不断拆分变换,拆得越小越好。我们该如何调和这两者?”
Xiao和团队希望把模拟计算和FFT算法结合起来。他们选用FFT的一种原始实现形式,把一次傅里叶变换拆成两个更小的变换,拆分后的子变换还可以继续再分,进一步缩小规模。Xiao解释:“当子问题的规模刚好匹配物理存储阵列的大小,我们就停止拆分,这就是最优平衡点。借助这个方法,任意尺寸的存储阵列都可以计算规模很大的FFT。但想要做到最优能效,我们要尽量减少拆分次数,也就是说,更大的存储阵列会更有优势。”
团队用来完成傅里叶变换主运算的芯片,基于SONOS闪存搭建。每一个存储单元都会在一层薄绝缘层中捕获电荷,断电之后也能保存数值。芯片运行时,就依靠这些预先存储的数值完成计算。在FFT场景下,闪存单元存储的是离散傅里叶变换的系数,也就是包含实部、虚部的复数。
Xiao表示:“SONOS存储器的控制精度很高,这个特性让我们可以搭建大规模阵列。我们在同一个阵列里同时调用超过50万个闪存单元来做矩阵乘法。很少有存储技术能够支撑这种规模的阵列并行计算,同时不让误差累积到失控。”
此前同类模拟芯片最多只能完成128点傅里叶变换,而这套系统可以处理65536点。在这项研究中,一个 “点” 代表一个输入值,例如一段音频采样里的单个样本。Xiao补充:“依托FFT本身的缩放特性,现在扩展到更大规模傅里叶变换,难度比之前低很多。”
Xiao团队提出的方案,让模拟存内计算芯片更容易跑大规模傅里叶变换,而不需要配套同等规模的超大存储阵列。如果没有这套方法,实现这类变换需要堆砌大量存储阵列,模拟计算的能效优势就会大打折扣。
很多真实场景都需要在芯片功耗、面积受限的条件下高效运行FFT,这套新方案会非常适配这类需求。
Xiao解释:“这类运算经常部署在无法接入电网、供电紧张的传感器系统上。供电限制,会制约设备能够执行的运算种类和运算量。有了这套方法,存内计算芯片既可以跑FFT密集型任务,也可以跑矩阵乘法密集型任务。也就是说,同一块芯片,能够以低功耗同时承载信号处理和AI算力负载。”
根据研究人员的仿真结果,这套方案可以降低信号处理的能耗,非常适合边缘计算 —— 设备在本地处理数据,不用等待数据中心返回结果。
论文通讯作者Christopher Bennett进一步谈到:“能够用存内计算实现大规模FFT,对边缘传感任务来说意义重大;小型设备可以完成过去在这类平台上无法实现的计算。举个例子,一颗同时搭载通用数字处理器与本方案模拟协处理器的卫星,生成光学图像或者雷达图像时,分辨率和成像规模可以提升一个数量级。这会催生遥感领域的新应用,比如野火监测、土地变化追踪、资源勘探以及国土安防。此外,无人机等飞行器也可以在长航时飞行中,完成此前无法实现的实时传感运算。”
目前团队已经在一维音频信号、二维图像上验证了这套方案。虽然实验结果很有前景,但他们认为这还只是硬件在真实场景可行性的初步验证。Xiao说:“模拟存内计算本身会引入一定误差,我们可以通过提升器件、电路精度,搭配算法校正来降低误差。”
研究团队还需要更多测试,评估计算误差对真实业务效果的影响。下一阶段,他们计划在除FFT之外、包含其他运算的复杂真实负载上测试这套系统。后续研究还会结合卫星、无人机这类边缘平台的硬件参数、功耗预算,评估该技术在边缘计算场景的落地潜力。Xiao补充:“未来的负载场景,可能包括传感器内计算,把基于FFT的信号处理和AI算法融合在一起。找到并开发这类负载、用它们评估这套技术,是接下来很关键的一步。”
本文转自媒体报道或网络平台,系作者个人立场或观点。我方转载仅为分享,不代表我方赞成或认同。若来源标注错误或侵犯了您的合法权益,请及时联系客服,我们作为中立的平台服务者将及时更正、删除或依法处理。
