Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/ci/benchmark_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,9 @@
},
"smolvlm_500m": {
"config": "ported_models/llama_cpp_et/benchmarks/smolvlm_500m.json"
},
"olmoe_1b_7b_0125": {
"config": "ported_models/llama_cpp_et/benchmarks/olmoe_1b_7b_0125.json"
}
}
}
18 changes: 18 additions & 0 deletions ported_models/llama_cpp_et/artifacts.json
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,24 @@
"sha256": "d1eb8b6b23979205fdf63703ed10f788131a3f812c7b1f72e0119d5d81295150",
"size_bytes": 108783360,
"note": "SmolVLM 500M vision projector (SigLIP ~93M + MLP). Q8_0 quantized. Must be loaded alongside smolvlm_500m_q8_gguf."
},
"olmoe_1b_7b_0125_q8_gguf": {
"kind": "model",
"framework": "llama.cpp-et",
"variant": "OLMoE-1B-7B-0125-Q8_0",
"filename": "OLMoE-1B-7B-0125-Q8_0.gguf",
"env": "OLMOE_1B_7B_0125_MODEL_PATH",
"source": {
"type": "huggingface",
"repo": "allenai/OLMoE-1B-7B-0125-GGUF",
"revision": "b8453f3c06477f3efc002ff89f2c3c149ffbeec1",
"filename": "OLMoE-1B-7B-0125-Q8_0.gguf",
"url": "https://huggingface.co/allenai/OLMoE-1B-7B-0125-GGUF/resolve/b8453f3c06477f3efc002ff89f2c3c149ffbeec1/OLMoE-1B-7B-0125-Q8_0.gguf"
},
"sha256": "5a82c080fb821ed5afac78768377260f984e19decf3fc49befafe61d7a9d44ad",
"size_bytes": 7359942720,
"local_cache": "local-artifacts/models/OLMoE-1B-7B-0125-Q8_0.gguf",
"board_path": "/data/models/OLMoE-1B-7B-0125-Q8_0.gguf"
}
}
}
52 changes: 52 additions & 0 deletions ported_models/llama_cpp_et/benchmarks/olmoe_1b_7b_0125.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"runner": "llama_server",
"board": true,
"framework": {
"name": "llama.cpp-et",
"runner": "llama_server",
"source_artifact": "llama_cpp_source"
},
"artifacts_file": "../artifacts.json",
"canonical_variant": "OLMoE-1B-7B-0125-Q8_0",
"score": {
"metric": "tokens_per_second",
"label": "Decode tokens/s",
"higher_is_better": true
},
"llama_server": {
"source_artifact": "llama_cpp_source",
"model_artifact": "olmoe_1b_7b_0125_q8_gguf",
"server_artifact": "llama_server",
"workdir_artifact": "llama_cpp_build",
"host": "127.0.0.1",
"port": 18145,
"device": "ET",
"gpu_layers": 99,
"ctx_size": 2048,
"batch_size": 256,
"ubatch_size": 128,
"parallel": 1,
"cache_ram_mib": 0,
"ready_timeout_s": 300,
"request_timeout_s": 420,
"flash_attn": false,
"api": "completion",
"prompt": "Repeat this token sequence without commentary: OK OK OK OK OK OK OK OK OK OK",
"max_tokens": 96,
"temperature": 0,
"ignore_eos": true,
"min_completion_tokens": 32,
"perplexity": {
"enabled": true,
"perplexity_artifact": "llama_perplexity",
"corpus_artifact": "wikitext2_raw_test",
"ctx_size": 128,
"batch_size": 128,
"ubatch_size": 128,
"timeout_s": 420,
"min_ppl": 1.0,
"max_ppl": 1000.0,
"chunks": 4
}
}
}
67 changes: 67 additions & 0 deletions ported_models/olmoe_1b_7b_0125/docs/RECIPE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# OLMoE-1B-7B-0125 Porting Recipe

## Overview

Adds `allenai/OLMoE-1B-7B-0125` (7B-total/1B-active-parameter Mixture-of-Experts
causal LM, 64 experts, 8 active per token) to the `llama_cpp_et` benchmark
suite. This introduces the **OLMoE** execution family to the board — a
fully open-source MoE release from Ai2 (open weights, open training data,
open code).

## Model Reference

- **Source**: `allenai/OLMoE-1B-7B-0125` (Hugging Face), revision
`9b0c1aa87e34a20052389dce1f0cf01da783f654`
- **License**: Apache 2.0
- **Architecture**: `arch = olmoe` (`OlmoeForCausalLM`), 16 layers, 64
experts, 8 experts active per token (confirmed against `config.json`).

## Hosting

Ai2 publishes an official first-party GGUF repository with a full
quantization ladder, so this uses that directly rather than a self-converted
artifact:

- **GGUF source**: `allenai/OLMoE-1B-7B-0125-GGUF`, revision
`b8453f3c06477f3efc002ff89f2c3c149ffbeec1`, file
`OLMoE-1B-7B-0125-Q8_0.gguf`, 7,359,942,720 bytes,
`sha256=5a82c080fb821ed5afac78768377260f984e19decf3fc49befafe61d7a9d44ad`
(verified against the file's own `x-linked-etag` header, matching the
real remote content-length exactly).

## Local Verification (confirmed live, not speculative)

Independently self-converted the base checkpoint (`convert_hf_to_gguf.py
--outtype q8_0`, no fixes needed, clean conversion first attempt) to
cross-check the official GGUF is architecturally sound, then ran real
inference via the CPU-backend build (see verification-tier note in the
`jamba_tiny_dev` recipe for why CPU, not full ET sysemu):

- Model loads cleanly: `arch = olmoe`, 16 layers, 64 experts, 8 active per
token, KV cache allocated (32 MiB, 16 layers), clean 935-node compute
graph, "fused Gated Delta Net" MoE routing paths enabled.
- Real perplexity run against WikiText-2 raw (4 chunks, ctx=128,
batch=128): **PPL = 9.5706 +/- 1.58463** — solidly within this campaign's
normal range, and notably strong for a model this size, consistent with
Ai2's own published benchmarks for OLMoE.

## Committed deterministic oracle (added per maintainer review)

`ported_models/olmoe_1b_7b_0125/oracle/perplexity_oracle.json` commits
the exact reproduction command, pinned corpus/artifact hashes, the
final PPL from this session's CPU reference run, and an explicit ±20%
comparison threshold for independently verifying a future full-offload
ET-SoC1 run against this reference.

## Instructions for Reproduction

```bash
python3 -c "from huggingface_hub import snapshot_download; print(snapshot_download('allenai/OLMoE-1B-7B-0125'))"
# from the llama.cpp-et submodule root:
python3 convert_hf_to_gguf.py <snapshot-dir> --outfile olmoe-1b-7b-0125-Q8_0.gguf --outtype q8_0
```

## Open items for maintainer review

- No changes were made to any protected file, and none to the vendored
submodule.
25 changes: 25 additions & 0 deletions ported_models/olmoe_1b_7b_0125/oracle/perplexity_oracle.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"oracle_type": "perplexity_threshold",
"model_artifact": {
"repo": "allenai/OLMoE-1B-7B-0125-GGUF",
"revision": "b8453f3c06477f3efc002ff89f2c3c149ffbeec1",
"filename": "OLMoE-1B-7B-0125-Q8_0.gguf",
"sha256": "5a82c080fb821ed5afac78768377260f984e19decf3fc49befafe61d7a9d44ad"
},
"corpus": {
"artifact": "wikitext2_raw_test",
"sha256": "173c87a53759e0201f33e0ccf978e510c2042d7f2cb78229d9a50d79b9e7dd08"
},
"command": "llama-perplexity --model OLMoE-1B-7B-0125-Q8_0.gguf -f wiki.test.raw -c 128 -b 128 -ub 128 --chunks 4",
"reference_run": {
"final_ppl": 9.5706,
"final_ppl_stderr": 1.58463,
"measured_on": "CPU (ggml-cpu backend, GGML_ET=OFF build)",
"measured_date": "2026-07-25"
},
"comparison_threshold": {
"metric": "final_ppl",
"max_relative_deviation": 0.20,
"note": "Matches this repo's own leaderboard-gate policy (PPL must stay within 20% of best-seen value). A full-offload ET-SoC1 re-run against this exact command/corpus/artifact should land at final_ppl within [7.66, 11.48] to be considered consistent with this reference run. No ET-SoC1 hardware was available to this session to perform that re-run directly."
}
}
14 changes: 14 additions & 0 deletions ported_models/submissions/model_ports/olmoe_1b_7b_0125.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"schema_version": 1,
"track": "most_models_ported",
"benchmark_model": "olmoe_1b_7b_0125",
"identity_id": "olmoe",
"source": {
"repo": "allenai/OLMoE-1B-7B-0125",
"revision": "9b0c1aa87e34a20052389dce1f0cf01da783f654",
"license": "apache-2.0"
},
"implementation_paths": ["ported_models/olmoe_1b_7b_0125"],
"benchmark_config": "ported_models/llama_cpp_et/benchmarks/olmoe_1b_7b_0125.json",
"recipe": "ported_models/olmoe_1b_7b_0125/docs/RECIPE.md"
}
Loading