Model card
From the Hugging Face model README
<!-- Kozu AI · Ganymede A1 · research release card -->
<style>
@font-face { font-family:'Geist Sans'; src:url('https://raw.githubusercontent.com/vercel/geist-font/v1.7.2/fonts/Geist/webfonts/Geist%5Bwght%5D.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
@font-face { font-family:'Geist Mono'; src:url('https://raw.githubusercontent.com/vercel/geist-font/v1.7.2/fonts/GeistMono/webfonts/GeistMono%5Bwght%5D.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
@font-face { font-family:'Geist Pixel Square'; src:url('https://raw.githubusercontent.com/vercel/geist-font/v1.7.2/fonts/GeistPixel/webfonts/GeistPixel-Square.woff2') format('woff2'); font-weight:500; font-display:swap; }
.kz { --bg:#FFFFFF;--bg-2:#FAFAFA;--surface:#FFFFFF;--surface-2:#F5F5F5;--surface-3:#EBEBEB;--border:#E5E5E5;--border-strong:#D4D4D4;--fg:#0A0A0A;--fg-dim:#404040;--muted:#737373;--green:#009767;--amber:#A16207;--sans:'Geist Sans',ui-sans-serif,system-ui,sans-serif;--mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--display:'Geist Pixel Square','Geist Mono',ui-monospace,monospace;max-width:960px;margin:0 auto;padding:0 0 72px;color:var(--fg);background:var(--bg);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased; }
@media (prefers-color-scheme:dark) { .kz { --bg:#0A0A0A;--bg-2:#111111;--surface:#171717;--surface-2:#262626;--surface-3:#303030;--border:rgba(255,255,255,.10);--border-strong:#404040;--fg:#FAFAFA;--fg-dim:#D4D4D4;--muted:#A3A3A3;--green:#00D294;--amber:#FBBF24; } }
.kz * { box-sizing:border-box; }.kz a { color:inherit;text-decoration-color:var(--border-strong);text-underline-offset:3px; }.kz a:hover { text-decoration-color:var(--fg); }
.kz-hero { position:relative;min-height:240px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end; }.kz-ident { width:100%;padding:64px 40px 40px; }.kz-name { margin:0 0 12px;font:500 clamp(42px,6vw,64px)/1 var(--display);letter-spacing:-.025em; }.kz-base { display:inline-flex;align-items:center;gap:10px;color:var(--fg-dim);font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase; }.kz-base .dot { width:6px;height:6px;border-radius:50%;background:var(--fg); }.kz-chip-cloud { display:flex;flex-wrap:wrap;gap:8px;margin-top:22px; }.kz-chip { min-height:32px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);font:400 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap; }.kz-icon { width:16px;height:16px;flex:0 0 16px; }
.kz-thesis { margin:0 40px;padding:30px 0 28px;border-bottom:1px solid var(--border-strong); }.kz-thesis strong { display:block;max-width:32ch;font:500 clamp(20px,3vw,28px)/1.2 var(--display);color:var(--fg); }
.kz-section { padding:64px 40px 0; }.kz-shead { display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:15px;margin-bottom:28px;border-bottom:1px solid var(--border-strong); }.kz-shead-left { display:flex;align-items:center;gap:12px; }.kz-sglyph { width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center; }.kz-sglyph .kz-icon { width:18px;height:18px;flex-basis:18px; }.kz-stitle { margin:0;font:500 14px/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase; }.kz-snum { color:var(--muted);font:11px/1 var(--mono);letter-spacing:.12em; }.kz-lead { max-width:68ch;margin:0 0 24px;color:var(--fg-dim);font-size:18px;line-height:1.58; }.kz-copy { max-width:70ch;margin:0 0 16px;color:var(--fg-dim); }.kz-lead strong,.kz-copy strong { color:var(--fg); }
.kz-brief { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;border-top:1px solid var(--fg);border-bottom:1px solid var(--border-strong); }.kz-brief-item { min-width:0;padding:22px 20px;border-right:1px solid var(--border); }.kz-brief-item:first-child { padding-left:0; }.kz-brief-item:last-child { padding-right:0;border-right:0; }.kz-brief strong { display:block;margin-bottom:7px;font:500 clamp(22px,3vw,30px)/1 var(--display); }.kz-brief span { color:var(--muted);font:10px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.08em; }
.kz-grid { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:16px;align-items:stretch; }.kz-card { min-width:0;padding:24px 26px;border:1px solid var(--border);border-radius:8px;background:var(--surface); }.kz-card-head { min-height:34px;display:flex;align-items:center;margin-bottom:12px;padding-bottom:13px;border-bottom:1px solid var(--border-strong);font:500 12px/1.2 var(--display);letter-spacing:.13em;text-transform:uppercase; }.kz-row { display:grid;grid-template-columns:minmax(104px,12ch) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--border);align-items:baseline; }.kz-row:last-child { border-bottom:0; }.kz-key { color:var(--muted);font:10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase; }.kz-val { color:var(--fg);font:500 12px/1.45 var(--mono);overflow-wrap:anywhere; }
.kz-table-wrap { width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:8px; }.kz-table { width:100%;min-width:720px;border-collapse:collapse;background:var(--bg);font-size:13px; }.kz-table th { padding:12px 14px;border-bottom:1px solid var(--border-strong);background:var(--surface);color:var(--muted);font:10px/1.35 var(--mono);text-align:left;text-transform:uppercase;letter-spacing:.06em; }.kz-table td { padding:12px 14px;border-bottom:1px solid var(--border);color:var(--fg-dim);vertical-align:top; }.kz-table tr:last-child td { border-bottom:0; }.kz-table .num { text-align:right;font-family:var(--mono);white-space:nowrap; }.kz-table .model { color:var(--fg);font-weight:650; }.kz-up { color:var(--green); }.kz-down { color:var(--amber); }.kz-caption { margin:12px 0 0;color:var(--muted);font:10.5px/1.55 var(--mono); }
.kz-notes { margin:24px 0 0;padding:20px 22px 20px 38px;border-left:2px solid var(--border-strong);background:var(--surface);color:var(--fg-dim); }.kz-notes li { margin:0 0 9px;padding-left:4px; }.kz-notes li:last-child { margin-bottom:0; }.kz-source { display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:15px 0;border-top:1px solid var(--border); }.kz-source:last-child { border-bottom:1px solid var(--border); }.kz-source strong { font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em; }.kz-source span { color:var(--fg-dim); }.kz pre { margin:0;padding:22px;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg); }.kz code { font:12px/1.65 var(--mono); }.kz details { margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface); }.kz summary { padding:16px 18px;cursor:pointer;font:11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em; }.kz-detail { padding:0 18px 18px;color:var(--fg-dim); }.kz-footer { margin:64px 40px 0;padding-top:18px;border-top:1px solid var(--fg);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em; }
@media (max-width:640px) { .kz-ident { padding:32px 20px; }.kz-thesis { margin:0 20px;padding:24px 0 22px; }.kz-section { padding:48px 20px 0; }.kz-grid,.kz-brief { grid-template-columns:1fr; }.kz-brief-item,.kz-brief-item:first-child,.kz-brief-item:last-child { padding:16px 0;border-right:0;border-bottom:1px solid var(--border); }.kz-brief-item:last-child { border-bottom:0; }.kz-source { grid-template-columns:1fr;gap:6px; }.kz-footer { margin:52px 20px 0;flex-direction:column; } }
</style>
<div class="kz">
<header class="kz-hero"><div class="kz-ident"><h1 class="kz-name">Ganymede A1</h1><span class="kz-base"><span class="dot"></span>Kozu AI Research · 27B class · Apache-2.0</span><div class="kz-chip-cloud"><span class="kz-chip"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M5 3h14v2H5zm0 16h14v2H5zM3 5h2v14H3zm16 0h2v14h-2zM9 7h6v2H9zm0 8h6v2H9z"/></svg>BF16 weights</span><span class="kz-chip">Reasoning + instruction</span><span class="kz-chip">Report GA1-2026.07</span></div></div></header>
<div class="kz-thesis"><strong>More correct answers. Less reasoning overhead.</strong></div>
<section class="kz-section"><div class="kz-shead"><div class="kz-shead-left"><span class="kz-sglyph"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M3 3h18v2H3zm0 16h18v2H3zM3 7h12v2H3zm0 4h18v2H3zm0 4h12v2H3z"/></svg></span><h2 class="kz-stitle">Release brief</h2></div><span class="kz-snum">01</span></div>
<p class="kz-lead">Ganymede A1 is the high-capacity member of the Kozu reasoning family. In matched open-harness evaluation, it improves <strong>five of seven</strong> reported capability rows. The headline GSM8K result reaches <strong>0.913</strong> with <strong>4.7× fewer</strong> thinking tokens.</p>
<p class="kz-copy">The family principle is intelligence per token: spend reasoning only where it improves the answer. Ganymede A1 is the 27B-class choice for higher-capacity work; <a href="https://huggingface.co/Michael-Kozu/Deimos-R1">Deimos R1</a> is the compact option and <a href="https://huggingface.co/Michael-Kozu/Europa-B1">Europa B1</a> the balanced option. These are deployment roles, not cross-model benchmark claims.</p>
<div class="kz-brief"><div class="kz-brief-item"><strong>4.7×</strong><span>fewer GSM8K think tokens</span></div><div class="kz-brief-item"><strong>+0.449</strong><span>MMLU-Pro absolute delta</span></div><div class="kz-brief-item"><strong>6.6×</strong><span>held-out reasoning gain · n=200</span></div></div></section>
<section class="kz-section"><div class="kz-shead"><div class="kz-shead-left"><span class="kz-sglyph"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M4 2h16v2H4zm0 18h16v2H4zM2 4h2v16H2zm18 0h2v16h-2zM6 15h3v3H6zm5-5h3v8h-3zm5-4h3v12h-3z"/></svg></span><h2 class="kz-stitle">Evaluation</h2></div><span class="kz-snum">02</span></div>
<p class="kz-lead">Each row compares matched runs in the same open harness. The score table is the source of truth; the token column makes the cost of each result visible. Run-local results should not be compared with vendor-published scores from different evaluation stacks.</p>
<div class="kz-table-wrap"><table class="kz-table"><thead><tr><th>Benchmark</th><th class="num">Reference</th><th class="num">Ganymede A1</th><th class="num">Delta</th><th class="num">Think tokens · ref → A1</th></tr></thead><tbody><tr><td>GSM8K · flexible</td><td class="num">0.760</td><td class="num model">0.913</td><td class="num"><span class="kz-up">+0.153</span></td><td class="num">1,063 → 226</td></tr><tr><td>MMLU-Pro</td><td class="num">0.114</td><td class="num model">0.563</td><td class="num"><span class="kz-up">+0.449</span></td><td class="num">156 → 516</td></tr><tr><td>IFEval · prompt loose</td><td class="num">0.273</td><td class="num model">0.293</td><td class="num"><span class="kz-up">+0.020</span></td><td class="num">2,483 → 2,487</td></tr><tr><td>IFEval · instruction loose</td><td class="num">0.450</td><td class="num model">0.454</td><td class="num"><span class="kz-up">+0.004</span></td><td class="num">—</td></tr><tr><td>IFEval · prompt strict</td><td class="num">0.260</td><td class="num model">0.267</td><td class="num"><span class="kz-up">+0.007</span></td><td class="num">—</td></tr><tr><td>IFEval · instruction strict</td><td class="num">0.437</td><td class="num model">0.433</td><td class="num"><span class="kz-down">−0.004</span></td><td class="num">—</td></tr><tr><td>GSM8K · strict <code>####</code></td><td class="num">0.767</td><td class="num model">0.213</td><td class="num"><span class="kz-down">−0.554</span></td><td class="num">—</td></tr></tbody></table></div>
<p class="kz-caption">lm-eval 0.4.12 · chat template · few-shot as multi-turn · temperature 1.0 · top_p 0.95 · presence penalty 1.5 · thinking enabled · seed 42 · GSM8K/IFEval n=150 · MMLU-Pro n=25 per subtask.</p>
<ul class="kz-notes"><li>GSM8K and IFEval used a 16,384-token cap for Ganymede A1 and a 32,768-token cap for the reference; the cap can only constrain Ganymede A1. MMLU-Pro used a symmetric 32,768-token cap.</li><li>The MMLU-Pro reference run produced a low score across two independent runs (0.114 / 0.054) and short mean thinking. This is a harness interaction, not a claim about the reference model’s general knowledge.</li><li>The held-out, contamination-filtered math audit with verified ground truth moved from 0.065 to 0.430 at n=200. The 12-check instruction probe moved from 1.000 to 0.917 and is directional only.</li><li>Strict GSM8K rewards silently copying the few-shot <code>#### N</code> ending. Explicitly requested formats are more reliable; request the format in words.</li><li>Raw evaluation artifacts are retained under <a href="./bench/">bench/</a>.</li></ul></section>
<section class="kz-section"><div class="kz-shead"><div class="kz-shead-left"><span class="kz-sglyph"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M7 2h10v2H7zM5 4h14v16H5zm2 2v12h10V6zm2 2h6v2H9zm0 4h6v2H9z"/></svg></span><h2 class="kz-stitle">Data & attribution</h2></div><span class="kz-snum">03</span></div><p class="kz-lead"><strong>kozu_reasoning_v1.1</strong> is a roughly 10k-example blend of verified reasoning traces and human-authored instruction data, including a dedicated 800-example format-adherence slice.</p><div class="kz-source"><strong>Reasoning · ~5k</strong><span>Kozu’s Kuiper trace inverter was designed to recreate Mythos/Fable-style reasoning from answer-scrubbed human reference solutions in <a href="https://huggingface.co/datasets/openai/gsm8k">GSM8K</a> and <a href="https://huggingface.co/datasets/AI-MO/NuminaMath-1.5">NuminaMath 1.5</a>. Retained traces passed symbolic answer verification, derivation checks, deterministic defect scans, and an adversarial judge panel.</span></div><div class="kz-source"><strong>Instruction · ~5k</strong><span>Human-authored pairs from <a href="https://huggingface.co/datasets/databricks/databricks-dolly-15k">Databricks Dolly 15k</a> and <a href="https://huggingface.co/datasets/OpenAssistant/oasst2">OpenAssistant OASST2</a>.</span></div><div class="kz-source"><strong>Format · 800</strong><span>Deterministic rewraps of verified rows for explicitly requested formats, including JSON, boxed answers, and named answer markers.</span></div><details><summary>Source licenses</summary><div class="kz-detail">GSM8K: MIT. NuminaMath 1.5: Apache-2.0. Databricks Dolly 15k: CC-BY-SA-3.0. OpenAssistant OASST2: Apache-2.0. Reasoning traces were generated with Kuiper-R1 by Kozu AI.</div></details></section>
<section class="kz-section"><div class="kz-shead"><div class="kz-shead-left"><span class="kz-sglyph"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M3 3h18v18H3zm2 2v14h14V5zm2 3h2v2H7zm3 3h2v2h-2zm-3 3h2v2H7zm6 0h4v2h-4z"/></svg></span><h2 class="kz-stitle">Deployment</h2></div><span class="kz-snum">04</span></div><p class="kz-copy">The repository includes merged BF16 weights, tokenizer assets, processor configuration, generation configuration, and the chat template. Thinking appears inside <code><think>…</think></code> before the final answer.</p><pre><code>vllm serve Michael-Kozu/Ganymede-A1 --served-model-name ganymede-a1 \
--max-model-len 8192 --gpu-memory-utilization 0.85 --trust-remote-code</code></pre><p class="kz-caption">Recommended sampling: temperature 0.6–0.8, top_p 0.95, and repetition_penalty about 1.05. Healthy responses are typically well under 1k thinking tokens.</p></section>
<section class="kz-section"><div class="kz-shead"><div class="kz-shead-left"><span class="kz-sglyph"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M11 2h2v2h-2zm-4 2h10v2H7zM5 6h14v14H5zm2 2v10h10V8zm4 2h2v4h-2zm0 6h2v2h-2z"/></svg></span><h2 class="kz-stitle">Limitations</h2></div><span class="kz-snum">05</span></div><ul class="kz-notes" style="margin-top:0"><li>This is a research release, not a safety-certified or production-guaranteed system.</li><li>At temperature 1.0 with presence penalty, roughly 2–3% of prompts can produce degenerate long generations toward the cap. Use the recommended sampling settings or a max-token cap of at least 8k.</li><li>Reasoning is habitually short and does not reliably scale up for extremely hard problems. Coding and tool use are not established by this release.</li><li>Narrow constraints such as letter avoidance succeed only about 60–80% in internal probing. Verify outputs for consequential decisions and domain-specific use.</li></ul></section>
<footer class="kz-footer"><span>Kozu AI · Ganymede A1</span><span>Apache-2.0 · Model release</span></footer>
</div>