Buckets:

rtrm's picture
|
download
raw
21.1 kB
# အခန်း (၇) ဆိုင်ရာ မေးခွန်းများ[[end-of-chapter-quiz]]
ဒီအခန်းမှာ သင်ယူခဲ့တာတွေကို စစ်ဆေးကြည့်ရအောင်။
### ၁။ အောက်ပါ tasks တွေထဲက ဘယ်ဟာတွေကို token classification problem အဖြစ် ပုံဖော်နိုင်သလဲ။
### ၂။ token classification အတွက် preprocessing ရဲ့ ဘယ်အပိုင်းက အခြား preprocessing pipelines တွေနဲ့ ကွာခြားသလဲ။
-100 ကို အသုံးပြုပါတယ်။",
explain: "ဒါက token classification အတွက် သီးခြားမဟုတ်ပါဘူး — ကျွန်တော်တို့ loss မှာ ignore လုပ်ချင်တဲ့ tokens တွေအတွက် label အဖြစ် -100 ကို အမြဲတမ်း အသုံးပြုပါတယ်။"
},
{
text: "truncation/padding ကို အသုံးပြုတဲ့အခါ labels တွေကို inputs တွေနဲ့ တူညီတဲ့ size အထိ truncate ဒါမှမဟုတ် pad လုပ်ထားဖို့ သေချာစေရပါမယ်။",
explain: "ဟုတ်ပါတယ်။ ဒါပေမယ့် ဒါတစ်ခုတည်းသော ကွာခြားချက်တော့ မဟုတ်ပါဘူး။",
correct: true
}
]}
/>
### ၃။ token classification problem တစ်ခုမှာ words တွေကို tokenize လုပ်ပြီး tokens တွေကို label လုပ်ချင်တဲ့အခါ ဘယ်ပြဿနာ ဖြစ်ပေါ်လာသလဲ။
-100 လို့ label လုပ်တာကြောင့် loss မှာ ignore လုပ်ပါတယ်။"
},
{
text: "word တစ်လုံးစီက tokens အများအပြားကို ထုတ်လုပ်နိုင်တာကြောင့် labels တွေထက် tokens တွေ ပိုများလာပါတယ်။",
explain: "ဒါက အဓိကပြဿနာဖြစ်ပြီး၊ ကျွန်တော်တို့ original labels တွေကို tokens တွေနဲ့ align လုပ်ဖို့ လိုအပ်ပါတယ်။",
correct: true
},
{
text: "ထည့်သွင်းထားတဲ့ tokens တွေမှာ labels တွေ မရှိတာကြောင့် ပြဿနာ မရှိပါဘူး။",
explain: "ဒါက မမှန်ပါဘူး၊ ကျွန်တော်တို့မှာ tokens အရေအတွက်အတိုင်း labels တွေ လိုအပ်ပါတယ်၊ မဟုတ်ရင် ကျွန်တော်တို့ models တွေ error ဖြစ်ပါလိမ့်မယ်။"
}
]}
/>
### ၄။ "Domain adaptation" ဆိုတာ ဘာကိုဆိုလိုသလဲ။
### ၅။ Masked language modeling problem မှာ labels တွေက ဘာတွေလဲ။
### ၆။ အောက်ပါ tasks တွေထဲက ဘယ်ဟာတွေကို sequence-to-sequence problem အဖြစ် မြင်နိုင်သလဲ။
### ၇။ sequence-to-sequence problem အတွက် data ကို မှန်ကန်စွာ preprocess လုပ်ဖို့ နည်းလမ်းက ဘာလဲ။
inputs=... နဲ့ targets=... နဲ့ tokenizer ကို အတူတူ ပေးပို့ရမယ်။",
explain: "ဒါက အနာဂတ်မှာ ကျွန်တော်တို့ ထည့်သွင်းမယ့် API တစ်ခု ဖြစ်နိုင်ပေမယ့်၊ အခုတော့ မရပါသေးဘူး။"
},
{
text: "inputs တွေနဲ့ targets တွေ နှစ်ခုလုံးကို tokenizer ကို သီးခြားစီ ခေါ်ဆိုမှုနှစ်ခုနဲ့ preprocess လုပ်ရမယ်။",
explain: "ဒါက မှန်ပေမယ့် မပြည့်စုံပါဘူး။ tokenizer က နှစ်ခုလုံးကို မှန်ကန်စွာ လုပ်ဆောင်နိုင်ဖို့ သင်လုပ်ရမယ့်အရာတစ်ခု ရှိပါတယ်။"
},
{
text: "ပုံမှန်အတိုင်း၊ inputs တွေကိုပဲ tokenize လုပ်ရပါမယ်။",
explain: "sequence classification problem မှာတော့ မဟုတ်ပါဘူး။ targets တွေကလည်း ကျွန်တော်တို့ numbers တွေအဖြစ် ပြောင်းလဲဖို့ လိုအပ်တဲ့ texts တွေပါပဲ!"
},
{
text: "inputs တွေကို tokenizer ကို ပေးပို့ရမယ်၊ targets တွေကိုလည်း ပေးပို့ရမယ်၊ ဒါပေမယ့် special context manager အောက်မှာ ပေးပို့ရမယ်။",
explain: "မှန်ပါတယ်။ tokenizer ကို အဲဒီ context manager က target mode ထဲကို ထည့်ဖို့ လိုအပ်ပါတယ်။",
correct: true
}
]}
/>
{#if fw === 'pt'}
### ၈။ sequence-to-sequence problems တွေအတွက် Trainer ရဲ့ သီးခြား subclass တစ်ခု ဘာကြောင့် ရှိတာလဲ။
-100 လို့ သတ်မှတ်ထားတဲ့ labels တွေကို ignore လုပ်ဖို့ custom loss တစ်ခု အသုံးပြုတာကြောင့်။",
explain: "ဒါက custom loss မဟုတ်ပါဘူး၊ loss ကို အမြဲတမ်း တွက်ချက်တဲ့ နည်းလမ်းပါပဲ။"
},
{
text: "sequence-to-sequence problems တွေက special evaluation loop တစ်ခု လိုအပ်တာကြောင့်။",
explain: "မှန်ပါတယ်။ Sequence-to-sequence models ရဲ့ predictions တွေကို generate() method ကို အသုံးပြုပြီး မကြာခဏ run ပါတယ်။",
correct: true
},
{
text: "sequence-to-sequence problems တွေမှာ targets တွေက texts တွေ ဖြစ်နေတာကြောင့်။",
explain: "Trainer က ဒါကို သိပ်ဂရုမစိုက်ပါဘူး၊ ဘာလို့လဲဆိုတော့ ၎င်းတို့ကို အရင်က preprocess လုပ်ပြီးသား ဖြစ်လို့ပါ။"
},
{
text: "sequence-to-sequence problems တွေမှာ models နှစ်ခုကို အသုံးပြုတာကြောင့်။",
explain: "ကျွန်တော်တို့ encoder နဲ့ decoder ဆိုပြီး models နှစ်ခုကို အသုံးပြုတာ မှန်ပါတယ်၊ ဒါပေမယ့် ၎င်းတို့ကို model တစ်ခုတည်းမှာ အတူတကွ ပေါင်းစည်းထားပါတယ်။"
}
]}
/>
{:else}
### ၉။ Transformer model တစ်ခုပေါ်မှာ `compile()` ကို ခေါ်ဆိုတဲ့အခါ loss ကို သတ်မှတ်ဖို့ မလိုအပ်တာ ဘာကြောင့်လဲ။
model.fit() မှာ loss ကို သတ်မှတ်တာကြောင့်။",
explain: "မမှန်ပါဘူး၊ loss function ကို `model.compile()` run ပြီးတာနဲ့ အမြဲတမ်း fix လုပ်ထားတာဖြစ်ပြီး `model.fit()` မှာ ပြောင်းလဲလို့ မရပါဘူး။"
}
]}
/>
{/if}
### ၁၀။ model အသစ်တစ်ခုကို ဘယ်အချိန်မှာ pretrain လုပ်သင့်လဲ။
### ၁၁။ language model တစ်ခုကို texts အများကြီးပေါ်မှာ pretrain လုပ်ဖို့ ဘာကြောင့် လွယ်ကူတာလဲ။
### ၁၂။ question answering task အတွက် data ကို preprocess လုပ်တဲ့အခါ အဓိက စိန်ခေါ်မှုတွေက ဘာတွေလဲ။
### ၁၃။ question answering မှာ post-processing ကို ပုံမှန်အားဖြင့် ဘယ်လိုလုပ်ဆောင်သလဲ။
## ဝေါဟာရ ရှင်းလင်းချက် (Glossary)
* **Token Classification Problem**: စာသား sequence တစ်ခုအတွင်းရှိ token တစ်ခုစီကို အမျိုးအစားခွဲခြားသတ်မှတ်ခြင်း လုပ်ငန်း (ဥပမာ- Named Entity Recognition)။
* **Grammatical Components**: စာကြောင်းတစ်ကြောင်းအတွင်းရှိ သဒ္ဒါဆိုင်ရာ အစိတ်အပိုင်းများ (ဥပမာ- noun, verb, adjective)။
* **Sequence Classification Problem**: စာသား sequence တစ်ခုလုံးကို သတ်မှတ်ထားသော အမျိုးအစားတစ်ခုသို့ ခွဲခြားသတ်မှတ်ခြင်း လုပ်ငန်း။
* **Named Entity Recognition (NER)**: စာသားထဲက လူအမည်၊ နေရာအမည်၊ အဖွဲ့အစည်းအမည် စတဲ့ သီးခြားအမည်တွေကို ရှာဖွေဖော်ထုတ်ခြင်း။
* **Preprocessing Pipelines**: AI မော်ဒယ်များအတွက် ဒေတာများကို ပြင်ဆင်ရန် အဆင့်ဆင့်လုပ်ဆောင်ရသော လုပ်ငန်းစဉ်များ။
* **Tokenize**: စာသား (သို့မဟုတ် အခြားဒေတာ) ကို AI မော်ဒယ်များ စီမံဆောင်ရွက်နိုင်ရန် tokens တွေအဖြစ် ပိုင်းခြားပေးသည့် လုပ်ငန်းစဉ်။
* **Subword Tokenization Model**: စကားလုံးများကို သေးငယ်သော subword units (ဥပမာ- word pieces, byte-pair encodings) များအဖြစ် ပိုင်းခြားသော model။
* **Full Tokenization Pipeline**: စာသားကို tokens များအဖြစ် ပြောင်းလဲရန် လိုအပ်သော အဆင့်များအားလုံး (ဥပမာ- splitting, subword tokenization, special token addition)။
* **Special Tokens**: Model များအတွက် အထူးအဓိပ္ပာယ်ရှိသော tokens များ (ဥပမာ- `[CLS]`, `[SEP]`, `[PAD]`)။
* **`-100` (Label)**: Loss တွက်ချက်မှုတွင် လျစ်လျူရှုရန် သတ်မှတ်ထားသော label တန်ဖိုး။
* **Truncate**: input sequence ကို အရှည်သတ်မှတ်ချက်တစ်ခုအထိ ဖြတ်တောက်ခြင်း။
* **Pad**: input sequence များကို သတ်မှတ်ထားသော အရှည်အထိ တူညီအောင် အပို tokens များထည့်သွင်းခြင်း။
* **Labels**: AI မော်ဒယ်ကို လေ့ကျင့်ရာတွင် အသုံးပြုသော မှန်ကန်သည့် output တန်ဖိုးများ။
* **Original Labels**: preprocessing မလုပ်မီက ဒေတာနှင့် တွဲလျက်ပါရှိသော မူရင်း labels များ။
* **Align Labels**: original labels များကို tokenization ပြုလုပ်ပြီးနောက် ရရှိလာသော tokens များနှင့် ကိုက်ညီအောင် ချိန်ညှိခြင်း။
* **Domain Adaptation**: မော်ဒယ်တစ်ခုကို မူလလေ့ကျင့်ထားသော domain မှ ကွဲပြားခြားနားသော domain အသစ်တစ်ခုတွင် ပိုမိုကောင်းမွန်စွာ လုပ်ဆောင်နိုင်စေရန် ချိန်ညှိခြင်း။
* **Inference**: လေ့ကျင့်ပြီးသား Artificial Intelligence (AI) မော်ဒယ်တစ်ခုကို အသုံးပြုပြီး input data ကနေ ခန့်မှန်းချက်တွေ ဒါမှမဟုတ် output တွေကို ထုတ်လုပ်တဲ့ လုပ်ငန်းစဉ်။
* **Fine-tune**: ကြိုတင်လေ့ကျင့်ထားပြီးသား (pre-trained) မော်ဒယ်တစ်ခုကို သီးခြားလုပ်ငန်းတစ်ခု (specific task) အတွက် အနည်းငယ်သော ဒေတာနဲ့ ထပ်မံလေ့ကျင့်ပေးခြင်းကို ဆိုလိုပါတယ်။
* **Robust**: မတူညီသော input များ သို့မဟုတ် အခြေအနေများအောက်တွင် ကောင်းစွာလုပ်ဆောင်နိုင်ခြင်း။
* **Masked Language Modeling (MLM)**: စာကြောင်းတစ်ခုထဲမှ စကားလုံးအချို့ကို ဝှက်ထားပြီး ၎င်းတို့ကို ခန့်မှန်းစေခြင်းဖြင့် model ကို လေ့ကျင့်သော task (BERT ကဲ့သို့)။
* **Input Sentence**: model သို့ ပေးပို့သော စာကြောင်း။
* **Randomly Masked**: ကျပန်းရွေးချယ်ထားသော စကားလုံးများကို ဖုံးကွယ်ထားခြင်း။
* **Original Input Tokens**: mask မလုပ်မီက မူရင်း input sequence ရှိ tokens များ။
* **Causal Language Modeling**: စာကြောင်းတစ်ခု၏ နောက်ဆက်တွဲ token (စကားလုံး) ကို ခန့်မှန်းခြင်းဖြင့် model ကို လေ့ကျင့်သော task (GPT-2 ကဲ့သို့)။
* **Data Augmentation**: Training data ကို အမျိုးမျိုးသော နည်းလမ်းများဖြင့် တိုးချဲ့ခြင်း။
* **Sequence-to-sequence Problem**: input sequence တစ်ခုမှ output sequence တစ်ခုသို့ ပြောင်းလဲခြင်း လုပ်ငန်း (ဥပမာ- translation, summarization)။
* **Summarization**: ရှည်လျားသော စာသားတစ်ခု၏ အနှစ်ချုပ်ကို ထုတ်လုပ်ခြင်း။
* **Question Answering Problem**: ပေးထားသော စာသားတစ်ခုမှ မေးခွန်းတစ်ခု၏ အဖြေကို ရှာဖွေခြင်း။
* **Translation Problem**: ဘာသာစကားတစ်ခုမှ အခြားဘာသာစကားတစ်ခုသို့ စာသားများကို ဘာသာပြန်ခြင်း။
* **Inputs**: model သို့ ပေးပို့သော ဒေတာ။
* **Targets**: model ၏ လိုချင်သော output များ (labels)။
* **Context Manager (Python)**: `with` statement ကို အသုံးပြု၍ အရင်းအမြစ်များကို စီမံခန့်ခွဲရန် ကူညီပေးသော Python အင်္ဂါရပ်။
* **`Trainer`**: Hugging Face Transformers library မှ model များကို လေ့ကျင့်ရန်အတွက် မြင့်မားသောအဆင့် (high-level) API။
* **Custom Loss**: ပုံမှန် loss function မဟုတ်ဘဲ သီးခြားလိုအပ်ချက်များအတွက် ဖန်တီးထားသော loss function။
* **Evaluation Loop**: model ၏ စွမ်းဆောင်ရည်ကို အကဲဖြတ်ရန် လုပ်ဆောင်သော လုပ်ငန်းစဉ်။
* **`generate()` Method**: Sequence-to-sequence models များတွင် text ကို generate (ထုတ်လုပ်) ရန် အသုံးပြုသော method။
* **Encoder**: Transformer Architecture ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး input data (ဥပမာ- စာသား) ကို နားလည်ပြီး ကိုယ်စားပြုတဲ့ အချက်အလက် (representation) အဖြစ် ပြောင်းလဲပေးပါတယ်။
* **Decoder**: Transformer Architecture ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး encoder ကနေ ရရှိတဲ့ အချက်အလက် (representation) ကို အသုံးပြုပြီး output data (ဥပမာ- ဘာသာပြန်ထားတဲ့ စာသား) ကို ထုတ်ပေးပါတယ်။
* **`compile()` Method**: Keras API တွင် model ကို training အတွက် ပြင်ဆင်ရန် အသုံးပြုသော method။ ၎င်းသည် optimizer, loss function နှင့် metrics များကို သတ်မှတ်သည်။
* **Unsupervised Learning**: Labels မပါဝင်သော data များကို အသုံးပြု၍ model ကို လေ့ကျင့်ခြင်း။
* **Loss Function**: Model ၏ ခန့်မှန်းချက်များနှင့် အမှန်တကယ် labels များကြား ကွာခြားမှုကို တိုင်းတာသော function။
* **`model.internal_loss_output`**: model ၏အတွင်းပိုင်းမှ ထုတ်လုပ်သော loss တန်ဖိုး။
* **`model.fit()`**: Keras API တွင် model ကို training data ဖြင့် လေ့ကျင့်ရန် အသုံးပြုသော method။
* **Pretrain a New Model**: မည်သည့် ကြိုတင်လေ့ကျင့်မှုမျှ မရှိဘဲ လုံးဝအသစ်ကနေ model တစ်ခုကို လေ့ကျင့်ခြင်း။
* **Compute Costs**: AI model များ လေ့ကျင့်ရန်အတွက် လိုအပ်သော ကွန်ပျူတာ အရင်းအမြစ်များ (CPU, GPU) ၏ ကုန်ကျစရိတ်။
* **Self-supervised Problem**: Input data ကိုယ်တိုင်ကနေ labels တွေကို ဖန်တီးယူပြီး model ကို လေ့ကျင့်တဲ့ ပြဿနာ (ဥပမာ- language modeling)။
* **Contexts (QA)**: မေးခွန်းရဲ့ အဖြေပါဝင်နိုင်တဲ့ ရှည်လျားသော စာသား။
* **Training Features**: training အတွက် ပြင်ဆင်ထားသော input data ၏ အစိတ်အပိုင်းများ။
* **Answer Span**: မေးခွန်းရဲ့ အဖြေပါဝင်တဲ့ text ထဲက အပိုင်း။
* **Start/End Token**: answer span ရဲ့ စတင်တဲ့ token နဲ့ ဆုံးဖြတ်တဲ့ token ရဲ့ အနေအထား။
* **Post-processing**: Model ၏ output များကို နောက်ဆုံးအသုံးပြုမှုအတွက် ပြင်ဆင်ခြင်း လုပ်ငန်းစဉ်။
* **Decode**: token IDs များကို မူရင်းစာသား (သို့မဟုတ် အခြားပုံစံ) အဖြစ် ပြန်လည်ပြောင်းလဲခြင်း။
* **Score**: Model က ခန့်မှန်းချက်တစ်ခုအတွက် ပေးသော ယုံကြည်စိတ်ချရမှု တန်ဖိုး။

Xet Storage Details

Size:
21.1 kB
·
Xet hash:
1290de624e954b8afb2e89001175693dc85f487b4de2320455b23c36ac7930a0

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.