刚把 eLight 上由胡小永、杨起帆、龚旗煌等署名的可重构多功能集成光计算芯片论文读完。做光子集成、光电融合加速器这行当久了,对“用光算乘法”的套路其实并不陌生——光通过干涉、衍射这些物理过程,天然能并行完成矩阵运算,省电、省时,理论上一旦跑通,推理性价比能拉出明显差距。可真正自己搭过光路、调过相位的朋友都清楚:做一个专用光计算模块不难,难的是让它稳定、可编程、能根据任务切换成不同计算结构。这篇工作真正抓我眼球的,倒不是“又刷新了光算力纪录”,而是“可重构”和“多功能”这两个词。
先把痛点说清楚。我们现在聊大模型、推荐系统、科学计算,底层跑的基本都是密集矩阵乘法。电子芯片单位功耗下的算力天花板越来越明显,制程逼近物理边界,良率和成本都开始反噬。光学计算的吸引力在于,它把“算”的一部分交给光在介质里天然完成的干涉与叠加,相当于把乘加操作下沉到物理层并行执行。打个不算太严谨的比方:电子计算像一个人反复清点一箱豆子,光计算则像把整筐豆子倒进筛子,在滚动过程中自动完成了分类和计数。
但光计算这些年被集中诟病的,恰恰是“专”。一个芯片往往为了某个特定网络结构精心设计,矩阵参数写死在光刻版图里,换一个任务就要重做。所以“可重构”成了从实验室走向实用的生死线。“可重构”意味着同一块芯片能通过外部控制信号,动态改变内部光路连接和相位配置——上一毫秒还在做卷积,下一毫秒切换成全连接层,再扭头处理一个稀疏科学计算矩阵。这正是这组 eLight 工作试图填上的关键空当。
1. 可重构光计算芯片:一个等了很久的方向
1.1 从“专用加速”迈向“可编程加速”
人工神经网络推理中的卷积、全连接、注意力矩阵,很多人会抽象成矩阵乘加运算。专用光计算芯片最初走的路很简单:把某一个矩阵的参数映射成固定的光路权重,光经过芯片一次,结果就出来了。问题是,模型参数一变,芯片等于报废。
可重构芯片的思路则是把“权重”从物理结构里解放出来,变成可调参量。常见做法是用热光或电光效应控制波导的相位,让同一个物理网络通过调整电压/电流,实现对不同矩阵的表达。结构不变,功能变,这是从“专用工具”走向“通用计算设备”的关键一步。就像 FPGA 是“硬件可重构”的经典代表,可重构光芯片想做的是在光学维度上再走一遍这条路。
博文读者里如果有做过数字芯片的朋友,可以这么理解:专用光芯片像一块写死的 ASIC,可重构光芯片像 FPGA,只不过它的“逻辑单元”是光路上的一组组干涉仪,它的“布线资源”是低损耗波导,它的“配置 bitstream”则是控制相位的电压矩阵。
1.2 “多功能”不是参数多,而是线路可变
我们常听到“多核”“多功能”这类词,但在芯片领域,多功能有时候只是把多个模块拼到一起。可重构多功能芯片不是这个概念。它强调的是,芯片的计算图本身可以切换:通过配置不同的相位分布,光波导网格可以等效成为卷积运算单元、矩阵分解单元,甚至可编程滤波器组。
这个切换能力为什么重要?因为真实场景不会只喂给你一种模型。跑大模型要矩阵乘,跑雷达信号要傅里叶变换,跑生物信息可能要稀疏线性代数。如果每种场景都要一块专属光芯片,那产业链根本没法铺开。只有一块芯片能覆盖多类任务,光计算才有可能成为通用基础设施。
这还牵扯到一个容易被忽略的问题:控制复杂度。可重构意味着大量相位调制单元,每个单元都是芯片上的“旋钮”。实现多功能的前提,是各旋钮之间低串扰、可独立标定、能快速批量设置。团队在这篇工作中把集成度和多功能放在一起思考,本质上是在回答:可重构的代价到底大不大,能不能压到实用可接受的范围内。
1.3 集成度为什么非提不可
光计算的早期演示很多都建立在分立光学平台上,镜片、空间光调制器、棱镜摆满一桌。那种系统能够验证原理,但完全无法谈部署。集成光计算芯片的意义在于,把光源耦合、分束、干涉、探测这些功能塞进微米级的波导空间里,让一套原本占实验台面的系统缩小到指甲盖大小。
集成度提升也会带来物理上的红利。信号在片上传播距离短,损耗小,隔离好;相位受环境波动影响相对可控;大批量制造可以沿用半导体工艺线。但同时集成度又把误差集中到了一起:局部的制造偏差、材料折射率不均匀、热串扰,都会对相位配置产生实质性影响。这也就是为什么可重构光芯片的评测,绝不能只看仿真结果,必须实测。
2. 架构核心拆解:可编程光路网络与相位调制
2.1 最基本的计算单元:马赫-增德干涉仪
可重构光计算最经典的基础单元是马赫-增德干涉仪(MZI)。它由两个分束器和两臂波导组成,两臂之间引入一个可控相位差。光从两个输入端口进入,经过干涉后,功率按特定比例分配到两个输出端口。
这个器件妙就妙在,改变相位差,就能改变输出的功率分配比例,相当于实现了一个可控的 2×2 矩阵变换。如果把多个 MZI 按一定拓扑级联起来,就能构成一个大规模的可编程光学矩阵。整体来看,输入光向量经过这一串干涉结构后,输出就是矩阵乘法的结果,而且这个过程几乎不消耗动态功耗——主体能量只是光自身在传播。
很多教科书里提到的 Reck 网络、Clements 网络,本质就是在讨论如何用 MZI 构建任意西矩阵。实际芯片设计时,为了降低损耗和误差,更倾向用 Clements 结构,因为它的级联误差传播更均匀,也更容易做局部的梯度标定。可重构光芯片的“计算粒度”,往往就取决于这种 MZI 单元的数量和相位控制的精度。
2.2 相位调制:从电信号到光学权重
相位调制是把外部控制变成“光学权重”的枢纽。最常见的两种方案是热光调制和电光调制。
热光调制依赖材料的折射率随温度变化,结构简单、工艺兼容好,但是响应速度在微秒甚至毫秒级,而且发热会带来热串扰。电光调制利用外加电场改变材料的折射率,速度可以到纳秒甚至皮秒级,但是往往需要特殊材料体系或者复杂电极设计,工艺更难。
选哪种方式,取决于目标场景。如果是离线做模型推理,热光调制就够了;如果是做动态信号处理甚至在线学习,电光调制的优势就非常明显。可重构芯片如果只强调“能配置”而不强调“配置速度快”,那它的实用边界会大大受限。
这也是我读这类论文时特别关注的一点:论文如果在系统层面展示了快速切换计算任务的能力,说明团队不是只做了静态的照明实验,而是把重构的速度、稳定性都纳入了工程考量。
2.3 矩阵乘法在光芯片上如何完成
光计算的标准做法是:把输入向量编码到各通道的振幅或相位上,经过 MZI 矩阵网络后,在输出端用探测器阵列读取功率分布。整个过程中,矩阵乘法对应的不是一串指令循环,而是光路的物理传播。
从数学角度看,MZI 网络能实现的是酉变换,而神经网络权重矩阵往往是任意的实数矩阵。工程上怎么补齐这个差值?一般会引入放大/衰减机制,或者把一个任意矩阵分解成多个酉矩阵加上对角缩放的形式。奇异值分解在这里派上了大用场——矩阵 SVD 之后,左右奇异向量对应的酉矩阵可以用 MZI 网络实现,中间的奇异值可以用额外的可控衰减模块表示。
这种分解的代价是:网络深度增加、相位数翻倍、误差源变多。所以,可重构芯片的设计空间非常讲究平衡——既要能表达足够复杂的矩阵,又要避免因为网络过深而把噪声和误差滚雪球一样放大。这也是为什么很多工作会针对特定任务(比如卷积神经网络)设计专用折叠结构,而不是追求一个万能的全连接光网络。
3. 从设计到实测:可重构光芯片绕不开的几个技术关卡
3.1 插损和串扰:光路上没有免费的午餐
做光计算芯片最容易被低估的就是插损。光每经过一个分束器、一个弯曲波导、一个调制器,都可能损失一部分功率。信号变弱,意味着探测端的信噪比下降,计算精度随之恶化。
可重构芯片的难点在于,它有很多单元级联,插损会累加。一个看似很完美的 MZI 单元,若单级插损能控制在 0.1 dB 量级,那么几十级串联之后也是一笔不可忽视的衰减预算。很多实验室的演示停留在小规模网络的原因就在这里:网络一大,光功率预算顶不住。实际操作时,我们一般会把链路预算表拉出来,逐级计算插损,并且预留出至少 3 dB 的动态余量,否则装完系统才发现探测端信号已经湮没在噪声里。
串扰则是另一个隐蔽敌人。波导之间距离太近,倏逝场耦合就会把本该独立的通道搅在一起。更麻烦的是热光调制带来的热串扰:调这一路相位,隔壁路也跟着受影响。这种效应如果没有做补偿校准,矩阵精度根本没法保证。
3.2 相位校准是一个持续过程,不是一次搞定
可重构光芯片上往往有几十到上千个相位调制单元,每个单元的实际响应与设计值之间都有偏差。原因包括制造误差、材料波动、温度漂移和驱动电压精度。
所以校准是这类系统工程里的重头戏。常见方法是分段逐步校准:先标定单个 MZI 的相位-电压曲线,再级联级联整体标定输出矩阵,用梯度下降或牛顿迭代把误差压下去。这和射频领域的波束成形校准思路很像,只不过对象从天线送到了光学干涉网络。
但校准之后不代表一劳永逸。温度一变、湿度一变、器件老化,相位就可能漂移。所以在实际使用中,我会强烈建议系统设计一个闭环反馈链路,用片上参考光电探测器实时监测工作点,动态修正相位配置。否则,早上调好的系统到下午可能就已经偏离了最优工作状态。
3.3 配置速度与软件栈:别忘了“可重构”不仅是硬件命题
一个光芯片能不能被灵活使用,还取决于配置接口和软件栈。如果切换一次计算结构需要几百毫秒,那它只能做离线批处理;如果能在微秒量级完成重配,才有资格参与动态任务调度。
很多研究者把精力全放在光路上,最后发现制约系统的竟是驱动电路和软件。相位调制器需要 DAC 阵列给电压,多通道同步更新需要精确的时序设计,标定参数需要存储在 look-up table 里。这些虽然是“芯片外围”,但在实际项目里是最耗时间的部分。
另外,从算法到配置位的编译流程也极其重要。用户不会直接面向 MZI 电压编程,他们写的是矩阵或者卷积核。中间需要一层“编译器”,把高层计算映射成相位配置矩阵。这层软件的好坏直接决定了芯片的可用性——一个光芯片如果只能靠科学家手工调电压,那它永远走不出实验室。
3.4 精度问题:光计算不能只谈速度
光计算的精度一直是硬伤。因为是模拟计算,噪声、串扰、非线性效应都会叠加到结果上。表现在比特精度上,光计算往往只能做到 6-8 bit 的有效精度,而数字计算可以轻松做到 16 bit、32 bit。
所以可重构多功能光芯片的宣传重点,一定不是“替代所有数字计算”,而是在特定推理场景下,用足够的精度换取功耗和时延的优势。这就像人脑的神经元计算本身也是低精度的,但依旧能完成复杂识别任务。工程上的关键,是算法如何适配这种低精度模拟计算,比如在训练阶段就引入光芯片的噪声模型、量化策略,使最终部署的精度损失在可接受范围内。
如果只看论文里的精度数字,一定要问清楚是在什么条件下测的:是不是排除了光源噪声?是不是对输出做了高精度后处理?是不是只测了某个特定的低条件数矩阵?这些细节对结果的含金量影响极大。
4. 怎么读这篇论文,以及同类光计算工作
4.1 看研究规模:单元数、矩阵维度和重构速度
读光计算论文,我第一眼看的是 MZI 或其他调制单元的规模。只有几个单元,那基本属于原理验证;如果是几十上百个单元,才有工程参考价值。矩阵维度同样重要,规模越大,对校准、串扰和插损的容忍度就越低,论文的“工程成色”也越足。
重构速度更是一块试金石。有的论文展示的是离线配置完成后的一次性计算,没有讨论重配时间,这说明离实际使用还有距离。如果一个系统能做到毫秒甚至微秒级重构,并且在切换后精度不崩溃,那才是值得认真跟进的工作。
这次胡小永、杨起帆、龚旗煌等团队在 eLight 发表的工作,把自己的定位放在“可重构”和“多功能”上,意味着他们至少不会满足于单个任务的静态演示。可重构光芯片真正要证明的,是在反复切任务、持续运行中依旧保持高保真度。
4.2 看能效和时延:必须放到系统里面看
光计算论文最喜欢标榜“每瓦每秒运算次数”也就是 TOPS/W,但这个指标非常容易被包装。有没有包含光源功耗?有没有包含 DAC/ADC 功耗?有没有包含信号处理和校准模块的功耗?如果只算了芯片本身的能量,那和完整系统的真实功耗差距可以高达两个数量级。
时延也一样。光在芯片里传播确实几乎是瞬时完成的,但输入编码、数模转换、光电探测、后级 ADC 量化,每个环节都可能把时延拉满。真正的端到端时延才是用户感知到的性能。
所以看论文里的能效数字,我会先问:这个数字是芯片级的,还是系统级的?如果论文能把完整 I/O 和可重构控制功耗全部算进去,仍然能打,那才是硬实力。
4.3 看封装与接口:实际部署的隐形决定因素
光计算芯片就算片上性能再强,进不了标准封装也白搭。和 FPGA、CPU 不同,光芯片必须有光学接口。光纤阵列耦合损耗、对准精度、热膨胀匹配,都是让人头疼的问题。
耦合封装往往决定了一片光芯片从“论文优秀”到“产品可用”的转身难度。很多团队在片上设计了光栅耦合器或端面耦合结构,配合光纤阵列完成二维对准。这套工艺在实验室里还能接受,但在量产中存在一致性挑战。可重构光芯片如果要进数据中心或者车载场景,封装可靠性必须跟上,否则“可重构”也会变成“可重修”。
5. 做可重构光芯片时,我从实际操作里总结的几条经验
5.1 系统稳定性永远优先于峰值性能
我早年做光路调试时有一个惨痛教训:为了压榨峰值性能,把工作点调到了非常接近干涉极值的位置。仿真里那个点性能最好,但实际环境里温度稍微波动一下,工作点就跑偏,输出结果瞬间拉垮。后来我学乖了,设计时会刻意留出“操作余量”,选那些对相位扰动不那么敏感的次优点工作。性能只损失一点,鲁棒性却大幅提升。做可重构芯片更是如此,因为重构意味着系统会频繁在不同工作点之间迁徙,每次都追求极值点,系统稳定性迟早出事。
5.2 校准别藏着掖着,量化和误差建模要提前上
很多光计算系统过了标定关,最后还是移植不到实际任务里。原因很简单:算法训练时没有把芯片的实际误差模型写进去。光芯片的误差有结构化特征,不是简单的高斯白噪声,而是与输入幅度、矩阵形状相关的。
从项目一开始,我就建议把芯片当成一个带噪声的硬件加速器,训练时就加入模拟芯片层的量化噪声和串扰噪声。这种“精度感知训练”虽然会稍微拉低理想精度,但让整个系统在真实芯片上的表现大幅提升。这也意味着,光计算芯片厂商最好开放误差模型接口,而不是只交付一个硬件。
5.3 “可重构”是硬件和算法的合谋,不是硬件单方面的秀
如果读这类论文只关注光学结构,会错过一半。真正让可重构光芯片发挥价值的,是算法层面的适配:把神经网络结构拆解成适合光执行的子模块,让可重构能力覆盖更广的任务类型。
比如卷积层既可以实现为多个并行 MZI 组,也可以复用同一组网络做滑动窗复用。映射方式不同,精度、时延和能耗表现差异巨大。与其问“哪种光芯片最强”,不如问“我的目标算法在哪种映射下最能发挥光计算的优势”。
5.4 设计时就把测量方案考虑进去,别等流片后再想法子
光计算芯片和数字芯片完全不同。数字芯片可以靠扫描链做完整测试,光芯片连“把光打进去、把数据读出来”都不容易。所以设计时必须前置考虑测试端口、参考探测点、可调谐光源耦合方案。
我见过不少团队,光路设计做得特别漂亮,结果流片回来后发现没法测量。为了省那么一点波导面积,把测试探针口挤没了;或者为了追求低损耗,把探测级放得太靠近输出端,动态范围都给压死了。等到测试抓瞎才回头改版,白白浪费一轮流片周期。这也是为什么靠谱的团队在设计评审时一定会严格审查测试策略。
写在最后:这个方向后续怎么跟
我个人的体会是,可重构多功能集成光计算芯片这类工作,最大的价值不是告诉我们光计算已经完美了,而是给产业界划了一条很务实的路:第一,芯片要能重构;第二,重构要有速度和精度;第三,多任务多算法能共用硬件。这三步走完,光计算才真正从“玩物理”变成“做产品”。
eLight 这篇工作把胡小永、杨起帆、龚旗煌等团队在集成光子、超表面和量子光学方向的积累集中到“可重构计算”这个落点上,方向感非常清晰。如果后续能够在系统级能效和重构速度上给出更完整的数据,并且把配套软件栈也开放出来,那这款芯片生态的想象空间会更大。
给同行和刚入门的朋友一个非常务实的建议:如果你对这个方向感兴趣,不要只看光学仿真。去搭一个最低配置的 MZI 级联测试平台,亲手标定一次相位曲线,再用它跑一个小规模的矩阵乘法。踩一次温度波动导致的相位漂移,胜过读十篇原理综述。真正理解可重构光计算的级联误差、校准流程和接口限制,纸上谈兵远远不够。
将来几年内,我比较看好可重构光芯片在三个方向率先落地:计算任务相对固定但矩阵规模动态变化的边缘推理设备;需要用低功耗实现边缘神经网络的智能传感前端;以及科学计算里那些需要反复切换核函数的高性能专用处理单元。这几个场景对通用性要求没那么夸张,却恰恰能发挥光计算的低功耗、低时延优势。
至于它能走多远,还是要看团队们的工程落地能力——毕竟可重构听上去很美,真正难的是让每一次重构都精确、快速、稳定。