MST Engine

MST Engine AI, technology, lifestyle အကြောင်းအရာများ တင်သွားပါမည်။

06/02/2025

Blockchain နဲ့ Consensus

Blockchain technology ထဲမှာ Consensus(ဘုံသဘောတူညီချက်) ဆိုတာ network ထဲက nodes တွေအကြား သဘောတူညီမှု ရယူတဲ့ လုပ်ငန်းစဉ်ကို ခေါ်ပါတယ်။ ဒီ လုပ်ငန်းစဉ်က blockchain ရဲ့ အဓိက အစိတ်အပိုင်းတစ်ခု ဖြစ်ပြီး၊ distributed network တစ်ခုမှာ transaction တွေကို မှန်ကန်တဲ့ နည်းလမ်းနဲ့ အတည်ပြုဖို့အတွက် အရေးကြီးပါတယ်။

Consensus mechanism တွေက ဘယ်လို အလုပ်လုပ်လဲ ဆိုရင် node တစ်ခုက transaction တစ်ခု လုပ်လိုက်တဲ့အခါ network ထဲက ကျန်တဲ့ node တွေက ဒီ transaction ကို အတည်ပြုခြင်းလုပ်ပါတယ်။ Node အားလုံးက သဘောတူညီမှု ရမှသာ ဒီ transaction ကို blockchain ထဲကို ထည့်သွင်းခွင့် ပြုမှာ ဖြစ်ပါတယ်။ ဥပမာ။ Bitcoin မှာဆိုရင် Proof of Work (PoW) ဆိုတဲ့ consensus algorithm ကို သုံးပါတယ်။ Miners တွေက သင်္ချာပုစ္ဆာတွေကို ဖြေရှင်းပြီး block တွေကို အတည်ပြုခြင်းလုပ်ကြပါတယ်။

နောက်ထပ် နာမည်ကြီးတဲ့ consensus တစ်ခုကတော့ Proof of Stake (PoS) ပါ။ PoS မှာတော့ validator တွေက သူတို့ရဲ့ cryptocurrency ကို stake (မြုပ်နှံမှု) လုပ်ထားရပါတယ်။ stake လုပ်ထားတဲ့ ပမာဏ များလေ၊ transaction တွေကို အတည်ပြုခွင့် ရနိုင်ခြေ များလေ ဖြစ်ပါတယ်။ Ethereum လို blockchain တွေက PoS ကို သုံးကြပါတယ်။ ဒီနည်းက PoW ထက် လျှပ်စစ်စွမ်းအင်သုံးစွဲမှု သက်သာပါတယ်။

Consensus mechanism တွေက blockchain ကို ဗဟိုမဲ့စနစ်ဖြစ်စေတဲ့ အဓိက အချက်တစ်ခု ဖြစ်ပါတယ်။ ဗဟိုထိန်းချုပ်မှု မရှိတဲ့ ကွန်ရက်မှာ transaction တွေကို ဘယ်သူမှ လိမ်လည်ပြင်ဆင်လို့ မရအောင် ကာကွယ်ပေးပါတယ်။ ဥပမာ။ တစ်စုံတစ်ယောက်က blockchain ထဲက data ကို ပြင်ချင်ရင် network ထဲက node အားလုံးရဲ့ သဘောတူညီချက် ရယူရမှာ ဖြစ်ပါတယ်။ ဒါကြောင့် blockchain ဟာ ပွင့်လင်းမြင်သာပြီးတော့ အားလုံးက ယုံကြည်စိတ်ချစွာ သုံးနိုင်တဲ့ စနစ်တစ်ခု ဖြစ်လာတာပါ။

Blockchain အမျိုးမျိုးမှာ consensus mechanism အမျိုးမျိုး ရှိပါတယ်။ Delegated Proof of Stake (DPoS), Proof of Authority (PoA), Practical Byzantine Fault Tolerance (PBFT) စတဲ့ နည်းလမ်းတွေလည်း ရှိပါတယ်။ ဘယ် mechanism ကို ရွေးချယ်မလဲ ဆိုတာက blockchain ရဲ့ အသုံးပြုပုံ၊ လိုအပ်ချက်တွေ၊ scalability နဲ့ security requirements တွေပေါ် မူတည်ပါတယ်။ ဥပမာ။ private blockchain တွေမှာ PoA လို ရိုးရှင်းတဲ့ mechanism တွေကို သုံးကြပါတယ်။

Delegated Proof of Stake (DPoS)
DPoS ဆိုတာ PoS ကို အခြေခံပြီး ထပ်မံ တိုးတက်အောင် လုပ်ထားတဲ့ consensus mechanism တစ်ခုပါ။ DPoS မှာ token ပိုင်ဆိုင်သူတွေက delegate လို့ခေါ်တဲ့ ကိုယ်စားလှယ် node တွေကို မဲပေးရွေးချယ်ပါတယ်။ ဒီ delegate တွေကပဲ block တွေကို အတည်ပြုခြင်းလုပ်ပြီး network ကို ထိန်းသိမ်းပေးရပါတယ်။ ဒီ delegate တွေက လူပုဂ္ဂိုလ်တစ်ဦးဦး၊ အဖွဲ့အစည်းတစ်ခုခုက ပိုင်ဆိုင်တဲ့ node တွေဖြစ်ပါတယ်။ ဥပမာ။ EOS blockchain မှာဆိုရင် delegate ၂၁ ယောက်ကိုပဲ ရွေးချယ်ထားပါတယ်။ ဒီနည်းက transaction အတည်ပြုတဲ့လုပ်ငန်းကို မြန်ဆန်စေပါတယ်။

DPoS မှာ token holder တွေက မဲပေးတဲ့အခါ သူတို့ရဲ့ stake (မြုပ်နှံမှု) ပမာဏပေါ် မူတည်ပြီး မဲပေးခွင့် — voting power ရပါတယ်။ အကယ်၍ delegate တစ်ယောက်က မသင့်တော်တဲ့ အပြုအမူတွေ လုပ်လာရင် token holder တွေက သူ့ကို ပြန်ဖြုတ်နိုင်ပါတယ်။ ဒါကြောင့် delegate တွေက လိမ်လည်မှု မလုပ်ရဲကြပါဘူး။ အဲဒီလိုမျိုး ဒီမိုကရေစီဆန်တဲ့ စနစ်ကြောင့် DPoS ဟာ ယုံကြည်စိတ်ချလို့ရတဲ့ mechanism တစ်ခု ဖြစ်လာပါတယ်။

Proof of Authority (PoA)
PoA ကတော့ private blockchain တွေမှာ အသုံးများတဲ့ consensus mechanism တစ်ခု ဖြစ်ပါတယ်။ ဒီ mechanism မှာကြိုတင်သတ်မှတ်ထားတဲ့ pre-approved validator တွေကပဲ block တွေကို အတည်ပြုခြင်းလုပ်ခွင့်ရှိပါတယ်။ ဒီ validator တွေဟာ သူတို့ရဲ့ ဂုဏ်သိက္ခာနှင့်နာမည်ကို stake အဖြစ် ထားရှိရပါတယ်။ တစ်နည်းပြောရရင် validator တွေက အများယုံကြည်လက်ခံထားတဲ့ အဖွဲ့အစည်းတွေ ဖြစ်ရပါမယ်။

PoA ဟာ private network တွေအတွက် သင့်တော်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ validator တွေက လူသိများပြီး အများယုံကြည်ရတဲ့ organization တွေ ဖြစ်တဲ့အတွက် network ရဲ့ security ကို စိတ်ချရပါတယ်။ ဥပမာ။ supply chain management မှာ PoA ကို သုံးတဲ့အခါ supplier တွေ၊ manufacturer တွေ၊ distributor တွေက validator အဖြစ် ဆောင်ရွက်ကြပါတယ်။ ဒီအတွက်ကြောင့် PoA က transaction အတည်ပြုခြင်းလုပ်ငန်းစဉ်ကို မြန်ဆန်စေပါတယ်။

Practical Byzantine Fault Tolerance (PBFT)
PBFT ကတော့ ရှုပ်ထွေးတဲ့ consensus mechanism တစ်ခု ဖြစ်ပါတယ်။ ဒီ mechanism က Byzantine Generals’ Problem ကို ဖြေရှင်းဖို့ ဒီဇိုင်းလုပ်ထားတာပါ။ PBFT မှာ node တွေက voting process သုံးမျိုးကို ဖြတ်သန်းရပါတယ်။ pre-prepare၊ prepare နဲ့ commit ဆိုပြီး ရှိပါတယ်။

PBFT ရဲ့ အားသာချက်က မသမာတဲ့ node တွေကို ကောင်းကောင်း handle လုပ်နိုင်တာပါ။ Network ထဲက node သုံးပုံတစ်ပုံထက် နည်းတဲ့ node တွေက မသမာမှုဖြစ်နေရင်တောင် network က ပုံမှန်အတိုင်း လည်ပတ်နိုင်ပါတယ်။ ဒါပေမယ့် PBFT က node တွေအကြား message တွေ အများကြီး ဖလှယ်ရတဲ့အတွက် node အရေအတွက် များလာရင် network ရဲ့ လုပ်ငန်းစဉ်ကို ထိခိုက်နိုင်ပါတယ်။

ဒီ consensus mechanism တွေကို နှိုင်းယှဉ်ကြည့်ရင် — DPoS က democracy ဆန်ပါတယ်။ PoA က private network တွေအတွက် လုံခြုံပြီး မြန်ဆန်ဖြစ်ပါတယ်။ PBFT ကတော့ security ကို အဓိကထားပြီး၊ မသမာတဲ့ node တွေကို ကောင်းကောင်း handle လုပ်နိုင်ပါတယ်။ ဘယ် mechanism ကို သုံးမလဲဆိုတာက blockchain project ဖန်တီးသူတွေရဲ့ လိုအပ်ချက်တွေပေါ် မူတည်ပြီး ရွေးချယ်ကြတာ ဖြစ်ပါတယ်။

mechanism တွေဟာ blockchain technology ရဲ့ အခြေခံကျတဲ့ အစိတ်အပိုင်းတစ်ခု ဖြစ်ပါတယ်။ ဒီ mechanism တွေကြောင့် ဗဟိုထိန်းချုပ်မှု မရှိဘဲ network ထဲက အားလုံးက ယုံကြည်စိတ်ချစွာ transaction တွေ လုပ်နိုင်ကြတာ ဖြစ်ပါတယ်။ Blockchain technology ဟာ နေ့စဉ် ဖွံ့ဖြိုးတိုးတက်နေပြီး၊ ပိုမို ကောင်းမွန်တဲ့ consensus mechanism တွေလည်း ပေါ်ထွက်လာဦးမှာ ဖြစ်ပါတယ်။

13/10/2024

Prompt engineering နဲ့ပတ်သတ်ပြီး လေ့လာသင့်တဲ့ website များ

AI ခေတ်မှာ အေအိုင်ကို ကောင်းကောင်းသုံးတတ်ဖို့ prompt engineering ဆိုတာလိုအပ်ပါတယ်။ လေ့လာထားသင့်တဲ့ website တွေကို စုထားပေးပါတယ်။

ဒီတခုကတော့ အခြေခံအကျဆုံးပါ။ လိုအပ်ပါတယ်။
https://www.promptingguide.ai

Developer တွေအတွက်ဆိုရင်တော့
Deep learning AI က ဟာက အကောင်းဆုံးပါပဲ။
https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/

ChatGPT ထုတ်တဲ့ OpenAI company ကိုယ်တိုင်က ထုတ်တာကတော့
https://platform.openai.com/docs/guides/prompt-engineering/six-strategies-for-getting-better-results

Google ကိုယ်တိုင် prompt engineering အကြောင်း ရေးပေးထားတာ။
https://cloud.google.com/discover/what-is-prompt-engineering?hl=en

Prompt engineering အကြောင်း မြန်မာလို ဖတ်ချင်ရင်တော့
https://medium.com//prompt-engineering-for-starters-in-burmese-abf2c396aecb

13/10/2024

ဒီ page လေးကို active ပြန်ဖြစ်အောင် လုပ်ပါအုန်းမယ်။
အေအိုင်၊ နည်းပညာနဲ့ပတ်သတ်တဲ့ အခြေခံအကျဆုံးအရာဆုံးလေးတွေကို တင်ပေးမှာမို့လို့ like & follow လေးလုပ်ပေးကြပါအုန်း။

10/10/2024

ဘဝတွင် စိတ်အေးချမ်းသာဖို့ နည်းလမ်းတခုမှာ
မလိုအပ်သည်များကို လျစ်လျူရှုလိုက်ခြင်းပင် ဖြစ်သည်။

03/12/2023

မင်္ဂလာပါ။ အကိုတို့အမတို့ ကြည့်ရတာ စိတ်ညစ်နေသလိုပဲ။ ကျွန်တော်ရေးထားတဲ့ မြန်မာအသံထွက်ကို ဖမ်းပေးတဲ့ ai library လေးတခုနဲ့မိတ်ဆက်ပေးပါရစေ။

Burmese Voice လို့ခေါ်တဲ့ JS library လေးပါ။ voice commands ပေးလိုက်ရင် ပေးလိုက်တဲ့အတိုင်း text command ပြန်ထုတ်ပေးပါတယ်။ robotics တွေ၊ voice commands တွေကို မြန်မြန်ဆန်ဆန်နှင့် လွယ်လွယ်ကူကူလုပ်လို့ရပါတယ်။

ပေါ့ပေါ့ပါးပါးနှင့် model ဆွဲထည့်ပြီး အသင့်သုံး api လေးပါ။ Documentation လေးကိုတော့ အောက်က linkဝင်ဖတ်လို့ရပါတယ်။ Open source လည်းပေးထားပါတယ်ဗျ။

Documentation
https://burmese-voice.vercel.app/

GitHub
https://github.com/MinSiThu/burmese-voice

သာယာတဲ့နေ့လေးတနေ့ဖြစ်ပါစေ။

Similar Searching Vector database တွေမှာသုံးတဲ့ Similar Searching ဆိုတာဘာလဲ။ တူတဲ့ Data တွေကိုရှာတယ်ဆိုတာ search engine ...
18/11/2023

Similar Searching

Vector database တွေမှာသုံးတဲ့ Similar Searching ဆိုတာဘာလဲ။ တူတဲ့ Data တွေကိုရှာတယ်ဆိုတာ search engine တွေ၊ database တွေနဲ့ application တွေမှာ ပုံမှန်လုပ်နေရတဲ့အလုပ်တခုဖြစ်ပါတယ်။

ပုံမှန် Database တခုမှာဆိုရင်တော့ data တွေကိုရှာတယ်ဆိုရင် Database condition query တခုတော့အနည်းဆုံးသွင်းရပါတယ်။ ဥပမာ။ လစာ၃သိန်းအထက် အမျိုးသားဝန်ထမ်းတွေကို ရှာတဲ့အဖြစ်လိုမျိုးပေါ့။ ဒီနေရာမှာဆိုရင်တော့ လစာ၃သိန်းအထက်ရော၊ အမျိုးသားဖြစ်တယ်ဆိုတာရော တူညီတဲ့အချက်၂ချက်လိုအပ်ပါတယ်။

ဒါပေမဲ့ တောင်းဆိုတဲ့ conditions တွေက ကျယ်ပြန့်ပြီးတော့ ရှာဖွေရခက်တဲ့ data အမျိုးအစားဆိုရင်ရော။ ဥပမာ။ ဖိနပ်အနက်ပုံတွေပဲထုတ်ပေးပါ။

ဒီလိုနေရာမျိုးမှာ Database တွေအနေနဲ့ အခြေအနေတွေကို ရိုးရိုးစစ်ထုတ်ရုံတင်မကပဲ query ထဲမှာ ပါဝင်တဲ့အကြောင်းအရာကိုပါနားလည်ဖို့လိုပါတယ်။ ကျွန်တော်တို့ရဲ့ data ထဲမှာ ဖိနပ်ပုံတွေတင်မကပဲ အခြားဝတ္ထုတွေလည်းပါနိုင်ပါတယ်။ အဲ့ဖိနပ်တွေထဲကမှ ဖိနပ်အနက်ဆိုရင် ပိုစစ်ထုတ်ရပါမယ်။ တကယ်လို့သာ Nike ဖိနပ်အနက်တွေပဲတောင်းရင်တော့ ပိုစစ်ထုတ်ရနိုင်ပါတယ်။ ဒီလိုမျိုး နားလည်ဖို့ဆိုရင်တော့ data တွေကို သိုလှောင်တဲ့နေရာမှာကတည်းကိုက နားလည်ရလွယ်တဲ့ပုံစံအနေနဲ့ သိမ်းထားဖို့လိုအပ်လာပါပြီ။ ပြီးတော့ အပေါ်ကအခြေအနေမျိုးမှာဆိုရင်လည်း data က တခု၂ခုမဟုတ်ပဲ သန်းနဲ့ချီတဲ့ပမာဏတခုကို ကိုင်တွယ်ရတဲ့အခြေအနေဆိုတာကိုလည်း ထည့်စဉ်းစားဖို့လိုပါမယ်။

Data ထဲမှာပါတဲ့အဓိပ္ပါယ်တွေကိုနားလည်ဖို့အတွက်ဆိုရင် machine learning နယ်ပယ်မှာတော့ data တွေကို ဂဏန်းတွေအနေနဲ့ ပြောင်းလဲပေးရပါတယ်။ ကွန်ပျူတာသည် "က" ဆိုတဲ့ စကားလုံးကို "က" ဖြစ်ကြောင်းမသိပါဘူး။ "က" စကားလုံးကို ကိုယ်စားပြုတဲ့ binary number အနေနဲ့ပဲ သိုလှောင်ထားတာဖြစ်ပါတယ်။ အဲ့ဒီ binary number အတွဲကြီးသည်လည်း "က" ဖြစ်ကြောင်း ကွန်ပျူတာကနားမလည်ပါဘူး။ အသုံးပြုတွေကသာ ဒီစကားလုံးက "က"ဖြစ်ကြောင်းနားလည်တာပါ။

ကွန်ပျူတာကို တူညီကြောင်းတွက်ချက်ဖို့အတွက်ဆိုရင် စကားလုံးတွေ၊ ဓာတ်ပုံတွေကို vector embedding အဖြစ်ပြောင်းလဲရပါတယ်။ ရရှိလာတဲ့ vector တွေကို vector space ထဲမှာ တခုနဲ့တခုဘယ်လောက်အကွာအဝေးနီးစပ်လဲဆိုတာကို တွက်ပြီးတော့ နီးစပ်တဲ့ vector တွေသည် similar ဖြစ်တဲ့ data တွေဖြစ်ကြောင်းပြန်သိနိုင်ပါတယ်။

ဒါဆိုရင် စာသားတွေ၊ ပုံတွေကို vector space ထဲမှာနေရာချဖို့ embedding တွက်ထုတ်ပေးတဲ့ program တွေသည် ဘယ်လောက်တိတိကျကျတွက်ထုတ်ပေးနိုင်လဲဆိုတာ အရေးပါတယ်။ လက်ရှိမှာတော့ Word2Vec, Universal Sentence Encoder(USE), GLoVE လို model တွေသည် စာသားတန်ဖိုးတွေကို vector representation (embedding) တွေအနေနဲ့ ပြောင်းလဲပေးဖို့သုံးပါတယ်။ VGG, Inception လို model တွေကိုတော့ ပုံတွေကနေ embedding ပြောင်းဖို့အသုံးများပါတယ်။ အတိုချုံးရရင်တော့ ပုံတခု၊ စာသားတခုကို vector တန်ဖိုးတွေအနေနှင့် ပြောင်းလဲပေးတဲ့ Machine learning program တွေ‌လိုအပ်ပါတယ်။

ရလာတဲ့ vector တန်ဖိုးတွေသည် vector space ပေါ်မှာ တခုနှင့်တခု ဘယ်လောက်နီးစပ်လဲဆိုတာကို မှန်မှန်ကန်ကန်နှင့် မြန်မြန်ဆန်ဆန်တွက်ထုတ်ပေးနိုင်မယ့် program တွေလည်း လိုအပ်ပါတယ်။ ဒီ program တွေသည် vector တခုနှင့်တခုနီးစပ်ကြောင်း တွက်ချက်မလဲဆိုတဲ့ အတိုင်းအတာ metrics တွေလည်း စဉ်းစားရပါမယ်။

Machine learning မှာ အသုံးအများဆုံး distance metrics တွေသည် Euclidean, Manhattan, Cosine, နှင့် Chebyshev metrics တွေဖြစ်ပါတယ်။ ဒါတွေက Geometry တွေရဲ့ distance တွက်ထုတ်တဲ့ အခြေခံဖော်မြူလာတွေဖြစ်ပါတယ်။ ဘယ် distance metrics ကိုသုံးမလဲဆိုတာကတော့ ကိုယ့်ရဲ့အသုံးပြုမယ့်နေရာပေါ်မူတည်ပါတယ်။

အပေါ်က၂ခုကိုအနှစ်ပြန်ချုပ်ရရင် ကျွန်တော်တို့မှာ ကိုယ့်ရဲ့ Data ကိုကိုယ်စားပြုတဲ့ vector embedding တွေလည်းရှိလာပါပြီ။ အဲ့ vector embedding တခုနဲ့တခုကြား distance တွေကိုတိုင်းတာမယ့် Metrics တွေလည်း ရှိလာပါပြီ။ ဒါဆိုရင် similar search စလုပ်လို့ရပါပြီ။

ဒီနေရာမှာ K Nearest Neighbors algorithm ဝင်လာပါတယ်။ KNN သည် vector embedding တွေတခုနဲ့တခုကြားမှာ ဘယ်လောက်နီးစပ်ဆိုတာကိုတွက်ပြီးတော့ အနီးဆုံး vector တွေကိုပြန်ထုတ်ပေးပါတယ်။ K သည် အနီးစပ်ဆုံးvector ဘယ်နှစ်ခုလိုချင်လဲဆိုတဲ့ hyperparameter ကို ကိုယ်စားပြုပါတယ်။ KNN ရဲ့ အားနည်းချက်သည် အနီးစပ်ဆုံး vector ကိုရှာဖို့အတွက် Database ထဲမှာရှိသမျှ vector တွေကိုလိုက်တွက်ပါတယ်။ ဒီတော့ data ပမာဏများလာလေလေ၊ calculation ပိုများလေလေဖြစ်တဲ့အတွက် ပိုကြာပြီးတော့ လျှပ်စစ်ပမာဏပိုကုန်ပါတယ်။

ဒီအတွက်ကြောင့် Approximate Nearest Neighbors algorithm ကိုပြောင်းသုံးကြပါတယ်။ ANN မှာလည်း ပုံစံကွဲတွေအများကြီးရှိပါသေးတယ်။ ANN သည် နီးစပ်တဲ့ vector embedding တွေကိုအတိအကျလိုက်ရှာမယ့်အစား နီးစပ်တယ်ဆိုတဲ့အခြေအနေမှာရှိတဲ့ vector embedding တွေကို ပြန်ထုတ်ပေးပါတယ်။ ဒီအတွက်ကြောင့် ANN ကိုအတိအကျနီးစပ်တဲ့ vector embedding တွေရှာတဲ့နေရာထက် နီးစပ်တဲ့ vector embedding တွေကို မြန်မြန်ဆန်ဆန်ရှာဖို့လိုအပ်တဲ့နေရာတွေမှာ သုံးပါတယ်။ machine learning မှာတော့ဒါကို accuracy နဲ့ efficiency ကို tradeoff လုပ်တယ်လို့ခေါ်ပါတယ်။

Similar Searching ကို ဓာတ်ပုံနဲ့စာသား ပုံစံတူတာတွေရှာတာ၊ ကွဲထွက်နေတဲ့ data တွေကိုရှာတာ၊ recommendation system တွေမှာ အသုံးများပါတယ်။

08/11/2023

အခုရက်ပိုင်း ai နဲ့ပတ်သတ်တဲ့ project တခုလုပ်ဖြစ်တိုင်း စာတပုဒ်ရေးဖြစ်တာ အခုဆို ဧပြီကတည်းကနေ တကယ်လည်းဖတ်လို့အဆင်ပြေမယ်ထင်တာ ၇ပုဒ်တောငိရှိပြီ။

Blogspot ပဲလုပ်ပြီးတင်ထားရမလား။
Portfolio website ပဲပြန်ပြင်ရေးပြီး blog feature ထည့်ထားရမလားမသိဘူး။

အခုကတော့ medium မှာတော်တော်များများတင်ထားပါတယ်။ ခဏခဏလာမေးနေလို့ community လား၊ organization လား အဲ့တာလည်း စလုပ်ဖို့စီစဉ်နေပါကြောင်း။

အခုတော့ medium မှာဖတ်နိုင်ကြောင်း အောက်ကလင့်။
https://medium.com/

Transfer learning ကလေးတယောက်ကို စက်ဘီးစီးသင်ပေးတယ်ဆိုပါစို့။ဘေးက လူကြီးတယောက်က ကလေးရဲ့စက်ဘီးကိုထိန်းပေးတယ်။ ကလေးကို ကိုယ...
05/11/2023

Transfer learning

ကလေးတယောက်ကို စက်ဘီးစီးသင်ပေးတယ်ဆိုပါစို့။
ဘေးက လူကြီးတယောက်က ကလေးရဲ့စက်ဘီးကိုထိန်းပေးတယ်။ ကလေးကို ကိုယ်တိုင်နင်းခိုင်းတယ်။ ကလေးက နင်းရင်းနဲ့ စက်ဘီးကို ဟန်ချက်ညီညီနင်းတတ်အောင် လူကြီးက ကလေးမသိအောင် နည်းနည်းစီလွှတ်ပြီးတော့ သူ့ဟာသူနင်းစေရတယ်။ နောက်တော့ ကလေးကတဖြည်းဖြည်းနဲ့ စက်ဘီးကို ဟန်ချက်ညီညီကောင်းကောင်းနင်းတတ်သွားတယ်။ ဒါဆိုရင် ကလေးကစက်ဘီးစီးတတ်သွားပြီလို့ ပြောလို့ရတယ်။

ဒီကလေးကိုပဲ အရွယ်ရောက်လာလို့ ဆိုင်ကယ်စီးသင်ပေးတယ်ဆိုပါစို့။ သူသည် စက်ဘီးကိုကောင်းကောင်းစီးတတ်ပြီးသားဖြစ်တဲ့အတွက် ဆိုင်ကယ်ကိုလည်း ဘယ်လိုဟန်ချက်ညီအောင်ထိန်းရမယ်ဆိုတာ သိနေပြီ။ တနည်းပြောရရင် စက်ဘီးစီးတုန်းက ရခဲ့တဲ့ knowledge base ကြီးကို ဆိုင်ကယ်စီးတဲ့နေရာမှာ ကောင်းကောင်းအသုံးချလို့ရတယ်။ ဒီလိုဖြစ်ရပ်ကို Transfer learning လုပ်တယ်လို့ပြောလို့ရတယ်။

ဒါပေမဲ့ ဆိုင်ကယ်သည် စက်ဘီးမဟုတ်ပါဘူး။ စက်ဘီးလို နင်းရတာမျိုးလည်းမဟုတ်သလို စက်ဘီးနဲ့လုပ်ငန်းစဉ်ကွာတာတွေ အများကြီးရှိတယ်။ ဂီယာထိုးရမယ်၊ လီဗာနင်းရမယ်၊ စက်နိုးရမယ်စသည်ဖြင့်ပေါ့။ ဂီယာထိုးရင်လည်း ဂီယာအကြီးအသေးစသည်ဖြင့် ခွဲခြားသင်ယူရတယ်။ လုပ်ငန်းစဉ်၂ခုက တူသလိုလိုနှင့် မတူတာတွေအများကြီးရှိတယ်။

ဒါပေမယ့် စက်ဘီးစီးမတတ်လည်း ဆိုင်ကယ်စီးသင်လို့ရတယ်။
ဒါပေမယ့် ဟန်ချက်ထိန်းတာတွေက အစပြန်သင်ယူဖို့ အချိန်ပိုလိုမယ်။ ပိုပင်ပန်းမယ်။ စသည်ဖြင့်ရှိမယ်။

Deep learning model တွေသည်လည်း ဒီလိုပုံစံမျိုးအလုပ်လုပ်လို့ရတယ်။ Transfer learning လို့ခေါ်တာပေါ့။ object အမျိုးအစားတထောင်ကို အမျိုးအစားခွဲပေးနိုင်တဲ့ ‌model A ရှိတယ်ဆိုပါစို့။ ကိုယ်လုပ်ချင်တာက ကားနှင့်ဆိုင်ကယ်အမျိုးအစား၂မျိုးခွဲခြားပြတဲ့ model B တည်ဆောက်ချင်တယ်ဆိုရင် model A ကနေ Transfer learning လုပ်လို့ရတယ်။

Model A သည် ရှေ့က object တထောင်ကို အမျိုးအစားခွဲတဲ့နေရာမှာ object တွေရဲ့ထောင့်စွန်းတွေ၊ အနားသတ်တွေနှင့် ပါဝင်နိုင်မယ့် feature တွေကို ကောင်းကောင်းသိခဲ့ပြီးပြီ။

အဲ့ထဲမှာရှိတဲ့ feature တွေကိုထုတ်နုတ်ပေးတဲ့ အလွှာသည် အလုပ်ကောင်းကောင်းလုပ်နိုင်နေပြီ။ ဒီအလွှာကို feature extractor အနေနဲ့သုံးလို့ရတယ်။ အဲ့ဒီကရတဲ့ feature တွေကိုမှ ကိုယ်လိုချင်တဲ့ fully connected neurons architecture ထဲကိုထည့်ပြီး model B ကို တည်ဆောက်လို့ရတယ်။

ဒီလိုပုံစံနဲ့ဆိုရင်ကို ကောင်းကောင်းအလုပ်လုပ်နိုင်ပြီ။ ဒါပေမယ့် အဲ့အလွှာကိုပါ ကိုယ်အလုပ်လုပ်မယ့် dataset နဲ့ ပိုလိုက်လျောညီထွေဖြစ်အောင် fine tuning လုပ်လို့ရပါသေးတယ်။ အဲ့ဒါကတော့ အဲ့ဒီအလွှာကိုပါထည့်ပြီး model B ထဲမှာ အကြိမ်ရေနည်းနည်းနှင့် train ပေးလိုက်တာပဲ။

Transfer learning လုပ်တာသည် model B တည်ဆောက်ဖို့အတွက် ပိုမြန်တယ်။ resources အစားသက်သာတယ်။ model B တည်ဆောက်ဖို့အတွက် data လိုအပ်ချက်နည်းတယ်။

အနှစ်ချုပ်ရမယ်ဆိုရင် Transfer learning မှာ feature extraction နှင့် fine tuning ပါဝင်တယ်။ အရင်နာမည်ကြီးတဲ့ performance ကောင်းတဲ့မော်ဒယ်တွေရဲ့ knowledge တွေကို ကိုယ်လုပ်ချင်တဲ့လုပ်ငန်းတွေမှာ ထည့်သုံးလိုက်တဲ့သဘောဖြစ်ပါတယ်။ Stable diffusion လို ကိုယ်ကစာရိုက်ထည့်လိုက်ရင် ဓာတ်ပုံ Generate လုပ်ပေးတဲ့ model တွေကိုလည်း transfer learning လုပ်ပြီးတော့ ကိုယ်ကြိုက်တဲ့ art style ကို ဦးစားပေးတဲ့ ai တွေထုတ်လို့ရပါတယ်။ Generative Pretained Transformer လို GPT model တွေကိုလည်း ကိုယ့် dataset နဲ့ကိုယ် ပြန် Transfer learning လုပ်ပြီးတော့ ကိုယ်လိုအပ်သလိုတည်ဆောက်လို့ရတယ်။

လက်ရှိဒီစာရေးနေတဲ့အချိန်မှာ နာမည်ကြီးတဲ့ open model တွေအနေနဲ့
Text အတွက်ဆိုရင် GPT2, BERT, LLAMA
Text to Image အတွက်ဆိုရင် Stable Diffusion
Image Classification အတွက်ဆိုရင် MobileNet, VGG19, EfficientNet
Object Recognition အတွက်ဆိုရင် Yolo
Audio အတွက်ဆိုရင် Wavenet
Pose estimation အတွက် PoseNet

စတာတွေရှိပါတယ်။ Transfer learning မှမဟုတ်ပါဘူး။ ပုံမှန်နေ့စဉ်အသုံးအတွက်လည်း model ကိုမပြောင်းပဲ ကိုယ်လိုသလိုသုံးနိုင်ပါတယ်။

02/11/2023

အေအိုင်တွေ ML တွေတကယ်လုပ်ချင်ပါတယ်၊ skillset တက်လာချင်ပါတယ်ဆိုရင် လုပ်ကိုလုပ်သင့်တာတခုရှိပါတယ်။

ဘာလဲဆိုတော့

https://www.kaggle.com/competitions

က ပြိုင်ပွဲတွေကိုဝင်ပြိုင်ပါ။ Knowledge ရရုံအဆင့်ပြိုင်ပွဲတွေလည်းရှိသလို community အဆင့်ပြိုင်ပွဲတွေလည်းရှိပါတယ်။ ဆရာကျတယ်ဆိုရင် Professional ပြိုင်ပွဲတွေဝင်ပြိုင်လို့ရပါတယ်။

ဆုကြေးကလည်း ယူအက်စ်တသိန်းလောက်ထိကို ပေးပါတယ်။ ဆုရခြင်း၊ မရခြင်းကတော့ အရေးမကြီးပါဘူး။ အတွေ့အကြုံကတကယ်စကားပြောပါတယ်။

ကျွန်တော်ဆို ဝင်ပြိုင်တာ၃ပွဲရှိပါပြီ။ တပွဲပြီးတပွဲ skillset တော်တော်ကြီးကို တက်လာပါတယ်။ ထိပ်ဆုံးကမနိုင်တောင် top 20% လောက်ထဲဝင်ရင်ကို အတော်ကျေနပ်စရာကောင်းနေပါပြီ။

စိတ်ဝင်စားတဲ့သူများရင် knowledge sharing session လေးတွေလုပ်ချင်ပါတယ်။

လူတယောက်ရဲ့ ကိုယ်အလေးအချိန်အတိုင်းအတာနှင့် သွေးဖောက်စစ်တဲ့ရလာဒ်တွေကို ကြည့်ရင်သူက ဆေးလိပ်သောက်လား၊ မသောက်လား သိနိုင်လားပ...
02/11/2023

လူတယောက်ရဲ့ ကိုယ်အလေးအချိန်အတိုင်းအတာနှင့် သွေးဖောက်စစ်တဲ့ရလာဒ်တွေကို ကြည့်ရင်သူက ဆေးလိပ်သောက်လား၊ မသောက်လား သိနိုင်လားပေါ့။

တနည်းပြောရရင် သူ့ရဲ့ biosignals တွေကို ကြည့်ပြီး Smoker ဖြစ်နိုင်ချေဘယ်လောက်ရှိလဲ? တွက်မယ်ပေါ့။

ဒီနေရာမှာ တကယ်တိုင်းထားတဲ့အချက်အလက်ထက် ပိုအရေးပါတဲ့အချက်အလက်တွေရှိတယ်။

ကိုယ်အလေးချိန်နှင့်အရပ်ကို လက်တွေ့တိုင်းလို့ရတယ်။
ဒါပေမဲ့ BMI(Body Mass Index) က တကယ်တွက်ချက်တဲ့အခါမှာ ပိုအရေးကြီးတယ်။ ဒါ့ကြောင့်မို့ တိုင်းတာတဲ့ရလာဒ်ထဲမှာ မပါပေမဲ့ BMI ကလည်း အရေးပါတဲ့ အချက်အလက်တခုဖြစ်လာတယ်။

လူ့ခန္ဓာကိုယ်ထဲမှာ အဆီမျိုးစုံရှိတယ်။
Triglycerides, HDL, LDL စသည်ဖြင့်ပေါ့။ တခုချင်းစီတန်ဖိုးက ဆေးလိပ်သောက်မသောက် ခန့်မှန်းတဲ့နေရာမှာအရေးမကြီးဘူးထင်ရပေမဲ့ HDL-Triglycerides, HDL-LDL, အချိုးတွေသည် ပိုအရေးပါတဲ့ ဂဏန်းတွေဖြစ်တယ်။

နောက်တခုက ဆေးလိပ်သောက်တဲ့လူဟုတ်၊မဟုတ် ဆုံးဖြတ်တဲ့နေရာမှာ triglycerides သည်အရေးပါတဲ့အချက်အလက်ဖြစ်တယ်။ triglycerides ဆိုတဲ့ သွေးတွင်းအဆီဓာတ်တမျိုးသည် ဆေးလိပ်သောက်တဲ့လူမှာပိုတတ်တယ်။ ဒါကကျ သက်သေပြပြီးသား ဆေးပညာအချက်အလက်တခုဖြစ်တယ်။

နောက် အသည်းကထွက်တဲ့ အင်ဇိုင်း၂ခုကလည်း စကားပြောတယ်။ AST, ALT အင်ဇိုင်းပမာဏအချိုးသည် ဆေးလိပ်သောက်မသောက်ဆုံးဖြတ်တဲ့နေရာမှာ အရေးပါတယ်။ ဘာလို့ဆို non alcoholic liver diseases တွေသည် ဆေးလိပ်ကြောင့်ဖြစ်တာမျိုး ဖြစ်ဖို့များတယ်။

နောက် GTP လို့ခေါ်တဲ့ Gamma Glutamyl Transferase သည် ဆေးလိပ်သောက်တဲ့သူမှာတတ်တယ်။ ဒါပေမဲ့ ဆေးလိပ်သောက်တဲ့သူတွေမှာ ဆီးထဲကို ပရိုတိန်းဓာတ်ပါတယ်ဆိုတာ သိပ်တော့မဆိုင်ဘူးလို့ယူဆလို့ရတယ်။

နောက်တခုက ဟင်မိုဂလိုဘင်ပမာဏသည် ဆေးလိပ်သောက်တဲ့သူမှာ အများကြီးပိုတက်တယ်။ ဒါသည်လည်း proven fact တခုဖြစ်တယ်။

ဒီနေရာဆိုရင် proven fact တွေနဲ့ကို ဆေးလိပ်သောက်မသောက် ခွဲခြားသိနိုင်တယ်လို့ ရှုမြင်လို့ရတယ်။ နောက်တခုက သွေးစစ်လို့ရလာတဲ့ရလာဒ်ကနေ ထပ်ဆင့်တွက်ချက်ထားတဲ့ အညွှန်းကိန်းတွေကလည်း အရေးကြီးတယ်။ ဒါပေမဲ့ လက်တွေ့ဘဝမှာ ဆေးလိပ်မသောက်ပဲနဲ့ကို အဲ့ biosignals တွေတက်နေတဲ့လူတွေလည်းရှိတယ်။ ဒါတွေကိုကျ မှားပြီးတော့ ဆေးလိပ်သောက်တယ်လို့ ကောက်ချက်ချထုတ်မိသွားနိုင်တယ်။ အဲ့လိုထုတ်မိတာကိုကျ False postive လို့ခေါ်တယ်။ အဲ့တာကြောင့်မို့လို့ အရေးမပါဘူးလို့ထင်ရတဲ့၊ မသက်ဆိုင်ဘူးလို့ထင်ရတဲ့အချက်အလက်တွေသည်လည်း ဖြုတ်ချင်တိုင်းဖြုတ်ချထားခဲ့လို့မရဘူး။

Machine learning မှာ Domain Knowledge သည် အရေးပါတယ်။ ကိုယ်က dataset တခုကို ကိုင်တွယ်မယ်ဆိုရင် model တွေကိုင်တွယ်ဖို့ထက် data understanding ဖြစ်အောင် အရင်လုပ်ရတယ်။

Data understanding ဆိုတာဘာလဲဆိုရင် dataset ထဲမှာ ပါဝင်တဲ့အညွှန်းကိန်းတခုက ဘာကိုရည်ညွှန်းလဲဆိုတာ သေချာသိခြင်းဖြစ်ပါတယ်။ ဒီတိုင်း data ကို ကိုင်တွယ်ဖြေရှင်းမယ်၊ model ထဲတန်းထည့်မယ်ဆိုရင် accuracy ကောင်းဖို့သိပ်မသေချာဘူး။ model ကို hyperparameter တွေပြင်လိုက်သည့်တိုင်အောင် 1% လောက်ပဲ accuracy တက်လာတာဖြစ်နိုင်တယ်။ ကိုယ့်ကိုပေးထားတဲ့ data တွေကို ပိုပြီးအရေးပါတဲ့ feature တွေအဖြစ်ပြောင်းပေးတာကို feature engineering လို့ခေါ်တယ်။

တနည်းပြောရရင်တော့ feature engineering လုပ်ဖို့အတွက် domain Knowledge နဲ့ data understanding အများကြီးလိုအပ်တယ်။

31/10/2023

Google Bard ကို Search Engine Optimization လုပ်ဖို့ plan ရေးခိုင်းတာတော်တော်အဆင်ပြေတယ်။

တကယ်ဆိုရင် တနေ့ကို ကိုယ်မသိတဲ့မေးခွန်းတခုကို တခါရှင်းပြခိုင်းပြီးတော့ knowledge building လုပ်လို့ရတယ်။ အထူးတလည်ရှာဖတ်စရာတောင် မလိုဘူး။

မှန်၊မမှန် ဘယ်လိုဆုံးဖြတ်မလဲဆိုရင် နည်းပညာနဲ့သတ်မှတ်တာတွေက မှန်တာများတယ်။ သူ့ကို မေးလို့ကောင်းတယ်။ သူက မြန်မြန်ဖြေပေးနိုင်တယ်။

ဆေးပညာတို့ သမိုင်းတို့ကျ မမေးတာကောင်းတယ်။
အဲ့လိုလေးတွေတော့ ခွဲခြားသုံးတာအဆင်ပြေတယ်။

Address

Mandalay

Alerts

Be the first to know and let us send you an email when MST Engine posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share