| --- |
| 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. |
|
|