course documentation

အခန်း (၈) ဆိုင်ရာ မေးခွန်းများ

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

အခန်း (၈) ဆိုင်ရာ မေးခွန်းများ

Ask a Question

ဒီအခန်းမှာ သင်ယူခဲ့တာတွေကို စစ်ဆေးကြည့်ရအောင်။

၁။ Python traceback ကို ဘယ်အစီအစဥ်အတိုင်း ဖတ်သင့်သလဲ။

၂။ Minimal reproducible example ဆိုတာ ဘာလဲ။

၃။ အောက်ပါ code ကို run ဖို့ ကြိုးစားပြီး error ထွက်တယ်လို့ ယူဆပါစို့-

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 <module>
# ----> 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 ရဲ့ ခေါင်းစဉ်တစ်ခုအတွက် ဘယ်အရာက ကောင်းမွန်တဲ့ ရွေးချယ်မှု ဖြစ်နိုင်မလဲ။

၄။ သင် 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)။
Update on GitHub