Vox MENS — Qwen3-0.6B adapter
0.6B is trained, its spoke is vox-lang and its gate is passed.
Why this size
The smallest rung, aimed at machines with very little memory, including CPU-only boxes. It suits quick completions and short single-function edits where reply time matters more than depth. Step up when it loses the thread of a multi-step task; there is no smaller size to step down to. The measured training peak for 0.6B is 19443 MiB (peak_source: run_summary), and no serving memory figure has been measured for it.
Examples
For 0.6B, the examples are the 2 shortest items the adapter fixes and the shortest it still fails; of 52 items it fixes 14 and breaks 3.
Fixed humaneval_vox_046_count_primes_up_to
Return the count of prime numbers in the range [2, n] inclusive. Return 0 if n < 2.
Qwen3-0.6B base on humaneval_vox_046_count_primes_up_to: does not parse (count 5).
fn count_primes(n: int) to int {
if n < 2 {
return 0
}
let count = 0
for i in 2..n {
if i % 2 == 0 {
continue
}
if i % 3 == 0 {
continue
}
if i % 5 == 0 {
continue
}
count += 1
}
return count
}
0.6B adapter on humaneval_vox_046_count_primes_up_to: passes.
fn count_primes(n: int) to int {
if n < 2 {
return 0
}
let mut count = 0
let mut max = n
let mut i = 2
while i <= max {
if n % i == 0 {
count = count + 1
}
i = i + 1
}
return count
}
Fixed page_index
define a page named `IndexPage` with a title 'Home' that displays a heading with the text 'Welcome'
Qwen3-0.6B base on page_index: does not parse (count 1).
page IndexPage {
title: "Home"
view: heading {
text: "Welcome"
}
}
0.6B adapter on page_index: passes.
component IndexPage() {
state title: str = "Home"
view: column() {
heading(level=1) { "Welcome" }
}
}
Still fails humaneval_vox_042_reverse_list
Return a new list with the elements in reverse order.
Qwen3-0.6B base on humaneval_vox_042_reverse_list: passes.
fn reverse_list(input: list) to list {
return input
}
0.6B adapter on humaneval_vox_042_reverse_list: type errors (count 1).
fn reverse_list(items: list[int]) to list[int] {
return items.reverse()
}
Use it
The 0.6B adapter sits on the base pin Qwen/Qwen3-0.6B@c1899de289a04d12100db370d81485cdf75e47ca, and this command downloads it after checking the BLAKE3 hash of every file in hf_sync_manifest.json.
vox mens hub pull --size 0.6B --namespace brbrainerd
The pull writes the 0.6B run directory that this command serves.
vox mens serve --model mens/runs/qwen3-0.6b --port 11435
This request sends the user turn of held-out item action_delete to the 0.6B server, which applies its codegen lane to it.
curl -s http://127.0.0.1:11435/v1/chat/completions -H 'Content-Type: application/json' -d @- <<'JSON'
{
"lane": "codegen",
"messages": [
{
"role": "user",
"content": "Write a Vox program that: define an action named `delete_item` that takes an integer parameter `id` and returns a boolean indicating success"
}
],
"max_tokens": 1024,
"temperature": 0.0
}
JSON
The code below is the 0.6B adapter's recorded output for item action_delete in the held-out evaluation, taken from evidence/heldout_adapter_nothink.ckpt.jsonl, where the codegen lane's prompt protocol qwen3_non_thinking_codegen_v1 wrapped the same user turn and every stored check passed; it is not a transcript of vox mens serve.
fn delete_item(id: int) to bool {
return true
}
Results
| Result for 0.6B | Held-out pass@1 | Collateral accuracy | McNemar p-value |
|---|---|---|---|
| Base 0.6B | 6/52 (11.5%) | — | — |
| Adapter 0.6B | 17/52 (32.7%) | — | — |
| gsm8k_think, 128 items, 0.6B (base then adapter) | — | 0.617 then 0.617 | 0.5806 |
| math500_think, 128 items, 0.6B (base then adapter) | — | 0.383 then 0.320 | 0.1002 |
| vox_think, 128 items, 0.6B (base then adapter) | — | 0.250 then 0.242 | 0.5000 |
The 0.6B rows compare the base model with the adapter on identical items, and a slice p-value below 0.05 would mean the adapter lost ground on that slice.
The release gate record for 0.6B is gate_receipt.json.
Training
0.6B ran 480 optimizer steps over 3447051 tokens, ended with a final loss (EMA) of 1.6497, a mean train loss of 1.9265 and a last-epoch validation loss of 1.5229, took 2h 50m and peaked at 19443 MiB, from Vox commit 36c233789; the settings every size shares are on the docs page.
Files
The 0.6B repository holds candle_qlora_adapter.safetensors, the adapter, training and gate manifests and records, evidence/, and hf_sync_manifest.json with the BLAKE3 hash of every file.
This card is generated by vox mens hub sync; the ladder index lists the other sizes and how the cards are made is on the docs page.