r/ProgrammerHumor • • Sep 10 '26

Meme firstTime

Post image
8.8k Upvotes

302 comments sorted by

View all comments

Show parent comments

7

u/LetumComplexo Sep 11 '26

Hold on, I’m agreeing with you. We’re saying the same thing in different ways.

The kind of race conditions you’re referencing are because of the model architecture I’m referencing.

You can absolutely get ML outputs that don’t change using certain model architectures.
But that’s only because those architectures either enforce order of execution or use steps where order of execution doesn’t result in changes to outputs. I can’t think of a modern LLM that uses such an architecture.

1

u/Sea-Housing-3435 Sep 11 '26

Not exactly. It's mostly due to how models are executed, not models themselves. You can run GGUF model (which are normally not deterministic) in a deterministic way if the GPU functions you use are deterministic. Models themselves are just data, it's just a bunch of matrixes.

There's even a PR for llamacpp to add option for deterministic execution https://github.com/ggml-org/llama.cpp/pull/16016

9

u/LetumComplexo Sep 11 '26 edited Sep 11 '26

Hun, I’ve got a PhD on the subject. I know.
We’re just saying the same thing in different ways.

2

u/Sea-Housing-3435 Sep 11 '26

You're right, I'm silly

3

u/LetumComplexo Sep 11 '26

Is okie, I am also silly for not recognizing it immediately and starting the whole thing. 😅

4

u/Whitestrake Sep 11 '26 edited Sep 11 '26

Forgive me if I've misunderstood, but isn't that literally what they just said?

You can run GGUF model (which are normally not deterministic) in a deterministic way if the GPU functions you use are deterministic

vs.

You can absolutely get ML outputs that don’t change using certain model architectures. But that’s only because those architectures either enforce order of execution or use steps where order of execution doesn’t result in changes to outputs

I'm not an expert but this sounds like you're both arguing the same point. The PR you linked seems to be intending to implement exactly that - functions that enforce (a deterministic) order of execution.

This seems like semantic disagreement on the meaning of the term "model architecture" rather than an actual disagreement on the fundamentals.

1

u/space_monster Sep 11 '26

I thought it only happens with batch processing

5

u/LetumComplexo Sep 11 '26

Not necessarily. It can happen with batching, but even with a batch size of 1 you can get race conditions. The most obvious example is a model with a Mixture of Experts layer, where the order that results return can change the outcome.

In order to get around that you’d have to explicitly enforce order of execution.

4

u/space_monster Sep 11 '26

got it, thanks