So what did I learn this weekend?
π΄ Gemma is a great model, just not for this project.
Trying to preserve the multi-modal features on the Spark is a foolβs errand. I lost almost an entire weekend getting the stack to function, only to end up with molasses performance. Feels less like a Gemma problem and more like a Spark problem. The hardware prefers fp4 and fp8, it tolerates fp16, but it does not pretend it is a TPU.
In hindsight it probably was never meant to be a development box, and yet here I am, using it that way.
Next candidate is something denser, like Qwen3-VL-32B. I think it will work, but it might need a bit of coaxing to get into the right state of mind.
Certainty scoring
π‘ Certainty scoring is a good idea, but the iteration cost is real.
With text-only Gemma, getting consistent and reliable results took anywhere from twenty to fifty reasoning steps. That is heavier than I expected. The model is still snappy and feels faster than Claude or remote DeepSeek, but the overhead is significant. This might be a process issue or a structural issue or both.
Voice cloning
π’ Voice cloning is surprisingly doable.
Using Vibe Voice, I figured out that cloning a high-quality voice from synthetic reference clips is easier than I expected. Performance still has friction, because fp16 inference is stubborn on this machine, but the actual sound quality is excellent. I can produce great-sounding clips at almost real-time speeds. Not enough for live AI VoIP yet, but close enough to feel competitive with ChatGPTβs voice mode. This part feels like a win.
The image stack
π΄ Flux2 is needlessly complex.
It is a clever system wrapped in a concrete overcoat. Even after trimming, it still insists on running toolsets like Mistral that do not need to be there at all.
There is no way to consolidate it or slim it. For what it is trying to accomplish, it should not need to be this huge.
One of my goals is an agent that can refine multi-reference image composites in a self-orchestrating iterative process and produce working storyboards for film or advertising. I think this is achievable, but Flux is not the right tool for edge inference.
After some digging, Montage looks promising.
Tool instructions in a LoRA
π’ LoRAs for tool instructions actually work.
Overfitting tool instructions and system prompting into a tiny LoRA turned out to be extremely effective. It behaves more like burning in an art style than traditional finetuning. It is small, fast, and keeps the context window clean.
With all the schedule hacking, is it really LoRAs in the traditional sense? Probably not. But what matters is that this solves the tool problem.
Agents need access to hundreds or thousands of tools, and current architectures cannot handle it. Pushing tool behavior into the weights is the right direction. I will post the training schedule and loop code this week.
And that's my happy little update.