NSA 117M (FineWeb-Edu) — Remote Code

This repository contains a 117M NSA decoder-only model with remote code. It exposes NSAConfig and NSAForCausalLM so you can load via:

from transformers import AutoModelForCausalLM, AutoTokenizer
m = AutoModelForCausalLM.from_pretrained("seconds-0/nsa-117m-byte", trust_remote_code=True)
t = AutoTokenizer.from_pretrained("seconds-0/nsa-117m-byte")
out = m.generate(**t("Hello", return_tensors="pt"), max_new_tokens=16)

What is NSA

Native Sparse Attention (NSA) combines three branches — compressed (cmp), selected (sel), and sliding window (win) — mixed by a learned gate. The 117M configuration uses SDPA everywhere and keeps strict causality.

Architecture (overview):

  • cmp: compressed blocks (tile length l, stride d) attended with causal masks
  • sel: top-n selection over blockized keys (block l′, n ranges per step)
  • win: sliding window attention of size w
  • gate: small MLP (zero-initialized last layer), softmax(τ=1.0)

Defaults: l=32, d=16, l′=64, n=16, w=512; GQA groups=2.

Performance & Metrics (example targets)

  • A100 40GB: ≥600 tok/s; TTFT ≤ 350 ms (batch=1, seq=128)
  • RTX 4090: ≥400 tok/s; TTFT ≤ 450 ms
  • CPU: ≥10 tok/s; TTFT ≤ 2.0 s

Intended Use / Limitations

  • Toy assistant and demos; not suitable for high-stakes use.

Memory Budget (KV Cache)

  • Standard LM approx: Mem ≈ t × H × (d_k + d_v) × bytes_per_elem
  • NSA decode (M0): Mem ≈ (min(w, t) + n × l′) × H × (d_k + d_v) × bytes_per_elem
  • Example (w=512, n=16, l′=64): tokens_cached ≈ min(512, t) + 1024 (FP16 → a few MiB for 117M dims)

Notes

  • Tokenizer: byte-level tokenizer (vocab=256). This is not GPT‑2/BPE; input/output are raw UTF‑8 bytes.
  • Generation cache: no KV cache in v1 (slower decode for long sequences). Planned follow‑up.
  • Gate: initialized to uniform mixing by design (zero‑init last layer); differs from trained gate topology.
  • Remote code uses SDPA-only paths and includes a safe fallback block if NSA is forcibly disabled via env.
Downloads last month
5
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using seconds-0/nsa-117m-byte 1