Retrofitting language models to operate over bytes
nature.com107 points by theanonymousone 5 days ago
107 points by theanonymousone 5 days ago
There has been extensive research into token-free LLMs, but for some reason we are still operating in a token domain, so there is something to that.
Byte Latent Transformers (BLT): https://arxiv.org/abs/2412.09871
Charformer: https://arxiv.org/abs/2106.12672
It's because of "chunking" which human minds do as well. If you increase granularity, you increase permutations and required compute to match the same performance of existing systems.
GPT4's tokeniser for example made use of extended tokens for coding structures and with enough training on code was quite ahead of the rest for a while.
The tokeniser and its vocabulary makes a big difference.
subword tokenizers were never causal in the first place, so BPE was peeking at future bytes all along! TIL
I don't understand how this is different from BPE tokenization.
Wow nature got rolled. Should have stayed closer to their expertise. They were already being hustled by a lot of the applied AI work they were accepting.
What’s bad about this paper?
Obvious work that is behind state of the art. Not field defining. A reasonable paper to publish at NeurIPS or ICML but very middle of the pack.
If your paper is accepted to Nature it should be among the top results in your field for the year. This is just fine.
Edit to clarify: Nature has not been, historically, a venue for pure machine learning papers. It's been a venue for field changing work in the physical sciences. They already have a Machine Intelligence subjournal.
What this paper shows me is how desperate they are for ML papers, and how poorly their staff understand the field.
I think nature sort of has a reputation for sensationalism / probably overhyped (or outright wrong) stuff in the sciences now anyway... would not surprise me at all that they're desperate for ml stuff :-I
[flagged]
[flagged]
Weird paper. Models have had tokens for each byte for ages now. They can read and write individual bytes just fine, in addition to also having multibyte tokens.
How can an LLM read individual bytes if all it gets is the tokenized ones? Or does it just get the ones that we didn't know how to tokenize?
0 -> token_THE
1 -> token_PART_prefix
2 -> token_FULLSTOP
...
0x3100 -> token_BYTE_00
0x3101 -> token_BYTE_01
0x3102 -> token_BYTE_02
and so onThe tokenizer would have to know to switch over to lexing as individual bytes rather than whatever else it might have been able to tokenize into but that seems like a question of labeling more than anything else.
It's written down in the tokenizer. 256 of the tens or hundreds of thousands of tokens correspond to each byte, done.