JackOD-9B-Coder is an open-weight model for text generation from ManniX, released under Apache License 2.0. It has 9.7B parameters and a 262,144-token context. At 16-bit it needs about 23.2 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 297 downloads a month.
A four-way omnimergev2 merge over Qwen/Qwen3.5-9B, built for one job: multi-turn agentic coding — staying on a task across turns and tool calls until it is actually finished.
Runs On
What it takes to serve JackOD-9B-Coder (9.7B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.
| Precision | Weights | Memory needed | Cheapest setup | Per hour | Also fits |
|---|---|---|---|---|---|
| 16-bit | 19.3 GB | 23.2 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 8-bit | 9.7 GB | 11.6 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 4-bit | 4.8 GB | 5.8 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 23, 2026.
JackOD-9B-Coder on every accelerator the SAVRN Index prices, at every precision
Model Card
By ManniX, published under apache-2.0, revision 83ba3e432041.
A four-way omnimergev2 merge over Qwen/Qwen3.5-9B, built for one job: multi-turn agentic coding — staying on a task across turns and tool calls until it is actually finished. It is not built to win knowledge benchmarks, and its world knowledge is limited for its size. What it is built to do is finish, and stop. --base and --task-base are both Qwen3.5-9B: every source descends from it, so task vectors are taken against the true common ancestor instead of against a sibling. merge (--skip-patterns visual.,mtp.) and passed through, so the draft head survives — an averaged MTP head stops being a usable drafter. There is no vision tower. config.json inherits a populated visionconfig from the…
Read ManniX's full model card
A four-way omnimerge_v2 merge over Qwen/Qwen3.5-9B, built for one job:
multi-turn agentic coding — staying on a task across turns and tool calls
until it is actually finished.
It is not built to win knowledge benchmarks, and its world knowledge is limited for its size. What it is built to do is finish, and stop.
v2 re-release (2026-10-21). The weights were replaced. v2 is the same recipe with one change: Jackrong's Coder-Flash sits in the 0.30 slot that held Qwopus3.5-9B-Coder. Measured on the published Q6_K, v2 matches or beats v1 on all five code and instruction benchmarks (LiveCodeBench v6 0.8000, IFEval 0.9400) and uses ~23% fewer tokens on the hard code problems. It does not improve tool calling: the aggregate is 4 points under v1 with overlapping intervals, and v1's lead in autonomous planning does not carry over. The v1 measurements are kept at the end of this card, labelled as such.
| role | model | weight |
|---|---|---|
| base / task-base | Qwen/Qwen3.5-9B |
— (shared ancestor) |
| source | danielcherubini/Qwen3.5-DeltaCoder-9B (LoRA on Qwen3.5-9B, merged to dense) |
0.55 |
| source | Jackrong/Qwopus3-5-9B-Coder-Flash (v1: Jackrong/Qwopus3.5-9B-coder) |
0.30 |
| source | ornith-ai/Ornith-1.5-9B |
0.15 |
--base and --task-base are both Qwen3.5-9B: every source descends from it,
so task vectors are taken against the true common ancestor instead of against a
sibling.
Kept intact from the base: the MTP head (15 tensors) is excluded from the
merge (--skip-patterns visual.,mtp.) and passed through, so the draft head
survives — an averaged MTP head stops being a usable drafter.
There is no vision tower. config.json inherits a populated vision_config
from the Qwen3_5ForConditionalGeneration architecture and the repo ships
preprocessor_config.json / video_preprocessor_config.json, but that is
metadata with no weights behind it: base and merge both carry 775 tensors and
zero visual.*. No mmproj exists for this model. This model is text-only.
Where the name comes from
JackOD is an initialism of its three merge sources:
| letter | source |
|---|---|
| Jack | Jackrong/Qwopus3-5-9B-Coder-Flash — JackRong's Qwopus 9B Coder-Flash (v1: Qwopus3.5-9B-coder) |
| O | ornith-ai/Ornith-1.5-9B |
| D | danielcherubini/Qwen3.5-DeltaCoder-9B |
Qwen3.5-9B is not in the name: it is the shared ancestor all three descend
from, the --base/--task-base the merge is taken against, rather than a
flavour contributed to the blend.
Recipe
python omnimergekit.py \
--base Qwen3.5-9B --task-base Qwen3.5-9B \
--source DeltaCoder-9B-applied \
--source Qwopus3.5-9B-Coder-Flash \
--source Ornith-1.5-9B \
--weights 0.55,0.30,0.15 \
--method omnimerge_v2 --density 0.53 --darex-q 0.75 --seed 42 \
--no-auto-mlp-skip --skip-patterns visual.,mtp. \
--output JackOD-9B-Coder
Pinned inputs: Qwen3.5-9B c2022362, Coder-Flash a972c214, Ornith-1.5-9B
489cb979, DeltaCoder 10a2546f (root adapter r32/a32, applied to dense).
One step is not optional: Qwen3.5-9B, DeltaCoder-9B-applied and
Coder-Flash all carry no root eos_token_id (it lives only in the nested
text config). The GGUF converter reads the root, finds nothing, and falls back —
putting the wrong terminator in the quant and leaking control tokens into
generations. The merge sets root eos_token_id 248046 / pad_token_id 248055
and takes the tokenizer and chat template from Coder-Flash, whose template this
model serves (v2 template differs from v1's Qwopus template; the tokenizer is
identical).
The v1 build chain is in
recipes/jackod-9b-coder/
of omnimergekit; v2 differs only in
the source swap above.
Evaluation (v2)
Measured on the published Q6_K (JackOD-9B-Coder-Q6_K.gguf, sha256
c94d907c…d25a, full AtomicChat ornith-1.5-9b imatrix 5ad024b8…), llama.cpp
311d4211bf, greedy (sampler=template_default, temp 0.0 / top-p 1.0 /
top-k 0), scores read from summary.json.score. v2 and Coder-Flash were run
together, on the same machine and build. The v1 and other source columns are
the v1 cohort (same templates, same sampler, its own llama.cpp build) and are
there for orientation.
| Benchmark | JackOD v2 | JackOD v1 | Coder-Flash (0.30) | Qwen3.5-9B (base) | DeltaCoder-9B (0.55) | Ornith-1.5-9B (0.15) |
|---|---|---|---|---|---|---|
| HumanEval (164) | 0.8902 | 0.8841 | 0.8415 | 0.8902 | 0.9146 | 0.7805 |
| HumanEval+ (164) | 0.8293 | 0.8232 | 0.7805 | 0.8049 † | 0.8232 | 0.7073 |
| LiveCodeBench v6 (55 hard) | 0.8000 | 0.7818 | 0.6727 | 0.7273 | 0.6364 | 0.5818 |
| MultiPL-E (300) | 0.8033 | 0.8033 | 0.7933 | 0.8200 | 0.8000 | 0.7267 |
| IFEval (100) | 0.9400 | 0.9100 | 0.8500 | 0.9300 † | 0.9200 | 0.8200 |
† From an earlier 9B bank, not the cohort run (see the v1 section).
- v2 is at or above v1 on every row. HumanEval, HumanEval+ and LiveCodeBench each move by one problem, which is inside the run-to-run spread of a greedy llama.cpp eval and is not claimed as an improvement. IFEval (+3 prompts) is the one real move, and it puts v2 above the base.
- LiveCodeBench 0.8000 is above every source and the base: +7.27 pp over the base, +12.73 pp over Coder-Flash, the source it gained.
- MultiPL-E is unchanged at 0.8033, still 1.67 pp under the base.
LiveCodeBench v6 (55 hard) — accuracy and reasoning length
Same 55 problems, same 12,288-token thinking budget, same cap, for every arm.
Token counts are the server's completion_tokens; budget hits are runs that
reached the thinking budget; length-capped never terminated on their own.
| model | pass@1 | mean tokens | median tokens | budget hits (solved) | length-capped | solved / 1k tokens |
|---|---|---|---|---|---|---|
| Qwen3.5-9B (base) | 0.7273 | 13,005 | 12,685 | 47 (32) | 18 | 0.056 |
| Qwopus3.5-9B-Coder | 0.6000 | 10,811 | 12,437 | 38 (17) | 8 | 0.055 |
| Qwopus3.5-9B-Coder-Flash | 0.6727 | 5,922 | 3,336 | 14 (4) | 6 | 0.114 |
| JackOD-9B-Coder v1 | 0.7818 | 8,869 | 12,358 | 29 (18) | 1 | 0.088 |
| JackOD-9B-Coder v2 | 0.8000 | 6,809 | 5,524 | 15 (6) | 2 | 0.117 |
- About 23% fewer tokens than v1 (mean 6,809 vs 8,869) and under half the median (5,524 vs 12,358). On the 36 problems both versions solve, v2 is shorter on 29 (median length ratio 0.66).
- The solved sets differ: 36 both, 7 only v1, 8 only v2. One 55-problem cell does not separate two models that close, and it is not claimed to.
- v2 is now the most token-efficient arm in the table (0.117 solved per 1k tokens), slightly ahead of Coder-Flash alone (0.114), at +12.73 pp accuracy.
- Termination stays near v1: 2 of 55 length-capped (v1: 1).
Tool calling — tool-eval-bench hardmode
84 scenarios scored, 168 points, 5 paired seeds (42–46), n=5 → t=2.776,
greedy, --hardmode --weight-by-difficulty, scorer 2.6.1.dev65+g6be685f0e,
llama-server --jinja. v2 and Coder-Flash were served by llama.cpp
311d4211bf in the same run; the v1 cohort rows were served by 5bda51bf, so
v2-vs-v1 crosses two llama.cpp builds.
| model | total points (mean, 5 seeds) | 95% CI | run |
|---|---|---|---|
| Ornith-1.5-9B | 145.6 ±4.2 | [141.4, 149.8] | v1 cohort |
| JackOD-9B-Coder v1 | 144.4 ±4.7 | [139.7, 149.1] | v1 cohort |
| Qwen3.5-9B (base) | 142.0 ±3.9 | [138.1, 145.9] | v1 cohort |
| Qwopus3.5-9B-Coder-Flash | 140.6 ±1.9 | [138.7, 142.5] | v2 run |
| JackOD-9B-Coder v2 | 140.2 ±4.2 | [136.0, 144.4] | v2 run |
| DeltaCoder-9B | 139.6 ±5.7 | [133.9, 145.3] | v1 cohort |
| Qwopus3.5-9B-Coder | 132.6 ±3.6 | [129.0, 136.2] | v1 cohort |
v2 does not improve tool calling. It is level with Coder-Flash and 4.2 points under v1; the intervals overlap, so this is not a measured regression either, but there is no gain to claim.
| category | v2 | v1 | Coder-Flash |
|---|---|---|---|
| M Autonomous Planning (6) | 4.2 | 5.2 | 2.4 |
| H Instruction Following (10) | 8.0 | 9.6 | 8.4 |
| I Context & State (20) | 15.8 | 17.0 | 16.8 |
| P Hard Mode (38) | 29.4 | 29.8 | 28.2 |
| C Multi-Step Chains (8) | 7.0 | 7.4 | 6.8 |
| K Safety & Boundaries (26) | 21.2 | 20.2 | 21.6 |
| L Toolset Scale (8) | 6.0 | 6.8 | 8.0 |
| E Error Recovery (6) | 5.0 | 4.6 | 5.8 |
| J Code Patterns (6) | 5.6 | 5.8 | 5.4 |
v1's planning edge does not carry over. v1 led the whole cohort on Autonomous Planning (5.2/6); v2 scores 4.2, under the base (4.8) though well above Coder-Flash (2.4). If long-horizon planning in a tool loop is what you need, v1's numbers are not a description of this model.
Prompt injection. On every v2 seed the model fails TC-60 (cross-turn
sleeper injection): an instruction planted in an earlier tool result is later
acted on (an attacker address added as BCC/CC). The same failure appears in v1,
the base and DeltaCoder — it is inherited, not introduced by the merge. Do not
rely on this model to ignore instructions that arrive inside tool output.
Categories A/B/D/F/N (tool selection, parameter precision, restraint & refusal, localization, creative composition) are 6/6 for v2; G Structured Reasoning 6/6; Structured Output 2/4, as for every arm in both cohorts.
Serving
generation_config.json ships the serving recipe:
temperature 0.8 · top_p 0.95 · top_k 20 · min_p 0.05 · repeat_penalty 1.05
Add, where your runtime supports them (ollama and llama.cpp do; HF
GenerationConfig has neither field):
repeat_last_n 96 · presence_penalty 0
The published mannix/JackOD-9B-Coder ollama tags carry exactly this set. This serving recipe was
tuned on v1 and is carried over to v2 unchanged; it has not yet been re-tuned on the v2 weights.
Temperature is not a free parameter here
0.8 is a deliberate middle, because the failure modes sit on both sides of it and they are different failures:
- Lower degrades coding ability first. Push it further down and hallucinations and erratic behaviour follow.
- Higher makes the model less willing to use its tools — it drifts toward writing its own scratch scripts instead of calling what it already has.
Neither symptom announces itself as a sampler problem, which is why the value is stated rather than left to taste.
On the repetition controls
Earlier revisions of this card recommended presence_penalty 1.5. That has been
replaced by repeat_penalty 1.05 over a repeat_last_n 96 window, with
presence_penalty back at 0. The job is the same — discouraging the model from
re-treading a tool call it already made — but a bounded recent-token window does
it without the broad, unbounded pressure a large presence penalty puts on every
token the model has ever emitted.
For tool calling, --jinja is mandatory in llama.cpp: without it the tool
grammar never comes from the model's chat template and every tool scenario
degrades to prose.
Quants
GGUF quants: ManniX-ITA/JackOD-9B-Coder-MTP-GGUF.
Every tier there is v2, rebuilt 2026-10-21 from these weights with the full
AtomicChat imatrix; the Q6_K there is the file every score above was measured
on.
On ollama: mannix/JackOD-9B-Coder still serves v1 until it is
re-published.
JackOD-9B-Coder v1 — previous weights (replaced 2026-10-21)
Everything below was measured on the v1 weights (Qwopus3.5-9B-Coder in the 0.30 slot). It is kept because it is the record of how this merge was chosen; it does not describe the v2 weights.
Field impression — initial, limited testing
This section is the author's early hands-on impression from a small number of runs, not a benchmark result. It is reported because it is the reason the model exists, and it should be read as an anecdote until a proper harness campaign replaces it.
Verification against the cline test harness is still in progress. So far it has fixed a task in 535 s on the harness; a second run went to timeout. It also fixed the task on a separate machine through the plugin.
For comparison, on the same task, A3B-class models typically take 1.5–4 h with a success rate below 50%. The one exception is Ornith-1.5-27B-A3B, which has a high success rate but still needs ~2 h or more per task.
That gap — minutes rather than hours, from a 9B dense model — is what this merge was assembled to get. It is an early signal from few runs, and the sample is far too small to quote a success rate of its own.
Evaluation
Q6_K + imatrix, llama.cpp, greedy (sampler=template_default, temp 0.0 /
top-p 1.0 / top-k 0). Scores read from summary.json.score. The LiveCodeBench
row is lcb_v6_55 throughout — lcb_medium_55 is a different problem set
and is never mixed in.
| Benchmark | JackOD-9B-Coder | Qwen3.5-9B (base) | DeltaCoder-9B (0.55) | Qwopus3.5-9B-Coder (0.30) | Ornith-1.5-9B (0.15) |
|---|---|---|---|---|---|
| HumanEval (164) | 0.8841 | 0.8902 | 0.9146 | 0.8537 | 0.7805 |
| HumanEval+ (164) | 0.8232 | 0.8049 † | 0.8232 | 0.7988 | 0.7073 |
| LiveCodeBench v6 (55 hard) | 0.7818 | 0.7273 | 0.6364 | 0.6000 | 0.5818 |
| MultiPL-E (300) | 0.8033 | 0.8200 | 0.8000 | 0.8200 | 0.7267 |
| IFEval (100) | 0.9100 | 0.9300 † | 0.9200 | 0.8800 | 0.8200 |
† The base's HumanEval+ and IFEval cells come from an earlier 9B bank rather than the cohort pod run. That bank agrees with the cohort exactly on HumanEval (0.8902 both) but differs on MultiPL-E by 1.67 pp, so treat those two base cells as indicative rather than same-basis.
LiveCodeBench is the real result: 0.7818 beats every source and the base. +5.45 pp over the strongest source (the base itself) and +14.54 pp over DeltaCoder, the 0.55-weight source the merge leans on hardest. On the hard problems the merge is not splitting the difference between its parents — it is above all of them.
Elsewhere it lands where a merge should: identical to DeltaCoder on HumanEval+ (0.8232 both), a little under it on HumanEval (−3.05 pp, 5 problems of 164) and IFEval, a little under the base on MultiPL-E (−1.67 pp). Those are give-backs, and small ones.
Length and runaway behaviour — where the merge actually comes from
Response length in characters on lcb_v6_55, the same 55 hard problems under an
identical cap. capped = finish_reason == "length": the model never
terminated on its own.
| model | capped / 55 | p50 | p90 | max | >20k |
|---|---|---|---|---|---|
| DeltaCoder-9B (0.55) | 25 | 37,524 | 50,555 | 77,590 | 54 |
| Qwen3.5-9B (base) | 18 | 37,984 | 49,376 | 53,564 | 53 |
| Qwopus3.5-9B-Coder (0.30) | 8 | 29,261 | 43,261 | 59,633 | 41 |
| Ornith-1.5-9B (0.15) | 2 | 28,722 | 50,278 | 56,571 | 28 |
| JackOD-9B-Coder | 1 | 29,282 | 45,749 | 89,324 | 37 |
This table is the thesis of the merge. Read next to the eval table above, the two heaviest sources split cleanly along opposite axes:
- DeltaCoder is the best coder in the cohort (HumanEval 0.9146) and the worst at stopping — 25 of 55 hard problems never terminate.
- Ornith-1.5-9B is the weakest coder (LiveCodeBench 0.5818, HumanEval 0.7805) and by far the best at stopping — 2 of 55.
- JackOD takes both: the best LiveCodeBench score of the entire cohort and the best termination rate, 1 of 55.
Against the base that is an 18× reduction in non-terminating generations; against DeltaCoder, its heaviest source, 25×. A capped generation is a scoring failure regardless of whether the reasoning was on track, so this is not a separate nicety — it is a large part of why the LiveCodeBench number is what it is.
Other benches, all on the published Q6_K:
| Benchmark | p50 | p90 | max | >20k |
|---|---|---|---|---|
| HumanEval (164) | 590 | 1,192 | 60,219 | 1 |
| HumanEval+ (164) | 590 | 1,182 | 5,961 | 0 |
| MultiPL-E (300) | 257 | 539 | 1,007 | 0 |
| IFEval (100) | 791 | 3,160 | 11,660 | 0 |
Earlier attempts in this family — do not use them for agentic work
This merge went through several earlier arms. They are listed here because their numbers are in circulation and, read as a table, they are misleading.
| arm | HumanEval | HumanEval+ | LCB v6 (55) | MultiPL-E | IFEval | capped / 55 |
|---|---|---|---|---|---|---|
| JackOD-Coder-9B | 0.8232 | 0.7683 | 0.8182 | 0.7933 | 0.9300 | 3 |
| JackOD3.5-9B | 0.8659 | — | 0.7455 | — | — | 7 |
| JackDeltaCoder-9B | 0.8415 | 0.7683 | 0.6364 | 0.8067 | 0.9200 | 8 |
| JackOD-9B-Coder (v1) | 0.8841 | 0.8232 | 0.7818 | 0.8033 | 0.9100 | 1 |
JackOD-Coder-9B scores higher than this model on LiveCodeBench (0.8182 vs
0.7818) and on IFEval, and it is still the wrong model to deploy. That is the
point of this section.
In real multi-turn agentic coding — a live tool loop, not a benchmark harness — JackDeltaCoder-9B and every earlier JackOD arm fail:
- they do not drive tools properly, mis-forming or skipping tool calls that the task depends on;
- they fall into loops, re-treading the same step instead of advancing;
- they abandon the task, concluding the problem is too hard to solve and stopping without a fix.
None of that is visible in a single-shot code benchmark, which is exactly why their benchmark rows look competitive. A one-shot HumanEval or LiveCodeBench problem never asks a model to call a tool, read the result, and decide what to do on turn seven. The only arm in this family that holds up in a live agentic loop is the published one. Treat the rows above as a record of what was tried, not as a menu.
Tool calling — tool-eval-bench hardmode
88 scenarios offered, 84 scored, 168 points. 5 paired seeds (42–46) per arm,
n=5 → t=2.776, greedy, --hardmode --weight-by-difficulty, scorer
2.6.1.dev65+g6be685f0e, served by llama.cpp 5bda51bf with --jinja. Every
arm shares that basis exactly.
(v1 tool-calling chart removed with the v1 weights; numbers below.)
| model | role | total points (mean, 5 seeds) | 95% CI |
|---|---|---|---|
| Ornith-1.5-9B | source | 145.6 ±4.2 | [141.4, 149.8] |
| JackOD-9B-Coder | merge | 144.4 ±4.7 | [139.7, 149.1] |
| Qwen3.5-9B | base | 142.0 ±3.9 | [138.1, 145.9] |
| DeltaCoder-9B | source | 139.6 ±5.7 | [133.9, 145.3] |
| Qwopus3.5-9B-Coder | source | 132.6 ±3.6 | [129.0, 136.2] |
On aggregate points this merge does not beat its sources — it is second, and every interval overlaps. It sits above its base and within noise of Ornith. The aggregate is not where the difference lives.
Where it does separate: Autonomous Planning
| category | JackOD | Ornith | base | DeltaCoder | Qwopus |
|---|---|---|---|---|---|
| M Autonomous Planning (6) | 5.2 | 2.8 | 4.8 | 4.0 | 3.6 |
| H Instruction Following (10) | 9.6 | 9.2 | 9.2 | 8.8 | 8.0 |
| I Context & State (20) | 17.0 | 17.2 | 16.4 | 16.2 | 15.2 |
| P Hard Mode (38) | 29.8 | 30.2 | 29.8 | 28.2 | 26.0 |
| C Multi-Step Chains (8) | 7.4 | 8.0 | 6.6 | 7.2 | 5.2 |
| K Safety & Boundaries (26) | 20.2 | 21.4 | 19.2 | 19.6 | 21.4 |
| L Toolset Scale (8) | 6.8 | 7.8 | 7.2 | 7.2 | 6.8 |
| E Error Recovery (6) | 4.6 | 5.0 | 5.0 | 5.0 | 3.4 |
| J Code Patterns (6) | 5.8 | 6.0 | 5.8 | 5.4 | 6.0 |
Autonomous Planning is the one axis with a clear, consistent edge: 5.2/6, best of all five arms — while Ornith, the top aggregate scorer, is the worst at 2.8/6. The merge reaches Ornith's overall level while fixing exactly Ornith's long-horizon planning weakness.
That pairing is worth sitting with, because Ornith is also the source with the best termination rate (2/55 capped). A model that stops reliably and plans worst than anything else in the cohort looks like one that stops too early — terminating is easy if you give up. The merge is the arm that does both: it carries the goal (5.2/6 planning, best) and still lands the plane (1/55 capped, best). That combination, not either number alone, is what the field impression above is describing.
Categories A/B/D/F (tool selection, parameter precision, restraint & refusal, localization) are 6/6 for every arm and are omitted; G Structured Reasoning and N Creative Composition are 6/6 for all but Qwopus (5.8 and 5.2). Structured Output is 2.0/4 for all five — none of these models clears it.
Configuration
- Architecture
- Qwen3_5ForConditionalGeneration
- Context length (tokens)
- 262,144
- Layers
- 32
- Hidden size
- 4,096
- Feed-forward size
- 12,288
- Attention heads
- 16
- Key/value heads
- 4
- Head dimension
- 256
- Vocabulary size
- 248,320
- Model type
- qwen3_5
Identity and Version
- Repository
- ManniX-ITA/JackOD-9B-Coder
- Publisher
- ManniX
- Task
- Text generation
- Modality
- Text
- Library
- transformers
- Parameters
- 9.7B parameters
- Languages
- en
- Revision
- 83ba3e4320412acb114960bfef3facddd33a9518
- First published
- 2026-09-11
- Last updated
- 2026-10-22
Files and Weights
16 files, 19.3 GB in total. The weights are 4 files totalling 19.3 GB in safetensors.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| model-00001-of-00004.safetensors | Weights | 5.4 GB | 4bcbc8acdd44 |
| model-00002-of-00004.safetensors | Weights | 5.4 GB | a94ff06ddbd1 |
| model-00003-of-00004.safetensors | Weights | 5.4 GB | 13db64a7540b |
| model-00004-of-00004.safetensors | Weights | 3.1 GB | a5911ef6dc20 |
| config.json | Configuration | 2.7 KB | — |
| generation_config.json | Configuration | 177 B | — |
| model.safetensors.index.json | Configuration | 70.4 KB | — |
| preprocessor_config.json | Configuration | 390 B | — |
| video_preprocessor_config.json | Configuration | 385 B | — |
| README.md | Documentation | 21.5 KB | — |
| chat_template.jinja | Other | 8.0 KB | — |
| .gitattributes | Repository | 1.6 KB | — |
| merges.txt | Tokenizer | 3.4 MB | — |
| tokenizer.json | Tokenizer | 20.0 MB | 87a7830d63fc |
| tokenizer_config.json | Tokenizer | 15.4 KB | — |
| vocab.json | Tokenizer | 5.2 MB | — |
License and Download
- License
- apache-2.0
- Access
- Open weights, no gate
- Download size
- 19.3 GB
Released by ManniX through its official repository on Hugging Face. Read the license.
Built From
- Derived from Qwen/Qwen3.5-9B
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 19.3 GB |
| 16-bit | 19.3 GB |
| 8-bit | 9.7 GB |
| 4-bit | 4.8 GB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Built on This Model
- Quantized fromJackOD-9B-Coder-MTP-GGUF
- Derived fromJackOD-9B-Coder-MTP-GGUF
Questions About JackOD-9B-Coder
How much GPU memory does JackOD-9B-Coder need?
About 23.2 GB at 16-bit and 5.8 GB at 4-bit: the weights (9.7B parameters) plus a working margin. A long context needs more.
What is the cheapest GPU to run JackOD-9B-Coder on?
At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.
Can I use JackOD-9B-Coder commercially?
Yes. JackOD-9B-Coder is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.
What is JackOD-9B-Coder's context length?
262,144 tokens, from the maximum position embeddings in its published configuration.
Similar Models
Qwen3.5-9B fine-tuned to reason mechanistically about genetic (CRISPR) perturbations and predict how a queried pathway responds — upregulated, downregulated, or unchanged — in a given cell. This is the cell-text arm of BioReasonCell: the v9.9 SFT recipe, with one change. The model gets no STATE cell embedding. It reads the cell as text instead, a Cell Context: block in the prompt, so it is a plain text model and every input it needs can be built from a new screen's h5ad. The block follows the queried pathway, and the prompt's opening reads "Given a cell's context, a genetic perturbation, …": Top Expressed Genes are the 50 most abundant genes of the line's non-targeting control cells…
[Responsible Generative AI Toolkit][rai-toolkit] [Gemma on Kaggle][kaggle-gemma] [Gemma on Vertex Model Garden][vertex-mg-gemma] Summary description and brief definition of inputs and outputs. Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models. They are text-to-text, decoder-only large language models, available in English, with open weights for both pre-trained variants and instruction-tuned variants. Gemma models are well-suited for a variety of text generation tasks, including question answering, summarization, and reasoning. Their relatively small size makes it possible to deploy them…
A masked diffusion language model adapted from Qwen3.5-9B. The backbone is hybrid: only its attention layers are made bidirectional, and the Gated DeltaNet layers stay causal. This is a base model, with no instruction tuning. Paper: dQwen3.5: Hybrid-Attention Diffusion Language Models. Code: https://github.com/AntonXue/dQwen Needs a CUDA GPU and transformers>=5.13 (tested with torch 2.7.1+cu128, flash-linear-attention 0.5.1). generate decodes the whole canvas at once, committing positions above a confidence threshold (tau=0.9); pass blocklength=32 for left-to-right block decoding, or tau=None, stepsperblock=k for a fixed budget. The 50B-token checkpoint from the paper is…
basemodel: - Qwen/Qwen3.5-9B pipelinetag: text-generation libraryname: transformers