Skip to content

BaseIntelligence/prism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

231 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Source of truth transition: first-party Prism product now lives in the BaseIntelligence/base monorepo at packages/challenges/prism/. Prefer that tree for product edits, Docker/GHCR builds, and miner docs (docs/miner/prism/ on base). Public slug /challenges/prism and GHCR name ghcr.io/baseintelligence/prism are unchanged. This standalone remote is dual-source / archive during cutover β€” see https://github.com/BaseIntelligence/base/blob/main/docs/SOURCE_OF_TRUTH.md

PRISM

Research lab subnet β€” try new architectures; find more performant ones under fair challenge-owned re-exec.

Overview Β· Miners Β· Validators Β· Architecture Β· Scoring Β· Security

License Bittensor BASE joinbase Master API Prism leaderboard

PRISM Banner


Overview

PRISM is a BASE research lab challenge. The norm is to try new architectures. The goal is to find architectures that are more performant for our LLM target: generalization after from-scratch learning on locked data, under fair challenge-owned re-execution (not paper claims alone).

Miners submit a two-script bundle β€” architecture.py (build_model(ctx)) and training.py (train(ctx)) β€” and the challenge owns everything else: a locked FineWeb-Edu dataset (read-only, no network) and the score. The miner owns the model and the training loop; the challenge owns the data and the metric.

Every scored run is re-executed under a forced random init. Scoring is deterministic (no LLM gateway). Raw weights push to BASE for master aggregation; validators fetch the final vector and call set_weights under their own hotkeys. PRISM never writes on-chain weights.

Base SDK pin

PRISM depends on the immutable Base public wheel:

https://github.com/BaseIntelligence/base/releases/download/v3.1.2/base-3.1.2-py3-none-any.whl
#sha256=3a61c2d3a343ed6de55e80215486e3de0c9639276443d08f2ed316bc807f2ff0

(see pyproject.toml). There is no LLM gateway dependency in this pin.

Research lab, small-first ladder

GPU is limited, so the lab proves ideas on a small-first ladder before promoting:

Stage Param cap Emission role
Explore / provisional 124M (124_000_000) Continuous discovery; may hold a provisional crown
Promote / final 350M (350_000_000) Same package/family pin re-eval; confirms or revokes the provisional crown

Default exploration shapes under the 124M explore cap are the tracked lab seeds examples/tiny-1m (transformer-tiny-1m) and examples/mamba-tiny (mamba-tiny-1m). Novel nn.Module families under the AST sandbox remain first-class (Transformer, looped depth, pure-torch SSM, LightDeepLoop-class ideas).

Emission vs scientific surfaces

Two graded surfaces stay honest and separate:

Surface What it ranks Primary / secondary
Emission crown (leaderboard β†’ raw weights) Subnet reward eligibility Held-out / generalization primary, prequential bpb secondary (Official-like)
Official Comparison / multimetric / Complete View Published scientific miner architecture grade Multi-axis held-out + bpb + long-ctx + reasoning + polar honesty (TIE_POLAR)

Multimetric scorecard multimetric.v1.1 and Complete View (complete_view.v1.2 / complete_view.v1.3) are published research grade. They do not silently replace the emission scalar in v1.

Two-tier ownership defaults are architecture 0.50 / training 0.50 (both use the emission rank metric).

How It Works

flowchart LR
    M[Miner two-script bundle] --> G{Static sandbox + dual param ladder}
    G -- reject --> X[[rejected]]
    G --> A[Deterministic admission]
    A --> V[Validator re-executes<br/>forced random init]
    V --> S[Held-out primary + prequential bpb secondary]
    S --> W[Raw-weight push β†’ BASE master]
Loading
  1. Submit β€” a signed architecture.py + training.py bundle (a single combined module is rejected).
  2. Static gates β€” AST sandbox, dual param ladder (124M explore / 350M promote), single-node multi-GPU contract; any failure is terminal before GPU.
  3. Deterministic admission β€” challenge-owned checks only; the former LLM gateway hard gate is removed.
  4. Forced-init re-execution β€” one validator re-runs the loop on the locked FineWeb-Edu train split and captures the online loss itself (miner-reported numbers are ignored).
  5. Emission scoring β€” held-out / generalization primary, recomputed prequential bits-per-byte secondary, plus memorization / step-0 fail-closed gates.
  6. Weights β€” emission splits two-tier (best architecture 0.50 / best training variant 0.50); provisional crowns may form at 124M and must be confirmed or revoked at 350M promote. Raw weights push to BASE master aggregation; validators submit on-chain (or a fake chain in tests).

Anti-Cheat By Construction

Common cheats are inert, not merely detected:

  • No pretrained weights β€” forced random init makes smuggled weights inert; an anomalous step-0 loss zeroes the score; the container runs network=none.
  • No metric gaming β€” the challenge recomputes the metric from the loss it captured; miner-reported numbers and manifests are ignored.
  • No memorization β€” the secret val/test splits never leave the master; an excessive train-vs-held-out gap is penalized.
  • Deterministic β€” fixed seeds and a challenge-controlled data order reproduce the same score within tolerance.

Provider trust and IMAGE_PIN

PRISM does not ship a TEE verifier package and does not require TEE evidence to finalize production scores. Operators trust Lium/Targon as GPU providers. Integrity levers that remain:

Label Meaning
PROVIDER_TRUST Operator trusts Lium/Targon compute; no Prism crypto TEE path
IMAGE_PIN / IMAGE_PIN_VERIFY worker_plane.pinned_image_digest match grants effective tier 1 (max); mismatch downgrades
DEPLOY SMOKE Provider lifecycle works (always-terminate paid pods)
LAB-GPU Fair CUDA lab scores under Official Comparison
REAL-PROVIDER TEE Retired for Prism product (historical lab tables may still say BLOCKED; do not implement)

Configure worker_plane.pinned_image_digest when pinning the evaluator/worker image. Score finalization never fails closed on missing TEE evidence.

Worker Plane (optional)

PRISM can move GPU re-execution onto miner-funded workers (deployed on Lium/Targon via the BASE base worker CLI). Validators then run verify-only plausibility checks plus probabilistic audits, and each result carries an ExecutionProof (manifest hash + worker sr25519 signature, with optional image-digest pin for tier-1). Gated behind worker_plane (default off). See the worker deployment guide.

Mine on joinbase (day-1)

Production miners submit through the BASE bridge (not a self-hosted master):

  1. Hotkey wallet on joinbase.ai
  2. Pack a seed: uv run python scripts/pack_seed_family.py --family transformer-tiny-1m --output-dir dist/seed-packages
  3. Sign and POST https://chain.joinbase.ai/v1/challenges/prism/submissions
  4. Watch Prism leaderboard

Full checklist, signature headers, and troubleshooting: Miner getting started.

Documentation

Guide Contents
Overview Research-lab identity, ladder, emission vs science
Miner getting started Day-1 hotkey β†’ pack seed β†’ joinbase bridge submit β†’ leaderboard
Miner hub Two-script contract, seeds, checklist; links Concepts / Troubleshooting
Miner concepts Emission vs science, 50% share, NO-TEE honesty
Miner troubleshooting 401 / 409 / 429 / 502 and common rejects
Validator guide Run evaluation on your own broker
Architecture Service design and forced-init re-execution
Submission format Two-script contract, dual ladder, PrismContext
Scoring & rewards Emission held-out primary + bpb secondary; two-tier 0.50/0.50
Official Comparison Scientific multi-axis grade (not emission scalar) + multimetric / Complete View
Scaling Single-node multi-GPU contract
Security model Sandbox, deterministic admission, anti-cheat
API Internal and public routes
Operators Deploy and run under BASE Compose

Development

uv run ruff check .
uv run mypy
uv run pytest --cov=prism_challenge --cov-fail-under=80

GPU re-execution, HuggingFace publication, and external provider calls are mocked in tests; real GPU and provider keys are wired only at deploy. The LLM gateway is not part of the test or deploy path.

License

Apache-2.0

About

[πŸ”¬] Prism is a Base challenge for decentralized neural architecture search, where miners submit architectures and training recipes to discover scalable AI improvements through competitive evaluation.

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages