Rekalldocs

Benchmarks

Reasoning-grade retrieval at millisecond latency — methodology, macro and per-capability results, and the honest fine print. Numbers are measured; the model is early in training.

Rekall is benchmarked on a 25-capability synthetic reasoning benchmark. We lead with per-capability results, named against their baselines, because that is where the real story is: reasoning-shaped tasks at millisecond latency on a CPU.

Methodology

  • Suite: 25-capability synthetic reasoning benchmark — 287 documents, 300 questions, a single shared store.
  • Metric: support recall@|gold| — did the method retrieve the passages that actually support the answer?
  • Baselines:
    • BM25 — lexical keyword search.
    • Embedding (8B) — Qwen3-Embedding-8B, an 8B-parameter embedding model.
    • Agentic (9B) — a 3-round agentic loop over a 9B LLM (Qwen3.5-9B).
  • SKIM checkpoints: the hierarchical variant here is an early checkpoint (1B training tokens, still training); the transformer variant is more trained (5B tokens).
  • Latency is CPU, engine-only, measured server-side. Agentic and embedding baselines run on a GPU.

Headline — macro across 25 capabilities

MethodMacro scoreLatencyHardware
Agentic loop (Qwen 9B, 3-round)0.7982,969 msGPU
SKIM — transformer variant (5B)0.6934.4 msCPU
Embedding model (Qwen 8B)0.600~msGPU
SKIM — hierarchical (1B, in training)0.577~4 msCPU
BM250.515~msCPU
Agentic (Qwen 9B)
0.80
2,969 ms
SKIM transformer (5B)
0.69
4.4 ms
Embedding (Qwen 8B)
0.60
~ms
SKIM hierarchical (1B)
0.58
~4 ms
BM25
0.52
~ms
Macro support recall@|gold| across 25 capabilities, with query latency. SKIM (highlighted) is CPU-served; the agentic and embedding baselines run on a GPU.

SKIM runs ~670× faster than the agentic loop — measured 4.4 ms vs 2,969 ms, on a CPU. On quality, the transformer variant reaches up to 87% of the agentic reasoning score (0.693 / 0.798) at 0.15% of the latency; the hierarchical checkpoint — still early in training — is at 72% (0.577 / 0.798), and already beats BM25 while approaching the 8B embedding model at a fraction of its size.

Reading the two-number story

0.693 macro at 4.4 ms on a CPU versus 0.798 at ~3,000 ms on a GPU. The durable finding is the shape — reasoning-grade retrieval at millisecond latency — not any single headline number. The 87% figure is defensible only against the transformer variant; we never state it for the hierarchical checkpoint.

Where reasoning wins

On the tasks that break similarity search, SKIM matches or beats models far larger than itself. Every column names its baseline.

CapabilityBM25Embed 8BAgentic 9BSKIM
contradiction0.500.500.501.00
fact_reconciliation0.331.000.331.00
hypothesis_validation0.420.831.001.00
cross_doc_reasoning0.040.250.690.50
evidence_aggregation0.040.460.810.71
multi_hop0.130.421.000.50

The single clearest result is contradiction detection: SKIM scores 1.00 where BM25, the 8B embedding model, and the 9B agentic loop all score 0.50. This is the thesis in one number — retrieval that reasons finds things similarity cannot.

BM25
0.50
Embed 8B
0.50
Agentic 9B
0.50
SKIM
1
Contradiction detection — support recall@|gold|. SKIM 1.00 vs 0.50 for BM25, the 8B embedder, and the 9B agentic loop alike.
BM25
0.04
Embed 8B
0.46
Agentic 9B
0.81
SKIM
0.71
Evidence aggregation — support recall@|gold|. SKIM (0.71) beats BM25 and the 8B embedder and trails only the 9B agentic loop (0.81) — at ~4 ms on a CPU vs ~3 s on a GPU.

Where it still lags

Honesty matters more than a clean chart. On structural and lexical tasks, the pure embedder's raw lexical match currently wins:

CapabilitySKIM (1B)
dependency_analysis0.00
root_cause0.33
long_range_dependency0.33

These improve as training continues — the base is at 2.3B tokens and rising, with reruns at 3B / 4B / 5B in progress. The hierarchical checkpoint here is early; the numbers will move.

Long-document ingestion

Whole-document, unchunked ingestion is practical because SKIM's hierarchical attention is ~O(L), not O(L²). Measured against dense attention at 4,000 tokens: 3.4× faster and 63× less attention memory. Chunking strategy — the fiddliest part of every RAG pipeline — disappears.

Reproduction

The methodology, corpus, and reproduction scripts are published. The benchmark table generator is build_table.py; the full method and comparison live in SKIM_COMPARISON.md. Model artifacts are in DO Spaces under skim_search_loop/{bases,eval_models}/.

Fine print

Synthetic reasoning benchmark; SKIM is an early checkpoint still in training — numbers will move. Metric: support recall@|gold|. Full methodology, corpus, and reproduction scripts published. We lead with per-capability results because aggregate claims hide more than they show.

On this page