想象一座微缩水景花园:池塘、沟渠和闸门都是真实物件,水在其中自然流动,自动遵循重力与流体力学的物理定律;你不必一步步计算“下一个毫米水位是多少”,水自己会完成这件事。但花园旁边有一位管理员,她拿着控制台,负责设定闸门开度、记录水位、分发“放水通知”。BrainScaleS-2 就是这样一座被装进芯片的水景花园。它的“水”是电流,池塘和沟渠是模拟晶体管电路,脉冲就是水波;而那位管理员是数字电路,负责配置、路由与观测。两者结合,便是“模拟-数字混合实现”。
理解 BrainScaleS-2 的混合架构,能让你把类脑计算从“看软件仿真”的惯性中解放出来,懂得如何用物理电路做科学计算,这对从事神经形态芯片、AI for Science 与低功耗 AI 的从业者都是核心认知。
可视化演示
展示BrainScaleS-2模拟-数字混合实现三大核心:混合架构(模拟硅神经元电路直接模拟生物物理过程速度快+数字路由网络处理脉冲路由和可塑性计算灵活可编程)、加速模拟(模拟电路物理时间常数实现比生物实时快1000-10000倍加速GPU仅约10x)、片上可塑性(STDP脉冲时间依赖可塑性在硬件电路直接计算无需主机干预支持在线学习),三模式切换理解BrainScaleS全貌。
本节配有交互动效(进入视口后自动加载,约 3KB)。
'+C1+'
混合架构
假如你想在一座微缩水景花园里研究“下雨”,最直接的办法是搭出真正的沟渠、池塘和闸门,拧开水泵让水自然流淌。水会自己走完每一毫米的路程,而不需要你在纸上逐格推算。BrainScaleS-2 的混合实现正是这种思路:芯片里有一片真实的模拟电路,电流就像水流,连续地演化着神经元的膜电位;同时在芯片的另一侧,一组数字电路如同拿着控制台的管理员,负责配置闸门、分发消息、记录读数。
在普通的软件仿真里,我们需要把微分方程切成一个个小时间步,用循环逐次更新;而在 BrainScaleS-2 中,积分不是“算”出来的,而是真实电路的物理过程。电容上的电压就是膜电位,输入电流改变电压的速度,电路自动遵循基本电学定律。模拟部分相当于一个免费的微分方程求解器,每时每刻都在并行完成海量计算。
但纯模拟电路很难独立工作:权重必须可设定、脉冲必须能路由、实验结果必须能读出来。于是数字电路接管这些“元任务”——突触权重以二进制存在 SRAM 中,经 DAC 转化为模拟电流;脉冲被封装成数字事件包,由路由器送给目标神经元;观测信号也通过数字端口输出。这种“模拟连续计算+数字离散控制”的协作就叫混合信号集成。
回到水景花园,管理员的手机并不替水流动,却能让整座花园井然有序。BrainScaleS-2 里,物理负责“计算本身”,数字负责“让计算可编程、可观测”——这正是模拟-数字混合实现最迷人的地方。
- 求和号对所有连接到当前神经元的突触 \(j\) 累加,就像汇总所有上游闸门的水量。
- 权重系数\(w_j\) 是第 \(j\) 个突触的权重,类似闸门开度,正负表示兴奋或抑制。
- 电位差\(V_j - V_{\text{mem}}\) 是上游电位与当前膜电位之差,相当于水因高度差而流动的驱动力。
- 电阻倒数\(\frac{1}{R}\) 是导电率,决定闸门导管的粗细;整体除以 \(R\) 后得到电流大小。
神经元电路
把单个神经元想成花园里的一座圆形池塘。水位就是膜电位 \(V\):既会因进水而升高,也会因为池壁渗漏而缓慢回落。如果水位逼近警戒线,一扇带正反馈的闸门突然打开,池塘会快速放出一股洪峰——这就是一次动作电位。BrainScaleS-2 的神经元电路把这个过程做进真实的电容与导电结构中。
硬件采用的是自适应指数积分发放模型(AdEx)。它同时描述两件事:膜电位的快速变化,以及一个慢速“自适应变量” \(w\),相当于一座会随水位慢慢调节的泄洪阀。整个模型由两个微分方程组成,芯片上的电容负责第一个方程,受控电流源负责第二个方程。
当输入电流注入电容,电压以连续时间方式上升;一旦越过发放阈值,指数项会让电压迅速“失控”,形成尖锐的脉冲。随后电压被复位,自适应变量 \(w\) 增加,为下一次发放引入不应期。这样的电路没有时钟节拍,完全依靠物理时间常数工作。
所以说,这座池塘的物理设计决定了它天然连续、天然并行。软件要花许多循环才能模拟一个 AdEx,而芯片上用真实电容电阻几微秒内就走完一次充放电。
- 电容项\(C \frac{dV}{dt}\) 表示电容充放电速度,相当于池塘水位变化的快慢。
- 漏电流项\(-g_L(V-E_L)\) 是池壁渗漏,倾向把水位拉回静息电位 \(E_L\)。
- 指数项\(g_L \Delta_T \exp((V-V_T)/\Delta_T)\) 是阈值附近的正反馈,一旦水位接近 \(V_T\) 就迅速放大,形成洪峰。
- 自适应项\(-w\) 是一种慢抑制电流,像逐渐打开的泄洪阀,降低爆发倾向。
- 突触输入\(I_{\text{syn}}\) 是所有上游池塘汇入的总电流。
- 自适应动力学\(\tau_w \frac{dw}{dt} = a(V-E_L) - w\) 说明 \(w\) 随膜电位缓慢调整,发放后还会额外增加 \(b\)。
脉冲通信
池塘放水后,洪峰怎么通知下游?水景花园不是真的把所有沟渠连成一片,而是由管理员把“放水事件”写成一张小纸条,派信使送到下游池塘。BrainScaleS-2 同样把脉冲转成数字事件包:包含源神经元编号、目标地址、时间戳,再交给路由网络分发。
这是混合实现的关键分工:神经元内部的膜电位演化留在模拟域,但“事件产生后要去哪儿”属于数字问题。用数字通信的好处是可扩展、可编程,不受模拟器件之间串扰的限制;事件驱动也意味着没有脉冲时,网络几乎不消耗动态功耗。
芯片上有一个可配置的突触交叉阵列,类似花园的管路总图。某个连接需要多强,由权重决定;需要连到哪个神经元,由路由器配置。脉冲到达目标突触时,数字权重又经 DAC 转换成模拟电流,汇入膜电位。于是“数字路由”和“模拟积分”无缝衔接。
管理员不必搬动一砖一瓦,只要不断发送小纸条,整座花园的水流就可以重新编排。分布式、事件驱动、数字传输,是 BrainScaleS-2 能够像大脑一样稀疏通信的关键。
突触可塑性
突触权重就是两座池塘之间的闸门开度。学习,就是根据经验调整闸门。BrainScaleS-2 的特别之处在于,权重虽然以数字方式存储,更新却可以发生在离池塘很近的局部电路里,不需要把数据搬回远处的主机。这就像管理员在花园里现场微调闸门,而不是把图纸寄回设计院改版。
经典的局部学习规则是脉冲时序依赖可塑性。如果上游神经元比下游先放水,认为“因果关系”成立,权重应该增强;反之则减弱。芯片上有专门电路按时间差计算更新量,属于真正的片上在线学习。
STDP 的曲线可以写成下面的分段公式。时间差 \(\Delta t=t_{\text{post}}-t_{\text{pre}}\) 为正时权重增强,为负时权重减弱,且离得越近,变化越明显。
这种“就地更新”让学习过程不再受制于数据中心的海量数据搬运。物理噪声还天然地提供了随机扰动,有时反而像一种正则化,帮助网络跳出局部极小。
- 时间差\(\Delta t = t_{\text{post}} - t_{\text{pre}}\),下游比上游晚发放则为正,先发放则为负。
- 增强项当 \(\Delta t > 0\),权重变化量为正,大小按指数衰减,仿佛“近因更重要”。
- 减弱项当 \(\Delta t < 0\),权重变化量为负,幅度同样随时间差增大而减小。
- 时间常数\(\tau_{+}, \tau_{-}\) 控制 STDP 窗口宽度,决定多长的时间差还能影响学习。
时间加速
生物神经元用毫秒尺度演化,池塘的水起落要等很久。BrainScaleS-2 则像把整座花园搬进“快进模式”——通过调整电容、电阻和偏置电流,让膜电位在芯片时间上远快于生物时间。千倍到万倍的缩放,让原来需要数小时的实验变成数十秒。
加速不是简单的时钟倍频,因为模拟电路没有全局时钟;而是通过调快物理时间常数实现的。数字控制部分按芯片时间记录事件,离线分析时再乘回缩放因子,恢复生物时间坐标。
当网络被加速一个因子 \(K\),芯片上每过 \(t_{\text{chip}}\) 秒,就相当于生物系统经历了 \(K t_{\text{chip}}\) 秒。这个公式看起来简单,却决定了实验的规模与成本。
加速模式大大提高了批量实验效率。但要小心,输入输出与数字路由等固定开销不会跟着加速,所以加速收益受任务类型限制——这就像视频快进后,片头广告依然得按真实时间播放。
- 生物时间\(t_{\text{bio}}\) 表示真实神经元活动经历的时长,是研究者关心的实验时间。
- 加速因子\(K\) 是无单位的缩放倍数,常见千到万量级,由硬件配置决定。
- 芯片时间\(t_{\text{chip}}\) 是芯片上模拟电路实际运行的物理时长,由电容充放电速度决定。
- 乘法关系把芯片时间乘上 \(K\),就还原成生物时间坐标。
工具链
再美的花园也需要施工图和操作台。BrainScaleS-2 的软件栈把用户从晶体管细节中解放出来:你可以在 PyNN 中用“神经元”“突触”“刺激”这些高层概念描述网络,再交给后端映射成芯片配置。
由于每片晶圆上模拟器件存在制造偏差,同样的参数在不同芯片上可能产生不同反应,因此工具链要做参数校准:把设计值映射成 DAC 码和偏置电压,并在系统运行时采集输出,反过来修正参数。这一步相当于给每座水景花园“试水调闸”。
实验流程通常包括:用 PyNN 定义网络,编译并映射,上载配置,施加输入刺激,采集脉冲序列,最后离线分析。工具链还支持对部分神经元进行膜电位采样,方便调试,就像管理员通过手机远程查看某座池塘的水位。
如果没有这套软件栈,模拟电路只是难以驾驭的物理学玩具;有了 PyNN 和校准工具,BrainScaleS-2 才真正成为可以反复设计实验的类脑计算平台。
性能应用
回到花园本身:它到底比传统方案强在哪?BrainScaleS-2 最大的本钱是能效与并行:模拟神经元没有逐周期时钟,只在事件到来时消耗能量;大量神经元同时演化,天然并行,功耗远低于同样任务量的数字仿真。
代价是精度有限。模拟器件的温度漂移、制造差异、噪声都会反映在脉冲时间上,因此不能像 GPU 的 32 位浮点那样精确。实际使用要通过校准降低偏差,并对算法的噪声鲁棒性提出要求。
在 AI for Science 场景中,这种“物理噪声+加速”反而有用:神经科学家可以快速筛选模型假设;SNN 推理任务可以借助低功耗获得优势;随机动力学还被用来做玻尔兹曼采样与伊辛优化。BrainScaleS-2 不再是实验室原型,而是可以支撑研究的工具。
水景花园的运维成本、误差和收益都必须综合权衡。理解了它的性能边界,你才知道该用它来跑“物理实验”而不是“通用浮点计算”。
AI 应用场景
场景一:神经动力学实验加速
阶段:数据处理与仿真加速
解决的问题:传统软件仿真一个十万神经元的 AdEx 网络需要把每个时间步的微分方程迭代多遍,一次生物时间 1 小时的实验往往要跑数天。BrainScaleS-2 的模拟电路直接演化膜电位,以千到万倍加速让实验在数分钟内完成,同时保留连续时间分辨率和真实器件噪声。
具体案例:某神经科学研究组用 PyNN 定义了一个三维视觉感知网络,上载到 BrainScaleS-2 后,以 10000 倍加速运行 500 毫秒生物时间,采集到完整的脉冲序列并分析 STDP 对方向选择性的影响。
场景二:低功耗脉冲神经网络推理
阶段:模型部署与推理
解决的问题:事件驱动设计使功耗与脉冲数成正比,避免数字芯片的时钟翻转开销。对于超低功耗的边缘 AI,用脉冲神经网络做语音关键词检测、震动模式识别,比同等嵌入式 GPU 功耗低一个量级。
具体案例:音频流先被编码成脉冲,BrainScaleS-2 上的 SNN 分类器在事件到达时逐级处理,在保持 90% 唤醒准确率的同时,将待机功耗从瓦级降至毫瓦级。
场景三:玻尔兹曼机与伊辛优化
阶段:数值采样与优化
解决的问题:模拟噪声天然适合生成随机样本;用神经元网络动力学实现玻尔兹曼机,不需要额外引入随机数发生器。针对组合优化问题可映射为伊辛模型,在芯片上退火采样。
具体案例:把一个小型图分割问题编码为神经元间的耦合权重,BrainScaleS-2 通过随机发放退火找到低能态,相比软件采样单位时间能耗大幅降低。
Python 演示
import numpy as np def adex_step(V, w, I, dt, p): dV = (-p['gL'] * (V - p['EL']) + p['gL'] * p['deltaT'] * np.exp((V - p['VT']) / p['deltaT']) - w + I) / p['C'] dw = (p['a'] * (V - p['EL']) - w) / p['tauw'] V = V + dV * dt w = w + dw * dt spike = 0 if V > p['Vth']: V = p['Vreset'] w = w + p['b'] spike = 1 return V, w, spike def run(): dt = 0.1 T = 500.0 p = {'C': 200.0, 'gL': 10.0, 'EL': -70.0, 'VT': -50.0, 'deltaT': 2.0, 'Vth': -40.0, 'Vreset': -70.0, 'tauw': 30.0, 'a': 2.0, 'b': 60.0} t = np.arange(0, T, dt) V = np.full_like(t, p['EL']) w = np.zeros_like(t) spike = np.zeros_like(t) for i in range(1, len(t)): I = 400.0 if 100.0 < t[i] < 300.0 else 0.0 V[i], w[i], s = adex_step(V[i-1], w[i-1], I, dt, p) spike[i] = s print("spike count:", int(spike.sum())) print("final V: %.2f mV" % V[-1]) if __name__ == "__main__": run()
dV = (-p['gL'] * (V - p['EL']) + ... ) / p['C']对应硬件电容充放电方程,漏电流与指数项合起来决定膜电位变化速度。p['deltaT'] * np.exp((V - p['VT']) / p['deltaT'])模拟硬件中阈值附近的正反馈“紧急闸门”。dw = (p['a'] * (V - p['EL']) - w) / p['tauw']自适应变量w的慢速动力学,与芯片上的慢电流支路对应。if V > p['Vth']:硬件比较器判断是否发放;发放后电压复位、w抬升,模拟动作电位后的不应期。I = 400.0 if 100.0 < t[i] < 300.0 else 0.0作为外部刺激的数字注入,相当于配置好突触输入后用数字控制台施加电流。
常见误区
误区听说是模拟-数字混合,就以为是在普通芯片上跑一个神经网络仿真程序,外面接一堆硬件接口。
正解BrainScaleS-2 的模拟部分本身就是物理电路,膜电位是被真实电容电压连续表示的,不需要用指令逐秒迭代。数字部分只是做配置、路由和观测,不是 CPU 在执行网络计算。
为何常见:因为我们习惯把 GPU 上的软件仿真当作“跑模型”的标准方式,很难想象没有时钟的物理计算设备。
误区既然快速模式把生物时间加速了 1 万倍,那整个训练和推理流程也都相应快 1 万倍。
正解加速的是模拟神经元和突触动力学。数字输入输出、路由、参数配置、数据读取等开销不按同一比例缩放,任务太短或通信频繁时,实际收益远低于加速因子。
为何常见:人们容易把峰值动态加速等同于端到端性能,忽略了混合系统中数字部分的固定成本。
误区模拟电路让我联想到连续可变的旋钮,所以突触权重应该是精度很高的模拟值。
正解为可编程性与稳定性,BrainScaleS-2 中权重先以数字形式存储,再由 DAC 转换为模拟电流。数字位数有限,加上模拟噪声,最终有效精度并不高,需要校准并容忍误差。
为何常见:“模拟”两个字容易让人误以为所有信号都高精度连续,而实际系统的设计原则是“哪里方便用数字,哪里需要物理才用模拟”。
误区看到支持片上学习,就以为可以像 PyTorch 里训练 ResNet 一样端到端反向传播整个网络。
正解片上学习目前更偏向局部规则(如 STDP)和轻量权重调整,全局反向传播的梯度计算仍需外部协助。它擅长在线持续学习、数据不出芯片,而非大模型预训练。
为何常见:“可学习芯片”的概念与人们熟悉的深度学习训练产生联想,忽略了硬件资源与算法范式的限制。
误区模拟噪声和制造偏差让结果不可复现,这种“不精确”的设备不能用于严谨科学实验。
正解科学实验本来就要多次重复、统计误差。BrainScaleS-2 的噪声可以视作模型的生物噪声来源,配合校准与多次采样,能得到具有统计意义的结论。
为何常见:把软件仿真中的确定性默认为科学计算的前提,忽略了复杂生物系统本身具备随机性。
面试题
Q1. BrainScaleS-2 采用哪种整体计算架构?
- A.纯数字 GPU 并行计算
- B.模拟-数字混合神经形态← 正确答案
- C.纯模拟电压电路集合
- D.传统冯诺依曼计算机
答案:B。BrainScaleS-2 的核心思想是模拟电路连续演化膜电位,数字电路负责配置和路由,因此是典型的模拟-数字混合神经形态架构。GPU 是纯数字,纯模拟缺少可编程性,冯诺依曼机更强调存储与处理分离。
Q2. 在 BrainScaleS-2 的模拟部分,膜电位主要由什么物理量表示?
- A.电容上的电压← 正确答案
- B.电阻中的电流
- C.数字寄存器数值
- D.时钟脉冲个数
答案:A。膜电位是神经元内部的电位差,在硬件中由神经元电路的电容电压表示。输入电流对电容充放电,电压随时间变化的过程天然模拟微分方程。电阻电流、数字寄存器和时钟脉冲都不是膜电位本体。
Q3. 快速模式下,BrainScaleS-2 相对生物时间的加速量级约是多少?
- A.大约十倍级别
- B.大约百倍级别
- C.大约万倍级别← 正确答案
- D.大约十亿倍级别
答案:C。BrainScaleS 系列通过调快物理时间常数,把毫秒级生物动力学压缩到微秒级芯片时间,通常达到千到万倍量级。十倍太小,十亿倍不现实,只有答案 C 符合设计指标。
Q4. 下列哪个神经元模型被 BrainScaleS-2 硬件实现?
- A.AdEx 指数积分模型← 正确答案
- B.LeNet 卷积网络
- C.Transformer 注意力模型
- D.单层感知机模型
答案:A。BrainScaleS-2 的神经元电路采用自适应指数积分发放模型(AdEx),包含膜电位、自适应变量和指数发放机制。LeNet、Transformer、感知机是更高层算法或网络,不是被硬件实现的神经元动力学模型。
Q5. 突触权重在 BrainScaleS-2 中主要如何存放与生效?
- A.数字 SRAM 存储再转模拟← 正确答案
- B.纯模拟电容一直保存
- C.光脉冲频率调制存储
- D.机械可变形电阻丝存储
答案:A。为了可编程和稳定,权重先以数字位存放在 SRAM,使用时经 DAC 转换为突触电流幅值。纯模拟电容难长期保存,光脉冲与机械电阻丝都不是该芯片的实现方式。
Q6. 关于 BrainScaleS-2 的混合信号实现,正确的说法有哪些?
- A.模拟部分连续演化膜电位← 正确答案
- B.数字部分负责路由和配置← 正确答案
- C.整个芯片完全没有时钟信号
- D.权重以数字方式存储再转模拟← 正确答案
答案:ABD。模拟部分像水渠自然流水,数字部分像管理员调度,因此 A、B 正确;权重数字存储后转模拟,D 正确。芯片没有全局时钟不代表完全没有时钟信号,数字部分的路由仍需要时钟,C 错误。
Q7. 用加速因子 10000 倍研究 1 小时生物活动,芯片运行时间最接近多少?
- A.约 0.36 秒← 正确答案
- B.约 36 秒
- C.约 1 小时
- D.约 1 万小时
答案:A。1 小时等于 3600 秒,除以 10000 得到 0.36 秒。这说明快速模式能把长时间生物动态压缩到极短物理时间,但实际还要加上数据输入输出与路由开销。
Q8. 片上学习相比 GPU 离线训练的优势有哪些?
- A.权重就地更新无需大矩阵搬运← 正确答案
- B.物理噪声可作为随机正则化← 正确答案
- C.每个步骤都获得无限高精度
- D.自然实现 STDP 等生物规则← 正确答案
答案:ABD。片上学习把更新规则放在突触附近,减少数据搬运;物理噪声提供随机性,有正则效果;STDP 这类局部规则正好契合硬件。但模拟硬件不可能无限高精度,C 错误。
Q9. 模拟计算面临的最主要精度挑战是什么?
- A.制造差异与温度漂移失配← 正确答案
- B.浮点数舍入误差不断累积
- C.缺少乘法器无法做矩阵运算
- D.神经元不能并行处理数据
答案:A。模拟器件受工艺、温度、电压波动影响,相同配置在不同芯片上输出不同,需要校准。浮点误差是数字仿真问题;BrainScaleS-2 有模拟乘加也能并行,所以 B、C、D 都不成立。
Q10. BrainScaleS-2 在 AI for Science 中可以承担哪些任务?
- A.大规模神经网络动态研究← 正确答案
- B.低功耗脉冲神经网络推理← 正确答案
- C.通用大语言模型训练
- D.伊辛模型与玻尔兹曼采样← 正确答案
答案:ABD。它擅长连续时间神经动力学仿真、脉冲推理和基于随机动力学的组合优化采样。大语言模型训练需要大规模高精度矩阵运算和超大存储,与神经形态芯片的定位明显不符。