|
| 1 | +# နိဒါန်း[[introduction]] |
| 2 | + |
| 3 | +<CourseFloatingBanner |
| 4 | + chapter={2} |
| 5 | + classNames="absolute z-10 right-0 top-0" |
| 6 | +/> |
| 7 | + |
| 8 | +[Chapter 1](/course/chapter1) မှာ သင်တွေ့ခဲ့ရသလို Transformer မော်ဒယ်တွေဟာ များသောအားဖြင့် အရွယ်အစား အလွန်ကြီးမားပါတယ်။ Parameters သန်းပေါင်းများစွာကနေ ဘီလီယံပေါင်းများစွာအထိ ရှိတာကြောင့် ဒီမော်ဒယ်တွေကို လေ့ကျင့်တာနဲ့ အသုံးပြုတာ (deploy) ဟာ ရှုပ်ထွေးတဲ့ လုပ်ငန်းစဉ်တစ်ခု ဖြစ်ပါတယ်။ ဒီအပြင်၊ မော်ဒယ်အသစ်တွေ နေ့တိုင်းနီးပါး ထွက်ပေါ်လာပြီး တစ်ခုချင်းစီမှာ သူ့ရဲ့ကိုယ်ပိုင် implement လုပ်ပုံတွေရှိတာကြောင့် ဒါတွေကို အားလုံး စမ်းသပ်ကြည့်ဖို့က မလွယ်ပါဘူး။ |
| 9 | + |
| 10 | +🤗 Transformers library ကို ဒီပြဿနာကို ဖြေရှင်းဖို့အတွက် ဖန်တီးခဲ့တာပါ။ သူ့ရဲ့ ရည်ရွယ်ချက်ကတော့ Transformer မော်ဒယ်တိုင်းကို load လုပ်နိုင်၊ train လုပ်နိုင်ပြီး save လုပ်နိုင်တဲ့ API တစ်ခုတည်းကို ပံ့ပိုးပေးဖို့ပါပဲ။ library ရဲ့ အဓိကအင်္ဂါရပ်တွေကတော့- |
| 11 | + |
| 12 | +- **အသုံးပြုရလွယ်ကူမှု**: state-of-the-art Natural Language Processing (NLP) မော်ဒယ်တစ်ခုကို inference အတွက် download လုပ်တာ၊ load လုပ်တာနဲ့ အသုံးပြုတာကို code နှစ်ကြောင်းတည်းနဲ့ လုပ်ဆောင်နိုင်ပါတယ်။ |
| 13 | +- **ပြောင်းလွယ်ပြင်လွယ်မှု (Flexibility)**: မူရင်းအားဖြင့် မော်ဒယ်အားလုံးဟာ ရိုးရှင်းတဲ့ PyTorch `nn.Module` classes တွေဖြစ်ပြီး ၎င်းတို့ရဲ့ သက်ဆိုင်ရာ machine learning (ML) frameworks တွေထဲက တခြားမော်ဒယ်တွေလိုမျိုး ကိုင်တွယ်နိုင်ပါတယ်။ |
| 14 | +- **ရိုးရှင်းမှု (Simplicity)**: library တစ်လျှောက်လုံးမှာ abstraction တွေဟာ သိပ်မရှိပါဘူး။ "All in one file" ဆိုတာက အဓိကသဘောတရားတစ်ခုပါ- မော်ဒယ်တစ်ခုရဲ့ forward pass ကို file တစ်ခုတည်းမှာ အပြည့်အစုံ သတ်မှတ်ထားတာကြောင့် code ကို နားလည်ရလွယ်ကူပြီး ပြင်ဆင်ရ လွယ်ကူပါတယ်။ |
| 15 | + |
| 16 | +ဒီနောက်ဆုံးအင်္ဂါရပ်က 🤗 Transformers ကို အခြားသော ML library တွေနဲ့ အတော်လေး ကွဲပြားစေပါတယ်။ မော်ဒယ်တွေကို file တွေတစ်လျှောက် မျှဝေထားတဲ့ modules တွေနဲ့ တည်ဆောက်ထားတာ မဟုတ်ပါဘူး။ အဲဒီအစား မော်ဒယ်တစ်ခုစီမှာ သူ့ကိုယ်ပိုင် layers တွေ ရှိပါတယ်။ ဒါက မော်ဒယ်တွေကို ပိုမိုနားလည်ရလွယ်ကူပြီး လက်လှမ်းမီစေတဲ့အပြင်၊ မော်ဒယ်တစ်ခုပေါ်မှာ အခြားမော်ဒယ်တွေကို မထိခိုက်စေဘဲ အလွယ်တကူ စမ်းသပ်နိုင်စေပါတယ်။ |
| 17 | + |
| 18 | +ဒီအခန်းကို end-to-end ဥပမာတစ်ခုနဲ့ စတင်ပါမယ်။ ဒီဥပမာမှာ ကျွန်တော်တို့ဟာ [Chapter 1](/course/chapter1) မှာ မိတ်ဆက်ခဲ့တဲ့ `pipeline()` function ကို ပြန်လည်ဖန်တီးဖို့အတွက် မော်ဒယ်တစ်ခုနဲ့ tokenizer တစ်ခုကို ပေါင်းပြီး အသုံးပြုပါမယ်။ နောက်တစ်ဆင့်အနေနဲ့ model API ကို ဆွေးနွေးပါမယ်- မော်ဒယ်နဲ့ configuration classes တွေထဲကို နက်ရှိုင်းစွာ လေ့လာပြီး၊ မော်ဒယ်တစ်ခုကို ဘယ်လို load လုပ်ရမယ်၊ ပြီးတော့ ဂဏန်းဆိုင်ရာ inputs တွေကို output predictions တွေအဖြစ် ဘယ်လိုလုပ်ဆောင်တယ်ဆိုတာကို သင်ပြပါမယ်။ |
| 19 | + |
| 20 | +အဲဒီနောက် `pipeline()` function ရဲ့ အခြားအဓိက အစိတ်အပိုင်းဖြစ်တဲ့ tokenizer API ကို ကြည့်ပါမယ်။ Tokenizers တွေက ပထမဆုံးနဲ့ နောက်ဆုံး လုပ်ဆောင်မှုအဆင့်တွေကို ကိုင်တွယ်ပေးပြီး၊ စာသားကနေ neural network အတွက် ဂဏန်းဆိုင်ရာ inputs တွေအဖြစ် ပြောင်းလဲခြင်းနဲ့ လိုအပ်တဲ့အခါ စာသားအဖြစ် ပြန်ပြောင်းလဲခြင်းတို့ကို လုပ်ဆောင်ပေးပါတယ်။ နောက်ဆုံးအနေနဲ့၊ မော်ဒယ်တစ်ခုကနေတဆင့် စာကြောင်းများစွာကို batch အဖြစ် ပေးပို့တာကို ဘယ်လိုကိုင်တွယ်ရမလဲဆိုတာ သင်ပြပြီး၊ အဆင့်မြင့် `tokenizer()` function ကို ပိုမိုနက်ရှိုင်းစွာ လေ့လာခြင်းဖြင့် အားလုံးကို အပြီးသတ်ပါမယ်။ |
| 21 | + |
| 22 | +<Tip> |
| 23 | +⚠️ Model Hub နဲ့ 🤗 Transformers မှာ ရရှိနိုင်တဲ့ အင်္ဂါရပ်အားလုံးကို ရယူဖို့အတွက် [account တစ်ခု ဖန်တီး](https://huggingface.co/join) ဖို့ ကျွန်တော်တို့ အကြံပြုပါတယ်။ |
| 24 | +</Tip> |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## ဝေါဟာရ ရှင်းလင်းချက် (Glossary) |
| 29 | + |
| 30 | +* **Transformer Models**: Natural Language Processing (NLP) မှာ အောင်မြင်မှုများစွာရရှိခဲ့တဲ့ deep learning architecture တစ်မျိုးပါ။ ၎င်းတို့ဟာ စာသားတွေထဲက စကားလုံးတွေရဲ့ ဆက်နွယ်မှုတွေကို "attention mechanism" သုံးပြီး နားလည်အောင် သင်ကြားပေးပါတယ်။ |
| 31 | +* **Parameters**: Machine Learning မော်ဒယ်တစ်ခု၏ သင်ယူနိုင်သော အစိတ်အပိုင်းများ။ ၎င်းတို့သည် လေ့ကျင့်နေစဉ်အတွင်း ဒေတာများမှ ပုံစံများကို သင်ယူကာ ချိန်ညှိပေးသည်။ |
| 32 | +* **Deploying**: Machine Learning မော်ဒယ်တစ်ခုကို အမှန်တကယ် အသုံးပြုနိုင်သော စနစ် သို့မဟုတ် environment တစ်ခုထဲသို့ ထည့်သွင်းခြင်း။ |
| 33 | +* **🤗 Transformers Library**: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး Transformer မော်ဒယ်တွေကို အသုံးပြုပြီး Natural Language Processing (NLP), computer vision, audio processing စတဲ့ နယ်ပယ်တွေမှာ အဆင့်မြင့် AI မော်ဒယ်တွေကို တည်ဆောက်ပြီး အသုံးပြုနိုင်စေပါတယ်။ |
| 34 | +* **API (Application Programming Interface)**: ဆော့ဖ်ဝဲလ် နှစ်ခုကြား အပြန်အလှန် ချိတ်ဆက်ဆောင်ရွက်နိုင်ရန် လမ်းကြောင်းဖွင့်ပေးသော အစုအဝေး (set of rules) များ။ |
| 35 | +* **State-of-the-art (SOTA)**: လက်ရှိအချိန်တွင် အကောင်းဆုံး သို့မဟုတ် အဆင့်မြင့်ဆုံး စွမ်းဆောင်ရည်ကို ပြသနိုင်သော နည်းပညာ သို့မဟုတ် မော်ဒယ်။ |
| 36 | +* **NLP (Natural Language Processing)**: ကွန်ပျူတာတွေ လူသားဘာသာစကားကို နားလည်၊ အဓိပ္ပာယ်ဖော်ပြီး၊ ဖန်တီးနိုင်အောင် လုပ်ဆောင်ပေးတဲ့ Artificial Intelligence (AI) ရဲ့ နယ်ပယ်ခွဲတစ်ခု ဖြစ်ပါတယ်။ |
| 37 | +* **Inference**: လေ့ကျင့်ပြီးသား Artificial Intelligence (AI) မော်ဒယ်တစ်ခုကို အသုံးပြုပြီး input data ကနေ ခန့်မှန်းချက်တွေ ဒါမှမဟုတ် output တွေကို ထုတ်လုပ်တဲ့ လုပ်ငန်းစဉ်။ |
| 38 | +* **Flexibility**: ပြောင်းလွယ်ပြင်လွယ်ရှိခြင်း၊ အခြေအနေအမျိုးမျိုးနဲ့ လိုက်လျောညီထွေစွာ အသုံးပြုနိုင်ခြင်း။ |
| 39 | +* **PyTorch `nn.Module` classes**: PyTorch deep learning framework မှာ Neural Network layers တွေနဲ့ models တွေကို တည်ဆောက်ဖို့အတွက် အသုံးပြုတဲ့ အခြေခံ class တွေ။ |
| 40 | +* **Machine Learning (ML) Frameworks**: Machine learning မော်ဒယ်များကို တည်ဆောက်ရန်၊ လေ့ကျင့်ရန်နှင့် အသုံးပြုရန်အတွက် ကိရိယာများနှင့် library များ စုစည်းမှု (ဥပမာ - PyTorch, TensorFlow)။ |
| 41 | +* **Abstractions**: ကွန်ပျူတာပရိုဂရမ်းမင်းတွင် ရှုပ်ထွေးသောအသေးစိတ်အချက်အလက်များကို ဝှက်ထားပြီး အရေးကြီးသော အချက်များကိုသာ ပြသခြင်း။ |
| 42 | +* **Forward Pass**: Neural Network တစ်ခုတွင် input data ကို ယူပြီး network layers များကို ဖြတ်သန်းကာ output prediction ကို ထုတ်လုပ်သည့် လုပ်ငန်းစဉ်။ |
| 43 | +* **End-to-end Example**: စနစ်တစ်ခု၏ စတင်ခြင်းမှ အဆုံးအထိ အပြည့်အစုံ ပြသထားသော ဥပမာ။ |
| 44 | +* **`pipeline()` function**: Hugging Face Transformers library မှာ ပါဝင်တဲ့ လုပ်ဆောင်ချက်တစ်ခုဖြစ်ပြီး မော်ဒယ်တွေကို သီးခြားလုပ်ငန်းတာဝန်များ (ဥပမာ- စာသားခွဲခြားသတ်မှတ်ခြင်း၊ စာသားထုတ်လုပ်ခြင်း) အတွက် အသုံးပြုရလွယ်ကူအောင် ပြုလုပ်ပေးပါတယ်။ |
| 45 | +* **Tokenizer**: စာသား (သို့မဟုတ် အခြားဒေတာ) ကို AI မော်ဒယ်များ စီမံဆောင်ရွက်နိုင်ရန် tokens တွေအဖြစ် ပိုင်းခြားပေးသည့် ကိရိယာ သို့မဟုတ် လုပ်ငန်းစဉ်။ |
| 46 | +* **Model API**: မော်ဒယ်တစ်ခုကို ပရိုဂရမ်ကနေ ဘယ်လို ဝင်ရောက်အသုံးပြုနိုင်မလဲဆိုတာကို သတ်မှတ်ပေးတဲ့ interface။ |
| 47 | +* **Configuration Classes**: Transformer မော်ဒယ်တစ်ခု၏ architecture နှင့် hyperparameters များကို သတ်မှတ်ပေးသော Python classes များ။ |
| 48 | +* **Numerical Inputs**: ကွန်ပျူတာစနစ်များက လုပ်ဆောင်နိုင်သော ဂဏန်းပုံစံဖြင့် ဖော်ပြထားသော အချက်အလက်များ။ |
| 49 | +* **Output Predictions**: မော်ဒယ်က input ကို အခြေခံပြီး ခန့်မှန်းထုတ်ပေးသော ရလဒ်များ။ |
| 50 | +* **Tokenizer API**: Tokenizer တစ်ခုကို ပရိုဂရမ်ကနေ ဘယ်လို ဝင်ရောက်အသုံးပြုနိုင်မလဲဆိုတာကို သတ်မှတ်ပေးတဲ့ interface။ |
| 51 | +* **Neural Network**: လူသားဦးနှောက်၏ လုပ်ဆောင်မှုပုံစံကို အတုယူထားသော ကွန်ပျူတာစနစ်များ။ |
| 52 | +* **Batch**: မော်ဒယ်တစ်ခုက တစ်ပြိုင်နက်တည်း လုပ်ဆောင်ရန်အတွက် စုစည်းထားသော inputs အများအပြား။ |
| 53 | +* **Model Hub**: Hugging Face ပေါ်ရှိ pre-trained model များနှင့် datasets များကို ရှာဖွေ၊ မျှဝေပြီး အသုံးပြုနိုင်သော online platform။ |
| 54 | +* **Hugging Face Account**: Hugging Face ပလက်ဖောင်းပေါ်ရှိ သုံးစွဲသူအကောင့်။ ၎င်းသည် မော်ဒယ်များ၊ datasets များနှင့် အခြားအရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုရန် ခွင့်ပြုသည်။ |
0 commit comments