
微分可能なニューラルコンピュータ、GPUベースのCPUエミュレーション、およびプログラム合成のための研究ランタイム。特徴: ニューラルALU、定数時間暗号、JEPAワールドモデル、Metal上のセルフホスティングCコンパイラ。
すべての層(算術、OS、コンパイラ、ディスプレイ)が学習されたニューラルネットワークであるか、完全にGPU上で動作する、完全なコンピュータ。
モデルはコンピュータ上で動作するのではありません。モデルがコンピュータそのものなのです。
nCPUは、1つのテーゼを5つの方向から追求する1つのリポジトリです。コンピュータは学習されたコンポーネントから構築でき、実行スタック全体が微分可能になれば、プログラムは「書くもの」ではなくなり、勾配降下法で探索できるものになります。以下の各サブシステムはそれぞれ独自の測定結果に基づいており、これらを合わせてALUの個々の演算からオペレーティングシステム、プログラム合成までをカバーします。
すべてのALU演算(加算、減算、乗算、ビット論理演算、シフト、除算)は学習されたニューラルネットワークです。ニューラルOS(neurOS)はメモリを管理し、プロセスをスケジューリングし、手書きの代替手段なしに11個の学習済みモデルを通じてコードをコンパイルします。ニューラルディスプレイは、char→グリフMLPとConvNet(143Kパラメータ)を通じて文字をレンダリングします。ソースコード→ニューラルコンパイラ→ニューラルアセンブラ→ニューラルCPU→ニューラルディスプレイという全パイプラインはエンドツーエンドで微分可能です。
ニューラルALUは、32ビット整数演算において、すべての可能な入力に対して網羅的に検証された100%の精度を達成しています。1つの結果は従来のハードウェア階層を逆転させます。ここでは乗算が加算よりも12倍速く、なぜなら加算には8パスのキャリーチェーンが必要なのに対し、乗算は並列のバイトペアテーブルルックアップに分解されるからです。
neurOSコンポーネント精度:
単一のGPU上で動作する自己完結型コンピュータ — CPUはブートストラップ時のみ関与します。Rust + Metalカーネルは約200個のARM64命令(整数および浮動小数点)を約190万IPSで実行し、ゼロコピー共有メモリと、実行間のゼロサイクルカウント分散(σ = 0.0)を実現します。
そこで動作するもの:
nSynthは、入出力例から実行可能プログラムを勾配降下法、列挙、探索を用いて発見するRustベースのプログラム合成システムです。包括的なML/テンソルエンジンと完全なWebスタックと組み合わせることで、以下を合成できます:
カバレッジ: 420/420の合成問題(Mog: 315/315、nSynth: 105/105)
3つの柱:
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モデルにわたるスイープの結果(算術タスク):
実際の転移は外挿ではなく測定されています。完全なHumanEval(Qwen3.5-4B、A100)では、62.2% → 64.6% — さらに4つの問題を解決。
コンピュータ自体の予測的世界モデル。正確な実行と並行して、JEPAスタイルのネットワーク(Joint Embedding Predictive Architecture)が圧縮された潜在空間内で機械の状態遷移を学習します。
latent_state_t + 命令 → 予測器 → latent_state_{t+1}
2つのレベルで動作します。Pythonデモ(ncpu/jepa_neural_cpu/)は予測器の横で実際のプログラムを実行し、予測誤差をリアルタイムの異常信号に変換します。Rust Metal実装(kernels/rust_metal/src/jepa/、2,858行)は決定論的GPU実行を観測し、学習されたバイアスオーバーライドを通じてスケジューリングを能動的に調整します。
基盤となる基板が正確であるため、この世界モデルにはほとんどのモデルが欠いている2つの特性があります。無制限の自由なグラウンドトゥルース(より多くのプログラムを実行できる)と、予測実行と正確な実行を自由に混ぜられることです。探索時には安価な潜在スペキュレーション、重要なときには正確な実行。長期的な方向性は、ビット、命令、プログラム、タスクレベルでの予測器の階層です。
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
3つすべて同じプログラムを実行し、同じ結果を生成します。ニューラルモードはすべての演算を学習済みネットワークに通します。高速モードは同じISAと同じ微分可能性を持つネイティブテンソルを使用します。計算モードは勾配流を速度と引き換えにします。ここでUNIX OSが起動し、コンパイラが自己ホストし、BusyBoxが動作します。
# ニューラルモード — すべての演算が学習済みモデル
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))
ここでのGPU実行はゼロサイクルカウント分散を生み出します — 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を加えたもの。3つの実行モードすべてで動作します。ニューラルモードでは、SUBはKogge-Stoneキャリー先読み(約248 µs)を、MUXはニューラルAND/OR/NOT(約63 µs)を通ります。.decイメージをロードし、eForthを起動します。要点: もし学習済みネットワークが2命令のワンインストラクションセットコンピュータを正確に実行できれば、その構築は任意の命令セットに拡張可能です。
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/ # 微分可能実行、プログラム合成、ISA発見
coprocessor/ # nCPUをトランスフォーマーフォワードパスに注入
execution_training/# コードLMのための訓練信号としての微分可能実行
crypto/ # 定数時間暗号(AES-128)
distributed/ # マルチGPU分散実行
jepa_neural_cpu/ # ボトムアップJEPAニューラルコンピュータデモ
world_model/ # JEPA機械世界モデル(予測力学)
autoresearch/ # 自動研究 + 複合NPCoTループ
os/
neuros/ # ニューラルOS: 17モジュール(MMU、TLB、キャッシュ、スケジューラ...)
gpu/ # GPU UNIX OS: シェル、ファイルシステム、ELFローダー、Cソース
self_optimizing/ # SOME: 隠されたコントローラ、高速重み
neural/ # NeuralCPU: ニューラルALUブリッジ、ウィーブパイプライン
model/ # モデルベースCPU(neural_ops、アセンブラ)
tensor/ # テンソルベースARM64エミュレータ(微分可能)
# コンパイル済み/高速化バックエンド
kernels/ # rust_metal(Rust+Metal ARM64カーネル)、mlx、npcot_wasm
nsynth/ # 汎用合成エンジン: 勾配 + 列挙 + 探索 + ML + Web
# 420/420の合成カバレッジ、1000以上のML API、500以上のWeb API
# コア: プログラム合成(105/105)、ML/テンソル(18+モジュール)、Web(19+モジュール)
# 汎用ML: アテンション、拡散、フロー、ODE、NeRF、RL、メタ学習
# 完全なWeb: WASM、WebGPU、フレームワーク、API、スタイリング、バンドル
packages/ # コンパニオンパッケージ(metal_mlp)
# モデルと合成コーパス
models/ # 学習済みニューラルコンポーネントの重み(models/MODEL_INDEX.md参照)
programs/ # 合成ベンチマークコーパス(算術、ビット演算、アルゴリズム...)
# 証拠、論文、実験
artifacts/ # 論文で引用されたコミット済みベンチマーク結果 + テスト
paper/ # 研究論文 + モジュールごとのセクション
benchmarks/ # ベンチマークドライバスクリプト
experiments/ # 探索的実験実行
# 使用法と運用
examples/ # 最小限の実行可能デモ(実行パスごとに1つ)
demos/ # より大規模なショーケースウォークスルー(BusyBox、Alpine、コンパイラ)
scripts/ # エントリポイント + メンテナ自動化
tools/ # 開発者ツール
training/ # 訓練パイプライン
packaging/ # デプロイメント足場(Homebrew、Modal、DEPLOYMENT.md)
# テスト、ドキュメント、アセット
tests/ # テストスイート(tests/README.md参照)
docs/ # ドキュメント
assets/ # ロゴ / 静的アセット
# ビルドおよびランタイム出力(gitignored — 再生成可能、コミットされない)
checkpoints/ # 大きな.pt重みチェックポイント
training_results/ # コプロセッサスケーリングスイープ、アブレーション研究
dist/ # ビルド配布物
logs/ outputs/ # 実行ログとスクラッチ出力
すべてのトップレベルディレクトリには、その目的を説明する独自のREADME.mdがあります。
python -m ncpu doctor
pytest tests/ -q # スタック全体で2,500以上のテスト
カバレッジは、ALUの網羅的形式検証、ニューラル演算、neurOS、計算モード、マルチプロセス実行、MUXLEQ、BusyBox/Alpine、GPUデバッグツールキット、コプロセッサ、Mog合成、微分可能実行、定数時間暗号、自己修正プログラム、diffコンパイラ、マルチGPU分散、SOME、およびJEPA予測モデルにわたります。
MIT
| 命令 | 戦略 | レイテンシ |
|---|
| ADD/SUB/CMP | Kogge-Stoneキャリー先読み(8パス) | 248 µs |
| MUL | バイトペアLUT(65,536エントリ) | 21 µs |
| AND/OR/XOR | ベクトル化真理値表 | 21 µs |
| SHL/SHR | アテンションに基づくビットルーティング | 434 µs |
| DIV | 復元除算(ニューラル減算) | 変動あり |
| コンポーネント | 精度 | コンポーネント | 精度 |
|---|
| MMU | 100% | アセンブラコード生成 | 100% |
| TLB | 99.6% | アセンブラトークナイザ | 99.4% |
| キャッシュ | 99.7% | コンパイラ最適化 | 95.2% |
| スケジューラ | 99.2% | ウォッチドッグ | 100% |
| プリフェッチ | 97.8% | ブロックアロケータ | 98.4% |
| モデル | 算術精度 | 備考 |
|---|
| Qwen3.5-2B(インストラクト版) | 14.5% → 71.0%(+56.5 pp) | 総合最良 |
| Qwen3.5-2B(ベース) | 15.5% → 63.0%(+47.5 pp) | ADD/SUB/MUL/DIVで100% |
| Qwen3.5-4B | +51.0 pp | ベースモデル最大の向上(タイ) |
| Qwen3.5-9B | +51.0 pp | ベースモデル最大の向上(タイ) |
| モード | 動作内容 | 微分可能? | 速度 |
|---|
| ニューラル | 13個の学習済み.ptモデル | はい — 完全な勾配流 | ~5000 IPS |
| 高速 | ネイティブテンソル演算 | はい — 標準の自動微分 | ~5000 IPS |
| 計算 | Rust + Metalシェーダー | いいえ(個別ハードウェア) | ~190万 IPS |
| レイヤー | 実装 | 結果 |
|---|
| ALU | 13個の学習済み.ptモデル | 正確な32ビット整数演算、網羅的に検証済み |
| OS | neurOS — 11のニューラルモデル、フォールバックなし | 学習されたMMU、TLB、キャッシュ、スケジューラ、コンパイラ |
| GPU計算 | Rust Metalカーネル、約200のARM64命令 | 任意のプログラムを約190万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での向上 |