Skip to content

BaseIntelligence/prism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

229 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

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors