coapi-voice-v1 — evidence, not product
This model is published as the artefact behind a negative result. It is a LoRA fine-tune of Qwen/Qwen3-1.7B that was measured to be worse than its untrained base on the task it was trained for. It is here so that the claim can be checked and the hypothesis attacked, not so that it can be used. If you want the working configuration, it is the untrained unsloth/Qwen3-4B-GGUF (Q4_K_M) behind retrieval and deterministic post-processing — see the write-up. Do not use this model for advice on Spanish property transactions.
- Write-up: We Trained It Three Times. Then We Stopped.
- Full experiment (pre-registration, judge files, version records): Chronos exp_035
What it is
An attempt to put the manner of a Spanish real-estate professional — answer in the question's language (EN/PL/ES), plain text, cite the tema and article, give the Spanish term, hand binding decisions to a professional — into a small model's weights, while the facts stay in retrieval over our own study notes. The thesis "facts in retrieval, form in the weights" was refuted at this scale: every configuration tried installed the form and lowered the model's use of the facts in front of it.
The model was trained on our study notes; the answers come from the regulation as summarised there. It does not know Spanish law and was never intended to answer without retrieved context in the prompt.
Training
| Base | Qwen/Qwen3-1.7B (safetensors), fused after training, converted with llama.cpp, quantised to Q4_K_M and Q8_0 |
| Adapter | LoRA rank 16, scale 2.0, dropout 0.05; keys: all seven projections (q, k, v, o, gate, up, down) on all 28 layers — mlx-lm default; trainable params ≈17 M |
| Schedule | lr 2e-4, 2 epoch(s) = 182 iterations, batch 4, max sequence 2048 (55/363 examples, all Polish, truncated before EOS — recorded defect), prompt masked, seed 35 |
| Data | 363 train / 14 validation examples, sha256 3c854250bd2a5149… / b3658d7dccdee388…. Written by a frontier model to a brief, with the BM25-retrieved context inside the user turn, regex-gated (every number and citation in the answer exists in the context). Not published: the examples quote our study notes verbatim. |
| Toolchain | mlx-lm 0.31.3, mlx 0.32.2, llama.cpp 6f41ac59e0, Ollama 0.33.0; Mac Mini M4 Pro 64 GB |
| Built | 2026-09-21T20:34:08 |
Result on the sealed 60-row eval (same retrieval, same sampling, same frozen judge rubric)
| Untrained base | v1 | |
|---|---|---|
| Language compliance | 92 % | 100 % |
| Plain text | 1/60 | 60/60 |
| Out-of-scope declines | 0/3 | 3/3 |
| Citation in context / answers citing | 89.6 % / 35 | 98.4 % / 50 |
| Correctness (0–2) / fully correct | 0.78 / 18 % | 0.88 / 15 % |
| Módulo 6 (held out) vs Módulos 1–5 | 1.0 / 0.75 | 0.5 / 0.96 — memorisation |
| Native Polish / Spanish | 1/17 · 4/12 | 0/17 · 2/12 |
| Tail degradation | 13 % | 38 % |
Reading. Installs the shape completely; installs no reasoning; memorises the seen temas and loses the held-out one; native Polish is a base-model floor at 1.7B.
What was ruled out as the cause, each by a pre-registered diagnostic: quantisation (Q8_0 same), epochs (val-loss-minimum checkpoint same), sequence truncation (fixed in v2), decoding (temperature 0 and 0.7 same profile), adapter strength (v2 33 M vs v3 1.3 M same damage). The surviving hypothesis is the objective: a few hundred answer-only sequences under prompt masking teach the base a distribution over answers that it follows into invented continuations. One confound is open — the training answers were written by a much stronger model, and a 4B imitating that register may learn to sound certain where it would have hedged. The falsifying experiment: train on the base's own outputs, shape-edited only. These weights are here so that someone can run it.
Files
| File | Size | sha256 |
|---|---|---|
coapi-voice-v1-Q4_K_M.gguf | 1.11 GB | e571d531b4d866b86f76da33960242d51800a18c73c849870d9159d004013b83 |
coapi-voice-v1-Q8_0.gguf | 1.83 GB | 075ce3e329dc36c94c48cef71a9accd49c7abdeb1b7b4e1e72302a4057d24262 |
adapters/ | the mlx-lm LoRA adapter as trained | |
lora_config.yaml, version_record.json | exact configuration and environment |
Running it (to reproduce, not to use)
ollama run hf.co/miktam/coapi-voice-v1-gguf:Q4_K_M
Thinking off (/no_think), temperature 0 / seed 42 for the scored pass; shipped sampling was temperature 0.7, top_k 20, top_p 0.8, min_p 0.05, repeat 1.05, presence 0. The pre-registration, version records and judge files are in the experiment directory linked above, where the eval set is sealed by hash; the eval runner, scorer and retrieval code are not published.
Rights
Trained only on the authors' own study notes. No course materials, no client or buyer data, no conversation logs entered the training set, the eval, or the retrieval index. Base model Apache-2.0 (Qwen); this derivative is released under the same licence.