Posted by unikcc 11 hours ago
So we developed Flide, a high-performance and exact inference engine for Jev-like decision models.
Flide achieves up to a 9.5x speedup over vLLM and SGLang.
It now supports 30+ popular local Jev-like decision models.
Start to make your decision immediately:
pip install flide
It properly uses the single shared context and only recomputes the questions, or if the questions are longer, I let the questions go first and then the context that changes often can go after, and then the answer menu tokens... I got roughly the same speed increase with the right workloads that you're saying though.
You can check the Decision Index leaderboard at https://huggingface.co/spaces/multimodalart/jev-decision-ind... for reference, and we already support many of the models (see our README).
Or you can try our own model, OneJev (https://github.com/OmniJev/OneJev):
flide serve --model OmniJev/OneJev1.6-0.8B
We're actively improving it.We built Flide from scratch to make Jev-like decision model inference up to 9.5x faster than vLLM and SGLang, while keeping exactness.
Here is the source code: https://github.com/OmniJev/Flide
Look forward to hearing your feedback and ideas!
Are there any circumstances where it is just about as fast as something like vLLM? For instance, single user, single token/decision inference?
How did you achieve the biggest speed up?
Are there any tradeoffs? “While keeping exactness” implies not.
Are there any specifics about how one must structure their context to take full advantage of it?
The way I understand it most of their speedup comes from caching intermediate results. They freeze the state after processing context then branch each question off that point. It means they can process questions in parallel after the context stage is finished, and don't waste time doing the same work N times.
If it's answer if this one email is spam - not so fast?
Currently, the speedup mainly depends on the number of questions per input. The more questions for each input, the lower the average time per question, as the input is computed only once by our engine.
For tagging one email is spam or not, our engine can still be up to 3x faster, but the speedup is not as significant as with multiple questions per state.
> Under what specific circumstances is it actually 9.5x faster?
The 9.5x is Qwen3.5-0.8B on QuALITY, one long article that has 5.8k tokens and 18 questions on average. The more questions share a context, the bigger the gain.
> Are there any circumstances where it is just about as fast as something like vLLM? For instance, single user, single token/decision inference?
Yes, with a state that has only a single question, it ranges from a near tie with 27B on a long input to more than 3x with a small model on a short input. In this case nothing is shared, so the gain only comes from lower per-request overhead, since Flide runs the whole forward pass as one prerecorded CUDA graph.
> How did you achieve the biggest speed up?
The big speedup comes from cases where one state carries many questions, where we only compute the shared context once. We achieve this by using a mask that keeps the questions from seeing each other, and each question carries the correct position index just as if it came right after the state, so we can get the answers in one pass. The second is the prerecorded CUDA graph.
> Are there any tradeoffs? "While keeping exactness" implies not.
There is no accuracy tradeoff, since each question gets the identical computation as if asked alone. What remains is floating-point rounding that shifts slightly with batch size in every engine, even for a question asked alone, and our results are still the closest to the FP32 results among all the engines.
> Are there any specifics about how one must structure their context to take full advantage of it?
To get the most out of it, you can put everything shared in the state and ask all the questions in one request. And for continuous agentic decisions, use --session-cache-gb to get a further speedup.