Monarch v3: NES-Inspired KV Paging for 78% Faster LLM Inference

✍️ OpenClawRadar📅 公開日: April 13, 2026🔗 Source
Monarch v3: NES-Inspired KV Paging for 78% Faster LLM Inference
Ad

What Monarch v3 Does

Monarch v3 is an open-source implementation of NES-inspired memory paging for transformer inference that addresses the linear growth of KV cache with sequence length. By 4K tokens, most KV cache sits unused while consuming VRAM at full precision.

How It Works

The system splits KV cache into two regions:

  • Hot region: Recent tokens kept at full precision
  • Cold region: Older tokens compressed to ~20 bytes each (vs 64-128 bytes hot)

Four components work together:

  • TurboQuant Compression: Quantizes KV to 4-bit integers with polar encoding and residual correction, achieving ~97% size reduction with ~0.3% perplexity loss
  • Sliding Window Eviction: Recent N tokens stay hot by default, old tokens compress to cold storage
  • Attention-Weighted Promotion: High-attention tokens move back to hot with sticky mechanism to prevent thrashing
  • Page Swaps: Small batches of cold tokens materialize on access with local decode loop replacing batch matmul

Benchmark Results

Setup: TinyLlama-1.1B fp16, 50 generated tokens

  • Standard: 17.01 tok/s, 2112 MB VRAM
  • Monarch-v3: 30.42 tok/s, 2131 MB VRAM, 512 hot tokens, 1024 cold tokens
  • Gain: +78.7% throughput, +0.9% VRAM
Ad

Simplified Decode Loop

for step in 1..100:
    q = project_query(next_token)
    # Compute attention: hot only (fast)
    scores_hot = q @ kv_hot.T
    # Access cold if high attention (rare)
    if max(scores_hot) < threshold:
        kv_cold_promoted = decompress(cold_pages)
        scores_cold = q @ kv_cold_promoted.T
        # Move to hot for next step
    # Aggregate, softmax, apply attn ...
    # Evict old tokens from hot → cold
    if len(kv_hot) > window_size:
        evict_oldest_to_cold()

Current Status

  • Implementation: Working on Hugging Face Transformers with custom cache backend
  • License: Apache 2.0
  • Paper: Full technical spec available
  • Next: CUDA kernel fusion for cold decompression planned

How to Try It

git clone https://github.com/JohannaWeb/Monarch.git
cd Monarch
pip install -r requirements.txt
python train_tinyllama_fp16.py
python src/benchmark_monarch.py \
    --model models/tinyllama_fp16 \
    --mode both \
    --max-new-tokens 100 \
    --promotion-threshold 0.15 \
    --sticky-threshold 3 \
    --json

Limitations

The approach relies on recency (recent tokens = high attention), which works for most tasks but may not for retrieval-heavy workloads. Attention extraction is available in base models but not chat variants; fallback uses window-only paging.

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also

AIコーディングエージェントにおけるサイレントツール障害の検出:Vibeyard
Tools

AIコーディングエージェントにおけるサイレントツール障害の検出:Vibeyard

Vibeyardは、AIコーディングエージェントがサイレントツール障害を経験した際に検出するツールです。エージェントが開発者に警告することなく代替戦略にフォールバックする状況を捉え、セッション中にこれらの非効率性を表面化させます。繰り返される非効率なワークフローを防ぐための修正を提案することができます。

OpenClawRadar
Memtrace: Claudeコードエージェントのための永続的で時間認識型のコードベースメモリ
Tools

Memtrace: Claudeコードエージェントのための永続的で時間認識型のコードベースメモリ

Memtraceは、Tree-sitter AST解析とハイブリッド検索(BM25 + Jina-code埋め込み)を使用し、インデックス作成中にLLM推論コストをゼロに保ちながら、Claude Codeエージェントに常に新鮮なスナップショットと二時間軸リプレイを提供します。

OpenClawRadar
Maestro v1.5.0は、マルチエージェントオーケストレーションのためのClaude Codeサポートを追加します。
Tools

Maestro v1.5.0は、マルチエージェントオーケストレーションのためのClaude Codeサポートを追加します。

オープンソースのマルチエージェントオーケストレーションプラットフォーム「Maestro v1.5.0」は、Gemini CLIに加えてClaude Code上でもネイティブプラグインとして動作するようになりました。今回のアップデートには、より深い設計計画、42ステップのオーケストレーションバックボーン、エージェント能力の強制適用、セキュリティ強化などが含まれています。

OpenClawRadar
Depctツールは、Claudeが本番環境の問題をデバッグするのを支援するために、実行時データを収集します。
Tools

Depctツールは、Claudeが本番環境の問題をデバッグするのを支援するために、実行時データを収集します。

Depctは、Node.jsアプリケーションからランタイム計測データを収集し、そのデータからグラフを構築し、AWS Bedrock経由でClaudeに送信して、断続的に発生する本番環境の障害のデバッグを支援するツールです。また、ランタイムの動作からアーキテクチャ図や依存関係マップも生成します。

OpenClawRadar