Hoje estou a publicar o meu primeiro post no blog: Tokenização a partir dos princípios básicos. Criei um tokenizador BPE a nível de byte com pré-tokenização em Rust e alcancei uma velocidade de codificação comparável aos tokenizadores da huggingface. Mostro ideias e algoritmos, incluindo nuances de implementação, como o uso de cache LRU e listas duplamente ligadas. Com essa base, avanço ainda mais. A maioria dos tokenizadores apenas divide por regex, mantendo as fusões dentro das palavras, podemos fazer melhor. Alcancei 20% mais eficiência de amostra no treinamento de LLM com o SuperBPE. Demonstro como implementar o SuperBPE habilitado tardiamente no treinamento, permitindo fusões entre palavras com a mesma perda por byte durante o treinamento. Gráficos + código + link na resposta.