course documentation
Tokenizers၊ အဆင်သင့်ဖြစ်ပါပြီ!
0. စတင်ပြင်ဆင်ခြင်း
1. Transformer models များ
နိဒါန်းNatural Language Processing နှင့် Large Language Models များTransformers တွေက ဘာတွေလုပ်နိုင်လဲ။Transformers တွေက ဘယ်လိုအလုပ်လုပ်လဲ။🤗 Transformers တွေက လုပ်ငန်းတာဝန်တွေကို ဘယ်လိုဖြေရှင်းပေးလဲ။Transformer Architectures များအမြန်ဉာဏ်စမ်းLLMs များဖြင့် မှန်းဆတွက်ချက်ခြင်း။ဘက်လိုက်မှုနှင့် ကန့်သတ်ချက်များအနှစ်ချုပ်အသိအမှတ်ပြု စာမေးပွဲ
2. 🤗 Transformers ကို အသုံးပြုခြင်း
နိဒါန်းPipeline နောက်ကွယ်မှ အကြောင်းအရာများModelsTokenizersSequence များစွာကို ကိုင်တွယ်ခြင်းအားလုံးကို ပေါင်းစပ်ခြင်းအခြေခံ အသုံးပြုမှု ပြီးဆုံးပါပြီ!Optimization လုပ်ထားသော Inference Deploymentအခန်းပြီးဆုံးခြင်း စစ်ဆေးမှု
3. Pretrained Model တစ်ခုကို Fine-tuning လုပ်ခြင်း
နိဒါန်းဒေတာများကို စီမံဆောင်ရွက်ခြင်းTrainer API ဖြင့် မော်ဒယ်တစ်ခုကို Fine-tuning လုပ်ခြင်းပြည့်စုံသော Training Loop တစ်ခုLearning Curves များကို နားလည်ခြင်းFine-tuning လုပ်ငန်း ပြီးစီးပြီ!အခန်းပြီးဆုံးခြင်း အသိအမှတ်ပြု လက်မှတ်
4. Models နှင့် Tokenizers များကို မျှဝေခြင်း
Hugging Face HubPretrained Models များကို အသုံးပြုခြင်းPretrained Models များကို မျှဝေခြင်းModel Card တစ်ခု တည်ဆောက်ခြင်းအပိုင်း ၁ ပြီးဆုံးပါပြီ!အခန်း (၄) ဆိုင်ရာ မေးခွန်းများ
5. The 🤗 Datasets library
နိဒါန်းကျွန်ုပ်၏ Dataset သည် Hub တွင် မရှိလျှင် ဘာလုပ်ရမလဲ။Slice and Dice လုပ်ဖို့ အချိန်တန်ပြီ။Big Data လား။ 🤗 Datasets က ကူညီပါလိမ့်မယ်။ကိုယ်ပိုင် Dataset တစ်ခု ဖန်တီးခြင်းFAISS ဖြင့် Semantic Search ပြုလုပ်ခြင်း🤗 Datasets၊ အဆင်သင့်ဖြစ်ပါပြီ!အခန်း (၅) ဆိုင်ရာ မေးခွန်းများ
6. The 🤗 Tokenizers library
နိဒါန်းOld Tokenizer တစ်ခုမှ New Tokenizer တစ်ခုကို Training လုပ်ခြင်းFast Tokenizers များ၏ ထူးခြားသော စွမ်းအားများQA Pipeline ရှိ Fast Tokenizers များNormalization နှင့် Pre-tokenizationByte-Pair Encoding TokenizationWordPiece TokenizationUnigram TokenizationTokenizer တစ်ခုကို Block အလိုက် တည်ဆောက်ခြင်းTokenizers၊ အဆင်သင့်ဖြစ်ပါပြီ!အခန်း (၆) ဆိုင်ရာ မေးခွန်းများ
7. Classical NLP Tasks များ
နိဒါန်းToken ClassificationMasked Language Model တစ်ခုကို Fine-tuning လုပ်ခြင်းဘာသာပြန်ခြင်းအနှစ်ချုပ်ဖော်ပြခြင်းCausal Language Model တစ်ခုကို အစကနေ Train လုပ်ခြင်းမေးခွန်းဖြေဆိုခြင်းLLM များကို ကျွမ်းကျင်ခြင်းအခန်း (၇) ဆိုင်ရာ မေးခွန်းများ
8. အကူအညီတောင်းခံနည်း
နိဒါန်းError တစ်ခုကြုံတွေ့ရတဲ့အခါ ဘာလုပ်ရမလဲForums များတွင် အကူအညီတောင်းခံခြင်းTraining Pipeline ကို Debugging လုပ်ခြင်းကောင်းမွန်သော Issue တစ်ခု ရေးသားနည်းအပိုင်း ၂ ပြီးဆုံးပါပြီ!အခန်း (၈) ဆိုင်ရာ မေးခွန်းများ
9. Demos များ တည်ဆောက်ခြင်းနှင့် မျှဝေခြင်း
Gradio နိဒါန်းသင့်ရဲ့ ပထမဆုံး Demo ကို တည်ဆောက်ခြင်းInterface Class ကို နားလည်ခြင်းDemos များကို တခြားသူများနှင့် မျှဝေခြင်းHugging Face Hub နှင့် ပေါင်းစပ်မှုများAdvanced Interface Features များBlocks နိဒါန်းGradio၊ အဆင်သင့်ဖြစ်ပါပြီ!အခန်း (၉) ဆိုင်ရာ မေးခွန်းများ
10. အရည်အသွေးမြင့် Datasets များကို စုစည်းခြင်း
Argilla နိဒါန်းသင့် Argilla Instance ကို တည်ဆောက်ခြင်းသင့် Dataset ကို Argilla သို့ Load လုပ်ခြင်းသင့် Dataset ကို Annotation လုပ်ခြင်းသင့် Annotation လုပ်ထားသော Dataset ကို အသုံးပြုခြင်းArgilla၊ အဆင်သင့်ဖြစ်ပါပြီ!အခန်း (၁၀) ဆိုင်ရာ မေးခွန်းများ
11. Large Language Models များကို Fine-tune လုပ်ခြင်း
နိဒါန်းChat Templates များSFTTrainer ဖြင့် Fine-Tuning လုပ်ခြင်းLoRA (Low-Rank Adaptation)အကဲဖြတ်ခြင်း (Evaluation)နိဂုံးချုပ်စာမေးပွဲ အချိန်!
12. Reasoning Models များ တည်ဆောက်ခြင်း new
နိဒါန်းLLMs များပေါ်တွင် Reinforcement LearningDeepSeek R1 Paper ထဲက Aha MomentDeepSeekMath ရှိ GRPO ကို အဆင့်မြင့် နားလည်ခြင်းTRL တွင် GRPO ကို အကောင်အထည်ဖော်ခြင်းGRPO ဖြင့် Model တစ်ခုကို Fine-tune လုပ်ရန် လက်တွေ့ လေ့ကျင့်ခန်းUnsloth ဖြင့် လက်တွေ့ လေ့ကျင့်ခန်းမကြာမီ လာမည်...
သင်တန်း ဆိုင်ရာ အခမ်းအနားများ
Tokenizers၊ အဆင်သင့်ဖြစ်ပါပြီ!
ဒီအခန်းကို ပြီးဆုံးအောင် လေ့လာနိုင်ခဲ့တဲ့အတွက် ဂုဏ်ယူပါတယ်။
tokenizers တွေအကြောင်း နက်နက်နဲနဲ လေ့လာပြီးနောက်၊ သင်ဟာ အောက်ပါတို့ကို လုပ်ဆောင်နိုင်သင့်ပါတယ်…
- tokenizer အဟောင်းတစ်ခုကို template အဖြစ် အသုံးပြုပြီး tokenizer အသစ်တစ်ခုကို train လုပ်နိုင်ခြင်း။
- tokens တွေရဲ့ positions တွေကို ၎င်းတို့ရဲ့ မူရင်း text span တွေနဲ့ map လုပ်ဖို့ offsets တွေကို ဘယ်လိုအသုံးပြုရမယ်ဆိုတာ နားလည်ခြင်း။
- BPE, WordPiece, နဲ့ Unigram တို့ကြားက ကွာခြားချက်တွေကို သိရှိခြင်း။
- 🤗 Tokenizers library က ပံ့ပိုးပေးထားတဲ့ blocks တွေကို ရောနှောပြီး သင့်ကိုယ်ပိုင် tokenizer ကို တည်ဆောက်နိုင်ခြင်း။
- အဲဒီ tokenizer ကို 🤗 Transformers library အတွင်းမှာ အသုံးပြုနိုင်ခြင်း။
ဝေါဟာရ ရှင်းလင်းချက် (Glossary)
- Tokenizer: စာသား (သို့မဟုတ် အခြားဒေတာ) ကို AI မော်ဒယ်များ စီမံဆောင်ရွက်နိုင်ရန် tokens တွေအဖြစ် ပိုင်းခြားပေးသည့် ကိရိယာ သို့မဟုတ် လုပ်ငန်းစဉ်။
- Train a New Tokenizer: အစကနေ သို့မဟုတ် လက်ရှိ tokenizer တစ်ခုကို အခြေခံ၍ စာသား corpus အသစ်တစ်ခုပေါ်တွင် tokenizer အသစ်တစ်ခုကို လေ့ကျင့်တည်ဆောက်ခြင်း။
- Template (Tokenizer): tokenizer အသစ်တစ်ခုကို တည်ဆောက်ရာတွင် အခြေခံအဖြစ် အသုံးပြုသော လက်ရှိ tokenizer။
- Offsets: token တစ်ခုစီသည် မူရင်းစာသား၏ မည်သည့်စတင်ခြင်းနှင့် အဆုံးသတ် character index များကြားတွင် ရှိနေသည်ကို ဖော်ပြသော map။
- Map Tokens’ Positions: tokens များ၏ အနေအထားများကို မူရင်းစာသားရှိ ၎င်းတို့၏ နေရာများနှင့် တွဲဖက်သတ်မှတ်ခြင်း။
- Original Span of Text: token တစ်ခု (သို့မဟုတ် အုပ်စု) ထွက်ပေါ်လာသော မူရင်းစာသားအပိုင်းအစ။
- BPE (Byte-Pair Encoding): Subword tokenization algorithm တစ်မျိုး။
- WordPiece: Subword tokenization algorithm တစ်မျိုး။
- Unigram: Subword tokenization algorithm တစ်မျိုး။
- 🤗 Tokenizers Library: Rust ဘာသာနဲ့ ရေးသားထားတဲ့ Hugging Face library တစ်ခုဖြစ်ပြီး မြန်ဆန်ထိရောက်တဲ့ tokenization ကို လုပ်ဆောင်ပေးသည်။
- Blocks (Tokenizer): Tokenizer တစ်ခု၏ ဖွဲ့စည်းပုံကို တည်ဆောက်ရန် အသုံးပြုနိုင်သော normalization, pre-tokenization, post-processing စသည့် အစိတ်အပိုင်းများ။
- 🤗 Transformers Library: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး Transformer မော်ဒယ်တွေကို အသုံးပြုပြီး Natural Language Processing (NLP), computer vision, audio processing စတဲ့ နယ်ပယ်တွေမှာ အဆင့်မြင့် AI မော်ဒယ်တွေကို တည်ဆောက်ပြီး အသုံးပြုနိုင်စေပါတယ်။