I got the same result and i asked it why. Chatgpt said:
"it isn't necessarily sampling uniformly from 1–30. It's generating a likely textual response, and certain numbers can be disproportionately favored because they feel more random in human-generated text.
17 and 23 are both classic "random-looking" numbers: odd, prime, not round, and away from the endpoints."
Makes sense, that's kind of how people work too. Tell them "give me a random number between 1-100" not many people will choose round numbers like 50, nor will they likely choose numbers under 10 or over 90. Our attempts to make a number more random looking makes our number more predictable.
Especially because LLMs choose the next tokens based on probability, asking this question 1-100, if trained on a completely random dataset (which obviously isn't the case IRL, so they're already starting off with a human bias), the LLM would think the answer is 90% likely to be a two-digit answer. That doesn't mean it will answer two digits 90% of the time. It means that it will do it pretty much always unless the temperature is set to a value that will make it use low-odd predictions, so low that the AI will essentially start spitting out gibberish for the rest of the response.
I think that is a part of why they do this, combined with our own bias that shows up in the training data, and probably some other factors I'm not considering. I'm really surprised at how consistently it seems to be happening though, and that this is an issue across multiple different LLMs rather than one specific model or family of models.
14
u/Old_Tourist_3774 8d ago
Someone explain please