Neural Computers
Organizations: Meta AI · KAUST (Core Contributors)
Abstract
We propose a new frontier: Neural Computers (NCs) that unify computation, memory, and I/O of traditional computers in a learned runtime state. Our long-term goal is the Completely Neural Computer (CNC): the mature, general-purpose realization of this emerging machine form, with stable execution, explicit reprogramming, and durable capability reuse. As an initial step, we study whether elementary NC primitives can be learned solely from collected I/O traces, without instrumented program state. Concretely, we instantiate NCs as video models that roll out screen frames from instructions, pixels, and user actions (when available) in CLI and GUI settings. We show that NCs can acquire elementary interface primitives, especially I/O alignment and short-horizon control, while routine reuse, controlled updates, and symbolic stability remain challenging. We outline a roadmap toward CNCs, to establish a new computing paradigm beyond today's agents and conventional computers.
Figures & tables
| Frames from Sample — CLIGen (General) |
| 1 2 3 4 5 6 |
| Semantic A root terminal session kicks off an AI command to make three 1024x1024 cat shots, shows quick parsing for each one, then presents pixelated cat previews with numbered links and asks whether to stash them in /root/2023_04_01-02_27_11_imgs . Regular In a root shell at ~ , the user runs ai -i 3 a cute cat , watches a green progress line announcing three 1024x1024 images, sees sequential parsing messages for images 1 through 3, and ends on a preview pane with three pixelated cat thumbnails, numbered download links, and a save prompt targeting /root/2023_04_01-02_27_11_imgs . Detailed In a dark-background terminal at the root in ~ prompt, the user types ai -i 3 a cute cat . The screen prints Generating 3 1024x1024 images (press CTRL-C to cancel)... , shows parsing messages for images 1–3, and ends on a preview pane with three numbered thumbnails and a save prompt targeting /root/2023_04_01-02_27_11_imgs . |
| Frames from Sample — CLIGen (Clean) |
| 1 2 3 4 5 6 |
| Scripted caption Type python ; Enter; Type values = [n*n for n in range(1, 10)] ; Enter; Type print(values) ; Enter; Type exit() ; Enter. |
| Metric | Value |
|---|---|
| Average PSNR | 40.77 |
| Average SSIM | 0.989 |
| Prompt style | PSNR | SSIM | Avg. words |
|---|---|---|---|
| Semantic | 21.90 | 0.813 | 55 |
| Regular | 23.63 | 0.843 | 52 |
| Detailed | 26.89 | 0.867 | 76 |
| Steps (k) | Char. acc. | Exact line |
|---|---|---|
| 0 | 0.03 | 0.01 |
| 10 | 0.18 \color[rgb]{0,0.6,0}{\uparrow}_{0.15} | 0.05 \color[rgb]{0,0.6,0}{\uparrow}_{0.04} |
| 20 | 0.33 \color[rgb]{0,0.6,0}{\uparrow}_{0.30} | 0.12 \color[rgb]{0,0.6,0}{\uparrow}_{0.11} |
| 30 | 0.41 \color[rgb]{0,0.6,0}{\uparrow}_{0.38} | 0.18 \color[rgb]{0,0.6,0}{\uparrow}_{0.17} |
| 40 | 0.52 \color[rgb]{0,0.6,0}{\uparrow}_{0.49} | 0.26 \color[rgb]{0,0.6,0}{\uparrow}_{0.25} |
| 50 | 0.52 \color[rgb]{0,0.6,0}{\uparrow}_{0.49} | 0.27 \color[rgb]{0,0.6,0}{\uparrow}_{0.26} |
| Model | Accuracy |
|---|---|
| Wan2.1 | 0% |
| NC | 4% |
| Veo3.1 | 2% |
| Sora2 | 71 % |
| Split | Avg. cursor speed (px/frame) | Actions / sec |
|---|---|---|
| Random Slow | 1.51 | 1.58 |
| Random Fast | 195.15 | 4.18 |
| CUA (supervised) | 3.79 | 0.10 |
| Split | FVD | SSIM | LPIPS |
|---|---|---|---|
| Untrained baseline | 149.61 | 0.496 | 0.605 |
| Random Fast (train) | 48.17 | 0.695 | 0.483 |
| Random Slow (train) | 20.37 | 0.830 | 0.237 |
| Claude CUA (train) | 14.72 | 0.885 | 0.144 |
| Loss variant | Cursor accuracy |
|---|---|
| Position only | 8.7% |
| Position + Fourier | 13.5% |
| Position + SVG mask/ref | 98.7% |
| Mode | SSIM +15 | LPIPS +15 | FVD +15 |
|---|---|---|---|
| baseline 1 (untrained) | 0.326 | 0.649 | 184.3 |
| baseline 2 ( external ) | 0.746 | 0.251 | 33.4 |
| contextual | 0.813 | 0.190 | 24.8 |
| residual | 0.857 | 0.138 | 18.8 |
| internal | 0.863 | 0.141 | 14.5 |
| Mode | Encoding | SSIM +15 | LPIPS +15 | FVD +15 |
|---|---|---|---|---|
| internal | raw-action (event-stream) | 0.847 | 0.144 | 16.6 |
| internal | meta-action (API-like) | 0.863 | 0.141 | 14.5 |
| User intent | Raw-action encoder (event stream) | Meta-action encoder (API-like slot) |
|---|---|---|
| ls -l | Key events per character (e.g., l , s , <space> , - , l ) Activates entries in a 169-d keyboard multi-hot No explicit command semantics; inferred from sequence | type: KeyboardType text: "ls -l" Encoded by shared text encoder |
| ctrl+v | Separate keydown/keyup events for ctrl and v Activated in multi-hot (or shortcut entry) | type: Shortcut id: ctrl+v Embedded via shortcut table |
| System object | Organized around | Source of truth | Primary role |
|---|---|---|---|
| Conventional computer | Explicit programs | Explicit programs and explicit machine state | Reliably execute explicit programs |
| AI agent | Tasks | External environments, tools, and workflow state | Accomplish tasks through an existing software stack |
| World model | Environment dynamics | A learned model of state evolution | Predict and roll out how an environment may evolve |
| Neural computer | Runtime | Installed capabilities and runtime state inside the learned system | Sustain execution, accumulate capability, and govern updates within one learned machine |
| CNC requirement | Plain reading | What engineering evidence should look like |
|---|---|---|
| Turing complete | The system is not restricted to a narrow family of fixed tasks, but can in principle express general computation. | As effective memory and context grow, the same NC should remain able to carry longer and more structured procedures rather than failing by a different shortcut each time. |
| Universally programmable | Inputs should not only trigger one-off behavior, but install routines or internal executors that remain callable later. | Capabilities can be installed, invoked, composed, and retained across tasks rather than being relearned or outsourced each time. |
| Behavior-consistent | Ordinary use should not silently change the machine; behavioral change should come from explicit updates. | Same-version behavior is reproducible; execution and update traces can be inspected, replayed, and rolled back; long-horizon drift is measurable and governable. |
| Machine-native semantics | The system should not merely imitate conventional computers with neural components, but develop its own machine semantics and programming interfaces. | Composition, routing, continuous state, and internal executors yield usable system-level advantages; prompts, demonstrations, traces, and constraints begin to function as programming interfaces rather than mere logs. |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Field | Content (abridged) |
|---|---|
| caption | The user (username field shown verbatim as annonomous [sic]) logged into their account on the host NeuralComputer , and after some initial terminal setup and cursor movements, they started typing the command nvim to likely open the Neovim text editor, but the session recording ends abruptly without showing the actual command execution or any further interaction. |
| caption_detailed | At the annonomous@NeuralComputer: $ prompt, the user types nvim , but before the command executes, the screen rapidly displays a colorful, pixelated animation with various RGB colors, including shades of blue, green, and purple, filling the 80x24 terminal window. The animation is briefly interrupted by a cursor blink, then the prompt returns, awaiting further input. |
| caption_semantic | The terminal displays a rapid sequence of colored text and pixel art animations, with syntax-highlighted code and prompts appearing in a mix of blue, green, and white hues, as the user types commands and the system responds with scrolling output, error messages, and success indicators. |
| data_info.version | 2 ( asciinema v2 header) |
| data_info.size | width=80 , height=24 ; original/target/scaled sizes all match, padding [0,0] . |
| data_info.env | SHELL=/bin/bash , TERM=xterm-256color . |
| Type id | Action | Parameter fields |
|---|---|---|
| 0 | None | – |
| 1 | Mouse Click/Drag | button , click_count , drag_flag |
| 2 | Mouse Scroll | direction , amount |
| 3 | Keyboard Type | text (e.g., ls -l ) shared text encoder |
| 4 | Shortcut | shortcut_id (e.g., ctrl+v ) |
| Aspect | Raw-action encoder (v1) | Meta-action encoder (v2) |
|---|---|---|
| Action schema | Per-frame multi-hot vector composed of 13 mouse actions and 169 keyboard actions; no explicit type hierarchy. | Hierarchical schema with explicit action types and parameters: action_types for {None, Mouse Click/Drag, Mouse Scroll, Keyboard Type, Keyboard Shortcut}, plus typed parameter fields (e.g., button, scroll amount, shortcut ID, text). |
| Mouse representation | Two signals per frame: (1) continuous cursor trajectory ; (2) discrete mouse events (multi-hot). | Per-frame mouse trajectory is encoded by a shared mouse-trajectory encoder and the temporal windowing module into dense mouse embeddings , optionally fused with action embeddings. |
| Keyboard representation | Per-frame keyboard state , where each dimension corresponds to a key or shortcut; only multi-hot activation is available, no text semantics. | Two complementary forms: keyboard shortcuts as keyboard_shortcut IDs embedded via an embedding table, and free-form text keyboard_text (e.g. “ls -l”) encoded by a shared text encoder (e.g., T5) and projected to the action embedding dimension. |
| Per-frame representation | Mouse and keyboard events are concatenated: . | For each frame and slot , type plus parameters are embedded into slot_embeds . Valid slots are aggregated (mean or attention) into a single per-frame action embedding . |
| Multi-slot support | No explicit notion of multiple action slots per frame; all mouse and keyboard signals are collapsed into one 182-d multi-hot vector. | Explicit multi-slot design: action_types and all parameter tensors have shape with slots per frame, enabling, e.g., concurrent “mouse click + keyboard shortcut” in the same frame. |
| Latent-aligned representation | Temporal alignment is implemented ad-hoc inside each v1 action module (e.g., sliding windows over the 182-d per-frame vector), with custom logic per mode (external, internal, residual). | A unified temporal alignment module takes per-frame action embeddings and VAE compression ratio , constructs lag-aware temporal windows of size , and outputs latent-aligned action features , with analogous mouse_latent when mouse features are enabled. |