1. Tokenizing
Tokenizing
Tokenizing рдбреЗрдЯрд╛, рдЬреИрд╕реЗ рдХрд┐ рдЯреЗрдХреНрд╕реНрдЯ, рдХреЛ рдЫреЛрдЯреЗ, рдкреНрд░рдмрдВрдзрдиреАрдп рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ tokens рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЯреЛрдХрди рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (ID) рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдореМрд▓рд┐рдХ рдХрджрдо рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (NLP) рдореЗрдВред
рдЗрд╕ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдХрд╛ рд▓рдХреНрд╖реНрдп рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдЗрдирдкреБрдЯ рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреЛрдХрдиреЛрдВ (ids) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдЬреЛ рд╕рдордЭ рдореЗрдВ рдЖрдПред
How Tokenizing Works
Splitting the Text:
Basic Tokenizer: рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯреЛрдХрдирд╛рдЗрдЬрд╝рд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢рдмреНрджреЛрдВ рдФрд░ рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕реНрдкреЗрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
Example: Text:
"Hello, world!"
Tokens:["Hello", ",", "world", "!"]
Creating a Vocabulary:
рдЯреЛрдХрдиреЛрдВ рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ IDs рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╢рдмреНрджрд╛рд╡рд▓реА рд╕рднреА рдЕрджреНрд╡рд┐рддреАрдп рдЯреЛрдХрдиреЛрдВ (рд╢рдмреНрджреЛрдВ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ) рдХреА рд╕реВрдЪреА рдмрдирд╛рддреА рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ ID рд╕реМрдВрдкрддреА рд╣реИред
Special Tokens: рдпреЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ:
[BOS]
(Beginning of Sequence): рдЯреЗрдХреНрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред[EOS]
(End of Sequence): рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред[PAD]
(Padding): рдПрдХ рдмреИрдЪ рдореЗрдВ рд╕рднреА рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред[UNK]
(Unknown): рдЙрди рдЯреЛрдХрдиреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВредExample: рдпрджрд┐
"Hello"
рдХреЛ ID64
рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ,","
рдХреЛ455
,"world"
рдХреЛ78
, рдФрд░"!"
рдХреЛ467
, рддреЛ:"Hello, world!"
тЖТ[64, 455, 78, 467]
Handling Unknown Words: рдпрджрд┐ рдХреЛрдИ рд╢рдмреНрдж рдЬреИрд╕реЗ
"Bye"
рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ[UNK]
рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред"Bye, world!"
тЖТ["[UNK]", ",", "world", "!"]
тЖТ[987, 455, 78, 467]
(рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐[UNK]
рдХрд╛ ID987
рд╣реИ)
Advanced Tokenizing Methods
рдЬрдмрдХрд┐ рдмреЗрд╕рд┐рдХ рдЯреЛрдХрдирд╛рдЗрдЬрд╝рд░ рд╕рд░рд▓ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдбрд╝реЗ рд╢рдмреНрджрд╛рд╡рд▓реА рдФрд░ рдирдП рдпрд╛ рджреБрд░реНрд▓рдн рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВред рдЙрдиреНрдирдд рдЯреЛрдХрдирд╛рдЗрдЬрд╝рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреА рд╣реИрдВ, рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЫреЛрдЯреЗ рдЙрдк-рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдХрд░ рдпрд╛ рдЯреЛрдХрдирд╛рдЗрдЬрд╝реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдХреЗред
Byte Pair Encoding (BPE):
Purpose: рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреБрд░реНрд▓рдн рдпрд╛ рдЕрдЬреНрдЮрд╛рдд рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрдХреНрд╕рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдЯ рдЬреЛрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдХрд░ред
How It Works:
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдгреЛрдВ рдХреЛ рдЯреЛрдХрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЯреЛрдХрдиреЛрдВ рдХреЗ рдЬреЛрдбрд╝реЛрдВ рдХреЛ рдПрдХрд▓ рдЯреЛрдХрди рдореЗрдВ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдорд┐рд▓рд╛рддрд╛ рд╣реИред
рддрдм рддрдХ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХреЛрдИ рдФрд░ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЬреЛрдбрд╝реЗ рдХреЛ рдирд╣реАрдВ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред
Benefits:
[UNK]
рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рдореМрдЬреВрджрд╛ рдЙрдкрд╢рдмреНрдж рдЯреЛрдХрдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдФрд░ рд▓рдЪреАрд▓реА рд╢рдмреНрджрд╛рд╡рд▓реАред
Example:
"playing"
рдХреЛ["play", "ing"]
рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЛрдХрдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐"play"
рдФрд░"ing"
рдЕрдХреНрд╕рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрд╢рдмреНрдж рд╣реИрдВред
WordPiece:
Used By: BERT рдЬреИрд╕реЗ рдореЙрдбрд▓ред
Purpose: BPE рдХреЗ рд╕рдорд╛рди, рдпрд╣ рдЕрдЬреНрдЮрд╛рдд рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдмреНрджреЛрдВ рдХреЛ рдЙрдкрд╢рдмреНрдж рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рддреЛрдбрд╝рддрд╛ рд╣реИред
How It Works:
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдгреЛрдВ рдХреЗ рдПрдХ рдЖрдзрд╛рд░ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрд╢рдмреНрдж рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡реНрдп рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдЙрдкрд╢рдмреНрджреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рд╣реИред
Benefits:
рдкреНрд░рдмрдВрдзрдиреАрдп рд╢рдмреНрджрд╛рд╡рд▓реА рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╢рдмреНрджреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдмрдирд╛рддрд╛ рд╣реИред
рджреБрд░реНрд▓рдн рдФрд░ рдпреМрдЧрд┐рдХ рд╢рдмреНрджреЛрдВ рдХреЛ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
Example:
"unhappiness"
рдХреЛ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░["un", "happiness"]
рдпрд╛["un", "happy", "ness"]
рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЛрдХрдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Unigram Language Model:
Used By: SentencePiece рдЬреИрд╕реЗ рдореЙрдбрд▓ред
Purpose: рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрд╢рдмреНрдж рдЯреЛрдХрдиреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡реНрдп рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
How It Works:
рд╕рдВрднрд╛рд╡рд┐рдд рдЯреЛрдХрдиреЛрдВ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдЙрди рдЯреЛрдХрдиреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдореЙрдбрд▓ рдХреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдмрд╕реЗ рдХрдо рд╕реБрдзрд╛рд░рддреЗ рд╣реИрдВред
рдПрдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдХреЛ рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрд╢рдмреНрдж рдЗрдХрд╛рдЗрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Benefits:
рд▓рдЪреАрд▓рд╛ рд╣реИ рдФрд░ рднрд╛рд╖рд╛ рдХреЛ рдЕрдзрд┐рдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЕрдХреНрд╕рд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЯреЛрдХрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛ рд╣реИред
Example:
"internationalization"
рдХреЛ рдЫреЛрдЯреЗ, рдЕрд░реНрдердкреВрд░реНрдг рдЙрдкрд╢рдмреНрджреЛрдВ рдореЗрдВ["international", "ization"]
рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЛрдХрдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Code Example
рдЖрдЗрдП рдЗрд╕реЗ https://github.com/rasbt/LLMs-from-scratch/blob/main/ch02/01_main-chapter-code/ch02.ipynb рд╕реЗ рдПрдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдмреЗрд╣рддрд░ рд╕рдордЭрддреЗ рд╣реИрдВ:
рд╕рдВрджрд░реНрдн
Last updated