About
A home lab that publishes its evidence
I'm Vlad Jagodnik, based in Auckland, New Zealand. Experimentos is where I test local AI on the machines I have: language models, quantization, speech, image generation, coding agents and policies that learn from pixels.
I keep the part between a model fitting and a useful system working visible. A result can end in a deployment, a rollback, an incident, or a better question.
Every finding needs its context
- State the workload, precision, hardware and units.
- Keep failed runs and rejected candidates visible.
- Separate warm throughput from first-request latency, and automatic metrics from human quality.
- Attach the source revision, qualification limits and downloadable measurement data.
The original website was crafted in ChatGPT and lives in the experiment repository. This publication preserves its experiment catalogue, benchmark explorer and Lab Notes design. The content comes from reviewed experiment records. The editorial inspiration is The Kaitchup — AI on a Budget; the stories and measurements are my own.
The reviewed archive
69 experiment stories, 86 supporting notebooks and 56 figures are available here. GitHub source links require access to the private archive; the readable reports and aggregate exports are public.
Private recordings, raw conversations, credentials, workstation paths and service addresses are excluded. New source folders do not publish automatically: every addition passes editorial review and the public-file privacy gate.
All experiment stories (69)
- A benchmark harness that keeps dry runs out of the results
- MOSS on a 3090: Q2 failed, AWQ4 stayed closer
- Drama3: BF16 decoded the same codes about three times faster
- Keeping FP32 and moving Supertonic to Triton
- Longer Spanish phrases exposed the voice-transfer cost
- More diffusion steps did not reliably improve the voice match
- Supertonic: half the storage did not mean faster CPU speech
- Voice resemblance improved before call readiness did
- A faithful decoder can still be the slower pipeline
- A local LatAm conversion failed the content gate
- Holding speech tokens fixed made the Q8 advantage clearer
- The decoder swap passed its word-error gate
- MOSS: the best similarity score did not mean the fewest word errors
- Q6 saved space; predicted MOS did not settle naturalness
- The audio was identical. The benchmark numbers changed.
- What six bits preserved in Chatterbox Turbo
- An unfinished gauntlet cannot name a winner
- Native AWQ saved idle memory and cost speech time
- Spanish Chatterbox: smaller weights, uneven speech
- The fastest kernel was not the qualified speech stack
- 144 recoveries, one carefully bounded task
- A context setting is not a context test
- Making MOSS fit: the codec and the chunk budget
- A faster speech encoder with the same 50 transcripts
- Why a busy speech GPU felt slower
- A smaller speech model earns its place on the iPhone
- A coding agent that knows when to ask for help
- Corrective data meets a fresh gameplay gate
- When the retention gate says stop
- A second dish, a new frozen test
- Eight clears are still not a promotion
- Learning to play from pixels
- The reusable RGBA learning pipeline
- What counts as a successful episode?
- Finding a local model for the inbox
- Teaching a 4B model to read tmux status
- An image editor that respects the pixels you keep
- Character LoRAs: identity, motion, and continuity
- Fifteen pictures, one photographic-style adapter
- Making the keyboard lock key really sleep the phone
- Masked cleanup before a fresh LoRA
- Moving speech decode onto the GPU
- Putting a watermark gate in front of training
- A complete image stack on one 24GB GPU
- Long speech, bounded memory
- Round-trip tests expose a broken encoder
- The clone bug was in the reference encoder
- The faster image pipeline that produced nothing
- The same story, six precision combinations
- Balancing GPU experts when the model will not fit
- Pipeline parallelism, INT4, and a 262K context
- A speech service that sleeps between requests
- A quantization job goes silent
- AWQ speech: fast enough, with a memory catch
- Do you really need the bigger embedding model?
- FP32, BF16, INT8: separating codec drift from speech
- Keeping the audio-sensitive layers intact
- Staging the speech stack under a 12GB envelope
- Three draft tokens hit the sweet spot
- From a model download to a working local service
- The EXL3 quantization journey
- A model proxy earns its promotion
- The best checkpoint was not the last one
- Rebuilding calibration for an agentic quant
- A draft head, a rollback fix, and a midnight incident
- Making room for a 200K context
- DFlash2 on a single RTX 3090
- Less thinking, fewer tokens: a template A/B
- The real cost of a five-second video
All supporting notebooks (86)
- OMP + GLM recovery: live Qwen UD Q4 experiment
- NF4 deployment — polish-400 on RTX 3060 (mfwin) + Hermes default TTS
- NF4 re-host on op (.54) — lazy loading + fleet re-point (2026-09-13)
- Polish Latam-ES WER report
- Latam-ES Breeze TTS2 — M+F polish (2026-09)
- breeze-tts2 / latam-es-mf-polish-2026-09
- Action probes
- ComfyUI workflows, agent access, and official LTX migration
- Thirty-second sequential continuation
- Reusable 30-second ComfyUI / MCP workflow
- LTX identity correction
- Identity LoRA v2
- Lucianax v2: fifteen Rio beach wardrobe variations
- Lucianax LTX-2.5 and Qwen-Image 2.1 LoRAs
- Data dictionary
- Methodology and evidence boundary
- Replication guide and blog notes
- MiniMax H3 — 20-step performance experiments
- Photo15x: Qwen Image 2.1 photographic-style LoRA
- Qwen Studio frontend and native Qwen2.1 editing
- Susanah Qwen Image2.1 LoRA
- Susanah v2: DeepSeek watermark gate
- Ornith 1.5 35B A3B DFlash2 on RTX 3090
- Ornith DFlash2 RTX 3090 experiment
- Final Table
- Inbox-automation local-LLM benchmark (2026-09-27)
- Replay plus frozen-parent KD, preregistered retention strategy v1
- Replay + frozen-parent KD v1 — completed experiment
- Replay + frozen-parent KD v1: retention gate rejected every registered LR
- Qwen3.5-4B tmux status QLoRA
- Plan Review — Qwen3.5-4B LoRA × AutoRound HQ 4-bit merge/quantize/deploy
- Release plan — Qwen3.5-4B tmux classifier
- Qwen3.5-4B QLoRA for tmux session status
- MOSS-TTS-v1.5 AWQ INT4 on a single RTX 3090 — Findings
- MOSS-TTS-v1.5 AWQ INT4 on a single RTX 3090 (2026-09)
- Findings — voice-cloning failure and the FP32 reference-encoder fix
- MOSS-TTS AWQ + INT8 codec: cloning failure isolated to the INT8 reference encoder (2026-09-21)
- Round-trip de codecs — 2026-09-21
- Codec round-trip shootout incl. a new FP8-E4M3 codec (2026-09-21)
- FP8-E4M3 codec deployed GPU-resident in moss54d — 14× faster decode (2026-09-22)
- Matriz de cuantización sobre las 3 historias — 2026-09-21
- Quantization matrix for cloned Spanish stories (2026-09-21)
- MOSS-TTS-v1.5 HQ4 — Codec A/B/C: FP32 vs BF16 vs INT8 (2026-09)
- moss-tts-hq4 / codec-abc-2026-09
- INT8 codec + lazy CUDA server (2026-09-19)
- moss54d auto-chunk (2026-09-21)
- MOSS-TTS-v1.5 HQ4 — Phase 0: fidelity + 12 GB envelope (2026-09)
- moss-tts-hq4 / phase0-fidelity-envelope-2026-09
- MOSS-TTS-v1.5 HQ4 — Phase 1 incident (2026-09-18)
- moss-tts-hq4 / phase1-incident-2026-09
- HQ4 PR #1 hardening — workstation validation
- Motorola G54 keyboard lock and display findings
- Nemotron-Embed 1B vs 8B (AWQ) for bilingual memory retrieval: no proven quality win, a measured 5.5x throughput win for the 1B
- Nemotron MemPalace benchmark
- Findings: Nemotron 1B vs 8B AWQ for MemPalace retrieval
- Nemotron 1B vs 8B AWQ for MemPalace retrieval (2026-09-18)
- Journey — Qwen3.8-Flash-Next EXL3 3.50 HQ + 3.75 MTP6
- Plan — Qwen3.8-Flash-Next EXL3 3.50 HQ + 3.75 MTP6
- Qwen3.8-Flash-Next EXL3 3.50 HQ + 3.75 MTP6 (2026-09-15)
- Tuning Qwen3.8-Flash-Next EXL3 3.50 HQ on 3× RTX 3090: q8 KV, native MTP, draft window 3
- Official Flash-Next EXL3 3.50 HQ: q8 KV + native MTP draft window (2026-09-16)
- Qwen3.8-Flash-Next
- Qwen3.8-Flash-Next UD-Q4_K_XL: CPU-MoE offload deployment + speed tuning (3x3090, 200k ctx)
- Qwen3.8-Flash-Next INT4-Mixed-AutoRound via vLLM PP3 (3x3090, 262k ctx)
- BROKEN OUTPUTS — Qwen-Image-2.1 (2×GPU balanced)
- Qwen-Image-2.1: TE AutoRound-AWQ on GPU + all-resident single-3090 stack
- Qwen3.8-Flash-Next UD-Q3_K_XL on three RTX 3090s
- Findings in simple terms
- Unc Q4_K_M MTP draft head: export, speculative-rollback A/B, and the 200K validation incident
- Findings in simple terms
- Unc Q4_K_M agentic-v2: fixed imatrix, requant, and sampling findings
- Hardening a Local Model Proxy: 7 Tests Decide Between Three Versions
- Conclusion: which proxy version wins — pre-hardening vs hardened vs main
- Proxy PR #5 hardening — validation, test evidence, and promotion to main
- The Chat Template That Cut Qwen3.8 Completion Tokens by 16–21%
- Chart map
- Qwen3.8 template and reasoning-effort A/B on the 12434 proxy
- Corrective-data learning: full first-kitchen milestone
- Episode termination and replay integrity fixes
- Full Kitchen Counter 1: end-to-end experiment
- Pluto's Corner: cumulative two-dish visual policy
- RGBA game-learning pipeline
- RGBA game learning — Pluto’s Corner
- Aidana production default — 3 October 2026
- Parakeet comparison — 2 October 2026
- Parakeet on iPhone: English/Spanish accuracy and Aidana default