想象你是一座水城的物流主管。过去几十年,你一直靠一支独木舟船队在狭窄河道里送货:每条船载一点货物,过一个闸门停一次,还要克服水的阻力和闸门摩擦。这就是电子芯片的工作方式——电子像小船,导线像河道,晶体管像闸门。可如今,河道已经窄到接近分子的尺寸,再往下挖很难,闸门开关也越来越耗电。这时有人提出:为什么不干脆让水面自己送货?往池塘的不同位置同时投下石子,一圈圈波纹自动前进、相遇、叠加,形成一张明暗交错的图案。你只要在岸边布置一排观察员,就能从波纹图案里读出结果。这种“用波的相遇代替颗粒的搬运”的思维方式,就是光子计算的核心。在这篇文章里,我们会从摩尔定律的困局出发,看看光子如何用干涉和衍射完成神经网络最需要的乘法与加法,再聊聊它的速度、功耗和并行优势,以及为什么它还不能立刻取代电子芯片。

岗位关联

对 AI 从业者来说,理解光子计算能帮你判断下一代 AI 硬件的真实方向:哪些厂商是在做真突破,哪些只是蹭“光速”概念,以及未来三到五年哪些工作负载会最先迁移到光计算上。

目录
  1. 可视化演示
  2. 1. 摩尔定律之困:水城里的独木舟
  3. 2. 光子计算原理:让水面自己送货
  4. 3. 干涉与乘加运算:波纹在路口相遇
  5. 4. 三大核心优势:一条河,多艘船不堵
  6. 5. 工程挑战:池塘不是那么好挖
  7. 6. 商用前景:先建水上立交,再谈全面取代
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

三步交互演示光子计算核心机制:光干涉乘加运算、光子vs电子计算性能对比、工程挑战与制造工艺难点。

本节配有交互动效(进入视口后自动加载,约 3KB)。

光干涉乘加运算 MZI干涉仪阵列执行矩阵乘法 光相位编码权重与输入 y = MZI(W) · x 光速级计算延迟皮秒级

1. 摩尔定律之困:水城里的独木舟

把电子芯片想象成一座水城。过去几十年,人们让芯片变快的方式,就是把河道越挖越密、把独木舟越造越小:每隔十八到二十四个月,同一块面积里就能塞下两倍数量的晶体管。这就是摩尔定律,一条被半导体行业信奉了很多年的“城市规划经验”。可惜,现在这条经验开始失灵了。

河道的宽度已经逼近原子的尺度。一条金属导线可能只有几十个原子宽,闸门再小下去,电子就开始“漏”到旁边的河道里,发热量猛增,时钟频率也因此多年停在几 GHz 附近。与此同时,AI 训练和推理需要的算力还在爆发式增长。继续靠缩小独木舟来提速,已经撞上了物理围墙。

河道修不动了,那就换一种运输方式。与其继续搬运一个又一个电子,不如让水面上的波纹自己把信息送到目的地。这正是光子计算登场的起点。

n(t)=n0×2t−t0Tn(t)=n_0 \times 2^{\frac{t-t_0}{T}}
这个公式说的是:芯片上的晶体管数量,每隔 T 时间就翻一倍。T 曾经很短,现在却越来越难维持。
  1. 基准数量 n₀它是起始时刻 t₀ 时芯片上的晶体管数量,相当于水城初始的河道总数。
    n0n_0
  2. 翻倍周期 T表示每经过 T 年或 T 个月,晶体管数量乘一次 2,这是摩尔定律最核心的“翻倍承诺”。
    ×2t−t0T\times 2^{\frac{t-t_0}{T}}
  3. 已过周期数指数上的分数表示从 t₀ 到现在一共过了几个翻倍周期,周期数越多,翻倍次数越多。
    t−t0T\frac{t-t_0}{T}

2. 光子计算原理:让水面自己送货

电子芯片里,信息靠电子一个个“挪”过去;光子计算里,信息则由光波本身来承载。光子的静止质量为零,不像电子那样需要沿着金属河道磕磕绊绊地走。在光子芯片中,代替金属导线的是透明的光波导,光可以在其中高速穿行,不需要反复给导线充放电。

想象你在池塘的两头各投入一颗石子,水面会同时出现两圈波纹。每一圈波纹都有高有低,有峰有谷,这些高低起伏就是光波的振幅和相位。光子计算正是用这些起伏来编码 0 和 1,也用它们的相遇来完成计算。一束光可以用下面的波动方程描述:

从“搬电子”到“传波纹”,最大的变化是:计算不再需要一艘艘独木舟按顺序通过闸门,而是让所有波纹在同一片水面上自然传播、自然叠加。这就是光子计算最迷人的地方。

E(x,t)=Acos⁡(kx−ωt+φ)E(x,t)=A\cos(kx-\omega t+\varphi)
光波像水面波纹:A 是浪高,相位 φ 决定波峰是从哪个位置开始长的,ω 决定波纹抖动的快慢。
  1. 振幅 A表示光的强弱,相当于波纹的高度,可以用来编码数值大小。
    AA
  2. 空间相位 kx光沿着波导走了多远,相位就积累多少,相当于波纹在水面上推进的距离。
    kxkx
  3. 时间相位 ωt光在时间上持续振荡,ω 是角频率,表示波纹每秒振动多少次。
    ωt\omega t
  4. 初始相位 φ不同光源可以从不同相位出发,就像两颗石子投入水面的角度不同,这个偏差会在干涉时决定是波峰叠波峰还是波峰撞波谷。
    φ\varphi

3. 干涉与乘加运算:波纹在路口相遇

神经网络最核心的运算,是乘加运算:把输入和权重分别相乘,再把所有乘积加在一起。电子芯片做这件事,像水城路口的工作人员,必须一辆车一辆车地登记、汇总;光子芯片做这件事,则像让所有波纹同时涌向同一个水湾,相遇的瞬间,结果已经自动算好了。

在光子芯片里,每个输入值被编码成一束光的振幅,每个权重由衰减器和相位调制器实现。用“拧角度”的方式,让每束光带上自己的相位;当多束光汇聚到同一个探测点时,它们会相互干涉。探测器最终读到的光强,就是所有“乘积”叠加后的模平方:

这种“用干涉做乘加”的基本单元,最典型的是马赫-曾德尔干涉仪(MZI)。它可以看作一个十字水闸:两路光从两个入口进来,经过相位调节和耦合器后,从两个出口出去;调节相位,就能控制两路光如何分配、如何相加。把许多 MZI 连成网格,就能把矩阵乘法映射到一张光学网络里。

Iout=∣∑j=1nwjxjeiφj∣2I_{\text{out}}=\left|\sum_{j=1}^{n} w_j x_j e^{i\varphi_j}\right|^2
这里每一束经过权重调制后的光,相当于一个“乘积项”;多个乘积项在探测器上干涉相加,一次就完成一整组乘加。
  1. 权重与输入相乘 wⱼxⱼ光学衰减器或调制器把输入光强按权重放大或缩小,完成一次乘法。
    wjxjw_j x_j
  2. 相位旋转 e^{iφⱼ}相位调制器把光的相位“拧”一个角度,让不同路的光在相遇时能对齐或错开。
    eiφje^{i\varphi_j}
  3. 求和符号 Σ多路光在同一个点叠加,物理世界自动完成加法,不需要电子芯片那样逐个累加。
    ∑j=1n\sum_{j=1}^{n}
  4. 模平方 |·|²探测器只能测光强,而光强等于电场振幅的模平方,所以最终输出是一个实数结果。
    ∣⋅∣2\left|\cdot\right|^2

4. 三大核心优势:一条河,多艘船不堵

光子计算最直接的优势,首先是延迟低。电子在导线里移动,每过一个晶体管都要给电容充放电,像船过闸门必须等水注满;光子则几乎没有静止质量,在波导里以接近光速的速度传播,省掉了一大段“过闸”时间。

第二个优势是功耗低。电子芯片的互连功耗来自电阻发热和电容充放电,而光子传播本身没有电阻,不需要把整条金属线反复充电。虽然激光器、调制器和探测器仍然要耗电,但长距离传输时,光互连的每比特能耗远低于电互连。

第三个优势是天然并行。光有不同的波长,就像同一片水面上可以同时跑不同颜色的彩旗,互不干扰。一根波导里可以同时传输很多个波长,每个波长就是一条独立通道,这让光子芯片的数据带宽可以成倍扩展:

光不携带电荷,也不受电磁干扰影响,所以在嘈杂的机房环境里依然稳定。这几个优势组合起来,让光子计算尤其适合大数据搬运和并行矩阵运算——正是 AI 时代最需要的两种能力。

Btotal=Nλ×BλB_{\text{total}}=N_{\lambda}\times B_{\lambda}
总带宽等于“波长数”乘“单波长带宽”。波长越多,等于在同一条河道里开出了多条互不干扰的航线。
  1. 单波长带宽 Bλ一个波长通道能承载的数据率,相当于一条航线的运力。
    BλB_{\lambda}
  2. 波长通道数 Nλ同一根波导里能同时跑多少个不同波长的光,相当于并行的航线数量。
    NλN_{\lambda}
  3. 总带宽 B_total用航线数量乘以单航线运力,就是光互连的整体吞吐能力。
    BtotalB_{\text{total}}

5. 工程挑战:池塘不是那么好挖

虽然波纹很美,但要在芯片上挖出完美的池塘并不容易。光子计算对相位极其敏感,光走的路程只要差半个波长,干涉结果就可能从“亮”变成“暗”。这意味着波导的宽度、厚度、侧壁光滑度都要控制在纳米级别。

制造工艺是一大难题。硅光波导靠刻蚀形成,如果侧壁粗糙,光就会被散射掉,造成额外损耗;温度变化也会让材料的折射率改变,导致相位漂移。光从光纤进入芯片时还有耦合损耗,片上激光器、调制器、探测器要跟电子电路集成在一起,封装和对准的精度要求远高于普通电子芯片。最后,光的计算本质上是模拟计算,噪声和制造误差都会限制精度,往往还需要额外的模数转换和校准电路。

一句话总结:光子计算的天花板很高,但想把实验室里的波纹搬上量产芯片,还需要把“挖池塘”的工艺打磨得极其精细。

SNRdB=10log⁡10(PsignalPnoise)\mathrm{SNR}_{\mathrm{dB}}=10\log_{10}\left(\frac{P_{\text{signal}}}{P_{\text{noise}}}\right)
信噪比衡量的是“有用的波纹”和“水面的杂波”之间的差距。光子芯片要解决的核心问题,就是让有用的光信号远大于各种噪声。
  1. 信号功率与噪声功率之比有用的光功率比上干扰和散射带来的噪声功率,比值越大,结果越可靠。
    PsignalPnoise\frac{P_{\text{signal}}}{P_{\text{noise}}}
  2. 对数 log₁₀把可能相差百万倍的功率比压缩成容易比较的数字。
    log⁡10\log_{10}
  3. 乘 10 变成 dB声音和通信领域都喜欢用 dB 表达信噪比,每增加 10 dB,代表功率比扩大 10 倍。
    10log⁡1010\log_{10}

6. 商用前景:先建水上立交,再谈全面取代

光子计算短期内的目标不是推翻电子芯片,而是在最关键的地方建一批“水上立交”。数据中心的大规模 AI 训练中,芯片之间的通信越来越成为瓶颈;把光互连直接封装到芯片旁边,可以大幅降低多卡通信的延迟和功耗。这在今天已经在逐步落地。

再往前走一步,是混合光电芯片:计算和存储仍由电子芯片负责,但矩阵乘法、线性层这类高度并行的运算交给光学引擎。由于不是所有任务都能搬到光上,总体加速比会受“可并行比例”的限制:

所以,光子计算并不是一个靠“光速”就能一夜成功的童话。它更像一场渐进的水利工程:从数据中心的光互连,到 AI 推理的光学矩阵引擎,再到未来更成熟的混合光电芯片。对从业者来说,现在正是理解它、观察它、并在合适的场景里测试它的最好时机。

Shybrid=1(1−p)+psS_{\text{hybrid}}=\frac{1}{(1-p)+\frac{p}{s}}
p 是能被光计算加速的任务比例,s 是光计算带来的加速比。p 越大、s 越高,整体收益才越明显。
  1. 不可加速部分 (1-p)总有存储、控制、非线性激活等任务必须留在电子芯片里,这部分时间不会缩短。
    1−p1-p
  2. 可加速部分 p/s能被光计算加速的那部分任务,时间被压缩为原来的 1/s。
    ps\frac{p}{s}
  3. 总时间倒数加速比等于“新总时间”的倒数,用来衡量混合架构带来的整体收益。
    1(1−p)+ps\frac{1}{(1-p)+\frac{p}{s}}

AI 应用场景

数据中心光互连

阶段:分布式训练与基础设施通信

解决的问题:万卡 GPU 集群训练大模型时,梯度同步和参数交换需要反复传输海量数据。传统电互连在长距离传输中延迟高、功耗大,成了整个训练流程的“堵点”。光子计算用光波导和激光器代替部分金属走线,让数据像波纹一样在机柜之间快速滑过,大幅缩短通信时间。

具体案例:在千卡级 AI 集群中,原本需要几十毫秒完成的 AllReduce 梯度聚合,通过光互连背板可以降低到接近原来的三分之一,同时省掉大量可观的互连功耗。

AI 推理光学矩阵引擎

阶段:模型推理加速

解决的问题:大语言模型每生成一个 Token 都要执行巨大的矩阵乘法,电子芯片上的乘加单元既要耗电又会发热。光学矩阵引擎通过干涉把“乘加”变成“波纹叠加”,对权重固定或可量化的线性层尤其高效。

具体案例:一些初创公司已经做出光电混合原型芯片:输入向量被调制成光信号,经过可编程 MZI 网络后,探测器直接读出矩阵乘结果,能把特定线性层的能耗降低一个数量级以上。此技术仍处于 PoC 阶段,但已被多家云厂商纳入下一代加速器评估。

Python 演示

python46 行
import cmathimport math  class MZICell:    """A Mach-Zehnder interferometer: two couplers and one phase shifter."""     def __init__(self, theta, phi=0.0):        self.theta = theta        self.phi = phi     def propagate(self, a, b):        # The upper path gets a phase shift phi.        a1 = a * cmath.exp(1j * self.phi)        b1 = b        # The second coupler mixes the two paths as a rotation.        out_a = a1 * math.cos(self.theta) - b1 * math.sin(self.theta)        out_b = a1 * math.sin(self.theta) + b1 * math.cos(self.theta)        return out_a, out_b  class PhotonicLinearLayer:    """Chain of MZI cells that acts like a tiny optical linear layer."""     def __init__(self, thetas, phis):        self.cells = [            MZICell(theta, phi)            for theta, phi in zip(thetas, phis)        ]     def forward(self, x):        a = complex(x[0])        b = complex(x[1])        for cell in self.cells:            a, b = cell.propagate(a, b)        # Photodetectors measure optical intensity, not the field directly.        return [abs(a) ** 2, abs(b) ** 2]  if __name__ == "__main__":    layer = PhotonicLinearLayer(        thetas=[math.pi / 4, math.pi / 6],        phis=[math.pi / 2, 0.0],    )    output = layer.forward([1.0, 0.0])    print("output intensities:", output)
目的:用 Python 模拟由马赫-曾德尔干涉仪组成的光学线性层,演示光子芯片如何通过相位调制和干涉完成最简单的 2×2 矩阵运算。
  1. a1 = a * cmath.exp(1j * self.phi)相位调制器给光“拧”一个角度,对应乘加中的相位项。
  2. out_a = a1 * math.cos(self.theta) - b1 * math.sin(self.theta)两路光在耦合器里做加减法,这就是一次光学乘加。
  3. self.cells = [...]多个 MZI 像流水线一样串联起来,组成一层可编程光学网络。
  4. for cell in self.cells:光信号依次穿过每个干涉仪,完成级联矩阵变换。
  5. abs(a) ** 2探测器读到的不是电场振幅,而是光强,也就是模平方。

常见误区

误区光速比电子在导线里的速度高得多,所以光子芯片的每一个计算都会比电子芯片快很多。

正解光在波导里传播确实延迟低,但这个优势主要体现在互连和通信上,而不是单个逻辑门的速度。光子计算目前仍是模拟计算,需要激光器、调制器、探测器配合工作,如果频繁做光电转换,反而会产生额外开销。真正快的场景,是大规模并行互连和矩阵乘加。

为何常见:人们容易把“光速快”的自然直觉直接套用到整个芯片上,忽略了计算过程还包括信号的产生、调制、探测和控制。

误区既然光计算又快又省电,未来电子芯片会消失,所有计算都改成光计算。

正解光很难像晶体管那样做超快的逻辑门,也缺少天然的存储能力。复杂控制、非线性激活、数据缓存仍然更适合电子芯片。商业上更可能的路径是光电混合:电子负责控制和存储,光负责互连和高并行矩阵运算。

为何常见:媒体经常把光子计算宣传成“取代硅基芯片”的革命,让初学者误以为这是一场零和替代。

误区光在波导里传播不产生焦耳热,因此光子芯片的功耗可以忽略不计。

正解光传播本身确实不需要导体充放电,但生成激光、调制相位、探测光强都需要消耗电能。光子计算降低的主要是互连传输部分的功耗,而不是整个系统的所有功耗。

为何常见:只看到光的传播无电阻,忽略了光芯片周围仍然需要大量有源电子器件。

误区光子芯片已经能完成矩阵乘法,意味着精度足够高,马上就能大规模替代 GPU。

正解光计算本质上是模拟计算,波导尺寸误差、温度漂移、散射噪声都会污染信号。实际系统中位数精度往往只有个位数比特,需要校准、纠错和数模混合设计才能使用。实验室 Demo 与量产商用之间还有很长的工程距离。

为何常见:演示芯片跑出漂亮结果后,人们容易忽略演示环境与真实服务器环境之间的巨大差异。

面试题

Q1. 光子计算最核心的变化是用什么代替电子来传递信息?

单选题 · easy

  • A.光子替代电子传递信息← 正确答案
  • B.声子替代电子传递信息
  • C.量子比特替代电子信号
  • D.空穴替代电子传递信息

答案:A。光子计算直接用光子承载信息,相当于用波纹代替独木舟。声子、空穴虽然也是物理概念,但并不是光子计算的核心替代物。

Q2. 相比电子芯片,光子计算最直接的互连优势是什么?

单选题 · easy

  • A.高带宽且互连延迟低← 正确答案
  • B.能提高晶体管主频
  • C.能缩小光刻节点
  • D.能简化软件算法

答案:A。光子互连不依赖电容充放电,延迟更低,还能多波长并行,带宽更高。晶体管主频和光刻节点主要属于电子芯片的范畴。

Q3. 马赫-曾德尔干涉仪在光子芯片中的作用是什么?

单选题 · mid

  • A.把激光转化为可见光照明
  • B.将两路光的干涉变成乘加运算← 正确答案
  • C.将光信号保存为永久数据
  • D.让大量光子排队通过波导

答案:B。MZI 通过相位调制和耦合器让两路光互相干涉,实现类似乘加的基本运算。它不是照明设备,也不能永久存数据。

Q4. 光强公式 I\_out=|ΣEⱼ|² 中的“模平方”表示什么?

单选题 · mid

  • A.干涉叠加后输出的总光强← 正确答案
  • B.电子载流子迁移率变化
  • C.芯片布线层数增加
  • D.光在介质中的折射率

答案:A。探测器读到的光强等于电场振幅的模平方。多路光在探测点叠加后取模平方,才得到最终可测量的干涉结果。

Q5. 下列哪项是目前光子芯片最典型的工程挑战?

单选题 · hard

  • A.现有编译器无法优化循环
  • B.用户不习惯新的编程接口
  • C.波导侧壁粗糙导致散射损耗← 正确答案
  • D.光模块缺少统一的品牌

答案:C。波导侧壁粗糙会造成散射损耗和相位误差,直接影响干涉精度。编译器、接口习惯是软件问题,不是光子芯片当前最核心的物理挑战。

Q6. 为什么光子计算被认为拥有天然并行能力?

单选题 · hard

  • A.光子在真空中不断加速
  • B.光子带正负两种电荷
  • C.多个光子可以融合成单个光子
  • D.多路波长可在同根波导并行← 正确答案

答案:D。不同波长的光可以在同一根波导中同时传播而互不干扰,这就像同一条河里同时跑多支不同颜色的船队。电荷、加速、融合都不是光子并行的原因。

Q7. 光子互连在功耗上占优的深层原因是什么?

单选题 · extreme

  • A.光子芯片不需要外部电源
  • B.光计算可以跳过所有模数转换
  • C.光信号完全没有能量损耗
  • D.光互连无需反复充放电电容← 正确答案

答案:D。电互连每次传信号都要给导线电容充放电,这是主要功耗来源之一。光互连没有电容充放电过程,因此传输能耗更低,但激光器和探测器仍然需要电源。

Q8. 以下哪些属于光子计算的优势?

多选题 · mid

  • A.支持多波长并行传输← 正确答案
  • B.天然适合长时间存储数据
  • C.互连延迟远低于电互连← 正确答案
  • D.具备抗电磁干扰能力← 正确答案

答案:ACD。光子芯片支持多波长并行、互连延迟低、不携带电荷所以抗电磁干扰。但光很难低成本存储,长时间存储并不是光子计算的优势。

Q9. 下列哪些是当前光子计算的主要工程挑战?

多选题 · mid

  • A.相位漂移与温度敏感← 正确答案
  • B.封装对准精度要求高← 正确答案
  • C.片内光损耗仍然明显← 正确答案
  • D.制造工艺与CMOS完全兼容

答案:ABC。相位漂移、封装对准、片内光损耗都是真实难题。目前硅光工艺还不能与 CMOS 完全兼容,因此 D 不是挑战,而是一个尚未实现的理想状态。

Q10. 关于摩尔定律当前困境,下列说法正确的是?

多选题 · easy

  • A.晶体管尺寸逼近原子尺度← 正确答案
  • B.漏电流与功耗密度上升← 正确答案
  • C.摩尔定律会自动延续到永远
  • D.时钟频率提升速度显著放缓← 正确答案

答案:ABD。晶体管越来越小,量子效应导致漏电和功耗密度上升,时钟频率增长也随之放缓。摩尔定律不会自动延续,它依赖工程突破,因此 C 错误。