Buckets:

rtrm's picture
|
download
raw
16 kB
# အခန်း (၈) ဆိုင်ရာ မေးခွန်းများ[[end-of-chapter-quiz]]
ဒီအခန်းမှာ သင်ယူခဲ့တာတွေကို စစ်ဆေးကြည့်ရအောင်။
### ၁။ Python traceback ကို ဘယ်အစီအစဥ်အတိုင်း ဖတ်သင့်သလဲ။
### ၂။ Minimal reproducible example ဆိုတာ ဘာလဲ။
### ၃။ အောက်ပါ code ကို run ဖို့ ကြိုးစားပြီး error ထွက်တယ်လို့ ယူဆပါစို့-
```py
from transformers import GPT3ForSequenceClassification
# ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)
# ---------------------------------------------------------------------------
# ImportError Traceback (most recent call last)
# /var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_30848/333858878.py in
# ----> 1 from transformers import GPT3ForSequenceClassification
# ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)
```
အကူအညီတောင်းဖို့အတွက် forum topic ရဲ့ ခေါင်းစဉ်တစ်ခုအတွက် ဘယ်အရာက ကောင်းမွန်တဲ့ ရွေးချယ်မှု ဖြစ်နိုင်မလဲ။
ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)",
explain: "traceback ရဲ့ နောက်ဆုံး line ကို ထည့်သွင်းတာက ဖော်ပြနိုင်ပေမယ့်၊ ဒါက topic ရဲ့ main body အတွက် ပိုသင့်တော်ပါတယ်။ ထပ်ကြိုးစားပါ။"
},
{
text: "from transformers import GPT3ForSequenceClassification နဲ့ ပြဿနာ",
explain: "ထပ်ကြိုးစားပါ -- ဒါက အသုံးဝင်တဲ့ အချက်အလက်တွေ ပေးပေမယ့်၊ စာသားရဲ့ main body အတွက် ပိုကောင်းပါတယ်။",
},
{
text: "GPT3ForSequenceClassification ကို ဘာကြောင့် import လုပ်လို့ မရတာလဲ။",
explain: "ကောင်းမွန်တဲ့ ရွေးချယ်မှုပါ! ဒီခေါင်းစဉ်က ကျစ်လစ်ပြီး စာဖတ်သူကို ဘာမှားနေနိုင်သလဲဆိုတဲ့ အရိပ်အမြွက် ပေးပါတယ် (ဆိုလိုသည်မှာ GPT-3 ကို 🤗 Transformers မှာ ထောက်ပံ့မပေးထားပါဘူး)။",
correct: true
},
{
text: "GPT-3 ကို 🤗 Transformers မှာ ထောက်ပံ့ပေးထားတာလား။",
explain: "ကောင်းပါတယ်။ မေးခွန်းတွေကို topic titles အဖြစ် အသုံးပြုတာက community ကို ပြဿနာကို ဆက်သွယ်ဖို့ ကောင်းမွန်တဲ့ နည်းလမ်းတစ်ခုပါပဲ။",
correct: true
}
]}
/>
### ၄။ သင် `trainer.train()` ကို run ဖို့ ကြိုးစားပြီး error က ဘယ်ကလာတာလဲဆိုတာ တိတိကျကျ မပြောပြတဲ့ cryptic error တစ်ခုနဲ့ ရင်ဆိုင်ရတယ်လို့ ယူဆပါ။ သင့်ရဲ့ training pipeline မှာ error တွေအတွက် ပထမဆုံး ဘယ်နေရာမှာ ရှာသင့်သလဲ။
### ၅။ CUDA error ကို debug လုပ်ဖို့ အကောင်းဆုံးနည်းလမ်းက ဘာလဲ။
### ၆။ GitHub ပေါ်က issue တစ်ခုကို ပြင်ဆင်ဖို့ အကောင်းဆုံးနည်းလမ်းက ဘာလဲ။
### ၇။ batch တစ်ခုတည်းကို overfitting လုပ်တာက ဘာကြောင့် ကောင်းမွန်တဲ့ debugging နည်းလမ်းတစ်ခု ဖြစ်တာလဲ။
### ၈။ 🤗 Transformers repo မှာ issue အသစ်တစ်ခု ဖန်တီးတဲ့အခါ သင့် compute environment အကြောင်း အသေးစိတ်အချက်အလက်တွေကို `transformers-cli env` နဲ့ ထည့်သွင်းတာက ဘာကြောင့် ကောင်းမွန်တဲ့ အကြံဥာဏ်ဖြစ်တာလဲ။
## ဝေါဟာရ ရှင်းလင်းချက် (Glossary)
* **Python Traceback**: Python ပရိုဂရမ်တစ်ခု အလုပ်လုပ်နေစဉ် error တစ်ခုဖြစ်ပွားသောအခါ၊ error ဖြစ်ပွားရာ နေရာနှင့် ၎င်း၏ ခေါ်ဆိုမှုမှတ်တမ်း (call stack) ကို ပြသသော အစီရင်ခံစာ။
* **Exception**: ပရိုဂရမ်တစ်ခု အလုပ်လုပ်နေစဉ် ဖြစ်ပေါ်လာသော ပြဿနာတစ်ခုကြောင့် ၎င်းသည် ပုံမှန်အတိုင်း ဆက်လက်လုပ်ဆောင်နိုင်ခြင်းမရှိခြင်း။
* **Programming Languages**: ကွန်ပျူတာများကို ညွှန်ကြားချက်များ ပေးရန်အတွက် အသုံးပြုသော ဘာသာစကားများ (ဥပမာ- Python, Java, C++)။
* **Minimal Reproducible Example (MRE)**: ပြဿနာတစ်ခုကို ပြန်လည်ဖန်တီးရန်အတွက် လိုအပ်သော အနည်းဆုံး code ပမာဏပါဝင်သည့် သီးခြားနှင့် ကျစ်လစ်သော code အပိုင်းအစ။
* **Transformer Architecture**: Natural Language Processing (NLP) မှာ အောင်မြင်မှုများစွာရရှိခဲ့တဲ့ deep learning architecture တစ်မျိုးပါ။
* **External Dependencies**: project တစ်ခု အလုပ်လုပ်ရန်အတွက် လိုအပ်သော အခြား library များ၊ modules များ သို့မဟုတ် files များ။
* **Maintainers**: ဆော့ဖ်ဝဲလ် project တစ်ခုကို ထိန်းသိမ်းစောင့်ရှောက်ပြီး စီမံခန့်ခွဲသူများ။
* **Screenshot**: ကွန်ပျူတာမျက်နှာပြင်ပေါ်ရှိ မြင်ကွင်းတစ်ခု၏ ပုံရိပ်။
* **Error**: ပရိုဂရမ်တစ်ခု အလုပ်လုပ်နေစဉ် ဖြစ်ပေါ်လာသော ပြဿနာတစ်ခုကြောင့် ၎င်းသည် ပုံမှန်အတိုင်း ဆက်လက်လုပ်ဆောင်နိုင်ခြင်းမရှိခြင်း။
* **Issue**: ဆော့ဖ်ဝဲလ် project တစ်ခုတွင် တွေ့ရှိရသော bug, feature request, သို့မဟုတ် ပြဿနာတစ်ခု။ ၎င်းကို GitHub Issues ကဲ့သို့သော platform များတွင် မှတ်တမ်းတင်ထားသည်။
* **Google Colab Notebook**: Google မှ ပံ့ပိုးပေးထားသော cloud-based Jupyter Notebook environment တစ်ခုဖြစ်ပြီး Python code များကို web browser မှတစ်ဆင့် run နိုင်စေသည်။
* **`ImportError`**: Python တွင် module တစ်ခု သို့မဟုတ် object တစ်ခုကို import လုပ်ရာတွင် ဖြစ်ပေါ်သော error။
* **`GPT3ForSequenceClassification`**: Hugging Face Transformers library တွင် မရှိသော GPT-3 ၏ sequence classification version အတွက် အမည်မှား။ (GPT-3 သည် open source မဟုတ်သေးပါ)။
* **`transformers` (Library)**: Hugging Face Transformers library ကို ရည်ညွှန်းသည်။
* **Forum Topic**: အွန်လိုင်းဖိုရမ်တစ်ခုရှိ သီးခြားခေါင်းစဉ်။
* **Concise**: တိုတိုတုတ်တုတ်နှင့် ရှင်းရှင်းလင်းလင်း။
* **`trainer.train()`**: Hugging Face Trainer API ကို အသုံးပြုပြီး model ကို လေ့ကျင့်သော method။
* **Cryptic Error**: အဓိပ္ပာယ်ဖော်ရခက်ခဲသော သို့မဟုတ် ရှင်းလင်းစွာ မဖော်ပြထားသော error။
* **Training Pipeline**: Machine Learning မော်ဒယ်တစ်ခုကို data preprocessing မှစ၍ model training, evaluation အထိ ပါဝင်သော အဆင့်များစွာရှိသည့် လုပ်ငန်းစဉ်။
* **Optimization Step**: Training လုပ်ငန်းစဉ်တွင် model ၏ parameters များကို ပြောင်းလဲခြင်းဖြင့် model စွမ်းဆောင်ရည်ကို မြှင့်တင်သည့် အဆင့်။
* **Gradients**: Model ၏ parameters များကို update လုပ်ရန်အတွက် အသုံးပြုသော loss function ၏ ဆင်းသက်မှုများ။
* **Backpropagation**: Neural networks များတွင် weights များကို update လုပ်ရန် gradients များကို တွက်ချက်သည့် algorithm။
* **Optimizer**: Model ၏ weights များကို update လုပ်ရန် အသုံးပြုသော algorithm (ဥပမာ- AdamW)။
* **Evaluation Step**: Model ၏ စွမ်းဆောင်ရည်ကို တိုင်းတာသည့် အဆင့်။
* **Epoch**: Training dataset တစ်ခုလုံးကို model က တစ်ကြိမ် လေ့ကျင့်ပြီးစီးခြင်း။
* **Datasets**: AI မော်ဒယ်တွေ လေ့ကျင့်ဖို့အတွက် အသုံးပြုတဲ့ ဒေတာအစုအဝေးတစ်ခုပါ။
* **Encode**: ဒေတာများကို ကွန်ပျူတာက နားလည်နိုင်သော ပုံစံအဖြစ် ပြောင်းလဲခြင်း။
* **Features**: Dataset အတွင်းရှိ attributes များ သို့မဟုတ် ကဏ္ဍများ။
* **Dataloaders**: Dataset ကနေ data တွေကို batch အလိုက် load လုပ်ပေးတဲ့ PyTorch (သို့မဟုတ် TensorFlow) utility class။
* **CUDA Error**: NVIDIA GPU များကို အသုံးပြုသည့်အခါ ဖြစ်ပေါ်တတ်သော error (Compute Unified Device Architecture)။
* **Uninformative**: အချက်အလက်မပြည့်စုံခြင်း။
* **Execute**: Program တစ်ခုကို run ခြင်း။
* **CPU (Central Processing Unit)**: ကွန်ပျူတာ၏ ပင်မ processor။
* **Asynchronous**: လုပ်ဆောင်ချက်တစ်ခု ပြီးဆုံးရန် စောင့်ဆိုင်းစရာမလိုဘဲ အခြားလုပ်ဆောင်ချက်များကို တစ်ပြိုင်နက်တည်း လုပ်ဆောင်နိုင်ခြင်း။
* **Batch Size**: training လုပ်ငန်းစဉ်တစ်ခုစီတွင် model သို့ ပေးပို့သော input samples အရေအတွက်။
* **CUDA Out-of-Memory Errors**: GPU memory ပြည့်သွား၍ ထပ်မံ data load လုပ်၍မရတော့သည့် error။
* **Jupyter Kernel**: Jupyter Notebook တွင် code များကို execute လုပ်သော အင်ဂျင်။
* **GitHub**: Version control အတွက် Git ကို အသုံးပြုသည့် web-based platform တစ်ခုဖြစ်ပြီး code များနှင့် project များကို host လုပ်သည်။
* **Source Code**: ပရိုဂရမ်တစ်ခုကို လူသားများဖတ်နိုင်သော programming language ဖြင့် ရေးသားထားသော code။
* **Pull Request**: Git repository တွင် မိမိ၏ ပြောင်းလဲမှုများကို main branch သို့ ပေါင်းစည်းရန် တောင်းဆိုခြင်း။
* **Overfitting**: Model တစ်ခုသည် training data ကို အလွန်အမင်း ကောင်းစွာ မှတ်မိနေပြီး၊ new data တွင် စွမ်းဆောင်ရည် နည်းပါးခြင်း။
* **Generalize**: Model တစ်ခုသည် training data မှ သင်ယူထားသော ပုံစံများကို new, unseen data တွင် ကောင်းစွာ အသုံးချနိုင်ခြင်း။
* **Loss (Function)**: Model ၏ ခန့်မှန်းချက်များနှင့် အမှန်တကယ် labels များကြား ကွာခြားမှုကို တိုင်းတာသော တန်ဖိုး။
* **Tensor Shapes**: tensors (multi-dimensional arrays) များ၏ dimensions များ။
* **Compute Environment**: ကွန်ပျူတာ system ၏ hardware (CPU, GPU) နှင့် software (operating system, library versions) ဖွဲ့စည်းမှု။
* **`transformers-cli env`**: Hugging Face Transformers CLI (Command Line Interface) မှ သုံးစွဲသူ၏ compute environment အကြောင်း အချက်အလက်များကို ထုတ်ပေးသော command။
* **🤗 Transformers Repo**: Hugging Face Transformers library ၏ GitHub repository။
* **Major Version**: ဆော့ဖ်ဝဲလ်တစ်ခု၏ အဓိက version ပြောင်းလဲမှု (ဥပမာ- v3 မှ v4)။
* **API (Application Programming Interface)**: ဆော့ဖ်ဝဲလ် နှစ်ခုကြား အပြန်အလှန် ချိတ်ဆက်ဆောင်ရွက်နိုင်ရန် လမ်းကြောင်းဖွင့်ပေးသော အစုအဝေး (set of rules) များ။
* **Operating System (OS)**: ကွန်ပျူတာ hardware နှင့် software အရင်းအမြစ်များကို စီမံခန့်ခွဲသော system software (ဥပမာ- Windows, macOS, Linux)။

Xet Storage Details

Size:
16 kB
·
Xet hash:
448990ab0b1ef275e6998b721f6b1f80669f4b6c80fe5f8088e829bbfc6eacd4

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