神经计算机:从视频生成走向可学习运行时 Neural Computers
把神经网络本身当作一台计算机,用视频模型承载传统计算机的计算、内存和 I/O。
前置知识
扩散 Transformer(DiT)与视频生成
DiT 是把 Transformer 架构用到扩散模型上的视频/图像生成范式:先通过 VAE 把像素压缩到潜变量 $z$,再用 Transformer 迭代去噪,最后解码成帧。本文把这种『潜变量在时间维度上滚动、外加条件输入』的结构直接当成神经计算机的运行时状态。
整篇论文的原型(NCCLIGen / NCGUIWorld)都建立在 DiT 视频模型的「滚动潜状态 + 条件注入」之上,不理解这一范式就读不懂为什么 NC 抽象要用 $h_t = F_\theta(h_{t-1}, x_t, u_t)$ 这种更新-渲染的形式。
世界模型(World Model)
世界模型是一类学习环境动力学 $p(x_{t+1} \mid x_t, u_t)$ 的神经网络,可以用来做规划、想象、控制。从 Ha & Schmidhuber 2018 到 Genie 3、Sora 2,都是这条线的延续:让模型内化环境规则并按动作滚动出下一帧。
神经计算机把『交互式计算机界面』视为世界模型的一类特殊目标环境。要分得清 NC 与世界模型的边界——世界模型预测环境动态,NC 让模型自身成为可执行的运行时——必须先懂世界模型。
图灵完备(Turing Completeness)与冯·诺依曼结构
图灵完备指的是一个计算系统能模拟任意图灵机;冯·诺依曼结构则把计算与存储统一在同一可读写内存中。本文用这两个经典概念去定义『完全神经计算机(CNC)』的前两条要求,所以读者需要熟悉这两个抽象层次的定义。
论文第 4 节明确把 CNC 形式化为 (i) 图灵完备、(ii) 万能可编程、(iii) 行为一致、(iv) 神经架构原生语义这四条工程标准,并指出当前视频原型离前两条还很远——这是评估『NC 离真正的计算机形态还差多远』的标尺。
神经图灵机 / 可微神经计算机(NTM/DNC)
NTM 和 DNC 是 2014–2016 年由 DeepMind 提出的『神经网络 + 外部可读写内存』架构,通过注意力机制读写记忆矩阵,可以在原理上图灵完备。它们是神经计算机在结构化任务上的早期先驱。
论文 2.1 节的 Related Work 明确把本文放在 NTM/DNC 这条『神经可编程计算』谱系上。理解 NTM 的局限(固定精度、外挂存储)有助于理解为什么作者认为需要把整个运行时状态都吸收进潜变量 $h_t$。
研究动机
今天『让模型操作计算机』的方案大多是把神经网络当作现有机器顶层的智能层:computer-use agent 通过低带宽的 GUI I/O 调用外部 OS,coding agent 输出符号代码再交给别处执行,而世界模型只预测环境如何变化却不真正承担执行。结果是『学会做事』的模型和『实际存储可执行状态、强制系统契约』的运行时被严格割裂,作者把这条割裂叫做 executable state still resides outside the model。具体表现是 NeuralOS、Genie 3、Imagine with Claude 等系统在可控小场景里能做出漂亮的屏幕预测,但都依赖外层环境真正执行;它们都没回答『能不能让模型本身做那台计算机』。同时,现成的视频生成器(Wan2.1、Veo 3.1、Sora 2)在自然视频上很强,但接到终端/桌面 I/O 上之后就出现文本字符级对齐差、光标漂移、字符算术崩溃等具体失败,Table 5 显示 Wan2.1 在简单算术探针上准确率 0%、NCCLIGen 也只有 4%,可见这条路不仅缺概念,更缺可靠的监督信号。
本文的目标是作者提出 Neural Computer(NC)这个新的机器形态:让一个神经网络 $(F_\theta, G_\theta)$ 在单一潜变量 $h_t$ 里同时承担传统计算机的计算、内存和 I/O 三种角色,运行时状态本身就是神经网络的隐状态。它的近期目标(本文)是验证『仅靠屏幕像素加动作输入』能否学到一个可用的运行时原语(I/O 对齐 + 短时控制),长期目标是 Completely Neural Computer(CNC):一个图灵完备、万能可编程、不会静默漂移、并拥有自己原生的机器语义的可学习运行时系统,并给出从原型到 CNC 的工程路线图。
与已有工作不同的是,本文的独特切入角度是用现成的视频扩散模型作为 NC 的「物理实现」,把视频潜变量 $z_t$ 直接当成运行时状态 $h_t$,从而绕开再去设计新架构的成本——这是工程上的务实路线,但在概念上非常有野心:它暗示视频生成的质量决定了我们离 CNC 还有多远。本文同时给出 CLI(NCCLIGen)和 GUI(NCGUIWorld)两个界面原型的对照实验,强调『数据质量 > 数据规模』(110 小时人工 CUA > 1400 小时随机抓取)、『视觉监督 > 坐标监督』(SVG 鼠标掩码把光标准确率从 8.7% 拉到 98.7%)、『深层注入 > 表层条件』(internal 注入比 external 的 SSIM+15 从 0.746 提升到 0.863),并据此提出符号稳定性、运行时治理两条尚未解决的核心瓶颈。
核心方法
本文的方法思路可以一句话概括:把视频扩散模型当电脑。具体做法是先形式化 NC 抽象为更新-渲染循环 $h_t = F_\theta(h_{t-1}, x_t, u_t), x_{t+1} \sim G_\theta(h_t)$,然后选 Wan2.1 这种 image-to-video DiT 做骨架,让 $F_\theta$ 由扩散 Transformer 实现,让 $h_t$ 由时序潜变量 $z_t$ 实现,让 $G_\theta$ 由 VAE 解码器实现;最后分别在 CLI 和 GUI 两个界面实例化,得到 NCCLIGen(用 asciinema 录像和 vhs 脚本做终端帧生成)和 NCGUIWorld(用带光标/键盘流的桌面录像做 GUI 视频生成)。两条路共享骨架但各自独立训练,没有共享参数——这是有意为之,因为 CLI 是文本驱动、GUI 是像素级动作驱动,合在一起训会让条件信号难以解耦。
核心创新点不是新的网络结构,而是把这台『视频生成器』重新定义为一台计算机:可执行状态不是外挂的 OS,而是模型内部的潜变量;条件输入 $u_t$(文本 prompt 或鼠标键盘事件)不再是『提示词』而是『程序 / 动作流』;VAE 解码出的帧不再是『图像』而是人眼可见的 I/O 输出。和已有方法(NeuralOS、Genie 3、世界模型)相比,本质区别是 NC 把『可执行运行时状态』带进模型本身,而不是把模型当作一个外挂在世界旁边的预测器或代理。围绕这个抽象,再做两组关键工程决策:CLI 上靠详细 caption 作为可脚本化的条件(PSNR 从 21.90 dB 提到 26.89 dB),GUI 上把动作『埋』到 Transformer block 内部的 cross-attention(internal conditioning 在 15 帧 post-action 窗口上 FVD 从 33.4 降到 14.5),并显式渲染 SVG 光标作视觉监督(cursor 准确率从 13.5% → 98.7%)。
方法步骤详情
完整方法分两条流水线并行推进。第一条 CLI 线:(1) 数据上抓取 82.4 万段公开 asciinema 录像(CLIGen General, ~1100 小时, 15 FPS)并切成 5 秒片段,用 Llama 3.1 70B 在三档描述粒度(semantic/regular/detailed)上生成 prompt;同时用 vhs 脚本驱动 Docker 录制 ~12.8 万段确定性终端轨迹(CLIGen Clean, ~250k 脚本过滤后保留 51.21%)并归一化字号、配色、分辨率。(2) 模型把首帧送 VAE 编码成条件潜变量,与 CLIP 视觉特征、T5 文本特征在投影后同 DiT 噪声拼接,输入 Diffusion Transformer 自回归式的滚动下一帧,并在 cross-attention 中注入 caption + 首帧上下文。(3) 训练用 AdamW(lr $5 \times 10^{-5}$,weight decay $10^{-2}$,bf16,grad clip 1.0),先在 CLIGen General 上跑 ~15000 H100·小时,再在 CLIGen Clean 上跑 ~7000 H100·小时。第二条 GUI 线:(1) 数据上在固定 1024×768 Ubuntu/XFCE 桌面上录三种轨迹——Random Slow ~1000 小时(1.51 像素/帧、1.58 动作/秒)、Random Fast ~400 小时(195.15 像素/帧、4.18 动作/秒)、以及 110 小时的 Claude CUA 人工监督(3.79 像素/帧、0.10 动作/秒),并把光标 SVG 渲染成掩膜/reference 帧。(2) 模型在 Wan2.1 之上加四种动作注入方式:external(action 模块在 VAE 输入处产生 $\Delta z$ 加到 $z'_T = z_T + \Delta z(u_T)$)、contextual(action token 与 visual token 共序列,用 lag-aware 掩膜做 self-attention)、residual(block 外挂 $\tilde h^{(l)} = h^{(l)} + \Delta h^{(l)}(a, m)$)以及 internal(block 内部再插一个 action cross-attention $h' = \text{FFN}[h + \text{CA}_{\text{text}}(\text{SA}(h), c) + \text{CA}_{\text{action}}(h, a)]$)。(3) 训练只用 64 GPU × 15 天一种注入模式跑 ~64k 步,加上 diffusion loss 加一个对齐动作/鼠标的时序对比 loss,每种模式约 23k GPU·小时。推理时输入首帧 + 动作/文本条件,模型按 sampling schedule 滚动出后续帧,并不与真实环境闭环。
技术新颖性
技术新颖性主要在两层:抽象层用更新-渲染循环 $h_t = F_\theta(h_{t-1}, x_t, u_t)$ 显式把可执行状态绑到潜变量,把视频生成重新解读成可编程运行时;工程层通过对四组关键设计选择(数据配比、坐标系监督 vs 像素监督、注入深度、动作编码粒度)的系统消融,给出『数据质量优先于规模』、『视觉监督是 GUI 控制的必要条件』、『把 action 注入到 Transformer 深处而不是 VAE 输入处』、『API 式 meta-action 优于裸事件流』这四个可被复用的设计结论。同时论文把 CNC 定义成 (图灵完备, 万能可编程, 行为一致, 神经原生) 的四元组,并指出当前 prototype 还远未达到前两条标准,给出一条自检『机器形式成熟度』的标尺,而不是再发一个 SOTA。
实验结果
本文 10 个实验横跨 CLI 和 GUI,整体读出三个一致结论。第一,CLI 上的『渲染』已经接近可用:Table 2 给出 Wan2.1 VAE 在 13 px 终端字上重建 PSNR 40.77 dB / SSIM 0.989,Table 3 证明 caption 越字面越保真(detailed 26.89 dB vs semantic 21.90 dB),Table 4 显示 CLIGen Clean 上 60k 步字符准确率从 0.03 涨到 0.54、整行匹配率到 0.31。但 Figure 5 说明 PSNR/SSIM 在 25k 步就开始 plateau,再训练到 460k 步没增益,说明『视觉像不像』这件事很快饱和。第二,CLI 上的『推理』远远不够:Table 5 在 100 道保留算术题上 Wan2.1=0%、NCCLIGen=4%、Veo 3.1=2%、而 Sora 2 单独达到 71%——本文没有把这条线当作原生推理证据,而是用 Figure 6 + Table 6 说明纯靠『reprompting 把答案写进 caption』就能从 4% 拉到 83%,证明这条差距几乎完全来自条件化界面,而不是 NC 后端学到算术。第三,GUI 上动作可控性需要深层注入 + 像素级监督:Table 8 显示 110 小时人工 CUA 在 FVD/SSIM/LPIPS 全面打败 1400 小时随机爬取(14.72/0.885/0.144 vs Random Fast 48.17/0.695/0.483),Table 9 把光标准确率从坐标监督的 8.7% → Fourier 增强的 13.5% → SVG 视觉监督的 98.7%,Table 10/11 表明动作注入越深,15 帧 post-action 的 SSIM 从 0.746 提升到 0.863、FVD 从 33.4 降到 14.5。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 终端帧重建质量(CLIGen General, 13px 终端字) | PSNR / SSIM(VAE 重建) | PSNR 40.77 dB / SSIM 0.989 | NeuralOS 通用 VAE 在结构化屏幕上表现不佳(定性论证) | 在 13 px 字号下重建质量优秀;只在 6 px 极端字号下出现局部模糊 |
| 终端文本到像素对齐(CLIGen Clean,文字 prompt 设定) | PSNR(mean over 评估集) | detailed caption: 26.89 dB;regular 23.63 dB;semantic 21.90 dB | semantic caption(同模型,仅换 prompt) | detailed 比 semantic 高近 5 dB PSNR |
| 终端字符级渲染(CLIGen Clean,60k 步 OCR) | Char. accuracy / Exact-line accuracy(Tesseract OCR) | 0.54 / 0.31 | 未训练基线 0.03 / 0.01 | Char. acc +0.51,Exact-line +0.30;0→40k 步是主要增益区间 |
| 简单算术探针(100 题,从 1000 题保留池采样) | Accuracy | NCCLIGen 4%(reprompting 后 83%) | Wan2.1 = 0%;Veo 3.1 = 2%;Sora 2 = 71%(outlier) | 增益主要靠把答案写进 caption 的条件化技巧,而非 NC 后端内生推理 |
| GUI 全局生成质量(GUIWorld,三种数据源,contextual 注入) | FVDall / SSIMall / LPIPSall | Claude CUA(110h):14.72 / 0.885 / 0.144 | 未训练 149.61 / 0.496 / 0.605;Random Fast 48.17 / 0.695 / 0.483;Random Slow 20.37 / 0.830 / 0.237 | 110h 监督 CUA 数据在 FVD、SSIM、LPIPS 上同时优于 1400h 随机探索 |
| GUI 光标控制(cursor accuracy) | 光标位置精度 | Position + SVG mask/ref: 98.7% | Position-only 8.7%;Position + Fourier 13.5% | 加 SVG mask/reference 监督后从 13.5% 跃升到 98.7% |
| GUI 动作后帧质量(注入深度消融,15 帧 post-action) | SSIM+15 / LPIPS+15 / FVD+15 | internal: 0.863 / 0.141 / 14.5;residual: 0.857 / 0.138 / 18.8 | external (early-stop): 0.746 / 0.251 / 33.4;contextual 0.813 / 0.190 / 24.8 | internal 比 external 在 SSIM+15 上 +0.117,FVD+15 上 -18.9 |
| GUI 动作编码(internal 注入下,raw vs meta) | SSIM+15 / LPIPS+15 / FVD+15 | meta-action (API-like): 0.863 / 0.141 / 14.5 | raw-action (event stream): 0.847 / 0.144 / 16.6 | meta 略优于 raw,但增益(SSIM+0.016, FVD-2.1)远小于换注入方式带来的提升 |
局限与改进
作者明确承认两条:(i) 视频原型是工程选择而非根本解,原生符号处理、形式化可靠性仍属开放问题(Table 5 的算术准确率是直接证据);(ii) 评估都是开环(logged prompt/action stream)而非闭环与活环境交互,行为不会因为真实执行结果而修正。我在阅读时还看到几个隐含限制:CLIGen General 训练后 PSNR/SSIM 在 25k 步 plateau,继续训练甚至可能略降,说明目前的 pixel-wise 目标很快饱和;reprompting 把符号算术拉到 83% 这个数字其实有自我消解的味道——它说明渲染听指挥,但说明不了 NC 内生推理;GUI 上 SVG 鼠标监督把光标准确率拉到 98.7%,但 Table 11 提醒你『动作编码』换 raw→meta 的收益只有 0.7%,远不如换注入深度,说明现在 GUI 的瓶颈仍然在『让模型听到动作』而不是『让模型听懂动作』;Table 10 里 external 基线只跑了一半预算被 early-stop,所以那条对比只能算粗略参考;另外,评测数据集只覆盖一小撮 Linux XFCE 应用,泛化到 Windows/macOS 或更多软件族尚未验证。
独立分析的弱点
独立看,最大弱点是『评测是渲染评测,不是可执行评测』——所有指标都是像素/FVD/SSIM/LPIPS/OCR,NC 是否真能作为可执行运行时还要靠闭环 I/O 验证。一个具体场景是 GUI agent 任务:NCGUIWorld 现在能根据 logged action 滚动出合理的后续帧,但没人测过把 NC 当 agent 用——即把它自己生成的下一帧+预测的动作喂回去,10–20 步之后能不能还在 GUI 上稳健操作。其次是『监督信号弱于真实环境』——CLIGen Clean 几乎所有训练样本都来自 51.21% 过滤后的人写脚本,覆盖偏窄(包安装、Python REPL、日志过滤),对没见过的终端工作流(多窗口、SSH、tmux、复杂 TUI)外推不可控。第三,internal 注入只在 64k 步、~23k GPU·小时内跑完,作者承认 external 基线被 early-stop,对『到底哪种注入最好』的结论强度有限;而且 Table 11 显示换动作编码收益微弱,可能是因为评估窗口只有 15 帧,看不出长链路任务的差别。最后是『评估错位』:reprompting 把算术跳到 83% 给出了重要警示,但目前没有机制去自动区分『是真的算出来』vs『只是把答案抄进 prompt』,这种伪推理分数会误导后续工作。每个弱点的改进方向分别是:加 closed-loop 评估(NC 生成下一帧+动作,再喂回自身循环);用随机游走或在线交互收集覆盖更多终端/桌面场景的数据(论文附录 A.2 已描述相关管线雏形);统一注入深度的训练预算并把评估窗口拉到 60–120 帧去捕捉长链路;引入过程级指标(比如把符号计算题的真答案和生成中间字符串分开追踪),强迫模型把推理过程显化。
未来方向
作者提出的方向有三:(i) 实现 Run/Update 契约,把例程显式安装并可重放、回滚,而不是每次重新发现;(ii) 设计 machine-native 神经架构(具有离散操作、可组合结构和可验证计算的归纳偏置)替代现在的连续视频生成范式;(iii) 通过 I/O 交互在线生成神经网络模块,把交互轨迹当作可执行规范。基于本文的成果还可以延伸几条:(a) 把 SVG 鼠标掩膜范式推广到所有 UI 元素(按钮、文本框、滚动条),把『精确可点击』准确率推到接近 100%;(b) 用其它自动化 agent(不止 Claude CUA)做主动监督采集,把 110 小时监督数据进一步扩大并跨 OS 迁移;(c) 在 NC 训练目标里加入『执行回放一致性』loss,强制 NC 在不同 conditioning 下得到的同一程序结果对齐,作为行为一致性的可量化代理;(d) 把现在只测 5 秒左右的 rollout 延长到分钟级,测试 NC 的『长程记忆』是否就是 $h_t$ 本身,而不是靠反复刷首帧。
复现评估
可复现性整体偏弱-中等:作者把论文定位为 position paper 加 prototype,所以代码、checkpoint、数据集并未在 v2 文本中宣布公开发布,仅给出博客地址 https://metauto.ai/neuralcomputer。Appendix B 详述了数据集构造(asciinema + vhs + Ubuntu 22.04/XFCE 录制),但 CLIGen General 包含敏感串过滤与 1100 小时素材,再现成本接近主实验成本;GUIWorld 三个 split 给出平均光标速度/动作频率,方便读者估算自家数据规模。算力门槛非常高:CLIGen (General) 训练要 ~15000 H100·小时,CLIGen (Clean) ~7000 H100·小时,GUIWorld 每种注入模式 64 GPU × 15 天 ≈ 23k GPU·小时,论文 §3.1.3 和 §3.2.3 把超参与训练步数都写得很清楚。难度上,数据流水线要维护 asciinema、vhs、Llama 3.1 70B 配三档 caption、Tesseract OCR、SVG 光标渲染、Xvfb/noVNC 多项基础设施,工程量相当于重新搭一条小规模 video dataset 产线。整体而言,只要预算在 50k H100·小时量级、并愿意抓 asciinema + 录桌面视频,结论可以部分独立验证;但要看清 Figure 5 的 PSNR/SSIM plateau 和 Table 10 的注入深度差距,倒是相对便宜的(fine-tune 一个 Wan2.1 注入模式跑几十小时就能复现)。
论文图表
总览图,把传统『计算—内存—I/O』三模块硬件栈,映射成神经计算机的『神经计算 (latent $h_t$) — 神经内存 — 神经接口 (像素/动作)』三段潜变量栈;上下两条样例分别是 NCCLIGen 终端滚动和 NCGUIWorld 桌面动作驱动屏幕预测。
这是整篇 NC 抽象的最直观对照,把读者从『计算机组成原理』过渡到『潜变量统一运行时』,不读这张图很难读懂后面所有实验在测的是什么。
三栏:传统『人直接用机器』;当下 agent 时代『代理人中间层 + 世界模型作并行预测层』;NC 时代『把 split functions 内化进单一学习运行时』。
和 Figure 1 配合给整篇文章一个 full-circle 收束——开头说『模型变计算机本身』,结尾用图再次确认这条 motivation。