File size: 4,877 Bytes
a99b942 6b30954 f14777f 6b30954 f14777f 6b30954 67a36a3 a99b942 e8af1f2 a99b942 966df28 a99b942 8329cbb 6b30954 8329cbb 6b30954 966df28 6b30954 67a36a3 966df28 67a36a3 8329cbb 67a36a3 6b30954 a99b942 8329cbb 67a36a3 e8af1f2 8329cbb 6b30954 8329cbb a99b942 e8af1f2 a99b942 fcfa841 8329cbb 67a36a3 31f7a9f 555e4b5 67a36a3 8329cbb fcfa841 8329cbb 67a36a3 966df28 67a36a3 8329cbb 966df28 e8af1f2 8329cbb e8af1f2 966df28 e8af1f2 8329cbb e8af1f2 8329cbb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | ---
datasets:
- HuggingFaceFW/fineweb-edu
- HuggingFaceFW/finepdfs-edu
language:
- en
pipeline_tag: text-generation
library_name: pytorch
tags:
- base-model
- causal-lm
- text-generation
- multiscreen
- triton
- litgpt
---
# ObsidianSmall-Base — Multiscreen 8.7M
**ObsidianSmall-Base** is an **8.7M-parameter English base language model** pretrained from scratch on **3,999,989,760 tokens**.
It is the first public checkpoint in this model family built entirely from **Multiscreen blocks**.
> This is a base completion model, not an instruction-tuned or chat-aligned assistant.
## Model details
| Property | Value |
|---|---:|
| Architecture | Pure Multiscreen |
| Parameters | 8,716,506 |
| Blocks | 9 |
| Hidden width | 256 |
| Query heads | 8 |
| Head size | 32 |
| Key / value dimensions | 16 / 128 |
| Query chunk / window | 128 / 256 |
| MLP / FFN | None |
| Context length | 1,024 |
| Vocabulary size | 4,096 |
| Training tokens | 3,999,989,760 |
| Validation loss / PPL | 2.592 / 13.359 |
Multiscreen replaces conventional self-attention and MLP/FFN sublayers with its own sequence-mixing blocks.
## Benchmarks
Zero-shot task results were measured with `lm-evaluation-harness`.
| Benchmark | Accuracy | Normalized |
|---|---:|---:|
| BLiMP | 71.891% | — |
| HellaSwag | 26.957% | 27.415% |
| ARC Easy | 33.712% | 33.291% |
| ARC Challenge | 17.833% | 21.843% |
| PIQA | 56.583% | 55.114% |
| SciQ | 70.700% | 60.000% |
| ArithMark-2.0 | 26.160% | — |
| ArithMark-3.0 | **28.800%** | — |
### WikiText-2 perplexity
Full WikiText-2 evaluation using rolling log-likelihood with a maximum context length of 1,024 tokens.
| Metric | Result |
|---|---:|
| Word perplexity | 125.057 |
| Byte perplexity | **2.467** |
| Bits per byte | 1.303 |
## Install
```bash
git lfs install
git clone https://huggingface.co/Dream-W/ObsidianSmall-Base
cd ObsidianSmall-Base
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
```
For NVIDIA CUDA with Triton:
```bash
python -m pip install -r requirements-gpu.txt
```
For evaluation:
```bash
python -m pip install -r requirements-eval.txt
```
The repository includes the required custom PyTorch/LitGPT runtime. It is not currently compatible with `transformers.AutoModelForCausalLM`.
## Generate text
```bash
CUDA_VISIBLE_DEVICES=0 \
MULTISCREEN_BACKEND=triton \
PYTHONPATH="$PWD/runtime" \
python -u generate.py \
--backend triton \
--device cuda \
--prompt "Once upon a time" \
--max-new-tokens 128 \
--temperature 0.8 \
--top-k 40
```
Interactive completion:
```bash
CUDA_VISIBLE_DEVICES=0 \
MULTISCREEN_BACKEND=triton \
PYTHONPATH="$PWD/runtime" \
python -u generate.py \
--backend triton \
--device cuda \
--interactive
```
CPU execution is available with `MULTISCREEN_BACKEND=torch`, `--backend torch`, and `--device cpu`.
## Evaluate
The bundled evaluator accepts any compatible `lm-evaluation-harness` task through `--tasks`.
```bash
MODEL="$PWD"
mkdir -p "$MODEL/results"
CUDA_VISIBLE_DEVICES=0 \
MULTISCREEN_BACKEND=triton \
TOKENIZERS_PARALLELISM=false \
PYTHONPATH="$MODEL/runtime:$MODEL/evaluation" \
python -u "$MODEL/evaluation/lm_eval_obsidian_official.py" \
--checkpoint-dir "$MODEL" \
--tokenizer-dir "$MODEL" \
--tasks hellaswag \
--batch-size 32 \
--device cuda \
--max-length 1024 \
--progress-every 100 \
--output "$MODEL/results/hellaswag.json"
```
Multiple tasks:
```bash
--tasks "hellaswag,arc_easy,arc_challenge,piqa,sciq,blimp"
```
Custom continuation-style multiple-choice datasets can be evaluated with `evaluation/custom_mcq.py`.
```bash
CUDA_VISIBLE_DEVICES=0 \
MULTISCREEN_BACKEND=triton \
PYTHONPATH="$PWD/runtime" \
python -u evaluation/custom_mcq.py \
--model-dir . \
--hf-dataset AxiomicLabs/Arithmark-3.0 \
--split train \
--context-field ctx \
--choices-field endings \
--label-field label \
--group-by difficulty topic \
--backend triton \
--device cuda \
--output results/arithmark-3.json
```
## Backends and decoding
| Backend | Setting | Use |
|---|---|---|
| Automatic | `MULTISCREEN_BACKEND=auto` | Select a compatible backend |
| Triton | `MULTISCREEN_BACKEND=triton` | Optimized NVIDIA CUDA execution |
| PyTorch | `MULTISCREEN_BACKEND=torch` | CPU and compatibility fallback |
Incremental Multiscreen KV-cache decoding is not implemented. Generation uses full-sequence decoding and processes the current context again for every generated token.
## Training data
The pretraining curriculum included FineWeb-Edu, FinePDFs-Edu, DCLM, FineWiki, NVIDIA Common Crawl Code, and NVIDIA Common Crawl Math.
## Limitations
The model has only 8.7M parameters and may produce repetitive, inaccurate, or incoherent text. It is English-focused, has no instruction-following or safety alignment, and was trained for a maximum context length of 1,024 tokens.
|