Kuiper-R1 / README.md
Michael-Kozu's picture
Update README.md
aff9a94 verified
|
Raw
History Blame Contribute Delete
33.3 kB
---
license: apache-2.0
library_name: transformers
pipeline_tag: text-generation
language:
- en
tags:
- kozu
- reasoning
- trace-inversion
- synthetic-reasoning
- chain-of-thought
datasets:
- open-thoughts/OpenThoughts3-1.2M
---
<!-- ═══════════════════════════════════════════════════════════════ -->
<!-- Kozu AI · Kuiper-R1 Model Card -->
<!-- Visual direction: useghost.sh-inspired editorial minimalism -->
<!-- Type: Geist Pixel Square (display) + Geist Sans/Mono -->
<!-- -->
<!-- Model Classes (set in .kz-base eyebrow via <span class="o">): -->
<!-- · Satellite Class — smallest / distilled -->
<!-- · Planetary Class — mid-tier -->
<!-- · Stellar Class — frontier / large -->
<!-- -->
<!-- The class name and model name remain neutral and high-contrast. -->
<!-- ═══════════════════════════════════════════════════════════════ -->
<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-grid {
display: grid;
grid-template-columns: minmax(0, 1.65fr) minmax(190px, .65fr);
gap: clamp(32px, 7vw, 72px);
align-items: end;
}
.kz-hero-main { min-width: 0; }
.kz-hero-side {
min-height: 136px;
padding-left: 24px;
border-left: 1px solid var(--border);
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 18px;
}
.kz-signal-label {
font-family: var(--font-mono);
font-size: 9px;
letter-spacing: .16em;
text-transform: uppercase;
color: var(--muted);
}
.kz-signal-value {
font-family: var(--font-display);
font-size: 20px;
line-height: 1.2;
color: var(--fg);
}
.kz-signal-line {
display: flex;
align-items: center;
gap: 8px;
font-family: var(--font-mono);
font-size: 10px;
color: var(--muted);
}
.kz-signal-line .dot { width: 6px; height: 6px; background: var(--green); }
/* 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-hero-grid { grid-template-columns: 1fr; gap: 32px; }
.kz-hero-side { min-height: 0; padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--border); }
.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-grid">
<div class="kz-hero-main">
<h1 class="kz-name">Kuiper <span class="dim">R1</span></h1>
<span class="kz-base"><span class="dot"></span><span class="kz-class">Specialist Class</span> · 9.41B · 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 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>Trace inversion</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>Synthetic reasoning</span>
<span class="kz-chip"><svg class="kz-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M10 20h4v2h-4zm0-16h4V2h-4zm0 6h4v2h-4zm4 8h4v2h-4zm0-12h4V4h-4zm0 2h4v2h-4zm4 8h4v2h-4zm0-8h4V6h-4zM6 18h4v2H6zM6 6h4V4H6zm0 2h4v2H6zm-4 8h4v2H2zm0-8h4V6H2zM2 6h2v12H2zm18 0h2v12h-2zm-8 6h2v8h-2zm-2-6h4v2h-4z"/></svg>Safetensors</span>
<span class="kz-chip live">Public release</span>
</div>
</div>
<div class="kz-hero-side">
<span class="kz-signal-label">Release signal</span>
<strong class="kz-signal-value">Expand the trace.<br>Preserve the answer.</strong>
<span class="kz-signal-line"><span class="dot"></span>Weights available</span>
</div>
</div>
</div>
</div>
<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">Kuiper-R1 reconstructs full, readable reasoning from a problem, its final answer, and compressed reasoning bubbles.</p>
<p>Each result follows a three-tag contract: <code>&lt;synthetic_trace&gt;</code>, <code>&lt;verification_note&gt;</code>, and <code>&lt;final&gt;</code>. The final answer is preserved byte-for-byte, while the reconstructed trace is explicitly labeled synthetic.</p>
<p>Use Kuiper-R1 for reasoning-dataset augmentation, interpretability review, and research into reasoning compression and expansion. Do not present its synthetic traces as another model's hidden chain-of-thought.</p>
</div>
</div>
<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"><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>Architecture</div>
<div class="kz-row"><span class="kz-key">Type</span><span class="kz-val">Qwen3.5 conditional generation</span></div>
<div class="kz-row"><span class="kz-key">Params</span><span class="kz-val">9.41B</span></div>
<div class="kz-row"><span class="kz-key">Context</span><span class="kz-val">262,144 tokens</span></div>
<div class="kz-row"><span class="kz-key">Artifact</span><span class="kz-val">BF16 safetensors</span></div>
</div>
<div class="kz-card">
<div class="kz-card-head"><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>Training</div>
<div class="kz-row"><span class="kz-key">Method</span><span class="kz-val">QLoRA SFT → ORPO → merge</span></div>
<div class="kz-row"><span class="kz-key">SFT rows</span><span class="kz-val">3,000</span></div>
<div class="kz-row"><span class="kz-key">Preference</span><span class="kz-val">87 scored pairs</span></div>
<div class="kz-row"><span class="kz-key">Data</span><span class="kz-val">OpenThoughts3-1.2M</span></div>
</div>
</div>
</div>
</div>
<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-2zM6 16h2v2H6zm2-2h2v2H8zm-2-2h2v2H6z"/></svg></span>
<h2 class="kz-stitle">Usage</h2>
</div>
<span class="kz-snum">03</span>
</div>
<div class="kz-sbody">
<p>Serve with <code>vLLM</code>. Disable the default thinking pass so the requested three-tag contract can use the full output budget.</p>
<div class="kz-stack" style="grid-template-columns: 1fr;">
<div class="kz-card">
<div class="kz-card-head"><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>Recommended Samplers</div>
<div class="kz-row"><span class="kz-key">Temperature</span><span class="kz-val">0.4</span></div>
<div class="kz-row"><span class="kz-key">Repetition</span><span class="kz-val">1.1</span></div>
<div class="kz-row"><span class="kz-key">Thinking</span><span class="kz-val">Disabled</span></div>
<div class="kz-row"><span class="kz-key">Model len</span><span class="kz-val">8,192 served</span></div>
</div>
</div>
<p style="margin-top: 24px;">Start the private checkpoint:</p>
<pre><code>vllm serve Michael-Kozu/Kuiper-R1 \
--served-model-name kuiper-r1 \
--max-model-len 8192 \
--gpu-memory-utilization 0.85 \
--skip-mm-profiling \
--trust-remote-code</code></pre>
<p>Send an OpenAI-compatible request:</p>
<pre><code>{
"model": "kuiper-r1",
"messages": [
{
"role": "system",
"content": "You are Kuiper, a reasoning-trace inversion model."
},
{
"role": "user",
"content": "Problem:\n[problem text]\n\nAnswer:\n[exact final answer]\n\nReasoning Bubbles:\n- [bubble one]\n- [bubble two]\n\nReconstruct the full reasoning trace."
}
],
"temperature": 0.4,
"repetition_penalty": 1.1,
"chat_template_kwargs": {"enable_thinking": false}
}</code></pre>
</div>
</div>
<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">04</span>
</div>
<div class="kz-sbody">
<p>Training uses domain-balanced science, math, and code rows from <a href="https://huggingface.co/datasets/open-thoughts/OpenThoughts3-1.2M">OpenThoughts3-1.2M</a>. Reasoning traces are compressed into extractive bubbles deterministically, without an additional model call.</p>
<div class="kz-metrics">
<div class="kz-metric"><span class="kz-metric-value">3,000</span><span class="kz-metric-label">SFT examples</span></div>
<div class="kz-metric"><span class="kz-metric-value">1</span><span class="kz-metric-label">SFT epoch</span></div>
<div class="kz-metric"><span class="kz-metric-value">87</span><span class="kz-metric-label">ORPO pairs</span></div>
</div>
<ul>
<li>Training split: 1,531 science, 1,001 math, and 468 code examples.</li>
<li>Compression is extractive at a target ratio of 0.28 with 3–24 bubbles.</li>
<li>The held-out DeepSeek-V4 benchmark lineage is disjoint from the QwQ-32B training lineage.</li>
</ul>
</div>
</div>
<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">05</span>
</div>
<div class="kz-sbody">
<div class="kz-chart">
<div class="kz-chart-title">Kuiper-R1 release · held-out n=200</div>
<div class="kz-bar-row">
<span class="kz-bar-label">Answer exact</span>
<div class="kz-bar-track"><div class="kz-bar-fill" style="--pct:82%"></div></div>
<span class="kz-bar-val">0.820</span>
</div>
<div class="kz-bar-row">
<span class="kz-bar-label">Format valid</span>
<div class="kz-bar-track"><div class="kz-bar-fill" style="--pct:88%"></div></div>
<span class="kz-bar-val">0.880</span>
</div>
<div class="kz-bar-row">
<span class="kz-bar-label">Expansion</span>
<div class="kz-bar-track"><div class="kz-bar-fill" style="--pct:76.9%"></div></div>
<span class="kz-bar-val">0.769</span>
</div>
<div class="kz-bar-row">
<span class="kz-bar-label">Overall</span>
<div class="kz-bar-track"><div class="kz-bar-fill" style="--pct:50.4%"></div></div>
<span class="kz-bar-val">0.504</span>
</div>
</div>
<table>
<thead><tr><th>Metric</th><th>Base</th><th>Kuiper-R1</th></tr></thead>
<tbody>
<tr><td>Final answer preserved · exact</td><td class="num">0.155</td><td class="num hi">0.820</td></tr>
<tr><td>Format valid · 3-tag contract</td><td class="num hi">0.980</td><td class="num">0.880</td></tr>
<tr><td>Expansion quality</td><td class="num hi">0.791</td><td class="num">0.769</td></tr>
<tr><td>Semantic consistency</td><td class="num hi">0.708</td><td class="num">0.535</td></tr>
<tr><td>No invented tool outputs</td><td class="num">1.000</td><td class="num">1.000</td></tr>
<tr><td>Overall</td><td class="num">0.329</td><td class="num hi">0.504</td></tr>
</tbody>
</table>
</div>
</div>
<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 &amp; License</h2>
</div>
<span class="kz-snum">06</span>
</div>
<div class="kz-sbody">
<ul>
<li>Bubble informativeness bounds trace quality; terse inputs provide little evidence to expand.</li>
<li>The verification note is a construction-time consistency statement, not an external verifier.</li>
<li>The release improves exact answer preservation but trails the untouched base on raw format validity and semantic consistency.</li>
</ul>
<p>The checkpoint is released under the <strong>Apache License 2.0</strong>.</p>
</div>
</div>
<div class="kz-foot">
<span>Kozu AI</span>
<span>Turning the laws of reality into unparalleled creation.</span>
</div>
</div>