
미분 가능한 신경 컴퓨터, GPU 기반 CPU 에뮬레이션 및 프로그램 합성을 위한 연구 런타임입니다. 특징: 신경 ALU, 일정 시간 암호화, JEPA 세계 모델 및 Metal에서 자체 호스팅 C 컴파일러.
모든 계층(산술, 운영체제, 컴파일러, 디스플레이)이 학습된 신경망이거나 전적으로 GPU에서 실행되는 완전한 컴퓨터입니다.
모델이 컴퓨터 위에서 실행되는 것이 아닙니다. 모델 자체가 컴퓨터입니다.
nCPU는 하나의 저장소에서 다섯 가지 방향을 통해 하나의 논제를 추구합니다: 컴퓨터는 학습된 구성 요소로 구축될 수 있으며, 전체 실행 스택이 미분 가능해지면 프로그램은 더 이상 작성하는 것이 아니라 경사 하강법으로 탐색할 수 있는 대상이 됩니다. 아래의 각 하위 시스템은 독립적인 측정값을 가지며, 함께 ALU 개별 연산부터 운영체제, 프로그램 합성까지 전체 스택을 다룹니다.
모든 ALU 연산(덧셈, 뺄셈, 곱셈, 비트 논리 연산, 시프트, 나눗셈)은 학습된 신경망입니다. 신경망 OS(neurOS)는 메모리를 관리하고, 프로세스를 스케줄링하며, 11개의 학습된 모델(수동으로 작성된 대체 구현 없음)을 통해 코드를 컴파일합니다. 신경망 디스플레이는 char→glyph MLP와 ConvNet(143K 파라미터)을 통해 문자를 렌더링합니다. 전체 파이프라인(소스 코드 → 신경망 컴파일러 → 신경망 어셈블러 → 신경망 CPU → 신경망 디스플레이)은 종단 간 미분 가능합니다.
신경망 ALU는 32비트 정수 산술에서 가능한 모든 입력에 대해 완전히 검증되어 100% 정확도를 달성합니다. 한 가지 결과는 기존 하드웨어 계층 구조를 뒤집습니다: 여기서 곱셈은 덧셈보다 12배 빠릅니다. 그 이유는 덧셈에는 8단계 캐리 체인이 필요한 반면, 곱셈은 병렬 바이트 쌍 테이블 조회로 분해되기 때문입니다.
| 명령어 | 전략 | 지연 시간 |
|---|---|---|
| ADD/SUB/CMP | Kogge-Stone 캐리 예측 가산기 (8단계) | 248 µs |
| MUL | 바이트 쌍 LUT (65,536개 항목) | 21 µs |
| AND/OR/XOR | 벡터화된 진리표 | 21 µs |
| SHL/SHR | 주의 기반 비트 라우팅 | 434 µs |
| DIV | 복원 나눗셈 (신경망 뺄셈) | 다양함 |
neurOS 구성 요소 정확도:
| 구성 요소 | 정확도 | 구성 요소 | 정확도 |
|---|---|---|---|
| MMU | 100% | 어셈블러 코드 생성 | 100% |
| TLB | 99.6% | 어셈블러 토크나이저 | 99.4% |
| 캐시 | 99.7% | 컴파일러 최적화기 | 95.2% |
| 스케줄러 | 99.2% | 워치독 | 100% |
| 프리페치 | 97.8% | 블록 할당기 | 98.4% |
단일 GPU에서 완전히 자급자족하는 컴퓨터 — CPU는 부트스트랩 시에만 관여합니다. Rust + Metal 커널은 약 200개의 ARM64 명령어(정수 및 부동 소수점)를 초당 약 190만 명령어 속도로 실행하며, 제로 카피 공유 메모리와 실행 간 사이클 카운트 분산 0(σ = 0.0)을 제공합니다.
여기서 실행되는 것:
nSynth는 Rust 기반 프로그램 합성 시스템으로, 입력/출력 예제에서 실행 가능한 프로그램을 경사 하강법, 열거 및 탐색을 통해 발견합니다. 포괄적인 ML/텐서 엔진 및 완전한 웹 스택과 결합되어 다음의 합성을 가능하게 합니다:
커버리지: 420/420 합성 문제 (Mog: 315/315, nSynth: 105/105)
세 가지 기둥:
cd nsynth
cargo run --release --bin nsynth_codegen --lang python --examples '{
"name":"reverse","signature":"fn reverse(arr: List<i64>) -> List<i64>",
"examples":[{"inputs":[[1,2,3]],"expected":[3,2,1]}]
}'
# → def reverse(arr): return arr[::-1]
신경망 ALU가 라우팅된 전문가로서 트랜스포머의 순방향 패스에 주입됩니다. 학습된 토큰별 게이트는 각 토큰이 원래 MLP를 통과할지 아니면 신경망 ALU를 통과할지를 결정합니다. 쌍선형 소프트 진리표는 미분 가능한 논리를 제공하고, 텐서 연산은 미분 가능한 산술을 제공하며, 게이팅은 모델 신뢰도에 따라 조정됩니다.
Qwen 2.5/3/3.5 계열에 걸친 11개 모델 스윕 결과(산술 작업):
| 모델 | 산술 정확도 | 비고 |
|---|---|---|
| Qwen3.5-2B (instruct) | 14.5% → 71.0% (+56.5 pp) | 전체 최고 |
| Qwen3.5-2B (base) | 15.5% → 63.0% (+47.5 pp) | ADD/SUB/MUL/DIV에서 100% |
| Qwen3.5-4B | +51.0 pp | 기본 모델 최대 향상 (공동) |
| Qwen3.5-9B | +51.0 pp | 기본 모델 최대 향상 (공동) |
실제 전이 성능은 측정되었으며, 추정이 아닙니다: 전체 HumanEval (Qwen3.5-4B, A100)에서 62.2% → 64.6% — 4개의 추가 문제 해결.
컴퓨터 자체의 예측 세계 모델입니다. 정확한 실행과 함께, JEPA 스타일 네트워크(Joint Embedding Predictive Architecture)는 압축된 잠재 공간에서 기계 상태 전이를 학습하여 예측합니다:
latent_state_t + instruction → predictor → latent_state_{t+1}
두 가지 수준에서 실행됩니다. Python 데모(ncpu/jepa_neural_cpu/)는 예측기 옆에서 실제 프로그램을 실행하여 예측 오차를 실시간 이상 신호로 변환합니다. Rust Metal 구현(kernels/rust_metal/src/jepa/, 2,858줄)은 결정론적 GPU 실행을 관찰하고 학습된 바이어스 오버라이드를 통해 스케줄링을 적극적으로 조정합니다.
기반이 정확하기 때문에 이 세계 모델은 대부분이 갖지 못하는 두 가지 속성을 가집니다: 무제한의 무료 실제값(더 많은 프로그램 실행 가능)과 예측 실행과 정확한 실행을 자유롭게 혼합할 수 있는 능력(탐색 시 저렴한 잠재 추측, 중요할 때 정확한 실행). 장기 방향은 비트, 명령어, 프로그램 및 작업 수준에서 예측기의 계층 구조를 구축하는 것입니다.
python3 -m ncpu.jepa_neural_cpu.demo # 상향식 JEPA 신경망 컴퓨터 데모
python -m ncpu.world_model.quickstart # JEPA 기계 세계 모델 퀵스타트
pip install -e ".[demo,dev]"
# 주요 데모: GPU를 완전한 컴퓨터로 (macOS / Apple Silicon)
python -m ncpu gpu # 부팅
python -m ncpu gpu --neural-alu # Metal 셰이더 내부의 신경망 ALU 사용
python -m ncpu gpu debug # 26개 명령어 결정론적 디버거
# 크로스 플랫폼, 무거운 의존성 없음
python -m ncpu discover # 예제를 통한 프로그램 합성 (미분 가능)
python -m ncpu text --interactive # 신경망 텍스트 / 암호 기계
# 전체 신경망 파이프라인 (모델 스택 필요)
python -m ncpu full-neural # 상향식 신경망 CPU + 신경망 디스플레이
python -m ncpu meta-compare # 나란히 비교 데모
# JEPA 예측 계층
python3 -m ncpu.jepa_neural_cpu.demo
python -m ncpu.world_model.quickstart
# Rust 네이티브, Python 필요 없음
cd kernels/rust_metal
cargo run --bin ncpu_run -- --elf ../../demos/gpu/busybox.elf --rootfs -- echo hello
| 모드 | 실행 대상 | 미분 가능? | 속도 |
|---|---|---|---|
| Neural | 13개의 학습된 .pt 모델 | 예 — 완전한 그래디언트 흐름 | ~5K IPS |
| Fast | 네이티브 텐서 연산 | 예 — 표준 자동미분 | ~5K IPS |
| Compute | Rust + Metal 셰이더 | 아니요 (개별 하드웨어) | ~1.9M IPS |
세 모드 모두 동일한 프로그램을 실행하고 동일한 결과를 생성합니다. Neural 모드는 모든 연산을 학습된 네트워크를 통해 처리합니다. Fast 모드는 동일한 ISA와 동일한 미분 가능성을 가진 네이티브 텐서를 사용합니다. Compute 모드는 그래디언트 흐름을 속도와 맞바꿉니다 — UNIX OS가 부팅되고, 컴파일러가 자체 호스팅되며, BusyBox가 실행되는 곳입니다.
# Neural 모드 — 모든 연산은 학습된 모델
from ncpu.model import CPU
cpu = CPU(neural_execution=True)
cpu.load_program("MOV R0, 7\nMOV R1, 6\nMUL R2, R0, R1\nHALT")
cpu.run()
print(cpu.get_register("R2")) # 42 — 신경망 바이트 쌍 LUT로 계산됨
# 미분 가능한 코프로세서 — 모든 Hugging Face 모델에 주입
from ncpu.coprocessor import inject_ncpu_coprocessor, NCPUCoprocessorConfig
config = NCPUCoprocessorConfig(confidence_aware=True, deterministic_alu=True)
inject_ncpu_coprocessor(model, config)
# 미분 가능한 프로그램 합성
from ncpu.differentiable import ProgramSynthesizer, SynthesisSpec
spec = SynthesisSpec(examples=[
({0: 3.0, 1: 5.0}, {2: 8.0}),
({0: 7.0, 1: 2.0}, {2: 9.0}),
])
synth = ProgramSynthesizer(max_program_len=6)
result = synth.synthesize(spec, max_iters=2000)
# 발견: ADD R2, R0, R1; HALT
# JEPA 세계 모델 — 기계 상태 전이 예측
from ncpu.world_model.je_world_model import JEWorldModel, JEWMConfig
model = JEWorldModel(JEWMConfig(state_dim=22, action_dim=8))
pred = model.predict_next_latent(model.encode_state(state), model.encode_action(action))
| 계층 | 구현 | 결과 |
|---|---|---|
| ALU | 13개의 학습된 .pt 모델 | 완전히 검증된 정확한 32비트 정수 산술 |
| OS | neurOS — 11개의 신경망 모델, 대체 구현 없음 | 학습된 MMU, TLB, 캐시, 스케줄러, 컴파일러 |
| GPU 컴퓨팅 | Rust Metal 커널, 약 200개의 ARM64 명령어 | 약 1.9M IPS 속도의 임의 프로그램 |
| UNIX OS | Metal에서 컴파일된 C | fork/pipe/wait, 25개 명령어 셸, 28개의 시스템 호출 |
| 컴파일러 | cc.c, 약 4,200줄, 자체 호스팅 | GPU에서 스스로를 컴파일한 후 다른 프로그램 컴파일 |
| ELF 로더 | GPU에서 실제 Linux 바이너리 | Metal에서 BusyBox 및 Alpine Linux v3.20 |
| 코프로세서 | 트랜스포머 순방향 패스의 신경망 ALU | 신경망 산술을 통해 라우팅된 토큰, 측정된 성능 향상 |
| JEPA | 기계 역학의 예측 세계 모델 | 정확한 기반 위에서의 잠재 추측 + 이상 탐지 |
| 프로그램 합성 | 실행을 통한 역전파 | I/O 예제에서 프로그램 발견 |
| 정적 시간 암호화 | AES-128 ECB/CBC (ncpu/crypto/) | σ = 0.0 타이밍; FIPS 197 + NIST SP 800-38A 벡터 통과 |
| 다중 GPU | 공유 메모리를 갖춘 분산 코어 | GPU 간 fork/pipe/wait; 병렬 및 파이프라인 실행 |
| SOME | 잠재 헤드를 갖춘 숨겨진 제어기 | 자체 최적화 추론; HumanEval+ 및 BigCodeBench 성능 향상 |
여기서의 GPU 실행은 사이클 카운트 분산이 0입니다 — 270회 실행에서 σ = 0.0이며, 동일한 코드가 네이티브 Apple Silicon에서는 47~73%의 타이밍 분산을 보입니다. 데이터 캐시가 없기 때문에 캐시 라인과 캐시 미스 페널티가 없으므로 AES T-테이블 공격은 측정할 대상이 없습니다.
이 속성을 기반으로 ncpu/crypto/는 19개의 정적 시간 프리미티브로 정적 시간 AES-128(ECB 및 CBC)을 제공하며, 모든 FIPS 197 및 NIST SP 800-38A 테스트 벡터를 통과합니다.
신경망 기계의 일부를 코드 생성을 위한 내부 코프로세서로 전환하는 숨겨진 제어기: 버퍼링된 생각 → 쓰기 → 검증 → 패치 → 커밋 루프, 학습된 동작/중단/설명자/상태 패치/메모리 헤드, 추론 중 업데이트되는 작업별 빠른 가중치. 학습된 메모리 헤드는 검증 MSE를 기준 대비 83.26% 개선했습니다.
종단 간 측정: qwen3.5:4b의 HumanEval+가 147 → 154로, qwen3.5:9b가 144 → 156으로 개선; qwen3.5:9b의 BigCodeBench-Hard가 33 → 49로 개선.
SUBLEQ에 MUX를 더한 것으로, 세 가지 실행 모드 모두에서 실행됩니다. Neural 모드에서 SUB는 Kogge-Stone 캐리 예측 가산기(약 248 µs)를 통해, MUX는 신경망 AND/OR/NOT(약 63 µs)을 통해 수행됩니다. .dec 이미지를 로드하고 eForth를 부팅합니다. 요점: 학습된 네트워크가 두 명령어로 구성된 명령어 집합 컴퓨터를 정확히 실행한다면, 이 구성은 모든 명령어 집합으로 확장될 수 있습니다.
cargo build --release --bin nsynth_codegen
./target/release/nsynth_codegen --lang python --examples '{
"name":"square","signature":"fn square(x: i64) -> i64",
"examples":[{"inputs":[0],"expected":0},{"inputs":[3],"expected":9}]
}'
# → def square(x: int): return (0 * x * x) + (1 * x * x) + 0
ncpu/
differentiable/ # Differentiable execution, program synthesis, ISA discovery
coprocessor/ # Inject nCPU into transformer forward passes
execution_training/# Differentiable execution as training signal for code LMs
crypto/ # Constant-time crypto (AES-128)
distributed/ # Multi-GPU distributed execution
jepa_neural_cpu/ # Bottom-up JEPA neural computer demo
world_model/ # JEPA machine world model (predictive dynamics)
autoresearch/ # Automated research + compounding NPCoT loop
os/
neuros/ # Neural OS: 17 modules (MMU, TLB, cache, scheduler...)
gpu/ # GPU UNIX OS: shell, filesystem, ELF loader, C source
self_optimizing/ # SOME: hidden controller, fast weights
neural/ # NeuralCPU: neural ALU bridge, weave pipeline
model/ # Model-based CPU (neural_ops, assembler)
tensor/ # Tensor-based ARM64 emulator (differentiable)
# Compiled / accelerated backends
kernels/ # rust_metal (Rust+Metal ARM64 kernel), mlx, npcot_wasm
nsynth/ # Universal synthesis engine: gradient + enumerative + search + ML + web
# 420/420 synthesis coverage, 1000+ ML APIs, 500+ web APIs
# Core: program synthesis (105/105), ML/tensor (18+ modules), web (19+ modules)
# Universal ML: attention, diffusion, flows, ODEs, NeRF, RL, meta-learning
# Complete web: WASM, WebGPU, frameworks, APIs, styling, bundling
packages/ # Companion packages (metal_mlp)
# Models & synthesis corpus
models/ # Trained neural-component weights (see models/MODEL_INDEX.md)
programs/ # Synthesis benchmark corpus (arithmetic, bitwise, algorithms, ...)
# Evidence, paper, experiments
artifacts/ # Committed benchmark results cited by the paper + tests
paper/ # Research paper + modular sections
benchmarks/ # Benchmark driver scripts
experiments/ # Exploratory experiment runs
# Usage & ops
examples/ # Minimal runnable demos (one per execution path)
demos/ # Larger showcase walkthroughs (BusyBox, Alpine, compiler)
scripts/ # Entry points + maintainer automation
tools/ # Developer tooling
training/ # Training pipelines
packaging/ # Deployment scaffolding (Homebrew, Modal, DEPLOYMENT.md)
# Tests, docs, assets
tests/ # Test suite (see tests/README.md)
docs/ # Documentation
assets/ # Logos / static assets
# Build & runtime output (gitignored — regenerable, not committed)
checkpoints/ # Large .pt weight checkpoints
training_results/ # Coprocessor scaling sweeps, ablation studies
dist/ # Build distributions
logs/ outputs/ # Run logs and scratch outputs
모든 최상위 디렉터리에는 해당 목적을 설명하는 자체적인 README.md가 있습니다.
python -m ncpu doctor
pytest tests/ -q # 2,500개 이상의 스택 전반 테스트
커버리지는 ALU의 완전 형식 검증, 신경망 연산, neurOS, 컴퓨트 모드, 다중 프로세스 실행, MUXLEQ, BusyBox/Alpine, GPU 디버깅 툴킷, 코프로세서, Mog 합성, 미분 가능 실행, 정적 시간 암호화, 자체 수정 프로그램, diff 컴파일러, 다중 GPU 분산, SOME 및 JEPA 예측 모델을 포함합니다.
MIT