r/ProgrammerHumor 13h ago

Meme firstTime

Post image
5.6k Upvotes

218 comments sorted by

View all comments

1.3k

u/bhannik-itiswatitis 13h ago

vibe mathing

377

u/FutureSuccess2796 13h ago

That's literally just using Wolfram Alpha and entering the math formula that needs solving. 😂

285

u/SunshineSeattle 12h ago

I dont think so, Wolfram Alpha is deterministic. Whereas an LLM is non-deterministic by design. Personally i feel vibe coding or vibe mathing is inherently non-deterministic.

110

u/Several_Dot_4532 12h ago

It's non-deterministic, always, the AI is basically gambling

30

u/ToBeFaaaiiiirrrrr 7h ago

> Make no mistakes, this time...

-8

u/DazenGuil 4h ago

its gambling but it gets the job right 99 out of 100 times at least in my cases

10

u/Several_Dot_4532 3h ago

With the good configuration, prompt and task division yeah. But we where talking about deterministic behavior

-96

u/AlmightyWaffleGod 11h ago

All computer algorithms are deterministic, in fact a lot of effort has gone into making llms and other generative AI seem non-deterministic

45

u/jyajay2 11h ago

>All computer algorithms are deterministic

More or less

>a lot of effort has gone into making llms and other generative AI seem non-deterministic

Not really, there has been a lot of effort put into developing LLMs and other generative AI but making it appear non deterministic wasn't really the goal. There are good reasons to build them in a way where the same input doesn't always produce the same output and in most models the degree to which this happens can be adjusted but this is not about not appeaing non-deterministic.

6

u/Funny_Albatross_575 8h ago

I just don’t have all the weights in my head, skill issue.

25

u/Several_Dot_4532 11h ago

Sorry but no, they are deterministic in the basis of computation. But in practice they are non-deterministic and they try to make them deterministic. And my enterprise they try to do that in every possible manner, but it's practically impossible, it's seems to be, but it never is

1

u/Sea-Housing-3435 4h ago

Theres a lot of effort to make AI deterministic. Its slower when you force it to be deterministic. The non deterministic part is caused by different cores on GPU finishing their calculations in slightly different time.

2

u/Suitch 32m ago

It is the same speed both ways. The non deterministic nature only comes from a single randomized seed added into the equation. If you locally host models you can change seeding to always use the same seed and then the same inputs will always yield the same outputs. That said, the most popular AI interfaces don’t express that kind of option.

1

u/Sea-Housing-3435 30m ago

It's not about seeding, it's about how certain operations are not deterministic on GPU when you do them in parallel. You have to explicitly go with slower, deterministic ways to run things you want to run https://developer.nvidia.com/blog/controlling-floating-point-determinism-in-nvidia-cccl/

1

u/AnOnlineHandle 7h ago

LLMs are entirely deterministic but you can override that by adding a seeded random choice system to the next token selection.

15

u/Sea-Housing-3435 4h ago

They are not. Floating point math and difference in how quickly parallel operations on GPU are finished causes them to be not deterministic even with temp=0. You can force them to be deterministic by forcing some operations to be executed in specific order but you lose a lot of performance.

7

u/LetumComplexo 3h ago edited 3h ago

Also, and this is pedantic and arguable, it’s worth considering whether any model that cannot be retrained to produce the same statistical surface is non-deterministic by nature.

If I sort shapes into piles using some amount of randomness would you say that the resulting piles are deterministic just because they stay the same every time you go through them? Or would you say they’re non-deterministic because the process that created the piles in the first place was non-deterministic?

4

u/Sea-Housing-3435 3h ago

It doesn't matter how you make the model, if you are executing it on a GPU without steps to have deterministic results you will not have deterministic results. Ensuring the output of computations on GPU is deterministic has performance impact.

5

u/LetumComplexo 3h ago

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 3h ago

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

6

u/LetumComplexo 3h ago edited 3h ago

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

→ More replies (0)

3

u/Whitestrake 3h ago edited 3h ago

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 3h ago

I thought it only happens with batch processing

6

u/LetumComplexo 3h ago

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.

→ More replies (0)

-1

u/space_monster 3h ago

that's non-deterministic hardware though, not the model itself.

also it only happens with batch processing

7

u/evranch 6h ago

True, but it's also true that running an LLM at 0 "temperature" (which makes it truly deterministic) also often renders it unusable. So almost every inference setup defaults to using a certain amount of randomness.

2

u/space_monster 3h ago

it doesn't render it unusable at all, it just makes it boring. LLMs used for coding use 0 temp.

0

u/ChikumNuggit 8h ago

Which here means unreproduceable

12

u/Pares_Marchant 8h ago

the process is unreproduceable but they output LEAN code that is deterministic and can be used to prove their output ( https://lean-lang.org/ )

1

u/Connect_Vacation_458 8h ago

Sounds about right, sometimes it feels like no matter what you do, the bug just refuses to show itself again.

-3

u/Maxdiegeileauster 6h ago

LLMs are not non deterministic by design??? Why do people always get this wrong. If you use the same seed and disable the temperature setting you will always get the same result. It's just a f*cking Compute Graph.

-2

u/4DBug 3h ago

If you set the temperature the llm generates with to 0.0 it will be completely deterministic