Model card
From the Hugging Face model README
<!-- Kozu AI · Deimos A1 · Hugging Face-safe inline icons -->
<style>
/* Geist is licensed under the SIL Open Font License 1.1. */
@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;
--border-accent:#A3A3A3;
--fg: #0A0A0A;
--fg-dim: #404040;
--muted: #737373;
--muted-2: #A3A3A3;
--orange: #171717;
--orange-dim: #525252;
--blue: #2563EB;
--green: #009767;
--grid: rgba(10,10,10,0.035);
--font-display: 'Geist Pixel Square', 'Geist Mono', ui-monospace, monospace;
--font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
--font-sans: 'Geist Sans', ui-sans-serif, system-ui, sans-serif;
font-family: var(--font-sans);
color: var(--fg);
background: var(--bg);
max-width: 960px;
margin: 0 auto;
padding: 0 0 72px;
line-height: 1.6;
font-size: 15px;
-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,0.10);
--border-strong:#404040;
--border-accent:#737373;
--fg: #FAFAFA;
--fg-dim: #D4D4D4;
--muted: #A3A3A3;
--muted-2: #737373;
--orange: #E5E5E5;
--orange-dim: #A3A3A3;
--blue: #60A5FA;
--green: #00D294;
--grid: rgba(255,255,255,0.03);
}
}
/* ── Hero ── */
.kz-hero {
position: relative;
overflow: hidden;
min-height: 280px;
margin-bottom: 0;
background: var(--bg);
border-bottom: 1px solid var(--border);
}
.kz-hero img {
display: block; width: 100%; height: auto;
}
.kz-hero--plain {
min-height: 240px;
display: flex;
align-items: flex-end;
}
.kz-ident {
position: absolute; bottom: 0; left: 0; right: 0;
padding: 120px 40px 36px;
background: linear-gradient(
to top,
var(--bg) 0%,
color-mix(in oklab, var(--bg) 92%, transparent) 35%,
color-mix(in oklab, var(--bg) 55%, transparent) 65%,
transparent 100%
);
}
.kz-hero--plain .kz-ident {
position: relative;
width: 100%;
padding: 64px 40px 40px;
background: none;
}
.kz-hero-main { width: 100%; min-width: 0; }
.kz-thesis {
margin: 0 40px;
padding: 30px 0 28px;
border-bottom: 1px solid var(--border-strong);
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 24px;
}
.kz-thesis strong {
max-width: 32ch;
font-family: var(--font-display);
font-size: clamp(20px, 3vw, 28px);
font-weight: 500;
line-height: 1.2;
color: var(--fg);
}
.kz-thesis span {
flex-shrink: 0;
font-family: var(--font-mono);
font-size: 10px;
color: var(--muted);
letter-spacing: .1em;
text-transform: uppercase;
}
/* Model name: may use .o for last-word / key-word emphasis */
.kz-name {
font-family: var(--font-display);
font-size: clamp(42px, 6vw, 64px);
font-weight: 500;
color: var(--fg);
letter-spacing: -0.025em;
line-height: 1.0;
margin: 0 0 12px;
}
.kz-name .o { color: var(--fg); }
.kz-name .dim { color: var(--muted); }
/* Class label in eyebrow: wrap class name in <span class="kz-class"> */
/* Satellite Class / Planetary Class / Stellar Class */
.kz-base {
font-family: var(--font-mono);
font-size: 11px;
font-weight: 500;
color: var(--fg-dim);
letter-spacing: 0.14em;
text-transform: uppercase;
display: inline-flex;
align-items: center;
gap: 10px;
}
.kz-base .dot {
display: inline-block;
width: 6px; height: 6px; border-radius: 50%;
background: var(--orange);
}
/* Model class uses the same restrained monochrome emphasis. */
.kz-base .kz-class { color: var(--orange); }
.kz-icon { width: 16px; height: 16px; flex: 0 0 16px; color: currentColor; }
.kz-chip-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
/* ── Sections ── */
.kz-section { padding: 64px 40px 0; }
.kz-shead {
display: flex; align-items: center; justify-content: space-between;
gap: 24px; padding-bottom: 16px; 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; color: var(--fg); flex-shrink: 0; }
.kz-sglyph .kz-icon { width: 18px; height: 18px; flex-basis: 18px; }
.kz-stitle {
font-family: var(--font-display); font-size: 14px; font-weight: 500;
letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg); margin: 0;
}
/* Bumped from --muted-2 for legibility in dark mode */
.kz-snum {
font-family: var(--font-mono); font-size: 11px; font-weight: 400;
color: var(--muted); letter-spacing: 0.12em;
}
.kz-sbody { color: var(--fg-dim); font-family: var(--font-sans); }
.kz-sbody p { margin: 0 0 14px; font-size: 15px; line-height: 1.65; max-width: 64ch; }
.kz-sbody p:last-child { margin-bottom: 0; }
.kz-sbody p strong { color: var(--fg); font-weight: 600; }
.kz-sbody p .o { color: var(--orange); font-weight: 500; }
.kz-lead { font-size: 18px !important; line-height: 1.6 !important; color: var(--fg-dim); max-width: 60ch; }
/* ── Cards / Facts ── */
.kz-stack {
display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
border: 0; background: transparent; align-items: stretch;
}
.kz-stack > .kz-card { border: 1px solid var(--border); }
.kz-stack > .kz-card:last-child { border-right: 1px solid var(--border); }
.kz-stack--asym { grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr); align-items: stretch; }
.kz-stack--asym > .kz-card:last-child { margin-top: 0; }
@media (max-width: 720px) {
.kz-stack { grid-template-columns: 1fr; }
.kz-stack > .kz-card { border: 1px solid var(--border); }
.kz-stack > .kz-card:last-child { border: 1px solid var(--border); }
.kz-stack--asym > .kz-card:last-child { margin-top: 0; }
}
.kz-card { min-width: 0; background: var(--surface); padding: 24px 28px; border-radius: 8px; transition: background 0.15s ease, border-color 0.15s ease; }
.kz-card:hover { background: var(--surface-2); border-color: var(--border-strong); }
.kz-card-head {
font-family: var(--font-display); font-size: 13px; font-weight: 500;
letter-spacing: 0.14em; text-transform: uppercase;
color: var(--fg);
padding-bottom: 14px; margin-bottom: 14px;
border-bottom: 1px solid var(--border-strong);
min-height: 34px; display: flex; align-items: center; gap: 10px;
}
.kz-row {
display: grid; grid-template-columns: minmax(96px, 12ch) minmax(0, 1fr);
align-items: baseline; column-gap: 12px; padding: 8px 0;
border-bottom: 1px solid var(--border);
}
.kz-row:last-child { border-bottom: none; }
.kz-key {
font-family: var(--font-mono); font-size: 10.5px; font-weight: 400;
color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase;
}
.kz-val { font-family: var(--font-mono); font-size: 13px; font-weight: 500; color: var(--fg); }
.kz-val .o { color: var(--orange); }
.kz-val .b { color: var(--blue); }
.kz-val .g { color: var(--green); }
/* ── Quantization grid ── */
.kz-qgrid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 12px; border: 0;
}
.kz-qcell {
background: var(--surface-2); border: 1px solid var(--border);
border-radius: 8px; padding: 18px 20px;
display: flex; flex-direction: column; gap: 8px; transition: background 0.15s ease;
}
.kz-qcell:hover { background: var(--surface-3); border-color: var(--border-strong); }
.kz-qhead { display: flex; align-items: center; justify-content: space-between; }
.kz-qtype {
font-family: var(--font-mono); font-size: 10.5px; font-weight: 500;
letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg);
}
.kz-qsize {
font-family: var(--font-mono); font-size: 10px;
letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
}
.kz-qcell a {
font-family: var(--font-mono); font-size: 14px; font-weight: 500;
color: var(--fg); text-decoration: none; border-bottom: none;
}
.kz-qcell a:hover { color: var(--orange); }
/* ── Status / Chips ── */
.kz-status {
display: inline-flex; align-items: center; gap: 8px;
font-family: var(--font-mono); font-size: 10.5px; font-weight: 400;
letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
}
.kz-status .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); }
.kz-status.live { color: var(--green); }
.kz-status.live .dot { background: var(--green); }
.kz-status.soon { color: var(--orange); }
.kz-status.soon .dot { background: var(--orange); }
.kz-status.planned { color: var(--blue); }
.kz-status.planned .dot { background: var(--blue); }
.kz-chip {
min-height: 32px; display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px;
background: var(--surface-2); border: 1px solid var(--border);
font-family: var(--font-mono); font-size: 9.5px; font-weight: 400;
letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);
line-height: 1; white-space: nowrap; gap: 6px; transition: transform .18s cubic-bezier(.16,1,.3,1), background .18s, color .18s;
}
.kz-chip:hover { transform: translateY(-2px); background: var(--fg); color: var(--bg); }
.kz-chip.soon { color: var(--orange); border-color: color-mix(in oklab, var(--orange) 50%, var(--border-strong)); }
.kz-chip.planned { color: var(--blue); border-color: color-mix(in oklab, var(--blue) 50%, var(--border-strong)); }
.kz-chip.live { color: var(--green); border-color: color-mix(in oklab, var(--green) 50%, var(--border-strong)); }
/* ── Links ── */
.kz a {
color: var(--fg-dim); text-decoration: none;
border-bottom: 1px solid var(--border-strong); font-weight: 500;
transition: color 0.15s, border-color 0.15s;
}
.kz a:hover { color: var(--orange); border-bottom-color: var(--orange); }
/* ── Details ── */
.kz details {
background: var(--surface); border: 1px solid var(--border-strong);
margin-top: 24px; overflow: hidden;
}
.kz summary {
list-style: none; padding: 14px 20px; cursor: pointer;
font-family: var(--font-mono); font-size: 10.5px; font-weight: 500;
letter-spacing: 0.14em; text-transform: uppercase;
color: var(--fg-dim); /* bumped from --muted */
user-select: none; display: flex; align-items: center; gap: 10px;
}
.kz summary::-webkit-details-marker { display: none; }
.kz summary::before { content: '+'; color: var(--orange); font-family: var(--font-mono); font-size: 14px; line-height: 1; }
.kz details[open] summary::before { content: '−'; }
.kz summary:hover { color: var(--fg); }
.kz-detail-body { padding: 20px 24px; border-top: 1px solid var(--border); background: var(--bg-2); }
.kz-cfg-title {
font-family: var(--font-mono); font-size: 10.5px; font-weight: 400;
letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px;
}
/* ── Code ── */
.kz pre {
background: var(--bg-2); border: 1px solid var(--border-strong);
border-left: 2px solid var(--orange); padding: 16px 18px; overflow-x: auto;
font-family: var(--font-mono); font-size: 13px; line-height: 1.6;
color: var(--fg-dim); margin: 0 0 20px; border-radius: 0;
}
.kz pre:last-child { margin-bottom: 0; }
.kz pre code { background: none; color: inherit; padding: 0; font-size: inherit; }
.kz code {
font-family: var(--font-mono); font-size: 0.88em; color: var(--orange);
background: color-mix(in oklab, var(--orange) 12%, transparent); padding: 1px 5px; border-radius: 2px;
}
.kz-img { display: block; width: 100%; height: auto; border: 1px solid var(--border-strong); margin: 16px auto 20px; }
/* ── Lists ── */
.kz ul { list-style: none; padding: 0; margin: 0 0 16px; }
.kz ul li {
position: relative; padding-left: 24px; margin-bottom: 8px;
font-size: 15px; line-height: 1.6; color: var(--fg-dim); max-width: 64ch;
}
.kz ul li::before {
content: '▸'; position: absolute; left: 4px; top: 0;
color: var(--orange); font-family: var(--font-mono); font-size: 11px; line-height: 1.6;
}
.kz ul li strong { color: var(--fg); font-weight: 600; }
/* ── Table ── */
.kz table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--border-strong); margin-bottom: 20px; }
.kz thead { background: var(--bg-2); }
.kz th { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-dim); text-align: left; padding: 10px 16px; border-bottom: 2px solid var(--orange); }
.kz td { padding: 10px 16px; border-bottom: 1px solid var(--border); font-size: 14px; color: var(--fg-dim); }
.kz td:first-child { color: var(--fg); font-family: var(--font-mono); font-size: 13px; font-weight: 500; }
.kz tbody tr:last-child td { border-bottom: none; }
.kz tbody tr:hover { background: color-mix(in oklab, var(--orange) 5%, transparent); }
.kz td.num { font-family: var(--font-mono); font-size: 13px; text-align: right; color: var(--fg); }
.kz td.hi { color: var(--orange); font-family: var(--font-mono); font-weight: 600; }
/* ── Charts ── */
.kz-metrics {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px; margin: 24px 0 28px;
}
.kz-metric { min-width: 0; padding: 16px 0 0; border-top: 1px solid var(--border-strong); }
.kz-metric-value { display: block; font-family: var(--font-display); font-size: 26px; line-height: 1.1; color: var(--fg); }
.kz-metric-label { display: block; margin-top: 7px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.kz-viz-grid { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); gap: 24px; align-items: center; margin: 24px 0 28px; }
.kz-donut { --value: 72%; width: 128px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--fg) var(--value), var(--surface-3) 0); display: grid; place-items: center; }
.kz-donut-core { width: 86px; aspect-ratio: 1; border-radius: 50%; background: var(--bg); display: grid; place-items: center; text-align: center; color: var(--fg); }
.kz-donut-core strong { display: block; font-family: var(--font-display); font-size: 23px; line-height: 1; }
.kz-donut-core span { display: block; margin-top: 5px; font-family: var(--font-mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.kz-meter-list { display: grid; gap: 14px; }
.kz-meter-row { display: grid; grid-template-columns: minmax(92px, auto) minmax(80px, 1fr) 48px; gap: 12px; align-items: center; }
.kz-meter-label, .kz-meter-value { font-family: var(--font-mono); font-size: 10px; color: var(--fg-dim); }
.kz-meter-value { text-align: right; color: var(--fg); }
.kz-meter-track { height: 6px; background: var(--surface-3); overflow: hidden; }
.kz-meter-fill { width: var(--value, 0%); height: 100%; background: var(--fg); }
.kz-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin: 28px 0; border-top: 1px solid var(--border-strong); }
.kz-step { position: relative; min-width: 0; padding: 18px 16px 0 0; }
.kz-step::before { content: ''; position: absolute; width: 7px; height: 7px; top: -4px; left: 0; background: var(--fg); }
.kz-step-num { font-family: var(--font-mono); font-size: 9px; color: var(--muted); }
.kz-step strong { display: block; margin-top: 7px; font-size: 13px; color: var(--fg); }
.kz-step span:last-child { display: block; margin-top: 4px; font-size: 11px; line-height: 1.45; color: var(--muted); }
.kz-chart { margin: 20px 0 28px; }
.kz-chart-title { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin: 0 0 14px; }
.kz-bar-row { display: grid; grid-template-columns: 110px 1fr 52px; align-items: center; gap: 12px; margin-bottom: 8px; }
.kz-bar-label { font-family: var(--font-mono); font-size: 11px; color: var(--fg-dim); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kz-bar-track { height: 5px; background: var(--border-strong); position: relative; overflow: hidden; }
.kz-bar-fill { position: absolute; left: 0; top: 0; height: 100%; width: var(--pct, 0%); background: var(--orange); }
.kz-bar-fill.dim { background: color-mix(in oklab, var(--orange) 40%, var(--border-strong)); }
.kz-bar-val { font-family: var(--font-mono); font-size: 11px; color: var(--fg); }
.kz-dist { display: flex; height: 24px; overflow: hidden; border: 1px solid var(--border-strong); margin: 14px 0 10px; }
.kz-dist-seg { height: 100%; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 9.5px; color: var(--bg); white-space: nowrap; overflow: hidden; }
.kz-dist-seg.a { background: var(--orange); }
.kz-dist-seg.b { background: color-mix(in oklab, var(--orange) 55%, var(--border-strong)); }
.kz-dist-seg.c { background: color-mix(in oklab, var(--orange) 30%, var(--border-strong)); }
.kz-dist-legend { display: flex; gap: 20px; margin-top: 2px; }
.kz-dist-item { display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 10px; color: var(--fg-dim); }
.kz-dist-dot { width: 8px; height: 8px; flex-shrink: 0; }
.kz-dist-dot.a { background: var(--orange); }
.kz-dist-dot.b { background: color-mix(in oklab, var(--orange) 55%, var(--border-strong)); }
.kz-dist-dot.c { background: color-mix(in oklab, var(--orange) 30%, var(--border-strong)); }
.kz-spark { display: block; width: 100%; height: 72px; margin: 16px 0; overflow: visible; }
/* ── Footer ── */
.kz-foot {
margin-top: 72px; padding: 28px 40px 0; border-top: 1px solid var(--border);
display: flex; justify-content: space-between; align-items: center;
font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--muted); /* bumped from --muted-2 */
}
.kz-foot .o { color: var(--orange); }
@media (max-width: 640px) {
.kz-section { padding: 48px 20px 0; }
.kz-ident { padding: 80px 20px 24px; }
.kz-foot { padding: 24px 20px 0; flex-direction: column; gap: 8px; align-items: flex-start; }
.kz-thesis { margin: 0 20px; padding: 24px 0 22px; flex-direction: column; gap: 8px; }
.kz-metrics { grid-template-columns: 1fr; gap: 12px; }
.kz-viz-grid { grid-template-columns: 1fr; }
.kz-timeline { grid-template-columns: 1fr 1fr; row-gap: 24px; }
.kz-row { grid-template-columns: minmax(82px, 10ch) minmax(0, 1fr); }
}
</style>
<div class="kz">
<div class="kz-hero kz-hero--plain"><div class="kz-ident"><div class="kz-hero-main"><h1 class="kz-name">Deimos <span class="dim">A1</span></h1><span class="kz-base"><span class="dot"></span><span class="kz-class">Satellite Class</span> · 4.66B · MIT</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 8h6v2H9zM7 9h2v6H7zm8 0h2v6h-2zm-4-8h2v2h-2zm0 20h2v2h-2zM1 11h2v2H1zm20 0h2v2h-2zm0-4h2v2h-2zm0 8h2v2h-2zM1 15h2v2H1zm0-8h2v2H1zm6-6h2v2H7zm8 0h2v2h-2zm0 20h2v2h-2zm-8 0h2v2H7z"/></svg>Concise reasoning</span><span class="kz-chip"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M4 2h16v2H4zm0 18h16v2H4zM2 4h2v16H2zm18 0h2v16h-2zM6 16h2v2H6zm2-2h2v2H8zm-2-2h2v2H6z"/></svg>Text generation</span><span class="kz-chip live">Public release</span></div></div></div></div>
<div class="kz-thesis"><strong>~89% fewer tokens. ~6× faster.</strong></div>
<!-- 01 OVERVIEW -->
<!-- ═══════════════════════════════════════════════════════════════ -->
<div 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-2zm-9 5h2V7h-2zm0 8h2v-6h-2z"/></svg></span>
<h2 class="kz-stitle">Overview</h2></div>
<span class="kz-snum">01</span>
</div>
<div class="kz-sbody">
<p class="kz-lead">Deimos A1 is a <span class="o">concise chain-of-thought (CCoT)</span> fine-tune of Qwen3.5-4B. It produces dense, stepwise <code><think></code> blocks averaging <span class="o">~1/8 the tokens</span> of the base model while improving accuracy on every reasoning benchmark we measured.</p>
<p>Our first model release. Trained on <a href="https://huggingface.co/datasets/Michael-Kozu/Quark">Quark</a>, a 4,919-row CCoT SFT dataset whose <code><think></code> traces were compressed by a Qwen3.6-35B teacher (NVFP4) running in our internal Tokamak pipeline. Final answers in the training data are byte-identical to the source — only the reasoning channel is rewritten.</p>
<p><strong>The "A1" suffix means Alpha 1</strong> — the first public iteration of the Deimos line. Future revisions (A2, …) will fold in additional sources (Kimi K2.5, larger Quark builds), longer training runs, and answer-channel compression once it lands in the Tokamak pipeline.</p>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════════════ -->
<!-- 02 SPECIFICATIONS -->
<!-- ═══════════════════════════════════════════════════════════════ -->
<div 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="M5 3h14v2H5zm0 16h14v2H5zM3 5h2v14H3zm16 0h2v14h-2zM9 7h6v2H9zm0 8h6v2H9zM7 9h2v6H7zm8 0h2v6h-2zm-4-8h2v2h-2zm0 20h2v2h-2zM1 11h2v2H1zm20 0h2v2h-2zm0-4h2v2h-2zm0 8h2v2h-2zM1 15h2v2H1zm0-8h2v2H1zm6-6h2v2H7zm8 0h2v2h-2zm0 20h2v2h-2zm-8 0h2v2H7z"/></svg></span>
<h2 class="kz-stitle">Specifications</h2></div>
<span class="kz-snum">02</span>
</div>
<div class="kz-sbody">
<div class="kz-stack kz-stack--asym">
<div class="kz-card">
<div class="kz-card-head">Model</div>
<div class="kz-row"><span class="kz-key">Class</span><span class="kz-val">Satellite</span></div>
<div class="kz-row"><span class="kz-key">Parameters</span><span class="kz-val"><span class="b">4B</span></span></div>
<div class="kz-row"><span class="kz-key">Architecture</span><span class="kz-val">Qwen3_5 (Gated DeltaNet + sparse attention)</span></div>
<div class="kz-row"><span class="kz-key">Base</span><span class="kz-val">Qwen/Qwen3.5-4B</span></div>
<div class="kz-row"><span class="kz-key">Precision</span><span class="kz-val">BF16 (merged)</span></div>
<div class="kz-row"><span class="kz-key">Context</span><span class="kz-val">131,072 tokens</span></div>
</div>
<div class="kz-card">
<div class="kz-card-head">Training</div>
<div class="kz-row"><span class="kz-key">Method</span><span class="kz-val">LoRA r=128, α=128 (merged)</span></div>
<div class="kz-row"><span class="kz-key">Targets</span><span class="kz-val">all attention + MLP</span></div>
<div class="kz-row"><span class="kz-key">Epochs</span><span class="kz-val">3</span></div>
<div class="kz-row"><span class="kz-key">Optimiser</span><span class="kz-val">AdamW (cosine, lr 1e-4)</span></div>
<div class="kz-row"><span class="kz-key">Wall time</span><span class="kz-val">~3 h 49 m</span></div>
</div>
</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════════════ -->
<!-- 03 TRAINING DETAILS -->
<!-- ═══════════════════════════════════════════════════════════════ -->
<div 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 14h2v6H4zm6 0h2v6h-2zm-4-2h4v2H6zm0 8h4v2H6zm-4-4h2v2H2zm20-8h-4V6h4zM10 16h12v2H10zm4-8H2V6h12zm6-4v2h-2V4zm0 6V8h-2v2zm-6-8h4v2h-4zm0 10h4v-2h-4zm-2-8h2v2h-2zm0 6h2V8h-2z"/></svg></span>
<h2 class="kz-stitle">Training Details</h2></div>
<span class="kz-snum">03</span>
</div>
<div class="kz-sbody">
<ul>
<li><strong>Dataset:</strong> <a href="https://huggingface.co/datasets/Michael-Kozu/Quark">Michael-Kozu/Quark</a> — 4,919 rows of CCoT SFT data (Opus 4.6 + GPT-5.4 sources). Train/val/test = 3,937 / 491 / 491.</li>
<li><strong>Adapter:</strong> LoRA rank 128, α 128, dropout 0; targets <code>q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj</code>; trainable parameters 169.9M of 4.7B (3.61%). Adapter merged into base before release.</li>
<li><strong>Schedule:</strong> 3 epochs · per-device batch 4 · gradient accumulation 4 · effective batch 16 · 741 total steps · cosine LR 1e-4 · 5% warmup · AdamW · weight decay 0.01.</li>
<li><strong>Sequence:</strong> max 4,096 tokens · packing disabled (Qwen3.5 multimodal architecture).</li>
</ul>
<p style="margin-top:24px;"><strong>Loss trajectory</strong></p>
<p style="text-align:center;margin:0 0 20px;"><img src="https://huggingface.co/Michael-Kozu/Deimos-A1/resolve/main/assets/training_loss.png" alt="Training and eval loss curves" class="kz-img"></p>
<p>Train loss descends from 1.043 → 0.477 over 741 steps; eval loss bottoms at <strong>0.814 at the end of epoch 2</strong>, then drifts up to 0.831 at the end of epoch 3, indicating mild overfitting. The released weights use the ep-3 final state; the lower-val ep-2 checkpoint is preserved internally.</p>
<p style="margin-top:24px;"><strong>Learning-rate schedule</strong></p>
<p style="text-align:center;margin:0 0 20px;"><img src="https://huggingface.co/Michael-Kozu/Deimos-A1/resolve/main/assets/lr_schedule.png" alt="Cosine LR schedule with 5% warmup" class="kz-img"></p>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════════════ -->
<!-- 04 BENCHMARKS -->
<!-- ═══════════════════════════════════════════════════════════════ -->
<div 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-2zm-9 8h2v6h-2zm-4 2h2v4H7zm8-8h2v12h-2z"/></svg></span>
<h2 class="kz-stitle">Benchmarks</h2></div>
<span class="kz-snum">04</span>
</div>
<div class="kz-sbody">
<p class="kz-lead">The headline measurement is <span class="o">token efficiency</span> — mean output tokens per problem and wall-clock per benchmark. These are direct, reproducible measurements of the same harness running against both endpoints on the same hardware.</p>
<div class="kz-stack kz-stack--asym" style="grid-template-columns: 1fr;">
<div class="kz-card">
<div class="kz-card-head">Token efficiency — Deimos vs Base</div>
<div class="kz-row"><span class="kz-key">Mean tokens / problem</span><span class="kz-val">~1,400 → <span class="g">~150</span> <span class="o">≈ -89%</span></span></div>
<div class="kz-row"><span class="kz-key">Wall-clock (full bench)</span><span class="kz-val">58m → <span class="g">9m 38s</span> <span class="o">≈ 6× faster</span></span></div>
<div class="kz-row"><span class="kz-key">Contamination (13-gram)</span><span class="kz-val">0% overlap — Quark vs GSM8K / MMLU-Pro / ARC-C test sets</span></div>
</div>
</div>
<p style="margin-top:24px;"><strong>Token efficiency by task</strong></p>
<p style="text-align:center;margin:0 0 20px;"><img src="https://huggingface.co/Michael-Kozu/Deimos-A1/resolve/main/assets/token_efficiency.png" alt="Mean output tokens per problem, Deimos A1 vs Qwen3.5-4B base" class="kz-img"></p>
<p><strong>Accuracy — comprehensive evaluation in progress.</strong></p>
<p>Initial harness runs show Deimos consistently emits a parseable answer immediately after its <code><think></code> block, while the base model under the same harness more often does not — making accuracy comparisons sensitive to the parser, the per-task <code>max_tokens</code> budget, and chat-template handling. We are tuning the eval harness (matching Qwen's recommended <code>max_tokens</code> for thinking mode, verifying our scores reproduce Qwen's published baseline numbers before claiming any delta) and will publish a full report with per-task tables, contamination disclosure, and reproduction instructions in a follow-up update to this card.</p>
<p>Until that report lands, the only quantitative claims we make about this model are the token-efficiency and wall-clock numbers above — both of which are measured the same way for both models and are not sensitive to harness parsing.</p>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════════════ -->
<!-- 05 LIMITATIONS & LICENSE -->
<!-- ═══════════════════════════════════════════════════════════════ -->
<div 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 2h16v2H4zM2 4h2v10H2zm18 0h2v10h-2zM4 14h2v2H4zm2 2h2v2H6zm4 4h4v2h-4zm10-6h-2v2h2zm-2 2h-2v2h2zm-2 2h-2v2h2zm-6 0H8v2h2z"/></svg></span>
<h2 class="kz-stitle">Limitations & License</h2></div>
<span class="kz-snum">05</span>
</div>
<div class="kz-sbody">
<ul>
<li><strong>Subset benchmarks only.</strong> Per-task n=10 (stderr ±16%). MMLU-Pro at n=140 (stderr ±4%). Larger-n runs are planned for the next release.</li>
<li><strong>Inherited Qwen3.5-4B limitations</strong> — language coverage, knowledge cutoff, and any biases of the base model. Quark fine-tuning shifts <em>style</em>, not knowledge.</li>
<li><strong>Mild ep-3 overfitting</strong> on the 4,919-row Quark training set (val loss 0.814 → 0.831 from ep 2 to ep 3).</li>
<li><strong>English only</strong> at this time.</li>
<li><strong>License: MIT</strong>, consistent with the Quark dataset and the Qwen3.5-4B base license terms.</li>
</ul>
</div>
</div>
<div class="kz-foot">
<span>Kozu AI</span>
<span>Turning the laws of reality into unparalleled creation.</span>
</div>
</div>