Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
pollix 
posted an update 4 days ago
Post
7383
stuntd 0.1.3 is out, and most of it started with a comment under my last post :)

@dipankarsarkar ran the support demo himself and showed my "1,000 tickets the heads never saw" were new wording of known tickets, not new kinds. On templates left out of training the heads were sure on 40% of tickets and right on only 61% of those. They also answered "what's the weather in Paris" like it was a billing ticket.

So now every head keeps the encoder vectors of what it trained on, and anything far from all of them goes to the big model no matter how confident the head is.

Screenshot is the same three requests with the gate off and on. It's local Jev mode with no provider, so the gate hands them to zero-shot Laya. Behind OpenAI or Anthropic they'd go to your model.

On the support demo it costs about 6 points of local answers on normal tickets (76.6% to 70.6%, still 97% right), and tickets from unseen templates go from 40% answered locally to 0. Funny detail: a ticket I typed by hand counted as new too, these demo heads only ever saw 20 templates.

Also in this one: auto retrain counts distinct texts and waits between runs, report shows intervals, import skips duplicates, site rm/rename, /healthz and stuntd stop.

pip install -U stuntd


https://github.com/bladedevoff/stuntd/releases/tag/v0.1.3

The cut-off is the part worth a second look, because it is a dial, not a measurement.

In 0.1.3 each head's cut-off is the 95th percentile of novelty on its holdout, and the holdout is the newest 20% of captures (settings.py, train/run.py). So by construction about 5% of traffic that looks like the holdout gets sent up. Up to 5 of your 6 points could be that floor alone.

It also explains the hand-typed ticket. In the demo the newest 20% are fresh fills of the same 20 templates. So the cut-off learns "how far a new fill sits", and any new wording at all lands past it.

On real traffic the newest 20% carries real drift, so the same rule should loosen on its own. The demo is close to the tightest case it will ever see.

Have you tried novelty_quantile = 0.99 on the demo? I'd want to know if unseen templates stay near 0% local while normal tickets get most of the 6 points back.