Tokenizarea LLM
Privire de ansamblu
Andrej Karpathy a publicat recent o nouă prelegere despre tokenizarea modelelor de limbaj mari (LLM). Tokenizarea este o parte cheie a antrenării LLM-urilor, dar este un proces care implică antrenarea tokenizerilor folosind propriile seturi de date și algoritmi (de ex., Byte Pair Encoding).
Conținutul cheie
În prelegere, Karpathy învață cum să implementezi un tokenizer GPT de la zero. El discută de asemenea comportamente ciudate care pot fi urmărite înapoi la tokenizare.
Referința prelegerii
"Tokenizarea LLM"
Sursa figurii: https://youtu.be/zduSFxRajkE?t=6711
Problemele comune LLM explicate prin tokenizare
Iată lista comprehensivă de probleme care pot fi urmărite înapoi la tokenizare:
1. Problemele de ortografie
- De ce nu poate LLM să scrie cuvinte? Tokenizarea.
2. Limitările procesării șirurilor
- De ce nu poate LLM să facă sarcini super simple de procesare a șirurilor precum inversarea unui șir? Tokenizarea.
3. Prejudecățile lingvistice
- De ce este LLM mai rău la limbile non-engleze (de ex. japoneză)? Tokenizarea.
4. Limitările matematice
- De ce este LLM rău la aritmetica simplă? Tokenizarea.
5. Provocările de codare
- De ce a avut GPT-2 mai multă problemă decât era necesar la codarea în Python? Tokenizarea.
6. Oprirea neașteptată
- De ce s-a oprit brusc LLM-ul meu când vede șirul "endoftext"? Tokenizarea.
7. Avertismentele despre spațiile albe
- Ce este acest avertisment ciudat pe care îl primesc despre un "spațiu alb de urmărire"? Tokenizarea.
8. Eșecurile specifice de șiruri
- De ce se strică LLM-ul dacă îl întreb despre "SolidGoldMagikarp"? Tokenizarea.
9. Preferințele de format
- De ce ar trebui să prefer să folosesc YAML în loc de JSON cu LLM-uri? Tokenizarea.
10. Înțelegerea arhitecturii
- De ce nu este LLM de fapt modelarea limbajului end-to-end? Tokenizarea.
11. Întrebarea filozofică
- Care este rădăcina reală a suferinței? Tokenizarea.
Implicațiile practice
Pentru a îmbunătăți fiabilitatea LLM-urilor, este important să înțelegi cum să promptezi aceste modele, ceea ce va implica și înțelegerea limitărilor lor. Deși nu există prea multă accent pe tokenizeri (dincolo de configurația max_tokens) la timpul de inferență, inginerie bună a prompt-urilor implică înțelegerea constrângerilor și limitărilor inerente în tokenizare, similar cu modul în care să-ți structurezi sau să-ți formatezi prompt-ul.
Problemele comune
Ai putea avea un scenariu unde prompt-ul tău nu performează bine pentru că eșuează să, de exemplu, înțeleagă un acronim sau concept care nu este procesat sau tokenizat corespunzător. Aceasta este o problemă foarte comună pe care mulți dezvoltatori și cercetători LLM o ignoră.
Instrumentele
Un instrument bun pentru tokenizare este Tiktokenizer și aceasta este ceea ce este folosit de fapt în prelegere pentru scopuri demonstrative.
Învățăturile cheie
- Tokenizarea este fundamentală pentru înțelegerea comportamentului LLM
- Multe limitări LLM provin din alegerile de tokenizare
- Ingineria prompt-urilor ar trebui să considere constrângerile de tokenizare
- Înțelegerea tokenizării ajută la debugarea comportamentului LLM neașteptat
- Instrumentele potrivite precum Tiktokenizer sunt esențiale pentru dezvoltare
