Add files using upload-large-folder tool
Browse files- README.md +59 -2
- image/index.json +1 -1
- image/manifest.json +1 -1
- tt_kernel_manifest.json +10 -10
README.md
CHANGED
|
@@ -3,7 +3,6 @@ tags:
|
|
| 3 |
- blackhole
|
| 4 |
- p300x2
|
| 5 |
- tt-model-cache
|
| 6 |
-
- tt-model-catalog
|
| 7 |
- tt-model-container
|
| 8 |
- vllm-plugin
|
| 9 |
---
|
|
@@ -80,6 +79,64 @@ Serve one request at a time: concurrency at long context is admission-limited
|
|
| 80 |
by the KV cache. The release passed the bounded latency gate: 2% per metric,
|
| 81 |
plus a 5 ms absolute TTFT allowance for short-input measurement variance.
|
| 82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
## Provenance
|
| 84 |
|
| 85 |
The exact sources the image was built from — `code/` in this repo is byte-identical to the model code inside the image:
|
|
@@ -90,5 +147,5 @@ The exact sources the image was built from — `code/` in this repo is byte-iden
|
|
| 90 |
| vLLM | [`v0.24.0`](https://github.com/vllm-project/vllm/releases/tag/v0.24.0) |
|
| 91 |
| vllm-tt-plugin | a local checkout — commit not published |
|
| 92 |
| `code/` digest | `1b2d3eba0ea623e8` (sha256, first 16 hex digits) |
|
| 93 |
-
| built | 2026-09-23T12:
|
| 94 |
|
|
|
|
| 3 |
- blackhole
|
| 4 |
- p300x2
|
| 5 |
- tt-model-cache
|
|
|
|
| 6 |
- tt-model-container
|
| 7 |
- vllm-plugin
|
| 8 |
---
|
|
|
|
| 79 |
by the KV cache. The release passed the bounded latency gate: 2% per metric,
|
| 80 |
plus a 5 ms absolute TTFT allowance for short-input measurement variance.
|
| 81 |
|
| 82 |
+
## Prefix caching
|
| 83 |
+
|
| 84 |
+
Measured with vLLM's own `prefix_repetition` benchmark, the standard dataset
|
| 85 |
+
for this feature. Eight distinct 4,096-token prefixes, each reused across
|
| 86 |
+
eight requests, 64 requests at concurrency 1 -- the same package served twice,
|
| 87 |
+
one flag apart.
|
| 88 |
+
|
| 89 |
+
```
|
| 90 |
+
vllm bench serve --model meta-models/Muse-Glimmer-30B \
|
| 91 |
+
--dataset-name prefix_repetition \
|
| 92 |
+
--prefix-repetition-prefix-len 4096 --prefix-repetition-suffix-len 128 \
|
| 93 |
+
--prefix-repetition-num-prefixes 8 --prefix-repetition-output-len 32 \
|
| 94 |
+
--num-prompts 64 --max-concurrency 1 --ignore-eos --seed 1234
|
| 95 |
+
```
|
| 96 |
+
|
| 97 |
+
| metric | caching off | caching on |
|
| 98 |
+
|---|---:|---:|
|
| 99 |
+
| mean TTFT | 497.00 ms | 168.04 ms |
|
| 100 |
+
| median TTFT | 495.82 ms | 98.18 ms |
|
| 101 |
+
| p99 TTFT | 525.84 ms | 952.04 ms |
|
| 102 |
+
| benchmark duration | 80.14 s | 59.14 s |
|
| 103 |
+
| output throughput | 25.56 tok/s | 34.63 tok/s |
|
| 104 |
+
| prefix cache hit rate | 0 | 54.7% |
|
| 105 |
+
|
| 106 |
+
The distribution is the evidence, not the mean. With caching off every request
|
| 107 |
+
pays the full 4,096-token prefill and TTFT is flat at 496/497/526. With it on
|
| 108 |
+
the distribution splits: 98 ms median for the 56 requests that hit, 952 ms at
|
| 109 |
+
p99 for the 8 cold prefixes.
|
| 110 |
+
|
| 111 |
+
Note the p99 moves the wrong way, 526 ms to 952 ms. A cold prefix now compiles
|
| 112 |
+
its own SDPA program for its resume offset, so the first request at any
|
| 113 |
+
previously unseen offset is slower than it was. Median improves 5x; the tail
|
| 114 |
+
regresses 1.8x. Workloads that reuse a small set of prefixes gain; workloads
|
| 115 |
+
whose offsets keep changing may not.
|
| 116 |
+
|
| 117 |
+
## Evaluations
|
| 118 |
+
|
| 119 |
+
Run through tt-inference-server's eval workflow -- its lm-eval command, venv
|
| 120 |
+
and scoring -- against this package at 131,072 context. Sampling is this
|
| 121 |
+
card's recipe: temperature 1.0, top_p 0.95, top_k 64.
|
| 122 |
+
|
| 123 |
+
| task | samples | metric | score | reference |
|
| 124 |
+
|---|---:|---|---:|---:|
|
| 125 |
+
| `gpqa_diamond_cot_zeroshot` | 198 | exact_match, flexible-extract | 77.27 | 72.8 |
|
| 126 |
+
| `ifeval` | 541 | prompt_level_strict_acc | 88.72 | 77.0 |
|
| 127 |
+
| `aime25` | 30 | exact_match | not valid, see below | 94.7 |
|
| 128 |
+
|
| 129 |
+
The GPQA reference is the GPU reference score for `openai/gpt-oss-20b`, the
|
| 130 |
+
closest configured analogue. This model had no GPQA row before this run, while
|
| 131 |
+
every other reasoning model of its size in the catalogue has one. The `ifeval`
|
| 132 |
+
reference is an IFBench floor, not an equivalence target.
|
| 133 |
+
|
| 134 |
+
`aime25` is not reported as a score. 18 of its 30 responses contained no
|
| 135 |
+
extractable answer and one ran to 294,912 characters, while the same problems
|
| 136 |
+
put to the server directly return correct boxed answers -- so the figure
|
| 137 |
+
measures the eval path, not the model. 30 of the 198 GPQA responses show the
|
| 138 |
+
same pathology, which makes 77.27 a lower bound rather than a point estimate.
|
| 139 |
+
|
| 140 |
## Provenance
|
| 141 |
|
| 142 |
The exact sources the image was built from — `code/` in this repo is byte-identical to the model code inside the image:
|
|
|
|
| 147 |
| vLLM | [`v0.24.0`](https://github.com/vllm-project/vllm/releases/tag/v0.24.0) |
|
| 148 |
| vllm-tt-plugin | a local checkout — commit not published |
|
| 149 |
| `code/` digest | `1b2d3eba0ea623e8` (sha256, first 16 hex digits) |
|
| 150 |
+
| built | 2026-09-23T12:35:51+00:00 by tt-model 0.1.0 |
|
| 151 |
|
image/index.json
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"schemaVersion":2,"mediaType":"application/vnd.oci.image.index.v1+json","manifests":[{"mediaType":"application/vnd.oci.image.index.v1+json","digest":"sha256:
|
|
|
|
| 1 |
+
{"schemaVersion":2,"mediaType":"application/vnd.oci.image.index.v1+json","manifests":[{"mediaType":"application/vnd.oci.image.index.v1+json","digest":"sha256:c715693dd6144a8cba93bcb04dc48b81372ccd535d19382a4ee9cfee38fa5e0e","size":856,"annotations":{"io.containerd.image.name":"docker.io/tt-model/muse-glimmer-30b:c715693dd614","org.opencontainers.image.ref.name":"c715693dd614"}}]}
|
image/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
[{"Config":"blobs/sha256/
|
|
|
|
| 1 |
+
[{"Config":"blobs/sha256/9fabbfdc214bbdaf1388a9dd8d3be72e665ae455f58a8ad6b0439af5e64841a6","RepoTags":["tt-model/muse-glimmer-30b:c715693dd614"],"Layers":["blobs/sha256/20c3783cc497b5b0df1fc5f92bd64c3d2fbb24057c88692c8fda205b6ea8a2f2","blobs/sha256/f9c52ad10fa38bd53d8f2c756de981c86f76b522b1112c82448d1b0ff4e8558a","blobs/sha256/b640607716388e92c76cbd8930854279ffdd13b17905c36a9e86d259b5b4c91d","blobs/sha256/f6e8f14e8fe6c6c102c0b12bfa4a2641baa4331ffee7c4e24a2ad5f585c7bff7","blobs/sha256/ffc0ec9a0bda7a2144939a854a5bb629d188903d423bf006110de2374535e62b","blobs/sha256/7bb3417a816b66194ee2c1b46fe2cec15b823b6520618e6b7f3884ad72413a44","blobs/sha256/bacb935dabb14e9175734c406307292042bcb51a5d45592589110d9235b1ed03","blobs/sha256/4af305a62cec10efd8b648753dff3438f9c255e556615614490c267d60df3467","blobs/sha256/39020e4807c5099bae573707113b7b6e5230cab290f47b0c1460d209018c8e39","blobs/sha256/c6e85e4a5ab37cce8088f5013297bbd48b5b88dad84aa7f4d478e0084cd16f9d","blobs/sha256/1d88e28a11ffe44ddb72c1bc8d8eff953fd09223d7ff3769f70ef7e168c1782e","blobs/sha256/e63bb76def5acb0f63cd6507a2794a58c796e3f7b359aa37fdf7e9641383a0d7","blobs/sha256/0e49a8fe105bf8b52f63751f49684d8f719c4d01723f45cd82cc56c57fe340ba","blobs/sha256/211bc2f61bde0f9dddd108b89edd016d3267af6183d50479e2eb08d75915a879","blobs/sha256/b8107065afdbac19691a2deceec62dc7ee6ffd1360318a5974fff13959fe9929","blobs/sha256/cec11eb07fdc442589febb11278ecae74d115d96d18c30b5f89c2b889e2841f4","blobs/sha256/788661dd0e494240d6c122ed3aa0b59b996c0b41a421b721ed0556b077a5cb17","blobs/sha256/743165483dd0723cf8abba0846bc083b2844e221bb25ad534e2221e8a9d9911e","blobs/sha256/4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1","blobs/sha256/ab3302deea2f463cc8199f22e77a00212dcbd9849844cf497d219098bc47360b","blobs/sha256/526cac24c89cf42678497c0d3c37a1a9ed917c33d88586b730e11183d53b0736","blobs/sha256/4b717ed492dc7f9df401347b7e1269aa38a906fc5cb0da8b67e5b5069f66433c"]}]
|
tt_kernel_manifest.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
| 1 |
{
|
| 2 |
"schema_version": "5.1",
|
| 3 |
"name": "muse-glimmer-30b",
|
| 4 |
-
"tt_metal_version": "0.65.2.
|
| 5 |
"arch": "blackhole",
|
| 6 |
"device_count": 4,
|
| 7 |
"producer": {
|
| 8 |
"tt_kernel_version": "0.1.0",
|
| 9 |
-
"created_at": "2026-09-23T12:
|
| 10 |
"hostname": "tt-quietbox"
|
| 11 |
},
|
| 12 |
"weights": {
|
|
@@ -27,8 +27,8 @@
|
|
| 27 |
"image": {
|
| 28 |
"registry": "hf",
|
| 29 |
"repository": "muse-glimmer-30b",
|
| 30 |
-
"tag": "tt-model/muse-glimmer-30b:
|
| 31 |
-
"digest": "sha256:
|
| 32 |
},
|
| 33 |
"kind": "vllm-plugin",
|
| 34 |
"runtime": {
|
|
@@ -103,15 +103,15 @@
|
|
| 103 |
"import vllm; from vllm.reasoning import ReasoningParserManager as RM; RM.import_reasoning_parser('/opt/tt-metal/models/autoports/meta_models_muse_glimmer_30b/tt/reasoning_parser.py'); assert 'muse_glimmer' in RM.list_registered(), 'reasoning parser did not register'; RM.get_reasoning_parser('muse_glimmer')"
|
| 104 |
],
|
| 105 |
"built": {
|
| 106 |
-
"image": "tt-model/muse-glimmer-30b:
|
| 107 |
"repo": "tt-hous/muse-glimmer-30b",
|
| 108 |
"tt_model_version": "0.1.0",
|
| 109 |
-
"created_at": "2026-09-23T12:
|
| 110 |
"tt_metal": {
|
| 111 |
-
"sha": "
|
| 112 |
-
"describe": "v0.74.0-dev20260622-
|
| 113 |
"dirty": false,
|
| 114 |
-
"scm_version": "0.65.2.
|
| 115 |
"mode": "local",
|
| 116 |
"remote": "https://github.com/tenstorrent/tt-metal.git",
|
| 117 |
"branch": "agentic-research/hous/muse-glimmer-30b-toolcalling",
|
|
@@ -123,7 +123,7 @@
|
|
| 123 |
"path": "/home/ttuser/dev/muse-glimmer/wt-plugin-apc",
|
| 124 |
"dirty": false
|
| 125 |
},
|
| 126 |
-
"image_digest": "sha256:
|
| 127 |
}
|
| 128 |
}
|
| 129 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"schema_version": "5.1",
|
| 3 |
"name": "muse-glimmer-30b",
|
| 4 |
+
"tt_metal_version": "0.65.2.dev8972",
|
| 5 |
"arch": "blackhole",
|
| 6 |
"device_count": 4,
|
| 7 |
"producer": {
|
| 8 |
"tt_kernel_version": "0.1.0",
|
| 9 |
+
"created_at": "2026-09-23T12:43:52.608232+00:00",
|
| 10 |
"hostname": "tt-quietbox"
|
| 11 |
},
|
| 12 |
"weights": {
|
|
|
|
| 27 |
"image": {
|
| 28 |
"registry": "hf",
|
| 29 |
"repository": "muse-glimmer-30b",
|
| 30 |
+
"tag": "tt-model/muse-glimmer-30b:c715693dd614",
|
| 31 |
+
"digest": "sha256:c715693dd6144a8cba93bcb04dc48b81372ccd535d19382a4ee9cfee38fa5e0e"
|
| 32 |
},
|
| 33 |
"kind": "vllm-plugin",
|
| 34 |
"runtime": {
|
|
|
|
| 103 |
"import vllm; from vllm.reasoning import ReasoningParserManager as RM; RM.import_reasoning_parser('/opt/tt-metal/models/autoports/meta_models_muse_glimmer_30b/tt/reasoning_parser.py'); assert 'muse_glimmer' in RM.list_registered(), 'reasoning parser did not register'; RM.get_reasoning_parser('muse_glimmer')"
|
| 104 |
],
|
| 105 |
"built": {
|
| 106 |
+
"image": "tt-model/muse-glimmer-30b:c715693dd614",
|
| 107 |
"repo": "tt-hous/muse-glimmer-30b",
|
| 108 |
"tt_model_version": "0.1.0",
|
| 109 |
+
"created_at": "2026-09-23T12:35:51+00:00",
|
| 110 |
"tt_metal": {
|
| 111 |
+
"sha": "367a370de648e868be91306a89d0b2c9e2b62e61",
|
| 112 |
+
"describe": "v0.74.0-dev20260622-266-g367a370de6",
|
| 113 |
"dirty": false,
|
| 114 |
+
"scm_version": "0.65.2.dev8972",
|
| 115 |
"mode": "local",
|
| 116 |
"remote": "https://github.com/tenstorrent/tt-metal.git",
|
| 117 |
"branch": "agentic-research/hous/muse-glimmer-30b-toolcalling",
|
|
|
|
| 123 |
"path": "/home/ttuser/dev/muse-glimmer/wt-plugin-apc",
|
| 124 |
"dirty": false
|
| 125 |
},
|
| 126 |
+
"image_digest": "sha256:c715693dd6144a8cba93bcb04dc48b81372ccd535d19382a4ee9cfee38fa5e0e"
|
| 127 |
}
|
| 128 |
}
|
| 129 |
}
|