Show HN: Flide: Make Jev-like decision models up to 9.5x faster

github.com

45 points by unikcc 7 hours ago

Decision models need their own inference engine.

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

unikcc 38 minutes ago

Flide is extremely fast when one input carries many questions, as the shared input is computed only once. Even with a single question, it can still be up to 3x faster, depending on the model size and input length.

jarym 2 hours ago

I wanted to try this - essentially for my dataset I have a number of decision questions for the same input. I haven't figured out yet which local model to try first with it!

yossuf2000 2 hours ago

do i need to host the model to do this ? if yes what model can i host in 3050 card

  • unikcc 52 minutes ago

    Yes, Flide is self-hosted and serves the model on your own GPU. 3050 card is totally OK for the 0.8B model, and there's plenty of room for long inputs. We've only tested Flide on Linux, so on Windows you may need WSL2.

unikcc 6 hours ago

Hi HN! I'm one of the Flide team.

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!

  • rytill 3 hours ago

    Under what specific circumstances is it actually 9.5x faster?

    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?

    • tancop 2 hours ago

      I looked at their paper and the biggest gains come when you have many questions from one context, which is the way these models are supposed to be used. It's around 1.5-3x faster than vLLM with single questions. That's the worst case where you can't reuse anything.

      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.

      • unikcc 1 hour ago

        Thanks for the clarification! That's our main idea. I think a shared state with many independent questions is the nature of decision tasks, so we push it to the extreme. This is a decision-native design.

    • unikcc 1 hour ago

      Thanks for the questions! I think tancop's summary has already captured the essence, and I can add some details.

      > 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.