Skip to content

v3.1.1: a change of parameters keeps the seed

Choose a tag to compare

@lloyal-research lloyal-research released this 20 Oct 12:12
· 18 commits to main since this release
9b2065d

A change of parameters keeps the chain's seed

A branch's sampler no longer reseeds itself when its parameters change without a seed. A branch created without one is seeded from the clock once, and that seed is what its cached parameters record, instead of 0. set_sampler_params() resolves an absent seed to the cached one before comparing, so a call that names only a temperature keeps the chain as it is: its penalty window, its PRNG position, everything, when nothing else changed. When something did change, the rebuilt chain draws on the same seed rather than a fresh clock seed. The chain is built from the resolved record in both places, so the cache says exactly what the chain draws with, and snapshot_params(p, absent_seed) makes the caller say what an absent seed means.

What it fixes: a seedless parameter change used to rebuild the chain on a new clock seed, so a reseeded branch lost its seed, and a run that adjusted a temperature mid-generation lost its repetition-penalty history.

Engine: llama.cpp b11559. Ships with lloyal-ai 1.20.0, alongside lloyal.node 4.1.1 and hdk v6.1.1-rig.

What's Changed

Full Changelog: v3.1.0...v3.1.1