跳转至

光计算与光互连:用光速重塑计算架构

难度:🟡 中级 | 领域:硅光子学、光神经网络、光互连 | 阅读时间:约 25 分钟

日常类比

想象城市交通系统。电子计算就像传统公路——车辆(电子)在铜导线上排队行驶,速度有限,还会发热(拥堵产生尾气)。光计算像给城市修了一套高架光轨——光子在波导中以接近光速传播,不同颜色的光(波长)可以在同一条轨道上互不干扰地并行传输,就像多条隐形车道叠在一起。

再想想厨房里同时做几道菜。电子计算是一位厨师按步骤做——切菜、炒菜、装盘依次进行。光计算像一条自动流水线——食材进入透镜/分束器构成的"光学管道",可在传播过程中完成大量乘加,延迟接近光程时间,且计算本身不产生电子开关那样的焦耳热(功耗往往转移到光源、调制与光电转换)。

光互连则解决了另一个问题:数据中心里的服务器之间用铜线通信就像用驿站送信,换成可插拔光模块是电报,而光电共封装(Co-Packaged Optics, CPO)是把光引擎尽量贴到交换芯片旁边,缩短电域走线。

1. 硅光子学基础

硅光子学(Silicon Photonics)在硅基工艺上集成波导、调制器、探测器等,目标是把光通信/光计算能力带进可规模制造的芯片。

1.1 核心器件

器件 功能 类比 关键参数(量级/目标)
波导 光的传输通道 水管 损耗常以 dB/cm 计,目标尽量低
微环谐振器 波长选择/调制 收音机旋钮 高品质因数 Q
马赫-曾德干涉仪(Mach–Zehnder Interferometer, MZI) 光开关/分束 铁路道岔 高消光比
光电探测器 光转电 太阳能电池 高带宽
调制器 电转光 手电筒开关 高调制速率
光栅耦合器 光纤-芯片接口 港口码头 低耦合损耗

1.2 Mach-Zehnder 干涉仪(MZI)

MZI 结构(光计算的基本单元):

        分束器          相移器         合束器
输入 -->--+------[上臂: phase_1]------+-->-- 输出
          |                            |
          +------[下臂: phase_2]------+

原理:
- 分束器将光约 50:50 分成两路
- 每路经过独立的相位调节器(热光/电光效应)
- 合束器将两路重新干涉
- 相位差决定输出光强(0 到 1 连续可调)
- 级联 MZI 网格可逼近任意酉矩阵变换(如 Clements 分解)

热光相移器响应较慢但易实现;电光更快但工艺与驱动更复杂。相位漂移对温度敏感,是边缘部署的关键工程点。

1.3 为什么光适合做矩阵乘法

光学矩阵-向量乘把权重编码进干涉/衍射结构,输入向量以光振幅/相位进入,输出在探测器上一次读出。优势在并行与传播延迟;代价是噪声、串扰、有限等效位数,以及数模/模数转换(Digital-to-Analog Converter / Analog-to-Digital Converter, DAC/ADC)开销。

# 光学矩阵乘法的核心优势(相对电子的定性对比)
"""
电子计算 O(n^2) 矩阵乘法:
- 需要 n^2 次乘加运算
- 每次运算消耗能量、产生热量
- 时钟频率受电子学限制

光学矩阵乘法:
- 光通过 MZI 网格一次完成大量乘加
- 延迟接近光通过器件的传播时间(皮秒量级路径)
- 能耗结构不同于电子 MAC,需计入光源与转换
- 可用波分等维度扩展并行度
"""

import numpy as np

def simulate_photonic_matmul(input_vector, weight_matrix, noise_level=0.01):
    """模拟光子矩阵乘法(含噪声)"""
    # 将权重矩阵分解为 MZI 网格参数
    # Clements 分解:任意酉矩阵 = MZI 级联
    n = weight_matrix.shape[0]

    # 光学计算(一次前向传播)
    output = weight_matrix @ input_vector

    # 添加实际光学噪声源
    shot_noise = np.random.normal(0, noise_level, n)      # 散粒噪声
    thermal_noise = np.random.normal(0, noise_level/2, n)  # 热噪声
    crosstalk = np.random.normal(0, noise_level/5, n)      # 串扰

    return output + shot_noise + thermal_noise + crosstalk

2. 光神经网络(Optical Neural Networks)

光神经网络(Optical Neural Network, ONN)把线性层放到光域,非线性激活常仍依赖光电混合。

2.1 架构设计

光子深度学习加速器架构:

输入层(电-光转换)    光学计算层             输出层(光-电转换)
+--------+    +---------------------------+    +--------+
| DAC    |--->| MZI Mesh (线性变换)       |--->| ADC    |
| 调制器 |    | + 非线性激活(光学/电子)  |    | 探测器 |
+--------+    +---------------------------+    +--------+
    |                    |                         |
  电域                 光域                      电域

关键创新点:
- 矩阵乘法在光域完成(传播延迟低)
- 非线性激活是难点(需要 O-E-O 转换或光学非线性材料)
- 精度受限于 DAC/ADC 位数和光学噪声(常见等效约数 bit)

2.2 主要公司与产品(公开信息量级,状态会变)

公司 方案 规模(宣称) 能效(宣称量级) 状态
Lightmatter MZI mesh 数十×数十 高 TOPS/W 宣称 产品化推进中
Luminous 光电混合 更大网格宣称 高能效宣称 研发中
Lightelligence 光学可重构 可配置 中高能效宣称 融资/原型
Intel 等 硅光 + CMOS 集成研究 研究阶段
IBM 等 相变材料权重 小规模 实验室
Salience Labs 等 光学存内计算 小阵列 高能效宣称 早期

厂商 TOPS/W 口径差异大(是否含激光、DAC/ADC、冷却),对比时需统一系统边界。

2.3 光子张量核心

class PhotonicTensorCore:
    """模拟光子张量核心(示意,非某一产品精确模型)"""

    def __init__(self, size=64, precision_bits=6):
        self.size = size  # MZI 网格大小
        self.precision = precision_bits
        self.latency_ps = 50  # 单次光程相关延迟示意
        self.power_mw = 100   # 功耗示意,含驱动时需重估

    def matmul(self, input_vec, weight_matrix):
        """光学矩阵-向量乘法"""
        assert input_vec.shape[0] <= self.size
        assert weight_matrix.shape == (self.size, self.size)

        # SVD 分解映射到 MZI 网格
        U, S, Vh = np.linalg.svd(weight_matrix)

        # 光学执行:U * S * V^H * x
        # 每步通过一组 MZI 实现
        result = Vh @ input_vec      # 第一组 MZI
        result = np.diag(S) @ result  # 衰减器设置奇异值
        result = U @ result           # 第二组 MZI

        # 量化到光学精度
        result = self._quantize(result, self.precision)
        return result

    def energy_per_mac(self):
        """每次乘累加运算的能耗(理想化估算)"""
        macs_per_cycle = self.size * self.size
        cycles_per_second = 1e12 / self.latency_ps
        total_macs = macs_per_cycle * cycles_per_second
        return (self.power_mw * 1e-3) / total_macs  # 可能到 fJ/MAC 量级(视边界)

3. 光互连技术

3.1 数据中心光互连层次

互连层次              距离        当前方案          下一代方案
芯片内(Intra-chip)  <1 cm      铜线              硅光波导(研究/早期)
芯片间(Chip-to-chip)1-50 cm    铜缆/短光纤       Co-packaged optics
机柜内(Intra-rack)  1-3 m      AOC/DAC           CPO + 硅光
机柜间(Inter-rack)  10-100 m   100G/400G 光模块  800G/1.6T 光模块
数据中心间            1-100 km   WDM 相干光通信     更高速率 ZR 类模块

3.2 Co-Packaged Optics(CPO)

传统方案:交换芯片 --[PCB走线]--> 前面板 --[光模块]--> 光纤
                     电域损耗与功耗高

CPO 方案:交换芯片 --[基板直连]--> 光引擎(光电共封装)--> 光纤
                     缩短电通道,降低 SerDes 负担
指标 可插拔光模块(量级) CPO(目标量级)
功耗/bit 更高 目标显著降低
带宽密度 受前面板限制 目标提升一个数量级量级
延迟 含较长电通道 电通道更短
可维护性 现场更换容易 封装耦合,维修更难

3.3 波分复用(WDM)

波分复用(Wavelength Division Multiplexing, WDM)在同一光纤上承载多波长信道,是扩展容量的主路径。

# WDM 容量计算
def wdm_capacity(num_wavelengths, rate_per_channel_gbps, num_fibers):
    """计算 WDM 系统总容量"""
    total_capacity = num_wavelengths * rate_per_channel_gbps * num_fibers
    return total_capacity  # Gbps

# 商用 C-band 示意配置(具体波长数与单波速率随产品而变)
capacity_c_band = wdm_capacity(
    num_wavelengths=96,
    rate_per_channel_gbps=400,
    num_fibers=2
)
print(f"单纤对容量示意: {capacity_c_band/1000:.1f} Tbps")

# C+L band 扩展示意
capacity_cl_band = wdm_capacity(
    num_wavelengths=192,
    rate_per_channel_gbps=800,
    num_fibers=2
)
print(f"C+L band 示意: {capacity_cl_band/1000:.1f} Tbps")

4. IoT 边缘光处理

4.1 光计算在边缘的优势

应用 光学方案 优势 挑战
图像分类 衍射深度神经网络(Diffractive Deep Neural Network, D2NN) 推理几乎不耗电(除光源/探测) 模型固定难更新
信号处理 光学傅里叶变换 近实时频谱 精度与校准
异常检测 光学储备池计算 低延迟动态映射 训练与稳定性
通信前处理 光学波束成形 大带宽模拟处理 设备与控制复杂

4.2 衍射光学网络(D2NN)

3D 打印/微纳加工的全光学神经网络:

光输入 --> [衍射层1] --> [衍射层2] --> ... --> [衍射层N] --> 探测器
              |              |                    |
         每个像素点     相位/振幅调制        分类结果
         是一个"神经元"  实现权重

特点:
- 推理主要由光传播完成
- 一旦制造完成,模型通常固定
- 延迟接近光程时间
- 文献中有手写数字等任务示范(准确率随实验条件变化)
- 适合 IoT:固定模型 + 极低运行功耗场景

4.3 光学储备池计算

储备池计算(Reservoir Computing)只训练读出层;光学延迟环路用非线性与高维动态把输入映射到丰富状态空间,适合时序 IoT 信号。

class OpticalReservoirComputer:
    """光学储备池计算(适合IoT时序数据处理)"""

    def __init__(self, reservoir_size=100, input_mask_length=50):
        # 储备池由光学延迟环路实现
        self.N = reservoir_size
        self.mask_length = input_mask_length
        self.input_mask = np.random.choice([-1, 1], input_mask_length)
        self.readout_weights = None  # 仅训练输出层

    def process(self, input_signal):
        """
        光学储备池处理流程:
        1. 输入信号通过随机掩码调制激光
        2. 调制光进入含非线性元件的延迟环路
        3. 环路中的光学节点产生丰富的时空动态
        4. 输出层(电子域)做简单线性回归
        """
        # 掩码调制
        masked = np.outer(input_signal, self.input_mask).flatten()

        # 非线性变换(模拟光学 Kerr 效应)
        reservoir_state = np.tanh(masked[:self.N])  

        # 线性读出(唯一需要训练的部分)
        if self.readout_weights is not None:
            return self.readout_weights @ reservoir_state
        return reservoir_state

    def train(self, states, targets):
        """仅训练输出权重(Ridge 回归)"""
        self.readout_weights = np.linalg.lstsq(
            states, targets, rcond=None
        )[0]

5. 能效对比

5.1 光 vs 电能效(示意量级,非统一基准测试)

操作 电子方案(量级) 光学方案(理想/实验室量级) 备注
中等规模矩阵乘 pJ/MAC 量级常见 可低至亚 pJ 宣称 必须统一是否含激光/转换
短距数据传输 更高 pJ/bit 光纤链路可更低 距离与收发架构敏感
FFT 视实现 光学模拟可极低延迟 精度与动态范围受限
CNN 推理 mJ 量级视模型 混合方案宣称可降 端到端系统差更大

5.2 实际限制因素

光计算的"隐藏成本":

1. DAC/ADC 转换:光计算省的能耗可能被转换吃掉
   - 解决:全光流水线减少频繁转换;混合精度

2. 激光光源:需要持续供电
   - 解决:多计算核共享光源;按需开关

3. 热控制:相位敏感器件需温度稳定
   - 硅光波长/相位随温度漂移
   - 解决:本地反馈控制环路;无热设计探索

4. 精度限制:光学噪声限制有效位数
   - 常见等效约数 bit
   - 解决:光学粗计算 + 电子精修

6. 未来路线图

6.1 技术发展时间线(展望,非承诺)

时间 光计算 光互连 IoT 影响
2024-2026 光学 AI 推理加速器试商用 800G 模块普及 云端/机房侧加速
2026-2029 光电混合训练探索 1.6T / CPO 部署扩大 边缘机房光互连
2029-2032 更大可编程光学阵列 芯片内/封装内光互连 光学传感融合
2032+ 更通用光学加速 光子片上网络 专用 IoT 光节点

6.2 光计算 + IoT 融合愿景

未来 IoT 光计算节点:

[光学传感器] --> [光学预处理] --> [光学 AI 推理] --> [结果输出]
                      |                 |
                 尽量留在光域        低功耗/低延迟

候选应用:
- 自动驾驶 LiDAR:光学前端处理点云相关运算
- 蜂窝波束管理:模拟域辅助实时计算
- 工业视觉:固定模型衍射网络在线筛查

7. 实践建议

7.1 初学者入门路径

  1. 第一周:学习波动光学、干涉、衍射基础
  2. 第二周:了解硅光子学器件(波导、MZI、微环)
  3. 第三周:用 Python 模拟 MZI 网格矩阵乘(如 Neuroptica 类库)
  4. 第四周:阅读光计算/CPO 白皮书,理解工程边界
  5. 进阶:学习 Lumerical/Ansys 等光学仿真,设计简单光路

7.2 具体调优建议

  • 精度补偿:光学粗算 + 电子残差修正
  • 温度控制:边缘部署必须评估温变与校准周期
  • 规模选择:实用网格规模有限,大矩阵需分块
  • 应用匹配:优先延迟/能耗敏感、精度容忍任务(推理优于训练)
  • 关注指标:TOPS/W 之外看有效精度与系统能效边界

8. 局限、挑战与可改进方向

8.1 系统能效口径不一致

局限:实验室 fJ/MAC 常不含激光、DAC/ADC、温控与封装损耗,导致与 GPU 对比失真。 改进:发布端到端焦耳/推理与焦耳/bit;强制披露测量边界;建立公开基准套件。

8.2 可编程性与模型更新

局限:D2NN 等固定光学结构难以 OTA 更新,不适合快速迭代的 IoT 模型。 改进:光电混合:光学前端固定特征 + 电子可更新分类头;探索相变/液晶可重配权重。

8.3 相位漂移与校准开销

局限:热光 MZI 对温度敏感,边缘机柜温变会导致精度崩溃,校准本身耗时耗能。 改进:片上监控光电二极管闭环;无热波导与 digita 辅助校准;部署前做温度循环验收。

8.4 CPO 可维护性与供应链

局限:光引擎与 ASIC 共封装后,现场更换困难,良率与返修成本上升。 改进:光学引擎模块化插座演进;先在高带宽交换场景试点;完善故障隔离与备件策略。

8.5 噪声限制有效精度

局限:散粒噪声、串扰与探测器噪声把等效位数压到数 bit,深层网络累积误差。 改进:混合精度流水线;误差感知训练;把光学层用于宽而浅的线性变换。

参考文献

[1] Y. Shen et al., "Deep Learning with Coherent Nanophotonic Circuits," Nature Photonics, 2017. [2] X. Lin et al., "All-optical Machine Learning Using Diffractive Deep Neural Networks," Science, 2018. [3] J. Feldmann et al., "Parallel Convolutional Processing Using an Integrated Photonic Tensor Core," Nature, 2021. [4] B. J. Shastri et al., "Photonics for Artificial Intelligence and Neuromorphic Computing," Nature Photonics, 2021. [5] Lightmatter, "Envise: Photonic AI Accelerator Technical Brief," Lightmatter Technical Brief, 2023. [6] P. Marin-Palomo et al., "Microresonator-Based Solitons for Massively Parallel Coherent Optical Communications," Nature, 2017. [7] M. T. Wade et al., "TeraPHY: A Chiplet Technology for Low-Power, High-Bandwidth In-Package Optical I/O," IEEE Micro, 2020. [8] H. Zhou et al., "Photonic Matrix Multiplication Lights up Photonic Accelerator and Beyond," Light: Science and Applications, 2022. [9] F. Ashtiani, A. J. Geers, and F. Aflatouni, "An On-chip Photonic Deep Neural Network for Image Classification," Nature, 2022. [10] Q. Cheng et al., "Silicon Photonics Codesign for Deep Learning," Proceedings of the IEEE, 2020. [11] W. Bogaerts et al., "Programmable Photonic Circuits," Nature, 2020. [12] C. Sun et al., "Single-chip Microprocessor that Communicates Directly Using Light," Nature, 2015.