Myanmar Software Engineers Q&A Dataset (အပိုင်း ၁)
နည်းပညာဆိုင်ရာအချက်အလက်တွေပါတဲ့ အမေးအဖြေဒေတာစုတစ်ခု တည်ဆောက်ရန် စဉ်းစားကြည့်ခြင်း
မြန်မာနိုင်ငံမှာ AI နဲ့ပတ်သက်ရင် လုပ်ချင်တာတွေ လုပ်နိုင်ဖို့အတွက်၊ လက်တွေ့အသုံးချနိုင်တဲ့ ဒေတာစု (datasets) တွေ ရှားပါးနေသေးတာတော့ လူတိုင်းသိကြပါတယ်။ ကျွန်တော်တို့ ကုမ္ပဏီအပါအဝင်၊ နိုင်ငံတကာကုမ္ပဏီတွေ၊ မြန်မာနိုင်ငံသားသုတေသနပညာရှင်တွေ တစ်ဦးချင်း တစ်ဖွဲ့ချင်း လုပ်နေကြတာလေးတွေတော့ရှိကြပေမယ့်၊ အများစုက Wikipedia စွယ်စုံကျမ်းဒေတာ၊ သတင်းဌာနတွေရဲ့ သတင်းဒေတာစုတွေ အနေနဲ့ပဲရှိနေတာပိုများပါတယ်။ တစ်လောက Cohere ကလုပ်တဲ့ Project Aya လို့ခေါ်တဲ့ ဘာသာစကားပေါင်းစုံပါဝင်တဲ့ ဒေတာအစုမှာတော့ မြန်မာစာ အမေးအဖြေစာကြောင်းရေ ၅၀၀ နီးပါးပါဝင်ခဲ့ပါတယ်။ AI နည်းပညာခေတ်မှာ မြန်မာဘာသာစကားအနေနဲ့ မကျန်ခဲ့ဖို့ဆိုရင် မြန်မာဘာသာနဲ့ အမေးအဖြေ ဒေတာစုတွေဆိုတာ လိုအပ်ချက်တစ်ရပ်ပါပဲ။ ဒါကြောင့် ကျွန်တော့်အနေနဲ့ နည်းပညာပိုင်းဆိုင်ရာ ဗဟုသုတကြွယ်ဝတဲ့ဒေတာစု တစ်ခု တည်ဆောက်ဖို့ စဉ်းစားမိပါတယ်။
အဲဒီအတွက် Facebook ပေါ်က Myanmar Software Engineers ဆိုတဲ့အဖွဲ့က ကျွန်တော်တို့ ရည်ရွယ်ချက်အတွက် အကောင်းဆုံးနေရာတစ်ခုလို့ မြင်မိပါတယ်။ ဒီအဖွဲ့မှာ မြန်မာနည်းပညာသမားတွေ မေးကြဖြေကြဆွေးနွေးကြဖို့ပြီး ဖိုရမ်ဆန်ဆန်အသိုင်းအဝိုင်းတစ်ခုအနေနဲ့ပြန် ပေါ်လာတာကို တွေ့မိတာတော့ကြာပါပြီ။ Facebook အထဲမှာလုပ်ထားတာဆိုတော့၊ လူတွေပိုမြင်ပြီး ပိုပြီးပြောဆိုဆွေးနွေးဖြစ်ကြတယ်ထင်တယ်။ တစ်ချို့ပိုစ့်တွေဆိုရင် တကယ့်ကို အသုံးဝင်တဲ့ အဖြေကောင်းတွေနဲ့ ပြည့်နှက်နေပါတယ်။ သတိထားမိတာတစ်ခုကတော့ Facebook ပေါ်မှာဖြစ်နေတာရယ် အချိန်ကာလရယ်ကြောင့်ထင်တယ်၊ မေးခွန်းတွေက အများအားဖြင့် ဘဝတက်လမ်းနဲ့ဆိုင်တဲ့ အကြံဉာဏ်တောင်းတဲ့ မေးခွန်းမျိုးတွေကိုတော့ ပိုတွေ့ရပါတယ်။ လေ့လာဖို့ကောင်းတဲ့ နည်းပညာဆွေးနွေးမှုတွေလည်း ရံဖန်ရံခါတော့ တွေ့ရပါတယ်။
ဒါကြောင့် အဲ့ဒီ အမေးအဖြေတွေကို ခြုံငုံလေ့လာပြီး၊ ဒေတာစုတစ်ခုပြုစုဖို့ ကြိုးစားကြည့်ရအောင်လို့ စိတ်ကူးမိခဲ့တာပါ။ မြန်မာလိုရေးထားတဲ့ ဒေတာစုဖြစ်တဲ့အတွက် ကျွန်တော်တို့ မြန်မာတွေအတွက် အရမ်းတန်ဖိုးရှိလာနိုင်ပါတယ်။ သုတေသနပညာရှင်တွေ အသုံးပြုနိုင်သလို နည်းပညာကုမ္ပဏီတွေ၊ ပညာရေးအဖွဲ့အစည်းတွေအတွက်လည်း အကျိုးရှိစေမှာပါ။ ပြီးတော့ လူငယ်အင်ဂျင်နီယာတွေအတွက် လေ့လာစရာ တစ်ခုဖြစ်လာနိုင်မယ်လို့ ယုံကြည်ပါတယ်။
လောလောဆယ်မှာတော့ ရေးထား၊ မေးထားကြတာထဲမှာ သုံးလို့ရနိုင်တာက အများကြီးမရှိသေးလို့ လူနဲ့လုပ်လိုက်ရင် ပိုမြန်မှာဆိုပေမယ့်၊ ရေရှည်အတွက်ဆိုရင် အခုကတည်းက တစ်ချို့ script လေးတွေပြင်ဆင်ထားရင် ပိုကောင်းမယ်ထင်တယ်။ အဲဒါကြောင့် အချိန်ရတဲ့သူတွေနဲ့၊ Dataset ပြုစုတာနဲ့ပတ်သက်ပြီး ကလိချင်တဲ့သူတွေအတွက်လဲ စမ်းချင်ရင် စမ်းစရာတစ်ခုရအောင်လို့ ဒီစာရေးပြီး အာခြောင်လိုက်တာပါ။ အားလုံးပူးပေါင်းပါဝင်မှုနဲ့ မြန်မာတွေအတွက် အရည်အသွေးမီတဲ့ အမေးအဖြေ ဒေတာစုကောင်းတစ်ခု တည်ဆောက်နိုင်မယ်လို့ မျှော်လင့်မိပါတယ်။
ဘယ်နေရာမှာသုံးလို့ရနိုင်လဲ
Myanmar Software Engineers အဖွဲ့ထဲက ဒေတာတွေဟာ မေးခွန်းအဖြေပုံစံ ဖြစ်တာကြောင့် အသုံးဝင်တဲ့ နေရာအများကြီးရှိပါတယ်။ အဲ့ဒီအထဲက အထင်ရှားဆုံးကတော့ Conversational AI လို့ခေါ်တဲ့ chatbot တွေကို ဖန်တီးတဲ့နေရာမှာ အသုံးပြုလို့ရမှာပါ။ ဥပမာအနေနဲ့ အလုပ်အကိုင်နဲ့ ပတ်သက်တဲ့ အကြံပေး chatbot၊ programming ဆိုင်ရာ အခက်အခဲတွေကို ဖြေရှင်းပေးမယ့် coding assistant စတာတွေ အများကြီးလုပ်လို့ရပါတယ်။
နောက်ထပ် အသုံးပြုလို့ရတာကတော့ Language Model တွေကို fine-tune လုပ်ဖို့ပါပဲ။ ကျွန်တော်တို့ မေးခွန်းအဖြေဒေတာစု ကို သုံးပြီး Llama 2 လို language model တစ်ခုခုကို fine-tune လုပ်လိုက်ရင် machine learning၊ web development အစရှိတဲ့ နည်းပညာဆိုင်ရာ ဗဟုသုတတွေကို ဖြေနိုင်တဲ့ model ကောင်းကောင်းတစ်ခု ရလာမှာပါ။
Chatbot နဲ့ language model အပြင် တခြား NLP အလုပ်တွေမှာလည်း အသုံးပြုလို့ရပါတယ်။ မေးခွန်းတွေကို classification လုပ်တာ၊ အဖြေတွေကို summarize လုပ်ပေးတာ စတဲ့နေရာတွေမှာလဲ အသုံးချနိုင်ပါလိမ့်မယ်။ ဒီဒေတာစုက လက်တွေ့အခက်အခဲ၊ အတွေ့အကြုံတွေကို အခြေခံထားတဲ့ဟာဖြစ်မှာမို့လို့ နည်းပညာနဲ့ ပတ်သက်တဲ့ မြန်မာစာဒေတာစုကောင်းတစ်ခု ဖြစ်လာပါလိမ့်မယ်။
နောက်ပြီးတော့ ဒီအဖွဲ့ထဲမှာရှိတဲ့ ဒေတာတွေက Stack Exchange တို့လို၊ Reddit တို့လိုက ပုံစံတွေနဲ့တူပါတယ်။ အမေးရှိတယ်၊ အဖြေရှိတယ်၊ အမှတ်ပေးစနစ်လိုမျိုး (Like/Love) တွေရှိတယ်။ အဲဒါကြောင့် ဒေတာစုကိုပြုစုတဲ့အခါမှာ Reinforcement Learning from Human Feedback (RLHF) ဆိုတဲ့ Language Model တွေကို fine-tune လုပ်တဲ့နည်းလမ်းမှာ သုံးလို့ရနိုင်အောင် တစ်ခါထဲ ပြုစုထားလို့ရနိုင်ပါသေးတယ်။
ဘယ်ကစကြမလဲ
ပထမဆုံးစရမှာကတော့ မေးခွန်းတွေကို ပိုများလာအောင် (question seeding) လုပ်ပြီး ဒေတာပိုရအောင်လုပ်ဖို့လိုပါတယ်။ မေးခွန်းတွေကိုပိုများလာအောင်လုပ်ဖို့ လိုအပ်တဲ့အကြောင်းရင်းက နှစ်ခုရှိပါတယ်။
ပထမတစ်ချက်ကတော့ အပေါ်မှာပြောခဲ့သလိုပဲ လက်ရှိမေးထားတဲ့ မေးခွန်းတွေဟာ ဒေတာစုတစ်ခုအနေနဲ့ဆိုရင်တော့ လုံလောက်မှုမရှိသေးပါဘူး။
ဒုတိယတစ်ချက်ကတော့ ပုံစံမတူဘဲကွဲပြားတဲ့ မေးခွန်းအမျိုးအစားတွေပါဝင်လာဖို့လည်း လိုအပ်နေသေးလို့ပါပဲ။
တကယ်တော့ ဒါက ကျွန်တော်တို့ ဖိုရမ်ခေတ်တုန်းက Topic အသစ်တွေစပြီးဖွင့်ကြတာနဲ့ သဘောတရားတူပါတယ်။ အဲဒီတုန်းက ဖိုရမ်ကိုအုပ်ချုပ်တဲ့သူတွေကစပြီးတော့ Topic အသစ်တွေအနေနဲ့ ဖွင့်ကြပြီး၊ ကျန်တဲ့သူတွေက ဝင်ပြီး ဝိုင်းဆွေးနွေးကြတဲ့သဘောပေါ့။
အဲဒီအတွက် မေးခွန်းတွေကို ဖန်တီးတဲ့အခါမှာ အဓိကအားဖြင့် ၄ မျိုးခွဲလို့ရပါတယ်။
နည်းပညာနဲ့ဆိုင်တဲ့ မေးခွန်းတွေ - Programming language တွေ၊ framework တွေ၊ library တွေနဲ့ပတ်သက်တဲ့ အသေးစိတ်မေးခွန်းတွေပါဝင်နိုင်ပါတယ်။ ဥပမာ - "Flutter မှာ BLoC pattern ကိုဘယ်လိုသုံးလဲ။" (တစ်ခုတော့ရှိတာက ဒီလိုမေးခွန်းမျိုးတွေက အသေးစိတ် (in-depth) မေး / ဖြေဖို့တော့ မကောင်းပါဘူး။ တကယ့်ပြဿနာတွေက Github တို့ Stackoverflow တို့မှာ အင်္ဂလိပ်လိုလဲ အများကြီးရှိနေပြီးသားဆိုတော့၊ ဒါအတွက်ကိုတော့ တစ်ချက်ပြန်စဉ်းစားရဦးမယ်ထင်တယ်။)
လုပ်ငန်းခွင်နဲ့ဆိုင်တဲ့ မေးခွန်းတွေ - ကုမ္ပဏီတွေ၊ အလုပ်တွေ၊ လစာတွေနဲ့ပတ်သက်တဲ့ မေးခွန်းတွေပါဝင်ပါတယ်။ ဥပမာ - "ထိုင်းနိုင်ငံမှာ Software Engineer တစ်ယောက်ရဲ့ ပျမ်းမျှလစာက ဘယ်လောက်လဲ။"
ဘဝတက်လမ်း (Career path) နဲ့ပတ်သက်တဲ့ မေးခွန်းတွေ - အရည်အချင်းမြှင့်တင်ရေးနဲ့ အလုပ်ရှာတာနဲ့ပတ်သက်ပြီး အကြံပေးလို့ရနိုင်မယ့် မေးခွန်းတွေပါဝင်နိုင်ပါတယ်။ ဥပမာ - "Self-taught developer တစ်ယောက်အနေနဲ့ ပထမဆုံး ဘယ်လိုအလုပ်မျိုးကို ရှာသင့်လဲ။"
အသိုင်းအဝိုင်းဆိုင်ရာ မေးခွန်းတွေ - မြန်မာနိုင်ငံရဲ့ နည်းပညာအသိုင်းအဝိုင်း တိုးတက်ဖို့အတွက် မေးခွန်းမျိုးစုံပါဝင်နိုင်ပါတယ်။ ဥပမာ - "ထိုင်းနိုင်ငံမှာ မြန်မာပြည်က AI အင်ဂျင်နီယာတွေ ဘယ်နှစ်ယောက်လောက်ရှိလဲ။ ထိုင်းမှာ မြန်မာ AI အင်ဂျင်နီယာတွေ ပိုများလာအောင် ဘယ်လိုလုပ်သင့်လဲ"
အဲဒီလိုမျိုး ကဏ္ဍအစုံက မေးခွန်းတွေကိုရနိုင်ဖို့အတွက်လဲ ပြင်ဆင်ဖို့နည်းလမ်းကို စဉ်းစားထားပါတယ်။
AI သုံးပြီး မေးခွန်းတွေဖန်တီးခြင်း
မေးခွန်းတွေပိုများလာအောင် လုပ်တဲ့အခါမှာ၊ မေးခွန်းတွေကို ကိုယ်တိုင်ပဲရေးရေး၊ တခြား အင်္ဂလိပ်စာ ဒေတာရင်းမြစ်တွေကနေပဲ ရွေးချယ်ရွေးချယ်၊ အချိန်နဲ့ လူအင်အားအရမ်းကုန်ပါလိမ့်မယ်။ အဲ့ဒီအတွက် ChatGPT ကို သုံးပြီး ကနဦးမေးခွန်းတွေကို အင်္ဂလိပ်လို အရင်ဖန်တီးတာက ပိုမြန်နိုင်ပါတယ်။ အဲဒီနောက်မှာတော့ ရလာတဲ့ အင်္ဂလိပ်လို မေးခွန်းတွေကို ကျွန်တော်တို့ ကုမ္ပဏီကလုပ်ထားတဲ့ Echopod ကိုသုံးပြီးတော့ မြန်မာစာအဖြစ် ပြန်ထုတ်လုပ်ခိုင်းလို့ရပါတယ်။ နမူနာအနေနဲ့ ကျွန်တော်လုပ်ထားတာကိုတော့ ဒီ Google Sheets မှာ ကြည့်လို့ရပါတယ်။
ChatGPT + Echopod သုံးပြီး နမူနာပြထားတဲ့ Google Sheets မှာ ထည့်ထားတဲ့ မေးခွန်းတွေကို အလိုအလျောက်ထုတ်နိုင်အောင် ဘယ်လိုမျိုး pipeline လုပ်လို့ရလဲဆိုတာကိုတော့ လုပ်ပြီးသွားမှပဲ သပ်သပ်ထပ်ရေးပေးပါဦးမယ်။
ပထမအဆင့်အနေနဲ့ ကျွန်တော် နမူနာထုတ်ပေးထားတဲ့ မေးခွန်းတွေကို MMSWE Facebook Group ပေါ်မှာ manual တင်တာနဲ့တင် ပထမခြေလှမ်းကို စလို့ရပါပြီ။ ကူညီချင်တဲ့သူတွေအနေနဲ့ကတော့ ဒီအဆင့်အတွက် AI ကရေးပေးထားတဲ့ မေးခွန်းအကြမ်းတွေကို ကြည့်ပြီး၊ ကိုယ်နဲ့လဲ ကိုက်ညီသင့်တော်တဲ့ မေးခွန်းမျိုးကို ရွေးပြီး၊ ကိုယ်ထပ်ထည့်ချင်တာထပ်ထည့်တာ၊ ပြင်တာလုပ်ပြီးတော့ MMSWE Group ပေါ်မှာ ကိုယ်မေးသလိုမျိုး သွားမေးပေးရုံပါပဲ။ ဒါမှမဟုတ်ရင်လဲ MMSWE Facebook Group မှာ တွေ့သမျှ မေးခွန်းတွေကို ဝင်ဖြေပေးရင်လဲရနိုင်ပါတယ်။
နောက်တစ်ဆင့် ထပ်ပြီးလုပ်မယ်ဆိုရင်တော့ Google Apps Script ကိုသုံးပြီး၊ အဲဒီ sheet ထဲက approved ဖြစ်ပြီးသား မေးခွန်းတွေကို တစ်ခုချင်းစီ Facebook API သုံးပြီး post လုပ်လို့ရနိုင်ပါတယ်။ အပတ်စဉ် / နေ့စဉ် အချိန်တစ်ခုသတ်မှတ်ထားပြီး အဲဒီ script ကို သုံးနေရုံပါပဲ။
ဒီအဆင့်မှာ စိတ်ဝင်စားတဲ့ contributor တွေအနေနဲ့ အောက်ကလုပ်ငန်းတွေမှာ ကူညီပေးနိုင်ပါတယ်။
ChatGPT prompt တွေမှာ ထည့်မယ့် မေးခွန်းအကြောင်းအရာတွေကို အကြံပြုတာ
လောလောဆယ်မှာတော့ အပေါ်မှာပြောထားတဲ့ ကဏ္ဍ ၄ ခုကိုပဲ အာရုံစိုက်ထားပါတယ်
Google Sheets ထဲက မေးခွန်းတွေကို စီစစ်ပြီး အတည်ပြုပေးတာ
မေးခွန်းတစ်ခုချင်းစီအတွက် Facebook ပေါ်မှာ ပြန်ဖြေထားကြတာတွေကိုကြည့်ပြီး နောက်ထပ် engagement ကောင်းတဲ့ မေးခွန်းပုံစံတွေ ထုတ်ဖို့ကူညီလေ့လာပေးတာ
Auto Post လုပ်တဲ့ Google Apps Script ရေးပေးတာ တွေလုပ်လို့ရပါတယ်။
ဒီဟာတွေအတွက် ကူညီနိုင်မယ့်သူတွေရှိရင် စပြီးဖိတ်ခေါ်ချင်ပါတယ်။ Myanmar Software Engineers Facebook Group က admin / moderators တွေနဲ့လည်း ပူးပေါင်းပြီး လုပ်ဖို့အတွက် စကားတော့ ပြောကြည့်ထားပါသေးတယ်။
ဒီနည်းလမ်းက automation နဲ့ human review ကို ဟန်ချက်ညီညီ အသုံးပြုထားတာကြောင့် မေးခွန်းအသစ်တွေ စဉ်ဆက်မပြတ် တိုးပွားလာစေမှာ ဖြစ်ပါတယ်။ နောက်ပြီးတော့ မေးခွန်းတွေရဲ့ အရည်အသွေးကိုလည်း ထိန်းသိမ်းထားနိုင်မှာပါ။ ဒီလိုနည်းလမ်းနဲ့ ဖန်တီးထားတဲ့ မေးခွန်းတွေက Community ထဲက လူတွေရေးကြတဲ့မေးခွန်းတွေထက်စာရင် ပိုမိုကျယ်ပြန့်တဲ့ အကြောင်းအရာတွေကို လွှမ်းခြုံနိုင်လိမ့်မယ်လို့ ထင်ပါတယ်။
အဲဒီကနေမှ မေးခွန်းတွေအောက်မှာ အတွေ့အကြုံရှိတဲ့ စီနီယာတွေက ဝင်ရောက် ဖြေကြားပေးလာတာနဲ့အမျှ၊ အရည်အသွေးရှိတဲ့ အမေးအဖြေ ဒေတာတွေကို စုစည်းမိလာပါလိမ့်မယ်။
ဒီစာရဲ့ ဒုတိယပိုင်းမှာတော့ အမေးအဖြေတွေ စုံလာပြီဆိုရင်၊ အဲဒီ ဒေတာတွေကို ဘယ်လိုပြုစုကြမလဲ၊ ဘယ်လိုမျိုး script တွေနဲ့ လုပ်ငန်းစဉ်တွေလိုမလဲဆိုတာကို ဆက်ရေးပေးပါမယ်။
ဒီဒေတာစုလုပ်တာနဲ့ ပတ်သက်ပြီးတော့မှမဟုတ်ဘဲ တခြားအကြံပြုချင်တာရှိရင် ပြောခဲ့ပေးလို့ရပါတယ်ခင်ဗျာ။ အဆုံးထိဖတ်ပေးလို့ကျေးဇူးတင်ပါတယ်။