They are biased by the training dataset, which probably also reflects the biases of the people who select the training dataset
They are biased by the system prompts that are embedded into every request to keep them on the rails
They are even biased by the prompt that you write into them, which can lead them to incorrect conclusions if you design the prompt to lead them to it
I think it is a very careless mistake to think of LLMs as unbiased or neutral in any way
gwern · 3h ago
LLMs are also heavily biased after chatbot tuning leads to mode-collapse. That's why you see the same verbal tics coming out of them, like the em-dashes or the 'twist ending' in the more recent 4os. And if LLMs really were unbiased, you'd expect better scaling when you tried to bruteforce code correctness. Training a 'test LLM' will just wind up inheriting a lot of the shared blindspots. They aren't independent of the implementation at all (just like humans are not independent, even when they didn't write the original, and didn't see it either; and this is why you can't simply throw _n_ programmers at a piece of code and be certain you got all the bugs, and why fuzzers will continue to rampage through code).
MarcoDewey · 4h ago
You are correct that the notion of LLMs being completely unbiased or neutral does not make sense due to how they are trained. Perhaps my title is even misleading if taken at face value.
When I talk about "unbiased oracles" I am speaking in the context of black box testing. I'm not suggesting they are free from all forms of bias. Instead, the key distinction I'm trying to draw is their lack of implementation-level bias towards the specific code they are testing.
Muromec · 2h ago
This and state actors target ai crawlers specifically ti pouson llms with propaganda
ninetyninenine · 1h ago
No this is just a very overly pedantic and technical way of looking at it.
First of all you'll note that all people are also biased by the Exact same reasoning. You know this. Everyone knows that all people are biased. This isn't something you don't know.
So if every single intelligence, human or not is biased. What is this article truly talking about? The article is basically saying LLMs are LESS biased then humans. Why are LLMs less biased then humans? Well maybe because the training set in an LLM is less biased then the training set given to a human. This makes sense right? A human will be made more biased by his individual experience and his parents biases while an LLM is literally inundated with as many sources of textual information as possible with no attempt at bias due to the sheer volume of knowledge they are trying to shove in there.
The article is basically referring to this.
But you will note interestingly that LLMs bias towards textual data more. They understand the world as if they have no eyes and ears and only text. So the way they think reflects this bias. But in terms of textual knowledge I think we can all agree, they are Less biased then humans.
Evidence: an LLM is not an atheist or a theist or an agnostic. But you, reader, are at the very least one of those three things.
Jensson · 6h ago
> An LLM, specifically trained for test generation, consumes this specification. Its objective is to generate a diverse and comprehensive test suite that probes the specified behavior from an external perspective.
If one of these tests are wrong though it will ruin the whole thing. And LLM are much more likely to make a math error (which would result in a faulty test) than to implement a math function the wrong way, so this probably wont make it better at generating code.
MarcoDewey · 3h ago
I think this is a seriously excellent point.
The bet that I am making is that the system reduces its error rate by splitting a broad task into two more focused tasks.
However, it is possible that generating meaningful test cases is a harder problem (with a higher error rate) than producing code. If this is the case, then this idea I am presenting would compound the error rate.
sega_sai · 3h ago
I think the unbiasedness is completely red herring here, but do I agree with the point on focusing on the tests separately and implementations separately.
Ideally you'd want two completely different LLMs work on both.
But I think the question is, how trustworthy are the LLM tests ? Will the human review of these take more time than writing of the how code ?
I think for non-critical applications, it probably does not matter, but in the end I think people will be looking for some guarantees or confidence that the errors happen with frequency less than X%. And I don't think those exist now. And given the models change so frequently it's also hard to be sure if something was working fine yesterday whether it'll be today.
MarcoDewey · 3h ago
I believe that the unprecedented scale of LLM-generated code will demand a novel approach to software review and testing. Human review may not be able to keep up (or will it become the bottleneck?)
TazeTSchnitzel · 5h ago
Is this a blogpost that's incomplete or a barely disguised ad?
saagarjha · 4h ago
You'd think AI would have told them not to post it
fallinditch · 4h ago
I think it makes a lot of sense to employ various specialized LLMs in the software development lifecycle: one that's good at ideation and product development, one that fronts the organizational knowledge base, one for testing code, one (or more) for coding, etc, maybe even one whose job it is to always question your assumptions.
brahyam · 5h ago
The amount of time it would take to write the formal spec for the code I need is more than it would take to generate the code so doesn't sound like something that will go mainstream. Except for those industries where formal code specs are already in place.
MarcoDewey · 4h ago
Yes, this test-driven approach will likely increase generation time upfront. However, the payoff is more reliable code being generated. This will lead to less debugging and fewer reprompts overall, which saves time in the long run.
Also agree on the specification formality. Even a less formal spec provides a clearer boundary for the LLM during code generation, which should improve code generation results.
Mbwagava · 3h ago
Unbiased seems like a pipe-dream. Unbiased between which perspectives? Would the set of perspectives chosen not be de-facto bias?
satisfice · 5h ago
If your premises and assumptions are sufficiently corrupted, you can come to any conclusion and believe you are being rational. Like those dreams where you walk around without pants on and you are more worried about not having pants than you are about how it could have come to be that your pants kept going missing. Your brain is not present enough to find the root of the problem.
An LLM is not unbiased, and you would know that if you tested LLMs.
Apart from biases, an LLM is not a reliable oracle, you would know that if you tested LLMs.
The reliabilities and unreliabilities of LLMs vary in discontinuous and unpredictable ways from task to task, model to model, and within the same model over time. You would know this if you tested LLMs. I have. Why haven’t you?
Ideas like this are promoted by people who don’t like testing, and don’t respect it. That explains why a concept like this is treated as equivalent to a tested fact. There is a name for it: wishful thinking.
Blockchains are past the gauntlet where they can be described as a mania, it is clear they are a permanent addition to the world of finance; probably as a multi-billion or -trillion dollar market cap asset class. If crypto was going to fail the interest rate rises would have done it by now.
MarcoDewey · 3h ago
I believe that I have unintentionally misled you. When I say "unbiased oracle" I am talking specifically about the test oracle being unbiased by how the software was implemented. ie. Black Box testing.
I don't think I made the point very clear in the blog (I will rectify that), but I am saying that because LLMs are so easily biased by their prompting that they sometimes perform better when doing black box testing tasks than they do when performing white box testing.
satisfice · 2h ago
I appreciate that you replied. It warms my heart, frankly. It gives me hope.
I don't want to have a big argument about this right at this moment. But-- truly-- thank you for replying!
neuroelectron · 4h ago
Yeah that would be cool
MarcoDewey · 3h ago
improving code generation would be awesome :)
neuroelectron · 2h ago
Unfortunately, Microsoft/Google needs those models for themselves.
They are biased by the training dataset, which probably also reflects the biases of the people who select the training dataset
They are biased by the system prompts that are embedded into every request to keep them on the rails
They are even biased by the prompt that you write into them, which can lead them to incorrect conclusions if you design the prompt to lead them to it
I think it is a very careless mistake to think of LLMs as unbiased or neutral in any way
When I talk about "unbiased oracles" I am speaking in the context of black box testing. I'm not suggesting they are free from all forms of bias. Instead, the key distinction I'm trying to draw is their lack of implementation-level bias towards the specific code they are testing.
First of all you'll note that all people are also biased by the Exact same reasoning. You know this. Everyone knows that all people are biased. This isn't something you don't know.
So if every single intelligence, human or not is biased. What is this article truly talking about? The article is basically saying LLMs are LESS biased then humans. Why are LLMs less biased then humans? Well maybe because the training set in an LLM is less biased then the training set given to a human. This makes sense right? A human will be made more biased by his individual experience and his parents biases while an LLM is literally inundated with as many sources of textual information as possible with no attempt at bias due to the sheer volume of knowledge they are trying to shove in there.
The article is basically referring to this.
But you will note interestingly that LLMs bias towards textual data more. They understand the world as if they have no eyes and ears and only text. So the way they think reflects this bias. But in terms of textual knowledge I think we can all agree, they are Less biased then humans.
Evidence: an LLM is not an atheist or a theist or an agnostic. But you, reader, are at the very least one of those three things.
If one of these tests are wrong though it will ruin the whole thing. And LLM are much more likely to make a math error (which would result in a faulty test) than to implement a math function the wrong way, so this probably wont make it better at generating code.
The bet that I am making is that the system reduces its error rate by splitting a broad task into two more focused tasks.
However, it is possible that generating meaningful test cases is a harder problem (with a higher error rate) than producing code. If this is the case, then this idea I am presenting would compound the error rate.
Also agree on the specification formality. Even a less formal spec provides a clearer boundary for the LLM during code generation, which should improve code generation results.
An LLM is not unbiased, and you would know that if you tested LLMs.
Apart from biases, an LLM is not a reliable oracle, you would know that if you tested LLMs.
The reliabilities and unreliabilities of LLMs vary in discontinuous and unpredictable ways from task to task, model to model, and within the same model over time. You would know this if you tested LLMs. I have. Why haven’t you?
Ideas like this are promoted by people who don’t like testing, and don’t respect it. That explains why a concept like this is treated as equivalent to a tested fact. There is a name for it: wishful thinking.
Given the economic component of LLM wishes, we can look at prior instances of wishing-at-scale, https://en.wikipedia.org/wiki/Tulip_mania
I don't think I made the point very clear in the blog (I will rectify that), but I am saying that because LLMs are so easily biased by their prompting that they sometimes perform better when doing black box testing tasks than they do when performing white box testing.
I don't want to have a big argument about this right at this moment. But-- truly-- thank you for replying!