Buckets:
| # Fine-tuning လုပ်ငန်း ပြီးစီးပြီ![[fine-tuning-check]] | |
| <CourseFloatingBanner | |
| chapter={3} | |
| classNames="absolute z-10 right-0 top-0" | |
| /> | |
| ဒါက ပြည့်စုံလွန်းပါတယ်။ ပထမအခန်းနှစ်ခန်းမှာ သင်ဟာ models တွေနဲ့ tokenizers တွေအကြောင်း သင်ယူခဲ့ပြီး၊ အခုတော့ ခေတ်မီ အကောင်းဆုံးအလေ့အကျင့်တွေကို အသုံးပြုပြီး သင်ရဲ့ကိုယ်ပိုင်ဒေတာအတွက် ၎င်းတို့ကို ဘယ်လို fine-tune လုပ်ရမယ်ဆိုတာ သင်သိသွားပါပြီ။ အနှစ်ချုပ်အနေနဲ့၊ ဒီအခန်းမှာ သင်ဟာ အောက်ပါတို့ကို သင်ယူခဲ့ပါပြီ။ | |
| * [Hub](https://huggingface.co/datasets) ပေါ်က datasets တွေနဲ့ ခေတ်မီ data processing နည်းလမ်းတွေအကြောင်း သင်ယူခဲ့သည်။ | |
| * dynamic padding နဲ့ data collators တွေကို အသုံးပြုခြင်းအပါအဝင် datasets တွေကို ထိရောက်စွာ load လုပ်ပြီး preprocessing လုပ်နည်းကို သင်ယူခဲ့သည်။ | |
| * နောက်ဆုံးပေါ် features တွေပါဝင်တဲ့ high-level `Trainer` API ကို အသုံးပြုပြီး fine-tuning နဲ့ evaluation ကို အကောင်အထည်ဖော်ခဲ့သည်။ | |
| * PyTorch နဲ့ အစကနေ အဆုံးထိ ပြည့်စုံတဲ့ custom training loop တစ်ခုကို အကောင်အထည်ဖော်ခဲ့သည်။ | |
| * multiple GPUs ဒါမှမဟုတ် TPUs တွေပေါ်မှာ သင်ရဲ့ training code ကို ချောမွေ့စွာ အလုပ်လုပ်နိုင်စေဖို့ 🤗 Accelerate ကို အသုံးပြုခဲ့သည်။ | |
| * mixed precision training နဲ့ gradient accumulation လိုမျိုး ခေတ်မီ optimization နည်းလမ်းတွေကို အသုံးချခဲ့သည်။ | |
| > [!TIP] | |
| > 🎉 **ဂုဏ်ယူပါတယ်!** သင်ဟာ transformer models တွေကို fine-tuning လုပ်တဲ့ အခြေခံအချက်တွေကို ကျွမ်းကျင်သွားပါပြီ။ အခု သင်ဟာ လက်တွေ့ ML (Machine Learning) project တွေကို ကိုင်တွယ်ဖို့ အဆင်သင့်ဖြစ်နေပါပြီ! | |
| > | |
| > 📖 **ဆက်လက်လေ့လာရန်**: သင်၏ အသိပညာကို နက်ရှိုင်းစေရန် ဤအရင်းအမြစ်များကို လေ့လာပါ။ | |
| > - သီးခြား NLP (Natural Language Processing) လုပ်ငန်းများအတွက် [🤗 Transformers task guides](https://huggingface.co/docs/transformers/main/en/tasks/sequence_classification) | |
| > - ပြည့်စုံသော notebooks များအတွက် [🤗 Transformers examples](https://huggingface.co/docs/transformers/main/en/notebooks) | |
| > | |
| > 🚀 **နောက်တစ်ဆင့်များ**: | |
| > - သင်သင်ယူခဲ့သော နည်းလမ်းများကို အသုံးပြုပြီး သင်၏ကိုယ်ပိုင် dataset ပေါ်တွင် fine-tuning လုပ်ကြည့်ပါ။ | |
| > - [Hugging Face Hub](https://huggingface.co/models) ပေါ်မှာ ရရှိနိုင်တဲ့ မတူညီတဲ့ model architectures များကို စမ်းသပ်ကြည့်ပါ။ | |
| > - သင်၏ project များကို မျှဝေရန်နှင့် အကူအညီရယူရန် [Hugging Face community](https://discuss.huggingface.co/) သို့ ဝင်ရောက်ပါ။ | |
| ဒါက 🤗 Transformers နဲ့ သင်၏ ခရီးရဲ့ အစသာ ရှိပါသေးတယ်။ နောက်အခန်းမှာတော့ သင်၏ models တွေနဲ့ tokenizers တွေကို လူအဖွဲ့အစည်း (community) နဲ့ ဘယ်လို မျှဝေရမယ်၊ ပြီးတော့ တဖြည်းဖြည်း တိုးတက်နေတဲ့ pretrained models တွေရဲ့ ecosystem ကို ဘယ်လို ပံ့ပိုးပေးရမယ်ဆိုတာကို ကျွန်တော်တို့ လေ့လာသွားပါမယ်။ | |
| ဒီနေရာမှာ သင်တည်ဆောက်ခဲ့တဲ့ ကျွမ်းကျင်မှုတွေ - ဒေတာ preprocessing၊ training configuration၊ evaluation နဲ့ optimization - တွေဟာ မည်သည့် machine learning project အတွက်မဆို အခြေခံကျပါတယ်။ သင် text classification၊ named entity recognition၊ question answering ဒါမှမဟုတ် အခြား NLP လုပ်ငန်းတစ်ခုခုမှာ အလုပ်လုပ်နေသည်ဖြစ်စေ၊ ဒီနည်းလမ်းတွေက သင့်ကို အထောက်အကူပြုပါလိမ့်မယ်။ | |
| > [!TIP] | |
| > 💡 **အောင်မြင်မှုအတွက် အကြံပြုချက်များ**: | |
| > - custom training loops တွေကို အကောင်အထည်မဖော်ခင် `Trainer` API ကို အသုံးပြုပြီး ခိုင်မာတဲ့ baseline တစ်ခုနဲ့ အမြဲတမ်း စတင်ပါ။ | |
| > - ပိုမိုကောင်းမွန်တဲ့ starting points တွေအတွက် သင့်လုပ်ငန်းနဲ့ နီးစပ်တဲ့ pretrained models တွေကို ရှာဖွေဖို့ 🤗 Hub ကို အသုံးပြုပါ။ | |
| > - သင်၏ training ကို မှန်ကန်တဲ့ evaluation metrics တွေနဲ့ စောင့်ကြည့်ပါ ပြီးတော့ checkpoints တွေကို သိမ်းဆည်းဖို့ မမေ့ပါနဲ့။ | |
| > - လူအဖွဲ့အစည်းကို အကျိုးယူပါ - အခြားသူများကို ကူညီရန်နှင့် သင်၏အလုပ်အပေါ် တုံ့ပြန်ချက်ရယူရန် သင်၏ models တွေနဲ့ datasets တွေကို မျှဝေပါ။ | |
| ## ဝေါဟာရ ရှင်းလင်းချက် (Glossary) | |
| * **Fine-tuning**: ကြိုတင်လေ့ကျင့်ထားပြီးသား (pre-trained) မော်ဒယ်တစ်ခုကို သီးခြားလုပ်ငန်းတစ်ခု (specific task) အတွက် အနည်းငယ်သော ဒေတာနဲ့ ထပ်မံလေ့ကျင့်ပေးခြင်းကို ဆိုလိုပါတယ်။ | |
| * **Models**: Artificial Intelligence (AI) နယ်ပယ်တွင် အချက်အလက်များကို လေ့လာပြီး ခန့်မှန်းချက်များ ပြုလုပ်ရန် ဒီဇိုင်းထုတ်ထားသော သင်္ချာဆိုင်ရာဖွဲ့စည်းပုံများ။ | |
| * **Tokenizers**: စာသား (သို့မဟုတ် အခြားဒေတာ) ကို AI မော်ဒယ်များ စီမံဆောင်ရွက်နိုင်ရန် tokens တွေအဖြစ် ပိုင်းခြားပေးသည့် ကိရိယာ သို့မဟုတ် လုပ်ငန်းစဉ်။ | |
| * **Hub (Hugging Face Hub)**: AI မော်ဒယ်တွေ၊ datasets တွေနဲ့ demo တွေကို အခြားသူတွေနဲ့ မျှဝေဖို့၊ ရှာဖွေဖို့နဲ့ ပြန်လည်အသုံးပြုဖို့အတွက် အွန်လိုင်း platform တစ်ခု ဖြစ်ပါတယ်။ | |
| * **Data Processing Techniques**: ဒေတာများကို model က နားလည်ပြီး လုပ်ဆောင်နိုင်တဲ့ ပုံစံအဖြစ် ပြောင်းလဲပြင်ဆင်ခြင်း နည်းလမ်းများ။ | |
| * **Dynamic Padding**: Batch တစ်ခုအတွင်းရှိ samples များကို အဲဒီ batch ထဲက အရှည်ဆုံး sample ရဲ့ အရှည်အထိသာ padding လုပ်တဲ့ နည်းလမ်း။ | |
| * **Data Collators**: batch တစ်ခုအတွင်း samples များကို စုစည်းပေးသော functions သို့မဟုတ် classes များ။ | |
| * **High-level API (Application Programming Interface)**: အသုံးပြုရလွယ်ကူစေရန် ရှုပ်ထွေးသော အသေးစိတ်အချက်အလက်များကို ဖုံးကွယ်ထားသော ပရိုဂရမ်ရေးသားခြင်း interface။ | |
| * **`Trainer` API**: Hugging Face Transformers library မှ model များကို ထိရောက်စွာ လေ့ကျင့်ရန်အတွက် ဒီဇိုင်းထုတ်ထားသော မြင့်မားသောအဆင့် (high-level) API။ | |
| * **Evaluation**: မော်ဒယ်၏ စွမ်းဆောင်ရည်ကို တိုင်းတာခြင်း။ | |
| * **Custom Training Loop**: Trainer API ကဲ့သို့သော abstractions များကို အသုံးမပြုဘဲ PyTorch library ၏ အခြေခံလုပ်ဆောင်ချက်များဖြင့် model ကို လေ့ကျင့်ရန် code ကို ကိုယ်တိုင်ရေးသားခြင်း။ | |
| * **PyTorch**: Facebook (ယခု Meta) က ဖန်တီးထားတဲ့ open-source machine learning library တစ်ခုဖြစ်ပြီး deep learning မော်ဒယ်တွေ တည်ဆောက်ဖို့အတွက် အသုံးပြုပါတယ်။ | |
| * **🤗 Accelerate**: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး PyTorch training loops တွေကို code အပြောင်းအလဲ အနည်းငယ်နဲ့ distributed training (multiple GPUs, TPUs) မှာ run နိုင်အောင် ကူညီပေးပါတယ်။ | |
| * **Multiple GPUs (Graphics Processing Units)**: ဂရပ်ဖစ်လုပ်ဆောင်မှုအတွက် အထူးဒီဇိုင်းထုတ်ထားသော processor များစွာကို အသုံးပြုခြင်း။ AI/ML (Artificial Intelligence/Machine Learning) လုပ်ငန်းများတွင် အရှိန်မြှင့်ရန် အသုံးများသည်။ | |
| * **TPUs (Tensor Processing Units)**: Google မှ AI/ML workloads များအတွက် အထူးဒီဇိုင်းထုတ်ထားသော processor များစွာ။ | |
| * **Mixed Precision Training**: မော်ဒယ်ကို လေ့ကျင့်ရာတွင် 16-bit floating-point numbers (fp16) နှင့် 32-bit floating-point numbers (fp32) နှစ်မျိုးလုံးကို ရောစပ်အသုံးပြုခြင်း။ ၎င်းသည် training ကို မြန်ဆန်စေပြီး memory အသုံးပြုမှုကို လျှော့ချသည်။ | |
| * **Gradient Accumulation**: GPU memory ကန့်သတ်ချက်ရှိသောအခါ ပိုကြီးမားသော batch sizes များကို အတုယူရန် batches အများအပြားပေါ်တွင် gradients များကို စုဆောင်းပြီးမှ update လုပ်ခြင်း။ | |
| * **ML Projects (Machine Learning Projects)**: Machine learning နည်းပညာများကို အသုံးပြု၍ ပြဿနာတစ်ခုကို ဖြေရှင်းရန် လုပ်ဆောင်သော project များ။ | |
| * **`task guides` (Transformers)**: Transformers library ကို အသုံးပြု၍ သီးခြား NLP (Natural Language Processing) လုပ်ငန်းများကို လုပ်ဆောင်ရန် လမ်းညွှန်များ။ | |
| * **`notebooks` (Transformers)**: Hugging Face Transformers library ကို အသုံးပြုပုံဥပမာများ ပါဝင်သော Jupyter Notebooks များ။ | |
| * **Model Architectures**: Model တစ်ခု၏ layers များနှင့် ၎င်းတို့ ချိတ်ဆက်ပုံကို ဖော်ပြသော ဒီဇိုင်းဖွဲ့စည်းပုံ။ | |
| * **Community**: Hugging Face တွင် AI/ML နယ်ပယ်မှ သုံးစွဲသူများ၊ developer များနှင့် သုတေသီများ စုစည်းထားသော အဖွဲ့အစည်း။ | |
| * **Preprocessing**: ဒေတာများကို model က နားလည်ပြီး လုပ်ဆောင်နိုင်တဲ့ ပုံစံအဖြစ် ပြောင်းလဲပြင်ဆင်ခြင်း လုပ်ငန်းစဉ်။ | |
| * **Training Configuration**: Model ကို လေ့ကျင့်ရန်အတွက် လိုအပ်သော setting များနှင့် parameters များကို သတ်မှတ်ခြင်း။ | |
| * **Optimization**: Model ၏ စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန် သို့မဟုတ် training ကို ပိုမိုထိရောက်စေရန် နည်းလမ်းများ။ | |
| * **Text Classification**: စာသားကို သတ်မှတ်ထားသော အမျိုးအစားများထဲသို့ ခွဲခြားသတ်မှတ်ခြင်း။ | |
| * **Named Entity Recognition (NER)**: စာသားထဲက လူအမည်၊ နေရာအမည်၊ အဖွဲ့အစည်းအမည် စတဲ့ သီးခြားအမည်တွေကို ရှာဖွေဖော်ထုတ်ခြင်း။ | |
| * **Question Answering**: မေးခွန်းတစ်ခုအတွက် စာသားထဲမှ အဖြေကို ရှာဖွေခြင်း။ | |
| * **Baseline**: ပထမဆုံး စွမ်းဆောင်ရည် စစ်ဆေးရန် အသုံးပြုသော အခြေခံ model သို့မဟုတ် ရလဒ်။ | |
| * **Pretrained Models**: အကြီးစား ဒေတာအမြောက်အမြားဖြင့် ကြိုတင်လေ့ကျင့်ထားပြီးဖြစ်သော AI (Artificial Intelligence) မော်ဒယ်များ။ | |
| * **Evaluation Metrics**: Model ၏ စွမ်းဆောင်ရည်ကို တိုင်းတာရန် အသုံးပြုသော တန်ဖိုးများ (ဥပမာ- accuracy, F1 score)။ | |
| * **Checkpoints**: မော်ဒယ်၏ weights များနှင့် အခြားဖွဲ့စည်းပုံများ (configuration) ကို သတ်မှတ်ထားသော အချိန်တစ်ခုတွင် သိမ်းဆည်းထားခြင်း။ | |
| * **Feedback**: လုပ်ဆောင်မှုတစ်ခုအပေါ် ရရှိသော တုံ့ပြန်မှု သို့မဟုတ် အကြံပြုချက်များ။ | |
| <EditOnGithub source="https://github.com/huggingface/course/blob/main/chapters/my/chapter3/6.mdx" /> |
Xet Storage Details
- Size:
- 16.8 kB
- Xet hash:
- 303b11890a09222bd656da252c22475e852729afa868b41f526a8e9569ffad06
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.