Xyntetik Runner fixes a quiet mismatch in local GGUF training
Version 1.4.2 passes sampled token IDs directly into LoRA reinforcement training and records the starting adapter when continuing a run.
Train on the tokens the model actually sampled
Xyntetik Runner 1.4.2 fixes a subtle problem in its local LoRA reinforcement-training loop: converting sampled tokens back into text could change what the trainer received. The October 17 release now passes token IDs directly, reads rollout prompts one token at a time and stops if the trainer’s first-step scores disagree with the rollout server.
The author’s release notes explain two failure routes. A byte token ending partway through a character could decode into a replacement character and then be tokenized differently. Separately, batched prompt processing could use a different CPU computation path from the trainer. Both undermine the promise that the policy producing a rollout is exactly the policy being trained.
The new JSONL training input accepts prompt_tokens and completion_tokens. A --train-logprobs flag writes the completion-token scores used before each training update. These are tools for inspecting the loop, not evidence that reinforcement training will improve every model.
A local engine, with a narrow reproducibility claim
Runner is an independent, Apache-2.0-licensed C engine for serving GGUF models and training LoRA adapters through supported quantized weights. It is a standalone runtime, not a Codex plugin, a hosted model subscription or a new model release. The tagged guide offers macOS Apple Silicon, Linux and Windows binaries; model files are supplied separately, or fetched from Hugging Face with -hf. Serving defaults to 127.0.0.1:8080.
The release explicitly limits bit-for-bit sampler/trainer identity to CPU sampling with one-token prompt processing, such as -b 1. GPU sampling is described as agreeing token for token, not bit for bit. Training remains CPU-hosted, with CUDA assistance for the backward computation; this release is not a GPU trainer or a speedup announcement. Local operation requires suitable hardware and model storage, and does not itself provide access to paid model APIs.
Version 1.4.2 also records the starting adapter and its actual rank when continuing training, allowing lineage inspection to follow prior runs. It fixes DPO startup on CUDA or Metal builds and a scoring-script error that could overstate divergence at stop tokens. The author reports release tests across several platforms; AITrending has reviewed the tagged documentation but has not independently reproduced those results.