Predictive AI to Generative AI
"ငါတို့အားလုံးဟာ ဆရာမကူ ကိုယ်တိုင်စူးစမ်းလေ့လာသင်ယူသူတွေသာ (Self-Supervised Learners)" - အပိုင်း (၂)
Predictive AI မှ Generative AI ဆီသို့ 🚀
Predictive AI ဆိုတာဘာလဲ
ကနဦး AI မော်ဒယ်တွေဟာ input data တွေကို ကြိုတင်သတ်မှတ်ထားတဲ့ အုပ်စု အမျိုးအစား (class) သို့မဟုတ် ကိန်းဂဏန်းတန်ဖိုး (value) တစ်ခုနဲ့ ချိတ်ဆက်ပြီးခန့်မှန်းတွက်ချက်ပေးတဲ့ Predictive AI မော်ဒယ်များသာ ဖြစ်ကြပါတယ်။ သက်ဆိုင်ရာ လုပ်ငန်းနယ်ပယ် (domain) တခုစီအတွက် မော်ဒယ်တခုစီ သီးသန့် လေ့ကျင့်သင်ကြားပေးထားတာဖြစ်ပါတယ်။
ဥပမာအားဖြင့် -
Classification: ပုံထဲကအရာဟာ ခွေးလား၊ ကြောင်လား၊ ကားလား၊ ဆိုင်ကယ်လား စတဲ့ ကြိုတင်သတ်မှတ်ထားတဲ့ အမျိုးအစား (class) တွေထဲကနေ ကိုက်ညီမယ့် တခုကို ရွေးချယ်ပေးခြင်း။Speech Recognition: စကားသံနဲ့ ကိုက်ညီတဲ့ ဝေါဟာရကို ရှာဖွေပေးခြင်း။Facial Recognition: Database ထဲက မျက်နှာ record နဲ့ တိုက်ဆိုင်စစ်ဆေးခြင်း။Regression: ဈေးနှုန်း၊ အပူချိန် စတဲ့ ကိန်းဂဏန်း အတက်အကျတွေကို ခန့်မှန်းပေးခြင်း။
Predictive AI တွေဟာ သက်ဆိုင်ရာ လုပ်ငန်းနယ်ပယ်အတွင်းမှာ အလွန်အသုံးဝင်ပေမဲ့ ဘောင်ခတ်သတ်မှတ်ထားတဲ့ လုပ်ငန်းတမျိုးအတွက်ပဲ သီးသန့်လေ့ကျင့်ထားတာဖြစ်တဲ့အတွက် ကိုယ်ပိုင်အသိပညာ၊ အတွေးအခေါ်တွေကို user တွေရဲ့ input data တွေနဲ့ ပေါင်းစပ်ပြီး ဆန်းသစ်တဲ့ တီထွင်ဖန်တီးမှုတွေကို လွတ်လပ်စွာ ထုတ်ဖော်နိုင်စွမ်းမရှိကြပါဘူး။
လွတ်လပ်စွာ ဖန်တီးနိုင်စွမ်းဆီသို့
ဒီကန့်သတ်ချက်တွေကို တော်လှန်ပြီး လွတ်လပ်စွာ တွေးခေါ်ဖန်တီးနိုင်တဲ့ Generative AI တွေ တည်ဆောက်နိုင်ဖို့ အဓိကကျတဲ့ အချက်ကတော့ လောကမှာရှိတဲ့ အသိပညာ၊ အတတ်ပညာနဲ့ အတွေးအခေါ်တွေ အားလုံးကို AI မော်ဒယ်တွေကို သင်ယူလေ့ကျင့်ပေးနိုင်ဖို့ပဲ ဖြစ်ပါတယ်။
လူသားတွေရဲ့ သမိုင်းစဉ်တစ်လျှောက် သူတို့လေ့လာတတ်မြောက်ထားခဲ့တဲ့ အသိပညာ၊ အတွေးအခေါ်တွေကို ဘာသာစကားပေါင်းစုံနဲ့ မှတ်တမ်းတင်ထားခဲ့ကြပါတယ်။
ဒီဘာသာစကားတွေကို ကွန်ပျူတာတွေ နားလည်အောင် လေ့ကျင့်ပေးတဲ့ Natural Language Processing (NLP) နယ်ပယ်ဟာ ယနေ့ခေတ် Generative AI model တွေကို စတင်မွေးဖွားပေးရာ ကျောင်းတော်ကြီးပါ။
ဘာသာပြန် (translation), အနှစ်ချုပ် (summarization), အမေးအဖြေ (question and answer) စတဲ့ လုပ်ငန်းစဉ်တွေဟာ NLP ရဲ့ အခြေခံကျတဲ့ လုပ်ငန်းတွေပါ။
ဒီလုပ်ငန်းတွေ ဆောင်ရွက်ဖို့ အရေးကြီးဆုံး အဆင့်ကတော့ စာကြောင်းတွေရဲ့ အနက်အဓိပ္ပါယ် ဆိုလိုရင်းသဘော (encoding) ကို တွက်ချက်ခြင်းပါ။ ဒီ encoding တွေကို လိုချင်တဲ့ output ပုံစံအမျိုးမျိုး (ဘာသာပြန်၊ အနှစ်ချုပ် စသည်) အနေနဲ့ ပြန်လည်ထုတ်လုပ်ပေး (decoding) နိုင်ပါတယ်။
စာပိုဒ်တခုလုံးရဲ့ encoding ကို တွက်ချက်နိုင်ဖို့ ဒီစာပိုဒ်ထဲက စကားလုံးတလုံးချင်းစီရဲ့ ဆိုလိုရင်းအချက်အလက်ကို တွက်ချက်ရပါမယ်။
"You shall know a word by the company it keeps."
- J. R. Firth (1957)
စကားလုံးတလုံးစီကို သီးသန့်ကြည့်ရုံနဲ့ အဓိပ္ပါယ်ကို မသိနိုင်ဘဲ ၎င်းစကားလုံးရဲ့ ပတ်ဝန်းကျင်မှာရှိတဲ့ တခြားစကားလုံးတွေနဲ့ (context) တွဲဖက်ချိတ်ဆက်ကြည့်မှ အဲဒီစကားလုံးရဲ့ ဆိုလိုရင်းအချက်အလက်ကို တွက်ချက်နိုင်ပါလိမ့်မယ်။
Recurrent Neural Network (RNN)
ဒီလို စကားလုံးတလုံးစီရဲ့ အဓိပ္ပါယ်ကို သူ့ရဲ့ ပတ်ဝန်းကျင်က စကားလုံးတွေနဲ့ (context) တွဲဖက်ပေါင်းစပ်ပြီး တွက်ချက်ဖို့ neural network တစ်ခုစီ အသုံးပြုရပါတယ်။ ဒီ neural network တစ်ခုစီရဲ့ output တွေဟာ စာပိုဒ်တခုလုံးရဲ့ အဓိပ္ပါယ်ကို ဖော်ထုတ်ပေးမဲ့ နောက်ခံအချက်အလက် (hidden state) တွေပေါ့။
အဲဒီ neural network တွေကို ရထားတွဲတွေလို တခုနဲ့တခု တန်းစီပြီး ချိတ်ဆက်လိုက်တဲ့အခါ စာတပုဒ်လုံးရဲ့ ဆိုလိုရင်းသဘော encoding ကို တွက်ချက်နိုင်တဲ့ Recurrent Neural Network (RNN) ကို ရရှိပါတယ်။
RNN ထဲမှာရှိတဲ့ neural network တစ်ခုချင်းစီက hidden state တွေကို အဆင့်ဆင့် ချိတ်ဆက်တွက်ချက်ပြီး ရရှိလာတဲ့ final contextual output ဟာ စာပိုဒ်တခုလုံးရဲ့ အဓိပ္ပါယ်ဆိုလိုရင်းကို ကိုယ်စားပြုတဲ့ encoding ပဲ ဖြစ်ပါတယ်။
RNN ၏ အားနည်းချက်များ
RNN တွေဟာ စာကြောင်းတိုလေးတွေအတွက် အဆင်ပြေပေမယ့် ရှည်လျားတဲ့ စာပိုဒ်တွေကို တွက်ချက်တဲ့အခါ ခက်ခဲတဲ့ ပြဿနာ (၂) ခုကို ရင်ဆိုင်ရပါတော့တယ်။
၁။ Long-Term Dependency
RNN တွေဟာ စကားလုံးတွေကို တလုံးချင်း အဆင့်ဆင့် (sequential) တွက်ချက်ရလို့ နောက်ဆုံးကိုရောက်ရင် ရှေ့ပိုင်းက စကားလုံးတွေရဲ့ အဓိပ္ပာယ်နဲ့ အရေးပါမှုတွေဟာ မှေးမှိန်ပျောက်ကွယ်သွားပါတယ်။
ဥပမာအားဖြင့် -
"ကိုပီတာဟာ မြန်မာနိုင်ငံမှာ အနေကြာလာတဲ့အပြင် ဒေသခံတွေနဲ့ ရင်းရင်းနှီးနှီး စကားပြောဆိုလေ့ရှိတာမို့ သူဟာ [ ] ကို ကျွမ်းကျင်စွာ ပြောနိုင်ပါတယ်။"
ဆိုတဲ့ စာကြောင်းမှာ နောက်ဆုံးက "မြန်မာစကား" ဆိုတဲ့ အဖြေကို မှန်ကန်စွာ ထုတ်ပေးနိုင်ဖို့ အစပိုင်းက "မြန်မာနိုင်ငံ" ဆိုတဲ့ စကားလုံးကို မှတ်မိနေဖို့ လိုပါတယ်။ အဲဒီလိုပဲ "ဒေသခံ" နဲ့ "မြန်မာနိုင်ငံ"၊ "သူ" နဲ့ "ကိုပီတာ" စတဲ့ စကားလုံးတွေ တခုနဲ့တခု ဆက်စပ်မှုတွေကို AI model ဟာ မှတ်မိနိုင်မှ မှန်ကန်တဲ့ အဖြေကို ထုတ်ပေးနိုင်မှာဖြစ်ပါတယ်။ ဒါပေမယ့် RNN တွေဟာ စာကြောင်းအရမ်းရှည်လာရင် ဒီလို ဝေးကွာတဲ့ ဆက်စပ်မှုတွေကို မှတ်ထားဖို့ အလွန်အားနည်းလာပါတယ်။
ဒီအားနည်းချက်ကို ပြင်ဆင်ဖို့ LSTM (long short-term memory), GRU (gated recurrent unit) စတဲ့ memory မှတ်သားမှုတွေ ပိုကောင်းအောင် ပြုပြင်ထားတဲ့ RNN model တွေကို တီထွင်ခဲ့ကြပါတယ်။ ဒီ specialized RNN model တွေကြောင့် NLP လုပ်ငန်းတွေရဲ့ လုပ်ဆောင်နိုင်မှုတွေ ပိုမိုကောင်းမွန်လာပေမယ့် ရာနဲ့ချီတဲ့ စကားလုံးတွေကို တွက်ချက်တဲ့အခါ စွမ်းဆောင်ရည် သိသိသာသာ လျော့နည်းသွားပါတယ်။
မှတ်ချက် - ဒီနေ့ခေတ် LLM model တွေဟာ စကားလုံးအရေအတွက် သိန်းဂဏန်းမှ သန်းဂဏန်းအထိ ရှိတဲ့ စာပိုဒ်တွေကို လက်ခံတွက်ချက်ပေးနိုင်ပါတယ်။
Attention Mechanism
ဒီပြဿနာ (Long Term Dependency) ကို ဖြေရှင်းဖို့အတွက် ၂၀၁၄ ခုနှစ်မှာ "Neural Machine Translation by Jointly Learning to Align and Translate" ဆိုတဲ့ Attention model ကို မိတ်ဆက်ပေးတဲ့ သုတေသနစာတမ်းတစ်ခု ပေါ်ထွက်လာပါတယ်။
RNN ဟာ စကားလုံးတွေ အားလုံးရဲ့ အဓိပ္ပါယ်ကို ပုံသေသတ်မှတ်ထားတဲ့ dimension အရေအတွက် အတိအကျရှိတဲ့ (fixed size) encoding vector တခုထဲမှာပဲ ဖိနှိပ်ထည့်သွင်းထားတဲ့အတွက် စကားလုံးအရေအတွက် များလာတာနဲ့အမျှ စကားလုံးတလုံးစီရဲ့ အရေးပါမှုနဲ့ တခုနဲ့တခု ဆက်စပ်မှုတွေဟာ လျော့နည်း တိမ်မြုပ် ပျောက်ကွယ်သွားရတာဖြစ်ပါတယ်။
Attention model မှာတော့ စကားလုံးတစ်လုံးချင်းစီနဲ့ တခြားစကားလုံးတွေ အားလုံးကြားမှာရှိတဲ့ ပတ်သက်ဆက်နွယ်မှုတွေ (attention weights) အကုန်လုံးကို တွက်ချက်ပြီး အဓိပ္ပါယ်အရ အချိတ်အဆက်အမိဆုံးဖြစ်မယ့် တခြားစကားလုံးတွေကို တိုက်ရိုက် ချိတ်ဆက်ရှာဖွေ (query) နိုင်တဲ့အတွက် အလွန်ရှည်လျားတဲ့ စာပိုဒ်တွေကို အဓိပ္ပါယ် လျော့နည်းတိမ်မြုပ်သွားခြင်းမရှိဘဲ တွက်ချက်နိုင်စွမ်း ရှိလာတာဖြစ်ပါတယ်။
RNN တွေကို attention နည်းပညာနဲ့ ပေါင်းစပ်အသုံးပြုလိုက်တဲ့အခါ ထောင်နဲ့ချီတဲ့ စကားလုံးတွေပါဝင်တဲ့ စာပိုဒ်တွေရဲ့ အဓိပ္ပါယ်ကို အမှားအယွင်းမရှိဘဲ encode/decode လုပ်နိုင်လာပြီး translation လို NLP လုပ်ငန်းတွေရဲ့ စွမ်းဆောင်ရည် သိသိသာသာ တိုးတက်လာခဲ့ပါတယ်။
၂။ Sequential Processing
ဒါပေမယ့် RNN တွေဟာ neural network တွေကို တခုပြီးမှတခု အစဉ်အတိုင်း တွက်ချက်ရတဲ့အတွက် (sequential processing) စာကြောင်းရှည်လာတာနဲ့အမျှ တွက်ချက်မှုအချိန် ပိုကြာမြင့်လာပါတယ်။
စကားလုံးတလုံးရဲ့ hidden state ကို neural network တခုက တွက်ချက်နေချိန်မှာ ကျန်တဲ့ neural network အကုန်လုံးဟာ ရပ်တန့်စောင့်ဆိုင်း (idle) နေရတာမို့လို့ တန်ဖိုးရှိတဲ့ အရင်းအမြစ် (CPU, GPU, Memory စသည်) တွေကို ထိရောက်အောင် အသုံးချနိုင်ခြင်းမရှိပါဘူး။
Generative AI model တွေကို တည်ဆောက်ဖို့ အလွန်များပြားတဲ့ စာပေ corpus မျိုးစုံနဲ့ လေ့ကျင့်ပေးနိုင်ဖို့ လိုအပ်တဲ့ RNN တွေရဲ့ အရေအတွက်ကို ထပ်မံတိုးချဲ့ (scale up) နိုင်ဖို့ အလွန်ခက်ခဲတဲ့ အခြေအနေနဲ့ ကြုံတွေ့ရပါတယ်။
Transformer
ဒီအချိန်မှာပဲ attention အယူအဆကို အခြေခံတဲ့ Google မှ သုတေသီများဦးဆောင်တဲ့ သုတေသနအဖွဲ့ရဲ့ "Attention is All You Need" ဆိုတဲ့ စာတမ်းတစ်စောင် ၂၀၁၇ ခုနှစ်မှာ ထွက်ပေါ်လာပါတယ်။
ဒီစာတမ်းက တင်ပြတဲ့ transformer model ဟာ စကားလုံးတွေကို တစ်လုံးချင်းစီ စောင့်ပြီး တွက်ချက်နေရတဲ့ RNN တွေနေရာမှာ စကားလုံးတွေ အားလုံးကို တစ်ပြိုင်နက်တည်း (parallel) တွက်ချက်နိုင်တဲ့ attention mechanism ကို အစားထိုး အသုံးပြုထားပါတယ်။
Dot Product ဖြင့် ဆက်စပ်မှု (Attention) ကို ရှာခြင်း
စကားလုံးများကို vector များဖြင့် ကိုယ်စားပြုခြင်း
"A picture is worth a thousand words"
- Arthur Brisbane (1911)
ဆိုတဲ့ စကားပုံရှိပါတယ်။ ပုံတပုံဟာ ထောင်နဲ့ချီတဲ့ စကားလုံးတွေကို ကိုယ်စားပြုနိုင်တယ်ဆိုတဲ့သဘောပါ။ ဒါဆိုရင် စကားလုံးတလုံးချင်းစီကရော အဓိပ္ပါယ် ဘယ်နှစ်ခုကို ကိုယ်စားပြုနိုင်မလဲ။
"A word is worth a thousand meanings"
စကားလုံးတလုံးကို ထောင်နဲ့ချီတဲ့ မတူညီတဲ့ အဓိပ္ပါယ်ပေါင်းများစွာနဲ့ ပေါင်းစပ်ဖွဲ့စည်းထားပါတယ်။
ဥပမာ -
"ချမ်းသာတယ်" ဆိုသော စကားလုံးတွင် (ပစ္စည်းဥစ္စာ) "ပြည့်စုံခြင်း"၊ "ပျော်ရွှင်ခြင်း"၊ "ကျန်းမာခြင်း" စတဲ့ အဓိပ္ပါယ်ပေါင်းများစွာ ပေါင်းစပ်ပါဝင်နေပါတယ်။
အဲဒီ စကားလုံးတလုံးမှာရှိတဲ့ အဓိပ္ပါယ်တခုချင်းရဲ့ အားကောင်းမှု အပြင်းအပျော့ဟာလဲ မတူညီကြပါဘူး။ ဥပမာ "ကျန်းမာခြင်း" ဆိုတဲ့ အဓိပ္ပါယ်တခုတည်းမှာ "သက်သာတယ်"၊ "နေကောင်းတယ်"၊ "ဒေါင်ဒေါင်မြည်ပဲ" စသည်ဖြင့် အဓိပ္ပါယ်ကို ထိရောက်အောင် ထုတ်ဖော်နိုင်မှု အပြင်းအပျော့၊ အတင်းအလျော့၊ အဖိအဖော့ မျိုးစုံရှိနေနိုင်ပါတယ်။
ဒီစကားလုံးတွေရဲ့ အဓိပ္ပါယ်တွေ၊ တခုနဲ့တခု ပတ်သက်ဆက်နွယ်မှုတွေကို တွက်ချက်နိုင်ဖို့ သင်္ချာမော်ဒယ် တခုတည်ဆောက်ဖို့ လိုအပ်လာပါတယ်။ တနည်းအားဖြင့် စကားလုံးတွေကို သင်္ချာနည်းနဲ့ တွက်ချက်လို့ရအောင် ဘယ်လိုကိုယ်စားပြုမလဲ (modelling) ဆိုတာပါ။
ဂဏန်းသင်္ချာ (algebra) မှာရှိတဲ့ ၁၊ ၂၊ ၃ စတဲ့ ကိန်းဂဏန်းတွေဟာ တကယ်တော့ ဦးတည်ရာ direction (သို့) number line တခုတည်းပေါ်မှာ ရှိတဲ့ အမှတ် (point) လေးတွေပါ။ ဒီ point လေးတွေဟာ တိုင်းတာတဲ့ dimension တခုတည်းပဲရှိလို့ scalar လို့လဲ ခေါ်ပါတယ်။
ပြင်ညီ (plane) ပေါ်က point လေးတွေမှာတော့ x နဲ့ y dimension နှစ်ခုရှိပြီး၊ ကုဗတုံးလို ထုထည်ရှိတဲ့ space ထဲက point လေးတွေမှာတော့ x, y, z ဆိုတဲ့ dimension သုံးခုရှိနေပါလိမ့်မယ်။ ဒီလို dimension တခုထက်ပိုရှိတဲ့ point လေးတွေဟာ vector တွေပါ။ 3 dimension ထက်ကြီးတဲ့ multi dimension space တွေထဲက vector point လေးတွေကိုတော့ မျက်စိနဲ့ ကြည့်မြင်ဖို့ခက်ခဲပြီး စိတ်ကူးကြံဆတဲ့နည်းနဲ့ပဲ (imagination) သိရှိနိုင်မှာဖြစ်ပါတယ်။
ရှေ့မှာဆိုခဲ့သလို စကားလုံးတလုံးရဲ့ ဆိုလိုရင်းအဓိပ္ပါယ်ဟာ တသတ်မှတ်တည်း မရှိပဲ မတူညီတဲ့ အဓိပ္ပါယ်လားရာ မျိုးစုံမှာ ဖြန့်ထွက်တည်ရှိနေနိုင်ပါတယ်။
အဲဒီလိုပဲ multi dimension ရှိတဲ့ vector point လေးတခုရဲ့ တန်ဖိုးတွေဟာလဲ မတူညီတဲ့ direction မျိုးစုံမှာ (x, y, z စသည်) ဖြန့်ကျက်တည်ရှိနေပါတယ်။
ဒါဆို စကားလုံးတွေရဲ့ အဓိပ္ပါယ်တွေကို vector တွေအနေနဲ့ ကိုယ်စားပြုတွက်ချက်လို့ရပြီဖြစ်ပါတယ်။ Vector တွေရဲ့ dimension တွေဟာ သက်ဆိုင်ရာ စကားလုံးရဲ့ အဓိပ္ပါယ်တခုချင်းစီကို ကိုယ်စားပြုပါတယ်။ Dimension တွေရဲ့ တန်ဖိုးအနည်းအများဟာ အဓိပ္ပါယ်တွေရဲ့ အားကောင်းမှု အပြင်းအပျော့ ကွာခြားမှုတွေပေါ့။
စကားလုံး vector တခုရဲ့ dimensions အရေအတွက်ကတော့ AI model ရဲ့ တည်ဆောက်ပုံ design ပေါ်မူတည်ပြီး ရာဂဏန်းမှ ထောင်ဂဏန်းအထိ ရှိနိုင်ပါတယ်။
ဥပမာ -
"ချမ်းသာတယ်" = [0.8, 0.6, 0.43, ...]
AI model designer ဟာ သူ့ရဲ့ design လိုအပ်ချက်အရ dimensions တွေရဲ့ အရေအတွက်ကို သတ်မှတ်တာဖြစ်ပြီး၊ dimension တခုချင်းစီရဲ့ အဓိပ္ပါယ်နဲ့ တန်ဖိုးတွေကတော့ လေ့ကျင့်သင်ကြားပေးတဲ့ ဒေတာပေါ်မူတည်ပြီး AI model က အလိုအလျောက် သတ်မှတ်သွားတာ (learn) ဖြစ်ပါတယ်။
စကားလုံးတွေရဲ့ ဆက်နွယ်မှု attention တွေကို သင်္ချာနည်းနဲ့ တွက်ချက်ခြင်း (dot product)
စကားလုံးနှစ်ခုကြားမှာရှိတဲ့ ဆက်စပ်မှု attention အနည်းအများဟာ စကားလုံးတွေကို ကိုယ်စားပြုတဲ့ vector တွေရဲ့ dimension အလိုက် ဆက်စပ်မှုတွေပေါ်မူတည်ပါတယ်။ သက်ဆိုင်ရာ dimension ကိန်းဂဏန်းနှစ်ခုကို မြှောက်ခြင်းဖြင့် (multiplication) dimension တခုချင်းရဲ့ ဆက်စပ်မှုအနည်းအများကို တွက်ချက်နိုင်ပါတယ်။
မြှောက်ခြင်းသဘောဟာ ကိန်းဂဏန်းတန်ဖိုးတွေကို နဂိုရှိရင်းစွဲထက် ပိုပြီးကြီးအောင် ချဲ့ခြင်း (သို့မဟုတ်) သေးအောင် ချုံ့ခြင်း (scaling) လုပ်ငန်းစဉ်ပါ။ လင်မယားနှစ်ယောက်ဟာ တယောက်ရဲ့ အကျိုးစီးပွား တိုးတက်မှု၊ ဆုတ်ယုတ်မှုတွေကို တခြားတယောက်က အပြန်အလှန် အကျိုးပြုနိုင်သလိုပဲ မြှောက်ဖော်ကိန်းနှစ်ခုဟာလဲ တခုရဲ့ တန်ဖိုးကြီးထွားလာအောင် ဒါမှမဟုတ် သေးနုတ်သွားအောင် တခြားတခုက အပြန်အလှန် ဖြစ်ပေါ်စေပါတယ်။
ဥပမာ -
- အဓိပ္ပါယ်အားနည်းတဲ့ dimension တန်ဖိုးနှစ်ခု:
0.1 x 0.1 = 0.01 - အဓိပ္ပါယ်အားကောင်းတဲ့ စကားလုံးနဲ့ အားနည်းတဲ့ စကားလုံး:
0.9 x 0.1 = 0.09 - အဓိပ္ပါယ်အားကောင်းတဲ့ dimension တန်ဖိုးနှစ်ခု:
0.8 x 0.9 = 0.72
တနည်းအားဖြင့် multiplication လုပ်ငန်းစဉ်ဟာ စကားလုံးနှစ်ခုကြားက အဓိပ္ပါယ်အားနည်းတဲ့ dimension တွေရဲ့ ဆက်စပ်မှုတွေကို (မြှောက်လဒ် အလွန်သေးငယ်သွားတဲ့အတွက်) ချန်ခဲ့ပြီး အဓိပ္ပါယ်အားကောင်းတဲ့ dimension တွေရဲ့ ဆက်စပ်မှုတွေကိုပဲ အဓိကကျန်ခဲ့အောင် ရွေးထုတ်ပေးတဲ့ လုပ်ငန်းစဉ်ပါပဲ။
Vector နှစ်ခုမှာရှိတဲ့ dimension တခုချင်းရဲ့ မြှောက်လဒ်တွေကို ပေါင်းလို့ရလာတဲ့ (sum) တန်ဖိုးဟာ dot product ဖြစ်ပါတယ်။ Dot product ဟာ စကားလုံး vector နှစ်ခုကြားမှာရှိတဲ့ စုပေါင်းအဓိပ္ပါယ်ဆက်စပ်မှု တန်ဖိုး (attention score) ကို ကိုယ်စားပြုပါတယ်။
ဥပမာ -
[0.1, 0.9, 0.8] . [0.1, 0.1, 0.9] = (0.1 x 0.1) + (0.9 x 0.1) + (0.8 x 0.9) = 0.82
မြှောက်လဒ် (dot product) တန်ဖိုးကြီးလေ၊ ထိုစကားလုံးနှစ်လုံး၏ ဆက်စပ်မှု (attention score) များလေ ဖြစ်သည်။
တစ်ပြိုင်နက်တည်း တွက်ချက်ခြင်း (Parallel Computing)
စကားလုံးနှစ်ခုကြားက dot product တွက်ချက်မှုဟာ ရိုးရှင်းလွယ်ကူပေမဲ့ input သို့ output စာကြောင်းတခုမှာရှိသမျှ (သိန်း၊ သန်းချီတဲ့) စကားလုံးတွေအချင်းချင်းရဲ့ attention တွေကို တွက်ဖို့ဆိုရင်တော့ စကားလုံး vector အများအပြားကို တပြိုင်နက်ထဲ တွက်ချက်နိုင်ဖို့ အရေးကြီးပါတယ်။
ဒီလိုတွက်ချက်နိုင်ဖို့ စကားလုံး vector တွေကို matrix နှစ်ခုအနေနဲ့ ဖွဲ့စည်းပြီး matrix နှစ်ခုရဲ့ မြှောက်လဒ် (matrix multiplication) ဟာ စကားလုံးတွေ အားလုံးရဲ့ ဆက်စပ်မှု attention score တွေပါပဲ။
မှတ်ချက် - matrix နှစ်ခုရဲ့ မြှောက်လဒ်ဟာ စကားလုံးတွေအချင်းချင်းကြားက dot product တန်ဖိုးတွေကို ဖော်ပြတဲ့ matrix တခုပဲဖြစ်ပါတယ်။ ဒီ attention matrix ဥပမာကို ပူးတွဲပါပုံတွင် ကြည့်ရှုနိုင်ပါတယ်။
ရှုပ်ထွေးတဲ့ တွက်ချက်မှုတွေ ပြုလုပ်နိုင်တဲ့ processor core အနည်းငယ် (ဆယ်ဂဏန်းမှ ရာဂဏန်း) သာပါတဲ့ CPU တွေအစား ရိုးရှင်းတဲ့ ပေါင်းနုတ်မြှောက်စား တွက်ချက်မှုမျိုးတွေနဲ့ matrix multiplication တွေအတွက် အထူးတည်ဆောက်ထားတဲ့ processor core ပေါင်းများစွာ (ထောင်ဂဏန်းမှ သောင်းဂဏန်းအထိ) ပါဝင်တဲ့ GPU တွေကိုသုံးပြီး ဒီတွက်ချက်မှုတွေအများအပြားကို တပြိုင်နက်ထဲ ပြုလုပ်နိုင်ပါတယ်။
3 Types of Attention
Encoder-Decoder Transformer model မှာ attention တွက်ချက်မှုတွေကို အဆင့် (၃) ဆင့်နဲ့ လုပ်ဆောင်ပါတယ်။
Encoder self-attention- ပထမအဆင့်မှာ input စာကြောင်းမှာရှိတဲ့ စကားလုံးအချင်းချင်းရဲ့ ဆက်စပ်မှု attention score တွေကို တွက်ပြီး စကားလုံးတလုံးတိုင်းအတွက် encoding vector တခုစီ ထုတ်ပေးပါတယ်။ ဒီ encoding vector တခုစီဟာ စကားလုံးတလုံးစီရဲ့ ကိုယ်ရေးအတ္ထုပတ္တိ (biography) ပါပဲ။ လူတယောက်ချင်းစီရဲ့ ကိုယ်ရေးအတ္ထုပတ္တိစာအုပ်တအုပ်မှာ (biography) ကိုယ့်အကြောင်းတင်မက ကိုယ်ပတ်ဝန်းကျင်မှာရှိတဲ့ တခြားသူတွေနဲ့ ပတ်သတ်ဆက်နွယ်ပုံ ဇာတ်လမ်းစုံကို စီကာပတ်ကုံး ရေးသားထားသလို encoding vector တခုဟာလဲ သက်ဆိုင်ရာ စကားလုံးရဲ့ ဆိုလိုရင်းအဓိပ္ပါယ်ကို စာကြောင်းထဲမှာရှိတဲ့ တခြားစကားလုံးတွေနဲ့ ချိတ်ဆက်ပြီး တွက်ချက်ထားတဲ့ context vector တခုပါ။
lines = relation to other words
selected word = one context-rich encoding vector
Encoding vectors တွေကို matrix တခုအနေနဲ့ သိမ်းထားပါတယ်။ ဒီ matrix ကို input encoding vector တွေကို ရှာလို့ရတဲ့ database အနေနဲ့ အသုံးချမှာမို့ keys matrix (K) လို့ ခေါ်ပါတယ်။
Decoder self-attention- Decoder ဟာ input စာကြောင်းတကြောင်းအတွက် output စကားလုံးတွေကို တလုံးချင်း (autoregressive) တွက်ထုတ်ပေးတာပါ။ Decoder ရဲ့ ပထမဆုံးသော output စကားလုံးအနေနဲ့ စာကြောင်းတခုရဲ့အစ လို့ အဓိပ္ပါယ်ရတဲ့ special word"<s>"ကို ပုံသေ သုံးပါတယ်။ အဲဒီနောက်မှာတော့ output စကားလုံးတလုံး အသစ်ထုတ်ပေးလိုက်တဲ့ အခါတိုင်းမှာ အသစ်ရလာတဲ့ စကားလုံးနဲ့ အရင်ထုတ်ပြီးသား output စကားလုံးတွေကြားက ဆက်နွယ်မှု attention ကို တွက်ပြီး output encoding vector တခုစီကို ထုတ်ပေးပါတယ်။ Output encoding vector ဟာ လက်ရှိထုတ်ပြီးသား output စကားလုံးတွေ အားလုံးရဲ့ အဓိပ္ပါယ်ဆိုလိုရင်း context ကို ကိုယ်စားပြုပါတယ်။ ဒီ output encoding vector ကို query (Q) အနေနဲ့ သုံးပြီး နောက်စကားလုံးအသစ်ထုတ်ဖို့ သင့်တော်တဲ့ input encoding တွေကို ရှာဖွေပါတယ်။Cross-attention- အဆင့် (၂) က နောက်ဆုံးတွက်ထားတဲ့ output encoding vector (Q) နဲ့ အဆင့် (၁) က တွက်ထားတဲ့ input encoding matrix (K) တွေကြားက ဆက်နွယ်မှု attention ကို dot product နည်းနဲ့ တွက်ချက်ပြီး နောက်ထပ် output စကားလုံးအသစ်ကို ထုတ်ပေးပါတယ်။
Row တစ်ခုကို နှိပ်ပါ — Q context နဲ့ attention distribution ကြည့်ရန်
output စကားလုံး တလုံးထုတ်တဲ့အကြိမ်တိုင်းမှာ အဆင့် ၂ နဲ့ ၃ ကို ပြန်လည်တွက်ချက်ပါတယ်။
တွက်ချက်ပုံ အသေးစိတ်ကို ပူးတွဲပါ attention matrix ပုံတွေမှာ ကြည့်ရှုနိုင်ပါတယ်။
ဒီလိုနည်းနဲ့ Transformer မော်ဒယ်ကို အခြေခံထားတဲ့ LLM စတဲ့ AI model တွေဟာ input စာကြောင်း (ဥပမာ မြန်မာစာကြောင်း၊ မေးခွန်း၊ ညွှန်ကြားချက် စသည်) ပေါ်မူတည်ပြီး ရှေ့နောက်အကြောင်းအရာ အဓိပ္ပါယ်ညီညွတ် ပြည့်စုံတဲ့ output စာကြောင်း (ဥပမာ အင်္ဂလိပ်ဘာသာပြန်၊ အဖြေ၊ code၊ ကဗျာ၊ သီချင်း စသည်) ကို ထုတ်ပေးနိုင်တာ ဖြစ်ပါတယ်။
Transformer design ကို အခြေခံတဲ့ Generative AI model တွေဟာ processor core တွေ သောင်းနဲ့ချီပြီး ပါဝင်တဲ့ GPU တွေ အမြောက်အမြားကို သုံးပြီး အလွန်များပြားတဲ့ စာပေ (corpus) တွေကို အချိန်တိုအတွင်းမှာ သင်ယူလေ့ကျင့်နိုင်ပြီဖြစ်ပါတယ်။
Predictive AI မှ Generative AI သို့
Predictive AI တွေဟာ ကျဉ်းမြောင်းတဲ့ မြစ်ချောင်းထဲက ငါးတွေလို၊ ဘောင်ခတ်ထားတဲ့ လုပ်ငန်းနယ်ပယ် တခုအတွင်းမှာသာ ကူးခတ်သင်ယူနိုင်ခဲ့ကြပါတယ်။ ဒါပေမယ့် Generative AI model တွေဟာတော့ Transformer ဆိုတဲ့ ဝေလငါးကြီးရဲ့ စွမ်းပကားကို အသုံးချပြီး ကမ္ဘာ့စာပေ ပင်လယ်ပြင်ကျယ်ထဲမှာ တက်ကုန်ရွက်ကုန်ဖွင့် ကူးခတ်သင်ယူဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။
AI model တွေဟာ အသိပညာတွေကို ကမ္ဘာအရပ်ရပ်က စာပေတွေကနေတဆင့် ဆရာမကူဘဲ ကိုယ်တိုင် ဘယ်လိုစူးစမ်းလေ့လာမလဲ ဆိုတာကို အပိုင်း (၃) မှာ ဆက်လက်တင်ပြပါမယ်။
မှတ်ချက်
- လူသားတွေဟာ အရာဝတ္ထုတွေရဲ့ ပုံရိပ်တွေကို ခွဲခြားသိမြင်ခြင်း၊ စကားသံတွေကို ပတ်ဝန်းကျင်အသံလှိုင်းတွေထဲက ခွဲခြားနားထောင်နိုင်ခြင်း စတဲ့ အခြေခံကျပြီး ရှုပ်ထွေးတဲ့ လုပ်ဆောင်မှုတွေကို နှစ်သန်းပေါင်းများစွာ ဆင့်ကဲပြောင်းလဲမှုတွေကနေတဆင့် လက်ဆင့်ကမ်း သင်ယူရရှိလာတဲ့ (ဦးနှောက်အတွင်းမှာရှိတဲ့) မွေးရာပါ neural network ဖွဲ့စည်းပုံ (biological prior) ကို အသုံးချပြီး အလွယ်တကူ လုပ်ဆောင်နိုင်ပုံကို အပိုင်း (၁) တွင် တင်ပြထားပါသည်။
- ယခု ဖော်ပြခဲ့သော Encoder Decoder Transformer model အပြင် encoder only model နဲ့ decoder only model များအကြောင်းကို "ငါတို့အားလုံးဟာ decoder (generator) model တွေပါ" post တွင် အသေးစိတ်တင်ပြထားပါသည်။
၎င်း post ၂ ခုရဲ့ links များကို ပထမဆုံး comment တွင် ကြည့်ရှုနိုင်ပါတယ်။
References
- Deep Learning Book (Goodfellow et al., 2016)
- Speech and Language Processing (Jurafsky & Martin, 2026)
- Neural Machine Translation by Jointly Learning to Align and Translate (Bahdanau et al., 2014)
- Attention Is All You Need (Vaswani et al., 2017)