3 ms·
Humans tokenize numbers too. Which is easier to read? 100000000 or 100,000,000? You only need tokens for 000 to 999
by zarzavat 2y ago
Humans tokenize numbers too. Which is easier to read? 100000000 or 100,000,000? You only need tokens for 000 to 999
- mschuster91 2y agoYes we do, but we have the contextual knowledge available as well, so we know that the "100","000","000" are all belonging to one "supertoken".
- zarzavat 2y agoThat’s exactly what transformers do. They parse things in context. If it can parse C++ well enough to write C++ code, then it can parse thousand-separated numbers.
- mattnewton 2y agosure, you can get the model to understand with enough examples, but OP of this thread was saying LLMs need many many more steps than humans do. Mschuster was saying this could partially be an artifact of the tokenization - humans visually seeing 1,000,000 and 1000001 for the first time can see that they are similar based on how they look. A transformer must learn two token sequences, which may not have any tokens in common, are different by 1.* And it must do this based entirely on context and how likely one is to appear in the same place as another. That takes a massive amount of data in practice and could be one reason why humans appear to learn from much sparser data and faster. * in gpt-2’s case, you get 1,000,000 -> 16, 11, 830, 11, 830, 198, 49 And 1000001 -> 388, 486 which means the model will see a sequence of noise embeddings entirely different when training. That means seeing 1,000,000 any number of times will not really help the model prepare for when it sees 1000001 for the first time. You can play around with https://tiktokenizer.vercel.app/?model=gpt2 https://tiktokenizer.vercel.app/?model=gpt2 to see how tokenization of numbers has been improved by different models to try and mitigate this.
- mschuster91 2y ago> And it must do this based entirely on context and how likely one is to appear in the same place as another. That takes a massive amount of data in practice and could be one reason why humans appear to learn from much sparser data and faster. That, and another thing: A LLM fundamentally boils down to a statistical repetition engine. That means, if it has never seen the input - say, some random large numbers -, it will hallucinate garbage if you ask it a question ("multiply 245358943543548 by 438574589675486789654"), whereas a human would recognize where the boundaries of the numbers are and plug it into a calculator (or, some particularly big brained people would actually do it in their mind) to figure out the result. Some AI or pseudo-AI (dunno what Wolfram Alpha uses under the hood) has to have a "front" AI to recognize such questions and redirect them to a calculator, but in my eyes that's just cheating for a very specific case and not enabling general intelligence.