This is probably because of the autoregressive nature of LLMs, and is why “step by step” and “chain of thought” prompting work so well. GPT4 can only “see” up to the next token, and doesn’t know how its own entire answer upfront.
If my guess is correct, GPT4 knew the probabilities of “Yes” or “No” were highest amongst possible tokens as it started generating the answer, but, it didn’t really know the right answer until it got to the arithmetic calculation tokens (the 0.9 * 500 part). In this case it probably had a lot of training data to confirm the right value for 0.9 * 500.
I’m actually impressed it managed to correct course instead of confabulating!
deleted by creator
I guess ChatGPT just likes to talk back with “No” a lot as an immediate reaction. (Sounds like some people I know…)
It was trained using internet conversations so that makes a lot of sense.
Words are generated word by word. It’s reading the entire prompt and what it replied so far to generate new words. So yeah it can recognize its own mistakes while writing. It just wasn’t trained for that so it usually doesn’t do it, but you can encourage it to do it by giving custom instructions telling it to second guess itself.
ChatGPT isn’t a calculator: https://www.baeldung.com/cs/chatgpt-math-problems
Unless you’re using the Wolfram plugin.
Guess we found where all those Pentium processors ended up…
I asked a similar question (one found in OP’s comment section) to a GPT-4 powered Nils. In short, he was able to immediately answer the question with no hesitation. Perhaps it’s different if you ask through the API compared to the ChatGPT platform.
it also helps to have custom instructions on the client that tell it to say no first, or to make a fake post for internet points.
You can try this yourself with GPT-4. I have, and it fails every time. Earlier GPT-4 versions, via the API, also fail every time. Claude reasons before it answers, but if you ask it to say yes or no only, it fails. Bard is the only one that gets it right, right off the bat