GPT-4: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Me: Count backwards from a million to 999990
GPT-4: 1,000,000, 999,999, 999,998, 999,997, 999,996, 999,995, 999,994, 999,993, 999,992, 999,991, 999,990
I don't know about that.
Kids don't do a 'formal operation' when they count from 1 to 10, they just recite a list they've memorized. If they can do it from 1 to 1,000,000 you can be fairly sure it is no longer a memorized list.
Is there an alternative conclusion which you could reach here?
I suspect it will be easier for ML researchers to fix that problem in their software models than it would be for psychologists to fix it in humans.
> How does chat-gpt actually get this right?
Your answer: > its output is purely probabilistic, based on existing corpus of text
Because GPT was trained on existing text, some of which included numbers and counting, it's learnt the natural ordering of most common/everyday numbers.For larger or more complex numbers, it's learnt the patterns behind how they're constructed linguistically, which allows it to output a written count in sequence.
This same pattern recognition doesn't work anywhere near as well for actual numerals (e.g. "47600", instead of "forty seven thousand six hundred"), as the tokenizer tends to break long numerals apart (e.g. into ["476", "00"]).
Unless training included line-level skips, rather than just next-word skips (like word2vec) or concept-level associations? At the line level, or paragraph level, ordered numerical sequences are obviously very common in formal texts or in code.
I've seen sentence based training, I suppose for code (which it seems GPT4 excells at) line-level training would be essential.
Anyone recommend a mid-level read on this covering different modes of training and such; I'm happy with a bit of code and undergrad level maths. Thanks.
Yes, of course — GPT-4 was trained on all common character sequences, including linebreaks and other invisible characters.
You can see how it works here: https://platform.openai.com/tokenizer
Nonetheless it doesn't need to have seen examples of line-level counting before. The "concept-level associations" you mentioned are an emergent property of the model, it forms its own concept-level associations as a result of being trained on such a massive dataset. It's what enables it to output original content which has never been seen before.