Astăzi public prima mea postare pe blog: Tokenizarea din primele principii. Am construit un tokenizator BPE la nivel de octet cu pre-tokenizare Rust și am obținut o viteză de codificare la egalitate cu tokenizatorii huggingface. Arăt idei și algoritmi, inclusiv nuanțe de implementare, cum ar fi utilizarea cache-ului LRU și a listei dublu legate. Cu această fundație, merg mai departe. Majoritatea tokenizatorilor sunt împărțiți prin regex, păstrând fuziunile în cuvinte, putem face mai bine. Am obținut o pregătire LLM cu 20% mai eficientă din punct de vedere al probelor cu SuperBPE. Demonstrez cum să implementez SuperBPE activat la sfârșitul antrenamentului, care permite îmbinarea cuvintelor încrucișate cu aceeași pierdere pe octet în timpul antrenamentului. Grafice + cod + link în răspuns.