How Large Language Models Work (Large Language Model တွေ အလုပ်လုပ်ပုံ)
None of its own. This is a stretch page, and nothing on it is examined. It explains natural language processing, which A4.1.1 names as an application of machine learning, and connects to A4.2.1, A4.2.3, A4.3.2, A4.3.6 and A4.3.8 (all HL) and to the ethics points A4.4.1 and A4.4.2. SL and HL students are both welcome.
မြန်မာလို: ဒီစာမျက်နှာအတွက် သီးသန့် သင်ရိုး အချက် မရှိပါဘူး။ ဒါက stretch page (သင်ရိုးထက် ကျော်ပြီး ထပ်ဆောင်း လေ့လာရတဲ့ စာမျက်နှာ) ဖြစ်ပြီး ဒီထဲက ဘာမှ စာမေးပွဲမှာ မမေးပါဘူး။ Machine learning (ဒေတာကနေ သင်ယူတဲ့ စနစ်) ရဲ့ အသုံးချမှု တစ်ခုအဖြစ် A4.1.1 က ဖော်ပြထားတဲ့ natural language processing (လူတွေ သုံးတဲ့ ဘာသာစကားကို ကွန်ပျူတာက ကိုင်တွယ်ခြင်း) ကို ရှင်းပြပြီး A4.2.1၊ A4.2.3၊ A4.3.2၊ A4.3.6 နဲ့ A4.3.8 (အားလုံး HL) တို့နဲ့ ကျင့်ဝတ်ဆိုင်ရာ အချက် A4.4.1 နဲ့ A4.4.2 တို့နဲ့ ဆက်စပ်ပါတယ်။ SL နဲ့ HL ကျောင်းသား နှစ်မျိုးလုံး လေ့လာလို့ ရပါတယ်။ A4.1.1 စတာတွေက IB Computer Science (နိုင်ငံတကာ ကျောင်းတွေမှာ သင်တဲ့ ကွန်ပျူတာသိပ္ပံ သင်ရိုး) ရဲ့ သင်ရိုးထဲက အပိုင်း နံပါတ်တွေပါ။ SL (Standard Level: IB သင်တန်းရဲ့ အခြေခံ အဆင့်) နဲ့ HL (Higher Level: IB သင်တန်းမှာ ပိုနက်နက်ရှိုင်းရှိုင်း လေ့လာရတဲ့ အဆင့်) က IB သင်တန်းရဲ့ အဆင့် နှစ်ဆင့်ပါ။
Language model (စာသားကနေ သင်ယူထားပြီး နောက်ထပ် လာမယ့် စာအပိုင်းကို ခန့်မှန်းပေးတဲ့ စနစ်) တစ်ခုက စာသားကို ကိန်းဂဏန်းတွေအဖြစ် ပြောင်းပြီး training (ဒေတာနဲ့ လေ့ကျင့်ပေးခြင်း) လုပ်စဉ် သင်ယူခဲ့တဲ့ ပုံစံတွေကို သုံးပြီး အဖြေ တစ်ခု ထုတ်ပေးပါတယ်။ သူက နောက် token (model က တစ်ယူနစ်အဖြစ် ကိုင်တွယ်တဲ့ စာအပိုင်း) တစ်ခုချင်းကို ဘယ်လို ရွေးလဲ၊ သူ့အဖြေတွေ ဘာကြောင့် ကွဲပြားနိုင်လဲ၊ သူ့ကန့်သတ်ချက်တွေက ဘယ်နေရာမှာ အရေးကြီးလဲ ဆိုတာကို လိုက်ကြည့်ပါ။ ခြုံငုံ နားလည်ဖို့ အောက်က video နဲ့ စပါ။ (2019 ကနေ 2026 အထိ ရက်စွဲပါတဲ့ ရင်းမြစ်တွေကို အခြေခံပြီး 2026 ဇူလိုင်လမှာ ရေးထားပါတယ်။ ဒီနယ်ပယ်ရဲ့ လက်ရှိ အခြေအနေပေါ် မူတည်တဲ့ အဆိုတွေမှာ ရက်စွဲ ထည့်ထားပါတယ်။)
မာတိကာ
- သုံးမိနစ်စာ အကျဉ်းချုပ်
- ဘာသာစကားက ကွန်ပျူတာအတွက် ဘာကြောင့် ခက်သလဲ
- Tokenisation (စာသားကို token တွေအဖြစ် ခွဲခြင်း): စာသားက token တွေ ဖြစ်လာပုံ
- Embeddings (token ရဲ့ အဓိပ္ပာယ်ကို ကိုယ်စားပြုတဲ့ ကိန်းဂဏန်း စာရင်းများ): Token တွေ အဓိပ္ပာယ် ရလာပုံ
- Attention (အရေးကြီးတဲ့ token တွေကို ပိုအလေးထားခြင်း): Context က အဓိပ္ပာယ်ကို ပြောင်းစေပုံ
- Train လုပ်ပြီးသား model ကနေ လက်တွေ့ သုံးလို့ရတဲ့ assistant ဖြစ်လာပုံ
- ကန့်သတ်ချက်တွေနဲ့ ယုံကြည်စိတ်ချရမှု
- ဒီစာမျက်နှာမှာ မပါတဲ့ အကြောင်းအရာများ
- ဆက်စပ် ခေါင်းစဉ်များ
သုံးမိနစ်စာ အကျဉ်းချုပ်
နောက်ဆုံး စကားလုံး ပျောက်နေတဲ့ စာပိုဒ် တစ်ပိုဒ်၊ ကိန်းဂဏန်း စာရင်းတွေအဖြစ် ပြောင်းထားတဲ့ စကားလုံးတွေနဲ့ စကားလုံးတွေကြားမှာ ထူတဲ့ မျဉ်း၊ ပါးတဲ့ မျဉ်းတွေနဲ့ ဆွဲပြထားတဲ့ attention ပါပါတယ်။ ဒီအပိုင်းက 46:01 မှာ ပြီးပါတယ်၊ အဲဒီနောက်က အပိုင်းအားလုံးက တခြား ခေါင်းစဉ်ပါ။
Video က အဓိက အယူအဆကို အတိုချုပ် ပြပါတယ်: large language model (LLM၊ စာသား အမြောက်အမြားနဲ့ train လုပ်ထားတဲ့ language model ကြီး) တစ်ခုကို ပေးထားတဲ့ စာသားကနေ နောက် token (အကြမ်းအားဖြင့် နောက်စကားလုံး) ကို ခန့်မှန်းဖို့ train လုပ်ထားပါတယ်။ Attention (ခန့်မှန်းတဲ့အခါ အရေးကြီးတဲ့ token တွေကို ပိုအလေးထားခြင်း) ကတော့ အဲဒီ စာသားထဲမှာ အဝေးကြီး နောက်မှာ ကျန်ခဲ့တဲ့ စကားလုံးတွေက ခန့်မှန်းချက်အပေါ် သက်ရောက်မှု ရှိနိုင်စေတဲ့ နည်းလမ်းပါ။ အောက်က အပိုင်းတွေက တစ်ဆင့်ချင်း ရှင်းပြပါတယ်: စာသားက token တွေ ဖြစ်လာတယ်၊ token တွေက အဓိပ္ပာယ် ပါတဲ့ ကိန်းဂဏန်းတွေ ဖြစ်လာတယ်၊ context (စကားလုံး ပတ်ဝန်းကျင်က စာသားနဲ့ အခြေအနေ) က အဓိပ္ပာယ်ကို ပြောင်းစေတယ်၊ ပြီးတော့ train လုပ်ထားတဲ့ ခန့်မှန်းစနစ် တစ်ခုက လက်တွေ့ သုံးလို့ရတဲ့ assistant (ဉာဏ်ရည်တု လက်ထောက်) တစ်ခု ဖြစ်လာတယ်။
ဘာသာစကားက ကွန်ပျူတာအတွက် ဘာကြောင့် ခက်သလဲ
Stretch အပိုင်း။ Natural language processing ကို machine learning ရဲ့ အသုံးချမှု တစ်ခုအဖြစ် ဖော်ပြထားတဲ့ A4.1.1 နဲ့ ဆက်စပ်ပါတယ်။
ဘာသာစကားမှာ အဓိပ္ပာယ် တစ်မျိုးထက် ပိုထွက်နိုင်တာ သီးခြား ပုံစံ နှစ်မျိုး ရှိပြီး နှစ်မျိုးလုံး အရေးကြီးပါတယ်။
စကားလုံး တစ်လုံးတည်းက အဓိပ္ပာယ် အမျိုးမျိုး ရှိနိုင်ပါတယ်။ သူငယ်ချင်း တစ်ယောက်က “there’s a bat in the sports hall” (အားကစားခန်းမထဲမှာ bat တစ်ခု ရှိတယ်) လို့ message ပို့လာရင် အမှတ်မှတ်တဲ့ စာအုပ်ကို သွားယူရမလား (bat က ကစားတဲ့ ဘက်တံ ဆိုရင်)၊ ပြတင်းပေါက် ဖွင့်ပေးရမလား (bat က လင်းနို့ ဆိုရင်) ဆိုတာကို “bat” ဆိုတဲ့ စကားလုံးထဲမှာ ဘာမှ မပြောပြပါဘူး။ ပတ်ဝန်းကျင် အခြေအနေကပဲ ဆုံးဖြတ်ပေးပါတယ်။
စကားလုံး တိုင်း ရှင်းလင်းနေရင်တောင် စာကြောင်း တစ်ကြောင်းလုံးက အဓိပ္ပာယ် နှစ်မျိုး ထွက်နိုင်ပါတယ်။ “Maya photographed the cyclist with the drone” ဆိုတဲ့ စာကြောင်းမှာ Maya က ဓာတ်ပုံရိုက်ဖို့ drone ကို သုံးခဲ့တာ ဖြစ်နိုင်သလို စက်ဘီးစီးသူက drone ကို ကိုင်ဆောင်လာတာလည်း ဖြစ်နိုင်ပါတယ်။
ဥပမာ နှစ်ခုလုံးက တူညီတဲ့ အချက်ကို ပြပါတယ်: စကားလုံး ဒါမှမဟုတ် စာကြောင်း တစ်ခုရဲ့ အဓိပ္ပာယ်က စကားလုံးတွေ သက်သက်ပေါ်မှာတင် မဟုတ်ဘဲ သူ့ရဲ့ context ပေါ်မှာလည်း မူတည်ပါတယ်။ ဒီစာမျက်နှာရဲ့ ကျန်တဲ့ အပိုင်း အများစုက model တစ်ခုက အဲဒီ context ကို ဘယ်လို ဖမ်းယူလဲ ဆိုတာ အကြောင်းပါ။
Tokenisation (စာသားကို token တွေအဖြစ် ခွဲခြင်း): စာသားက token တွေ ဖြစ်လာပုံ
Stretch အပိုင်း။ A4.2.1 (HL)၊ data cleaning (train မလုပ်ခင် ဒေတာကို သန့်ရှင်းအောင် ပြင်ခြင်း) ပေါ်မှာ အခြေခံပါတယ်: tokenisation က training မလုပ်ခင် ဒေတာ ပြင်ဆင်တာရဲ့ စာသား ပုံစံ ဖြစ်ပြီး ဒီမှာ ချတဲ့ ဆုံးဖြတ်ချက်တွေက model ဘာကို သင်ယူနိုင်မလဲ ဆိုတာကို ဆုံးဖြတ်ပါတယ်။
Neural network (အလွှာလိုက် စီထားတဲ့ neuron အတု network) က စာလုံးတွေကို လက်မခံနိုင်ပါဘူး။ ကိန်းဂဏန်းတွေကိုပဲ လက်ခံပါတယ်။ စာသားကို ကိန်းဂဏန်းအဖြစ် မပြောင်းခင် ဘာကို ယူနစ် တစ်ခုအဖြစ် ရေတွက်မလဲ ဆိုတာကို တစ်ယောက်ယောက်က ဆုံးဖြတ်ရပါတယ်။ အဲဒီ ယူနစ်တွေကို token လို့ ခေါ်ပြီး ခွဲတာကို tokenisation လို့ ခေါ်ပါတယ်။
စံ ခွဲနည်း သုံးမျိုး ရှိပြီး တစ်မျိုးစီမှာ ကိုယ်စီ အားနည်းချက် ရှိပါတယ်:
စာကြောင်း တစ်ကြောင်း၊ ခွဲနည်း သုံးမျိုး။ Subword (စကားလုံးရဲ့ အဓိပ္ပာယ်ရှိတဲ့ အပိုင်း) အလိုက် ခွဲတာ (အလယ် အတန်း) က တကယ့် စနစ်တွေ သုံးတဲ့ အလယ်အလတ် နည်းလမ်းပါ: “brightest” က “bright” နဲ့ “est” ဖြစ်သွားတာမို့ model က “est” အကြောင်း နေရာ တစ်ခုမှာ သင်ယူထားတာကို တစ်ခါမှ မတွေ့ဖူးတဲ့ စကားလုံးတွေဆီ ယူသုံးနိုင်ပါတယ်။
ပုံထဲက စာကြောင်းက “The brightest students explained it” (အတော်ဆုံး ကျောင်းသားတွေက အဲဒါကို ရှင်းပြခဲ့တယ်) ပါ။ By whole word (စကားလုံး တစ်လုံးလုံးအလိုက်) ခွဲရင် ရိုးရှင်းပေမယ့် တစ်ခါမှ မမြင်ဖူးတဲ့ စကားလုံးတိုင်းက လုံးဝ မသိတဲ့ စကားလုံး ဖြစ်နေပါတယ်။ By meaningful part (အဓိပ္ပာယ်ရှိတဲ့ အပိုင်းအလိုက်) ခွဲရင် est, s, ed လို နောက်ဆက်တွေမှာ model က စကားလုံး အသစ်တွေမှာ ပြန်သုံးနိုင်တဲ့ အဓိပ္ပာယ် ပါပါတယ်။ By single character (စာလုံး တစ်လုံးချင်းအလိုက်) ခွဲရင် မမြင်ဖူးတဲ့ စကားလုံးတွေ အပါအဝင် ဘာကိုမဆို စာလုံးပေါင်းနိုင်ပေမယ့် စာလုံး တစ်လုံးတည်းမှာ အဓိပ္ပာယ် မရှိသလောက်ပါပဲ။
ပုဒ်ဖြတ် သင်္ကေတ (punctuation) တွေက များသောအားဖြင့် ကိုယ်ပိုင် token ရပါတယ်၊ ဘာကြောင့်လဲဆိုတော့ comma (ပုဒ်ကြောင်း) ဘယ်နေရာမှာ ကျလဲ ဆိုတာက အဓိပ္ပာယ်ကို ပြောင်းစေလို့ပါ။ အဖွဲ့အစည်း အသီးသီးက မတူအောင် ခွဲကြပြီး အသေးစိတ်တွေကို အခုထိ သုတေသန လုပ်နေဆဲပါ။ ဒါကြောင့် ရှင်းပြချက် အများစုလိုပဲ ဒီစာမျက်နှာမှာ ဒီနေရာကစပြီး token တစ်ခုကို စကားလုံး တစ်လုံးလို့ ရိုးရှင်းအောင် ယူဆပါမယ်။
Training အတွက် ရွေးတဲ့ စာသားကလည်း ဘာကို သင်ယူမလဲ ဆိုတာကို ဆုံးဖြတ်ပါတယ်။ Model တစ်ခု သင်ယူတဲ့ စာသားတွေကို သူ့ရဲ့ corpus (training အတွက် သုံးတဲ့ စာသား အစုအဝေး) လို့ ခေါ်ပါတယ်။ စုံထောက် ဝတ္ထု တစ်အုပ်တည်းမှာ ဘယ်စကားလုံးနောက်မှာ ဘယ်စကားလုံး လိုက်လာလဲ ရေတွက်ကြည့်ရင် အဲဒီ စာအုပ်ရဲ့ ဇာတ်ကောင်တွေ၊ နေရာတွေနဲ့ ဇာတ်လမ်းကို ပြန်ရပါတယ်။ ကြီးမားပြီး အမျိုးမျိုး ပါဝင်တဲ့ စာသား အစုအဝေး တစ်ခုမှာ ရေတွက်ရင်တော့ သာမန် English ကို ပြန်ရပါတယ်။ ရေတွက်တဲ့ နည်းက နှစ်ခုလုံးမှာ အတူတူပါပဲ၊ corpus ပဲ ပြောင်းသွားတာပါ။ ဒါက A4.2.1 ထဲက data preparation (train မလုပ်ခင် ဒေတာ ပြင်ဆင်ခြင်း) အချက်ရဲ့ စာသား ပုံစံပါ: training ထဲ ဘာထည့်လဲ ဆိုတာက ဘာထွက်လာမလဲ ဆိုတာကို ပုံဖော်ပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: စာကြောင်း တစ်ကြောင်းကို နည်း သုံးမျိုးနဲ့ ခွဲကြည့်ပါ။ “Don’t the quickest self-driving cars need the newest sensors?” (အမြန်ဆုံး ကိုယ်တိုင်မောင်းကားတွေမှာ အသစ်ဆုံး sensor တွေ မလိုဘူးလား) ဆိုတဲ့ စာကြောင်းကို ယူပြီး စကားလုံးအလိုက်၊ character (စာလုံး ဒါမှမဟုတ် သင်္ကေတ) အလိုက်နဲ့ အဓိပ္ပာယ်ရှိတဲ့ အပိုင်းအလိုက် ခွဲကြည့်ပါ။ Apostrophe (‘) နဲ့ hyphen (-) ကို ဘာလုပ်မလဲ ဆုံးဖြတ်ပြီးရင် ဒီမေးခွန်းကို ဖြေပါ: model က တစ်ခါမှ မမြင်ဖူးတဲ့ စကားလုံး တစ်လုံးကို ကိုင်တွယ်နိုင်ဖို့ ဘယ်ခွဲနည်းက ကူညီမလဲ။
ဖြေထားတဲ့ နမူနာ အဖြေ ကြည့်ရန်
စကားလုံးအလိုက် ခွဲရင် “Don’t” (စကားလုံး တစ်လုံးလား၊ နှစ်လုံးလား) နဲ့ “self-driving” (hyphen မှာ ခွဲမလား၊ မခွဲဘူးလား) အတွက် စည်းမျဉ်း ချက်ချင်း လိုလာပါတယ်။ Character အလိုက် ခွဲရင် ဘာမဆို စာလုံးပေါင်းနိုင်ပေမယ့် သူ့ဘာသာသူ အဓိပ္ပာယ် နည်းတဲ့ အပိုင်းတွေနဲ့ ပိုရှည်တဲ့ အစဉ် တစ်ခု ထွက်လာပါတယ်။ ဖြစ်နိုင်တဲ့ subword ခွဲနည်း တစ်ခုက “Do” + “n’t”, “quick” + “est”, “self” + “-“ + “driving”, “car” + “s”, “new” + “est”, “sensor” + “s” ပါ။ Subword ခွဲနည်းက စကားလုံး အသစ်တွေကို အကောင်းဆုံး ကိုင်တွယ်နိုင်ပါတယ်: “est” နဲ့ “s” က ဘာလုပ်လဲ သင်ယူထားပြီးသား model က “smartest gadgets” ကို သိပြီးသား အပိုင်းတွေအဖြစ် ခွဲပြီး ကိုင်တွယ်နိုင်ပါတယ်၊ စကားလုံး နှစ်လုံးစလုံးကို အလုံးလိုက် မတွေ့ဖူးရင်တောင်ပါ။ အတိအကျ ခွဲပုံက tokeniser (စာသားကို token တွေ ခွဲပေးတဲ့ program) ပေါ် မူတည်ပါတယ်။
ထပ်ဆောင်း: “a test of a good test is a fair test” မှာ token 10 ခု (စကားလုံး တိုင်းကို ထပ်နေတာတွေပါ ရေတွက်) ရှိပေမယ့် မတူတဲ့ စကားလုံး 6 လုံးပဲ ရှိပါတယ်။ Corpus အရွယ်အစားကို များသောအားဖြင့် token အရေအတွက်နဲ့ ပြောလေ့ရှိလို့ ဒီကွာခြားချက်ကို သိထားသင့်ပါတယ်။
Embeddings (token ရဲ့ အဓိပ္ပာယ်ကို ကိုယ်စားပြုတဲ့ ကိန်းဂဏန်း စာရင်းများ): Token တွေ အဓိပ္ပာယ် ရလာပုံ
Stretch အပိုင်း။ A4.2.3 (compact numerical representations: ကျစ်လျစ်တဲ့ ကိန်းဂဏန်း ကိုယ်စားပြုပုံ) နဲ့ A4.3.2 (nearest-neighbour methods: အနီးဆုံး ဥပမာတွေနဲ့ ဆုံးဖြတ်တဲ့ နည်း) တို့နဲ့ ဆက်စပ်ပါတယ်၊ နှစ်ခုလုံး HL ပါ။
Neural network က ကိန်းဂဏန်းတွေနဲ့ အလုပ်လုပ်တာမို့ token တစ်ခုစီကို နံပါတ် တစ်ခု ပေးပါတယ်၊ အဲဒါက သူ့ရဲ့ token ID (token ကို ခွဲခြားသိဖို့ ပေးတဲ့ နံပါတ်) ပါ။ ID က token ကို ခွဲခြား ဖော်ပြပေးပေမယ့် နံပါတ် တစ်ခုတည်းမှာ အဓိပ္ပာယ်အကြောင်း ဘာ အချက်အလက်မှ မပါပါဘူး: “bat” က တိရစ္ဆာန်၊ အားကစား ပစ္စည်း ဒါမှမဟုတ် ကြိယာ ဖြစ်နိုင်တယ် ဆိုတာကို အဲဒီ နံပါတ်ထဲမှာ ဘာမှ မပြောပါဘူး။
ဒါကြောင့် token တစ်ခုစီကို vector (ကိန်းဂဏန်း စာရင်း) တစ်ခုလည်း ပေးပါတယ်။ အဲဒီ စာရင်းမှာ ကိန်းဂဏန်း ရာနဲ့ချီ ပါလေ့ရှိပြီး သူ့ကို token ရဲ့ embedding လို့ ခေါ်ပါတယ်။ တန်ဖိုးတွေကို training လုပ်စဉ် သင်ယူတာ ဖြစ်ပြီး စာရင်းထဲက ဘယ်နေရာကိုမှ “ဘယ်လောက် မင်းမျိုးဆန်လဲ” ဆိုတာမျိုး ပုံသေ အဓိပ္ပာယ် သတ်မှတ်မထားပါဘူး။ ကိန်းဂဏန်း တစ်ခုချင်းက သူ့ဘာသာသူ အဓိပ္ပာယ် သိပ်မရှိပါဘူး၊ အရေးကြီးတာက token တစ်ခုရဲ့ စာရင်းကို တခြား token တွေရဲ့ စာရင်းနဲ့ နှိုင်းယှဉ်ရင် ဘယ်လို ဖြစ်လဲ ဆိုတာပါ။ ဆင်တူတဲ့ context တွေမှာ သုံးတဲ့ token တွေက ဆင်တူတဲ့ စာရင်းတွေ ရလာတာမို့ စာရင်း တစ်ခုစီကို coordinate (တည်နေရာ ပြတဲ့ ကိန်း) တွေအဖြစ် ယူဆရင် သူတို့က embedding space (embedding တွေ နေရာယူတဲ့ ကိန်းဂဏန်း နယ်ပယ်) ထဲမှာ အချင်းချင်း နီးနီးမှာ ရှိနေပါတယ်။
ဆက်စပ်နေတဲ့ စကားလုံး အတွဲတိုင်းကို တစ်ယောက်ယောက်က label (အဖြေ အမှတ်အသား) မတပ်ပေးဘဲ training က ဒီ ဆင်တူမှုတွေကို ဘယ်လို ထုတ်ပေးနိုင်သလဲ။
နည်းလမ်း တစ်ခုက ဆင်တူတဲ့ context တွေမှာ ပေါ်တဲ့ စကားလုံးတွေကနေ သင်ယူပါတယ်။ ဒါကို စဉ်းစားကြည့်ပါ:
She packed her __ before the trip.
(အဓိပ္ပာယ်: ခရီး မထွက်ခင် သူမ သူ့ရဲ့ __ ကို ထုပ်ပိုးခဲ့တယ်။)
“Suitcase” (ခရီးဆောင် သေတ္တာ)၊ “boots” (ဘွတ်ဖိနပ်) နဲ့ “charger” (အားသွင်းကြိုး) တစ်ခုခုက ကွက်လပ်ကို ဖြည့်နိုင်ပါတယ်။ “Excellent” (အရမ်းကောင်းတယ်) ကတော့ မဝင်ပါဘူး။ Training လုပ်စဉ် စာကြောင်း အလွန်များပြားတဲ့ အရေအတွက်မှာ တူညီတဲ့ ကွက်လပ်တွေကို ဖြည့်နိုင်တဲ့ စကားလုံးတွေကို ဆင်တူတဲ့ embedding တွေဆီ တဖြည်းဖြည်း တွန်းပို့ပါတယ်။ အဘိဓာန် ဒါမှမဟုတ် လူက label တပ်ပေးတာ မလိုပါဘူး: training စာသားကိုယ်တိုင်က သင်ယူဖို့ အချက်ပြမှုကို ပေးပါတယ်။
ဆင်တူတဲ့ context တွေမှာ သုံးတဲ့ စကားလုံးတွေက ဆင်တူတဲ့ embedding တွေ ရနိုင်ပါတယ်။ Embedding နှစ်ခုကြား ဆင်တူမှုကို dot product (vector နှစ်ခုရဲ့ ကိန်းတွေကို အတွဲလိုက် မြှောက်ပြီး ပေါင်းခြင်း) နဲ့ တိုင်းလေ့ ရှိပါတယ်၊ သူက vector နှစ်ခုကို ကိန်း တစ်ခုတည်းအဖြစ် ပေါင်းစပ်ပေးပါတယ်။ သူ့တန်ဖိုးက vector နှစ်ခုရဲ့ direction (ဦးတည်ရာ) နဲ့ magnitude (အရွယ်ပမာဏ) နှစ်ခုလုံးပေါ် မူတည်ပါတယ်။ အရှည် ဆင်တူတဲ့ vector တွေအတွက်ဆိုရင် သူတို့ ဆင်တူတဲ့ direction ကို ညွှန်လေ တန်ဖိုး ပိုမြင့်လေပါ။
ပုံထဲက စာတွေ: “She packed her __ before the trip.” ရဲ့ ကွက်လပ်မှာ suitcase, boots, charger က all fit (အားလုံး ဝင်ပါတယ်)၊ excellent က does not (မဝင်ပါဘူး)။ Training ပြီးတဲ့အခါ ညာဘက်က space မှာ ဝင်တဲ့ စကားလုံးတွေ အတူ စုနေပြီး excellent က အဝေးမှာ ရှိပါတယ်။ အရောင်ဖျော့ထားတဲ့ monday, friday, weekend က တခြား အုပ်စု တစ်ခုပါ။ အောက်ဆုံးက စာက “ဒီ 2-D ပုံက dimension (အတိုင်းအတာ) ရာနဲ့ချီတဲ့ space တစ်ခုကို ကိုယ်စားပြုပါတယ်” လို့ ဆိုလိုပါတယ်။
Space ကို ဒီဇိုင်းဆွဲထားတာ မဟုတ်ဘဲ သင်ယူထားတာ ဖြစ်လို့ သူ့ထဲက direction တွေက အဓိပ္ပာယ် ဆောင်လာပါတယ်။ နာမည်ကြီး သုတေသန သာဓကက “king” (ဘုရင်) ရဲ့ vector ထဲက “man” (ယောက်ျား) ကို နုတ်ပြီး “woman” (မိန်းမ) ကို ပေါင်းရင် “queen” (ဘုရင်မ) နားကို ရောက်တာပါ။ တူညီတဲ့ ဂဏန်းတွက်နည်းက ဘယ်သူမှ ကြိုမစီစဉ်ထားတဲ့ ပုံစံတွေမှာလည်း အလုပ်လုပ်ပါတယ်: “kitten” (ကြောင်ပေါက်စ) ထဲက “cat” (ကြောင်) ကို နုတ်ပြီး “dog” (ခွေး) ကို ပေါင်းရင် “puppy” (ခွေးပေါက်စ) နားကို ရောက်ပါတယ်၊ ဘာကြောင့်လဲဆိုတော့ space ထဲမှာ “တိရစ္ဆာန် ပေါက်စ” direction တစ်ခု ရှိနေလို့ပါ။
Embedding တွေထဲက bias (တစ်ဖက်သတ် ဘက်လိုက်မှု)။ “king” ထဲက “man” ကို နုတ်ပြီး “woman” ကို ပေါင်းရင် “queen” နားကို ရောက်စေတဲ့ ဂုဏ်သတ္တိ တစ်ခုတည်းကပဲ embedding space က training စာသားထဲမှာ ပေါ်တဲ့ ဆက်စပ်မှု မှန်သမျှကို စုပ်ယူတယ် ဆိုတာကိုလည်း ဆိုလိုပါတယ်၊ ကျား/မ၊ လူမျိုးနဲ့ လူတန်းစား အပေါ် ပုံသေ အမြင် (stereotype) တွေလည်း ပါပါတယ်။ Web စာသားနဲ့ train လုပ်ထားတဲ့ model က တခြား အရာ အားလုံးကို သင်ယူသလိုပဲ အဲဒီ stereotype တွေကို space ထဲက direction တွေအဖြစ် သင်ယူသွားနိုင်ပါတယ်။ ဒါက Ethics of Machine Learning (A4.4.1၊ သင်ရိုးထဲမှာ ပါ) မှာ ဆွေးနွေးထားတဲ့ training-data bias ရဲ့ နောက်ကွယ်က ယန္တရား တစ်ခုပါ။
ဒီနည်းက စကားလုံးတွေအတွက်ပဲ မဟုတ်ပါဘူး။ Image generation (ဉာဏ်ရည်တုနဲ့ ပုံ ဖန်တီးခြင်း) စာမျက်နှာ မှာ ဓာတ်ပုံတွေနဲ့ caption (ပုံအောက်က ရှင်းပြစာ) တွေကို တူညီတဲ့ space တစ်ခုထဲ ထည့်ပုံကို ပြထားပါတယ်၊ အဲဒါကြောင့် စာကြောင်း တစ်ကြောင်းက ပုံ တစ်ပုံကို လမ်းညွှန်နိုင်တာပါ။
ကြည့်ရန်: စကားလုံး အဓိပ္ပာယ်ကို လွယ်လွယ်ကူကူ စတင် လေ့လာနည်း (Crash Course video နှစ်ခု)
Word embedding တွေနဲ့ နောက်စကားလုံးကို ခန့်မှန်းခြင်းကို မိတ်ဆက်ပေးပါတယ်: 3:33 မှာ context ကနေ အဓိပ္ပာယ် ရပုံ၊ 5:15 မှာ ဘာမှ မပြင်ထားတဲ့ co-occurrence count (စကားလုံးတွေ အတူတူ ပေါ်တဲ့ အကြိမ်ရေ) တွေက ဘာကြောင့် အရမ်း ကြီးလွန်းလဲ ဆိုတာနဲ့ 10:49 မှာ သင်ယူထားတဲ့ စကားလုံး အုပ်စု (cluster) တွေ ပါပါတယ်။ 2019 က video ဖြစ်လို့ attention အထိ မရောက်ပါဘူး၊ attention ကို အောက်က အပိုင်းတွေမှာ ရှင်းပြထားပါတယ်။
Language model အသေး တစ်ခုကို အစကနေ အဆုံးထိ တည်ဆောက်ပြတဲ့ lab video ပါ: 3:46 မှာ contraction (အတိုချုံ့ထားတဲ့ စကားလုံး) တွေ အပါအဝင် tokenisation၊ 5:10 ကနေ ရှားတဲ့ စကားလုံးတွေနဲ့ မသိတဲ့ စကားလုံးတွေ၊ 7:59 မှာ embedding table (embedding တွေ စုထားတဲ့ ဇယား) နဲ့ 11:37 မှာ ဖြစ်နိုင်ခြေ အများဆုံး စကားလုံး တစ်လုံးတည်းကို ရွေးမယ့်အစား နောက်စကားလုံးကို sampling လုပ်တာ ပါပါတယ်။ ဒါလည်း 2019 က video ပါ။
Attention (အရေးကြီးတဲ့ token တွေကို ပိုအလေးထားခြင်း): Context က အဓိပ္ပာယ်ကို ပြောင်းစေပုံ
Stretch အပိုင်း။ A4.3.8 (HL)၊ artificial neural networks ပေါ်မှာ အခြေခံပါတယ်: ဒီအပိုင်းထဲက ယန္တရားတွေကို အဲဒီမှာ ဖော်ပြထားတဲ့ weighted sum (တန်ဖိုး တစ်ခုစီကို အလေးချိန် တစ်ခုနဲ့ မြှောက်ပြီး ပေါင်းခြင်း) တွေနဲ့ layer (အလွှာ) တွေနဲ့ တည်ဆောက်ထားပါတယ်။
Embedding က token တစ်ခုစီကို ပုံသေ အစ representation (ကိုယ်စားပြုချက်) တစ်ခု ပေးပါတယ်: “bat” က တိရစ္ဆာန်ကို ဆိုလိုတာ ဖြစ်ဖြစ်၊ အားကစား ပစ္စည်းကို ဆိုလိုတာ ဖြစ်ဖြစ် တူညီတဲ့ ကိန်းဂဏန်း စာရင်းကိုပဲ ရပါတယ်။ အစပိုင်း အပိုင်းမှာ ပြခဲ့သလို ပုံသေ အဓိပ္ပာယ် တစ်ခုတည်းက မလုံလောက်ပါဘူး၊ ဘာကြောင့်လဲဆိုတော့ ဘယ်အဓိပ္ပာယ်က သက်ဆိုင်လဲ ဆိုတာကို ပတ်ဝန်းကျင်က စကားလုံးတွေက ဆုံးဖြတ်လို့ပါ။ Model တစ်ခုက context ကို token ရဲ့ representation ကို ပြောင်းခွင့် ဘယ်လို ပေးလဲ ဆိုတာကို အောက်က အပိုင်းတွေက ရှင်းပြပါတယ်။
ပထမ ကြိုးစားမှု: စကားလုံး တစ်လုံးချင်း ဖတ်ခြင်း
Recurrent neural network (token တွေကို အစဉ်လိုက် တစ်ခုချင်း ဖတ်တဲ့ neural network) က token တစ်ခုကို တစ်ကြိမ်စီ ဖတ်ပြီး hidden state (အတွင်းမှာ သယ်သွားတဲ့ မှတ်ထားချက်) ကို အဆင့် တစ်ခုကနေ နောက်တစ်ဆင့်ကို ဆက်ပို့ပါတယ်။ Hidden state က ကိန်းဂဏန်း vector တစ်ခုပါ။ Training လုပ်စဉ် အဲဒီ state ထဲမှာ ဘယ် အချက်အလက်ကို ထိန်းထားရမလဲ ဆိုတာ သူ သင်ယူပါတယ်။
Output layer (ရလဒ် ထုတ်ပေးတဲ့ နောက်ဆုံး layer) က vocabulary (model သိတဲ့ token အားလုံးရဲ့ စာရင်း) ထဲက token တိုင်းကို ရမှတ် တစ်ခုစီ ပေးပါတယ်။ အဲဒီ ရမှတ်တွေကို probability distribution (ဖြစ်နိုင်တဲ့ နောက် token တိုင်းအပေါ် ဖြစ်နိုင်ခြေတွေကို ဖြန့်ထားတာ) အဖြစ် ပြောင်းတာမို့ model ရဲ့ output (program က ထုတ်ပြတဲ့ ရလဒ်) က သိမ်းထားတဲ့ အဖြေ တစ်ခုတည်း မဟုတ်ဘဲ ဖြစ်နိုင်ခြေ အစု တစ်ခုပါ။ ဒီ distribution ကနေ sampling (ဖြစ်နိုင်ခြေအလိုက် ကျပန်း ရွေးခြင်း) လုပ်တာကြောင့် မေးခွန်း တစ်ခုတည်းကို နှစ်ခါ မေးရင် အဖြေ မတူတာ ထွက်လာနိုင်ပါတယ်။
Recurrent network က အရင် စာသားတွေကို အရွယ်အစား ပုံသေ state တစ်ခုထဲ ချုံ့ထည့်ပါတယ်။ စာသား အစဉ် ရှည်လာတာနဲ့အမျှ အချက်အလက်တွေ ပျောက်သွားနိုင်လို့ အဝေးက ဆက်စပ်မှုတွေကို ထိန်းထားဖို့ ပိုခက်လာပါတယ်။
Recurrence (အရင် state ကို ပြန်သုံးပြီး ဆက်ဖတ်ခြင်း) က အလုပ်ဖြစ်ပေမယ့် နောက်ဆုံးမှာ မနိုင်တော့ပါဘူး: အရွယ်အစား ပုံသေ state တစ်ခုက စာပိုဒ် ရှည်ရှည်ကို မဆံ့နိုင်ပါဘူး။
ပုံထဲက စာတွေ: ဘယ်ဘက်က “Read one at a time, carry a state along” က တစ်ခုချင်း ဖတ်ပြီး state ကို ဆက်သယ်သွားတယ်လို့ ဆိုလိုပြီး step 1, 2, 3 က “My dog chases” (ငါ့ခွေးက လိုက်တယ်) ကို တစ်လုံးချင်း ဖတ်တဲ့ အဆင့်တွေပါ။ အောက်က စာက “state ထဲမှာ ဘာ ထားမလဲ ဆိုတာ network က ကိုယ်တိုင် ဆုံးဖြတ်ပါတယ်” လို့ ဆိုလိုပါတယ်။ ညာဘက်က “…until the state is too small” က state က သေးလွန်းလာတဲ့အထိ လို့ ဆိုလိုပြီး a whole chapter of text (စာသား အခန်း တစ်ခန်းလုံး) ကို one small vector (vector အသေးလေး တစ်ခု) ထဲ ကျုံ့ထည့်ရပါတယ်။ အနီရောင် စာက “ထည့်တာ များလွန်းပြီး နေရာ နည်းလွန်းလို့ လမ်းမှာ အသေးစိတ်တွေ ပျောက်သွားပါတယ်” လို့ ဆိုလိုပါတယ်။
Attention ဖြစ်လာစေတဲ့ သတိထားမိချက်
Context က ပျောက်နေတဲ့ စကားလုံး တစ်လုံးကို ခန့်မှန်းဖို့ ဘယ်လို ကူညီလဲ စဉ်းစားကြည့်ပါ:
ကိုယ်တိုင် စမ်းကြည့်ပါ: ဘယ်စကားလုံးတွေက တကယ် ကူညီခဲ့လဲ။ သူငယ်ချင်း တစ်ယောက်ကို စာကြောင်း 5 ကြောင်း ဒါမှမဟုတ် 6 ကြောင်းပါတဲ့ စာပိုဒ် တစ်ပိုဒ် ရေးခိုင်းပါ။ နောက်ဆုံး စာကြောင်းရဲ့ နောက်ဆုံး စကားလုံးကို စာပိုဒ်ရဲ့ အစပိုင်းက တစ်ခုခုက ခိုင်ခိုင်မာမာ သတ်မှတ်ပေးထားရပါမယ်။ ပြီးရင် အဲဒီ နောက်ဆုံး စကားလုံးကို ဖျက်ပြီး ပေးခိုင်းပါ။ ပျောက်နေတဲ့ စကားလုံးကို ဖြည့်ပါ၊ ပြီးရင် ဆုံးဖြတ်ဖို့ ကူညီခဲ့တဲ့ စကားလုံးတွေကိုပဲ highlight (အရောင်ခြယ်) လုပ်ပါ။ ဘာမှ မကူညီခဲ့တဲ့ စကားလုံး ဘယ်နှလုံး ရှိလဲ ရေတွက်ပါ။
ဒီလေ့ကျင့်ခန်းက ပြတဲ့ အချက်
ကူညီခဲ့တဲ့ စကားလုံး အနည်းငယ်ပဲ ရှိတာ၊ အဲဒီထဲက တချို့က ကွက်လပ်နဲ့ အဝေးကြီးမှာ ရှိတာ၊ စကားလုံး အများစုက နည်းနည်းပဲ ကူညီခဲ့တာ ဒါမှမဟုတ် ဘာမှ မကူညီခဲ့တာကို တွေ့ရဖို့ များပါတယ်။ သင် highlight လုပ်ထားတာက attention pattern (ဘယ်အပိုင်းကို ဘယ်လောက် အာရုံစိုက်လဲ ပြတဲ့ ပုံစံ) တစ်ခုပါ: ဒီခန့်မှန်းချက် တစ်ခုအတွက် context ရဲ့ ဘယ်အပိုင်းတွေက အရေးကြီးခဲ့လဲ ဆိုတာကို ပြပါတယ်။ Model ကလည်း ဒီလိုပဲ လုပ်ဖို့ လိုပါတယ်၊ context ရဲ့ မတူတဲ့ အပိုင်းတွေကို မတူတဲ့ weight (အလေးချိန်) တွေ ပေးရပါတယ်။
အဲဒီ သတိထားမိချက်က attention ပါ: ခန့်မှန်းချက် တစ်ခု လုပ်တဲ့အခါ model က သူ ရနိုင်တဲ့ context ထဲက တခြား token တွေဆီက အချက်အလက်ကို ဘယ်လောက် သက်ဆိုင်လဲ ဆိုတာအလိုက် weight ပေးပါတယ်၊ ဘယ်လောက်ပဲ နောက်မှာ ကျန်ခဲ့ပါစေ။ သက်ဆိုင်တဲ့ token တွေက weight ကြီးကြီး ရပြီး ကျန်တာတွေက weight သေးသေး ရပါတယ်။
ခန့်မှန်းချက် တစ်ခုအတွက် attention pattern။ “Norway” က ကွက်လပ်နဲ့ ဝေးပေမယ့် မျဉ်းထူ ရပါတယ်။ “Canada” က မျဉ်းပါး ရပါတယ် (နိုင်ငံ မှားပေမယ့် အနည်းဆုံးတော့ နိုင်ငံ တစ်ခု ဖြစ်လို့ပါ)။ ဖြည့်စွက် စကားလုံးတွေက ဘာမှ မရပါဘူး။
ပုံထဲက စာပိုဒ်ရဲ့ အဓိပ္ပာယ်က “Anna က Norway မှာ ကြီးပြင်းခဲ့ပြီး နောက်ပိုင်း အလုပ်အတွက် Canada ကို ပြောင်းသွားခဲ့တယ်။ နှစ်တွေ ကြာပြီးနောက် သူမက __ နဲ့ပဲ အိပ်မက် မက်တုန်းပါလို့ ပြောပါတယ်” ဆိုတာပါ။ “top guess: Norwegian” က အဖြစ်နိုင်ဆုံး ခန့်မှန်းချက်က Norwegian (နော်ဝေ ဘာသာစကား) ဖြစ်တယ်လို့ ဆိုလိုပါတယ်။ ညာဘက် အောက်က စာတွေက “မျဉ်း ပိုထူလေ ခန့်မှန်းချက်အပေါ် ပိုအရေးပါလေ” နဲ့ “စကားလုံး အများစုမှာ မျဉ်း လုံးဝ မရှိပါဘူး” လို့ ဆိုလိုပါတယ်။
Attention ကို တွက်ပုံ
Attention က token တစ်ခုစီအတွက် vector သုံးခု သုံးပါတယ်:
- Token က query (မေးခွန်း vector) တစ်ခု ထုတ်ပါတယ်: အမှန်တကယ်တော့ “ငါ ဘာကို အာရုံစိုက်သင့်လဲ” ဆိုတဲ့ မေးခွန်း တစ်ခုပါ။
- Token တိုင်း (မေးနေတဲ့ token ကိုယ်တိုင် အပါအဝင်) က key (ကိုယ့်ကိုယ်ကို ဖော်ပြတဲ့ vector) တစ်ခု ထုတ်ပါတယ်: အဲဒါက သူ့ရဲ့ ကမ်းလှမ်းချက်ဖြစ်တဲ့ “ငါက ဒါပါ” ဆိုတာပါ။
- Query ကို key တစ်ခုစီနဲ့ (dot product ကို ပြန်သုံးပြီး) နှိုင်းယှဉ်ရင် attention score (attention ရမှတ်) တွေ ရပါတယ်။ အဲဒါတွေကို ပေါင်းရင် 100 ရတဲ့ ရာခိုင်နှုန်းတွေ ဖြစ်အောင် normalise (ညှိ) လုပ်ပါတယ်။
- Token တစ်ခုစီက value (လွှဲပေးမယ့် အချက်အလက် vector) တစ်ခုလည်း ကမ်းလှမ်းပါတယ်: သူ့ကို attention ပေးခံရရင် လွှဲပေးမယ့် အချက်အလက်ပါ။ ရမှတ်တွေကို weight အဖြစ် သုံးပြီး အဲဒီ value တွေရဲ့ ပျမ်းမျှကို တွက်ပါတယ်၊ ရလဒ်က မေးနေတဲ့ token ရဲ့ embedding ကို update လုပ်ပါတယ်။
စကားလုံး တစ်လုံးအတွက် query၊ key၊ value။ ဒီ update ပြီးနောက် စာပိုဒ် တစ်ခုထဲမှာ နှစ်ခါ ပေါ်တဲ့ “it” ဆိုတဲ့ စကားလုံး တစ်ခုတည်းက copy နှစ်ခုလုံး တူညီတဲ့ embedding နဲ့ စခဲ့ပေမယ့် မတူတဲ့ အရာ နှစ်ခုကို ဆိုလိုနိုင်ပါတယ်။ အစပိုင်းက “bat” ကိုလည်း ဒီနည်းအတိုင်း ဖြေရှင်းပါတယ်: သူ attention ပေးတဲ့ အရာပေါ် မူတည်ပြီးပါ။
ပုံထဲက စာကြောင်း “The cat saw the sofa and it ran away.” ရဲ့ အဓိပ္ပာယ်က ကြောင်က sofa ကို မြင်ပြီး “it” (အဲဒီအကောင်) ထွက်ပြေးသွားတယ် ဆိုတာပါ။ “Query from “it”: what earlier thing am I?” က “it” ဆီက query ဖြစ်ပြီး “ငါက အရင်က ပြောခဲ့တဲ့ ဘယ်အရာလဲ” လို့ မေးတာပါ။ key: “cat”၊ key: “sofa”၊ key: “ran” ဘေးက 78%၊ 17%၊ 5% က key တစ်ခုစီ ရတဲ့ ရမှတ်တွေပါ။ ““it”, updated: now mostly means the cat” က update လုပ်ပြီးနောက် “it” က အခု ကြောင်ကို အများဆုံး ဆိုလိုတယ်လို့ ပြောတာပါ။ အောက်ဆုံးက စာက “ရမှတ်တွေ ပေါင်းရင် အမြဲ 100% ဖြစ်ပါတယ်။ ပြန်စီးလာတာက ကမ်းလှမ်းထားတဲ့ value တွေကို အဲဒီ ရမှတ်တွေနဲ့ weight ပေးထားတဲ့ ပျမ်းမျှပါ” လို့ ဆိုလိုပါတယ်။
Transformer (attention ပေါ်မှာ အခြေခံထားတဲ့ model ဖွဲ့စည်းပုံ)
Transformer က attention ပေါ်မှာ တည်ဆောက်ထားတဲ့ architecture (ဖွဲ့စည်းပုံ ဒီဇိုင်း) ပါ။ Token တစ်ခုကို တစ်ကြိမ်စီ ဖတ်မယ့်အစား token အားလုံးကို တစ်ပြိုင်နက် ကိုင်တွယ်ပါတယ်၊ အဲဒါကြောင့် GPU (ဂရပ်ဖစ် processor) လို parallel hardware (တစ်ပြိုင်နက် တွက်နိုင်တဲ့ hardware) ပေါ်မှာ မြန်တာပါ (ဒါက သင်ရိုးထဲမှာ ပါတဲ့ A4.1.2 နဲ့ ဆက်စပ်ပါတယ်)။ အားလုံးကို တစ်ပြိုင်နက် ကိုင်တွယ်တဲ့အခါ စကားလုံး အစဉ် ပျောက်သွားတာမို့ token တစ်ခုစီရဲ့ နေရာကို ကိုယ်စားပြုတဲ့ အချက်ကို ပြန်ထည့်ပေးရပါတယ်၊ အဲဒါကို positional encoding (token ရဲ့ နေရာကို ကိန်းဂဏန်းနဲ့ ဖော်ပြခြင်း) လို့ ခေါ်ပါတယ်။ ပြီးရင် attention ပေးပြီး update လုပ်တဲ့ လုပ်ငန်း တစ်ခုလုံးကို layer အများကြီးမှာ ထပ်ခါထပ်ခါ လုပ်ပါတယ်၊ attention အဆင့်တွေကြားမှာ feed-forward block (weighted sum တွေ တွက်တဲ့ ရိုးရိုး layer တွေ) ပါပါတယ်။ Model ရဲ့ အချက်အလက်ဆိုင်ရာ အသိပညာ အများစုက အဲဒီ block တွေထဲမှာ ရှိပုံရပါတယ်၊ ဒါပေမယ့် ဒီရှင်းပြချက်က အတည်ပြုပြီးသား အချက် မဟုတ်ဘဲ သုတေသန ယူဆချက် တစ်ခု (2022 ခုနှစ်က ပြောခဲ့တာ) ပါ။ Large language model ထဲက “Large” (ကြီးမား) ဆိုတာက သင်ယူထားတဲ့ ကိန်းဂဏန်းတွေ၊ ဆိုလိုတာက parameter (model သင်ယူထားတဲ့ ကိန်းဂဏန်း တန်ဖိုးများ) တွေ ဒါမှမဟုတ် weight တွေက 2020 ပြည့်လွန်နှစ်များ အလယ်ပိုင်းက အကြီးဆုံး model တွေမှာ ဘီလီယံ ရာနဲ့ချီ ရှိတာကို ဆိုလိုပါတယ်။
Multi-headed attention (attention head အများ) က attention ယန္တရား အများကို ပြိုင်တူ သုံးပြီး သူတို့ကို မတူတဲ့ ဆက်စပ်မှုတွေ သင်ယူနိုင်စေပါတယ်။ Masking (နောက်က token တွေကို ဖုံးထားခြင်း) က next-token training (နောက် token ကို ခန့်မှန်းဖို့ train လုပ်ခြင်း) လုပ်စဉ် နောက်မှ လာမယ့် token တွေဆီ attention မပေးနိုင်အောင် ပိတ်ထားပါတယ်၊ ဒါမှ model က သူ ခန့်မှန်းဖို့ သင်ယူနေတဲ့ အဖြေကို သုံးလို့ မရမှာပါ။
ပိုနက်နက် လေ့လာရန်: သင်္ချာ တွက်ချက်ပုံကို သေသေချာချာ (3Blue1Brown)
ဒီ video လေးခုက neural network နဲ့ attention တွက်ချက်ပုံတွေကို ပိုအသေးစိတ် ရှင်းပြပါတယ်။ သူတို့ရဲ့ ဥပမာတွေက 2022 ဝန်းကျင်က ဖြစ်လို့ parameter အရေအတွက်တွေနဲ့ နာမည်တပ်ထားတဲ့ model တွေကို အဲဒီ အချိန်က ဥပမာတွေအဖြစ်ပဲ ယူဆပါ။ သူတို့ ရှင်းပြတဲ့ ယန္တရားတွေကတော့ ဒီစာမျက်နှာက ဖော်ပြတဲ့ ယန္တရားတွေပါပဲ။
Language model တွေကို ခြုံငုံ ရှင်းပြထားပါတယ်၊ 3:56 မှာ human feedback၊ 4:14 မှာ hardware နဲ့ 6:28 မှာ emergent behaviour (တိုက်ရိုက် သင်မပေးထားဘဲ model မှာ ပေါ်လာတဲ့ အပြုအမူ) တွေ ပါပါတယ်။
- Transformers, the tech behind LLMs (27 မိနစ်): 12:27 ကနေ embedding matrix (embedding တွေ စုထားတဲ့ ကိန်းဇယား) နဲ့ semantic direction (အဓိပ္ပာယ် ဆောင်တဲ့ direction) တွေ၊ 19:49 မှာ context size (model တစ်ကြိမ်မှာ ကြည့်နိုင်တဲ့ token အရေအတွက်)၊ 20:23 ကနေ softmax (ရမှတ်တွေကို ဖြစ်နိုင်ခြေ ပြောင်းတဲ့ function) နဲ့ temperature (အဖြေ ဘယ်လောက် ကျပန်းဆန်မလဲ ထိန်းတဲ့ setting)။
- Attention, step by step (26 မိနစ်): 4:29 ကနေ query နဲ့ key တွေ၊ 11:09 မှာ masking၊ 13:10 မှာ value တွေ၊ 19:20 မှာ multi-headed attention။ တခြား video တွေထက် ပိုအဆင့်မြင့်ပါတယ်: vector နဲ့ matrix (ကိန်းဇယား) တွက်ချက်မှုတွေကို အဆင့်ဆင့် တွက်ပြပါတယ်။
- How might LLMs store facts (22 မိနစ်): feed-forward layer တွေအကြောင်းပါ၊ neuron (neuron အတု၊ တွက်ချက်မှု ယူနစ် တစ်ခု) တစ်ခုတည်းကို လက်တွေ့ ရှင်းပြတာ ပါပါတယ်: weighted sum တစ်ခု၊ bias (ပေါင်းထည့်တဲ့ ပုံသေ တန်ဖိုး) တစ်ခုနဲ့ activation (output ကို ဆုံးဖြတ်တဲ့ function) တစ်ခုပါ။ ခေါင်းစဉ်ထဲက “might” (ဖြစ်နိုင်တယ်) ဆိုတဲ့ စကားလုံးက အရေးကြီးပါတယ်: ဒီ layer တွေက အချက်အလက်တွေကို ဘယ်လို သိမ်းလဲ ဆိုတဲ့ ယူဆချက် (hypothesis) တစ်ခုကို တင်ပြတာပါ။
Train လုပ်ပြီးသား model ကနေ လက်တွေ့ သုံးလို့ရတဲ့ assistant ဖြစ်လာပုံ
Stretch အပိုင်း။ A4.3.6 (HL)၊ reinforcement learning (ဆုနဲ့ ဒဏ်ကနေ သင်ယူခြင်း) နဲ့ ဆက်စပ်ပါတယ်၊ သူ့ရဲ့ ဆုချ (reward) အယူအဆက human feedback (လူတွေရဲ့ အကဲဖြတ်ချက်) ကနေ train လုပ်တဲ့ နည်းမှာ ပြန်ပေါ်လာလို့ပါ။ A4.3.2 (HL) နဲ့လည်း ဆက်စပ်ပါတယ်၊ nearest-neighbour ရှာဖွေမှုက retrieval (document တွေထဲက အချက်အလက်ကို ရှာထုတ်ခြင်း) မှာ ပြန်ပေါ်လာလို့ပါ။
Transformer တစ်ခုတည်းက နောက် token တစ်ခုကိုပဲ ခန့်မှန်းပါတယ်၊ အဲဒါက chatbot (လူနဲ့ စကားပြောနိုင်တဲ့ program) တစ်ခု မဖြစ်သေးပါဘူး။ နောက်ထပ် အပိုင်း သုံးခုက ကွာဟချက်ကို ဖြည့်ပေးပါတယ်: token တစ်ခုချင်းစီ ထုတ်ပြီး အဖြေ အပြည့်အစုံ ထုတ်ပေးခြင်း၊ အဖြေတွေကို လူတွေ ကြိုက်တဲ့ဘက် ညှိပေးတဲ့ နောက်ထပ် training နဲ့ document (စာရွက်စာတမ်း) တွေထဲက အချက်အလက်ကို ပေးတဲ့ retrieval ပါ။
အဖြေ တစ်ခုလုံးကို token တစ်ခုချင်း ထုတ်ပေးပုံ
Language model က နောက် token တစ်ခုတည်းကို ခန့်မှန်းပါတယ်။ စာပိုဒ် တစ်ပိုဒ် ရဖို့ စနစ်က loop (ထပ်ခါထပ်ခါ run တဲ့ code အပိုင်း) တစ်ခုနဲ့ run ပါတယ်: token တစ်ခုကို ခန့်မှန်းတယ်၊ အဲဒါကို input (program ထဲ ထည့်ပေးတဲ့ ဒေတာ) ရဲ့ နောက်ဆုံးမှာ ကပ်ထည့်တယ်၊ ပိုရှည်လာတဲ့ input ပေါ်မှာ ထပ် run တယ်၊ ပြီးရင် ထပ်ခါထပ်ခါ လုပ်တယ်။
Generation loop (စာသား ထုတ်ပေးတဲ့ loop): token အသစ် တစ်ခုစီကို စာသားထဲ ထည့်ပြီး နောက်တစ်ခုကို ခန့်မှန်းဖို့ ပြန်ထည့်ပေးတာမို့ အဖြေကို token တစ်ခုချင်း ထုတ်ပေးပါတယ်။ အဆင့်တိုင်းမှာ အဲဒီ အလုပ်ကို ထပ်မလုပ်ရအောင် စနစ်တွေက အရင် token တွေအတွက် တွက်ချက်မှုတွေကို cache (ပြန်သုံးဖို့ သိမ်းထား) လုပ်ထားနိုင်ပါတယ်။
ပုံထဲက စာတွေ: the text so far (အခုထိ ရှိတဲ့ စာသား) က the model ထဲ ဝင်ပြီး next token (နောက် token) ထွက်လာပါတယ်။ အလယ်က စာက “token အသစ်က စာသားထဲ ဝင်သွားပြီး loop က ထပ် run ပါတယ်” လို့ ဆိုလိုပါတယ်။ pass 1 ကနေ pass 4 က loop ရဲ့ အကြိမ် 1 ကနေ 4 ပါ။ မေးခွန်း “Which planet has the most moons?” က “ဘယ်ဂြိုဟ်မှာ လ အများဆုံး ရှိလဲ” ဖြစ်ပြီး အဖြေ “Saturn has the most” (Saturn ဂြိုဟ်မှာ အများဆုံး ရှိတယ်) က token တစ်ခုချင်း ရှည်လာပါတယ်။
ဒီ loop က prompt (model ကို ပေးတဲ့ မေးခွန်း ဒါမှမဟုတ် ညွှန်ကြားချက် စာသား) ကိုလည်း ရှင်းပြပါတယ်: model က အဖြေ ထုတ်ပေးနေစဉ် အဆင့်တိုင်းမှာ attention ပေးနိုင်တဲ့ token တွေကို prompt က ပေးပါတယ်။ အသုံးများတဲ့ prompting နည်းတွေက model ကို attention ပေးစရာ သက်ဆိုင်တဲ့ token တွေ ပိုပေးတဲ့ နည်းနဲ့ အလုပ်လုပ်ပါတယ်:
- အလုပ်နဲ့ သူ့ရဲ့ ကန့်သတ်ချက်တွေကို သတ်မှတ်ဖို့ ကိုယ့်အခြေအနေကို ဖော်ပြပါ။
- လုပ်ငန်းစဉ်ကို သတ်မှတ်ဖို့ လိုက်လုပ်စေချင်တဲ့ အဆင့်တွေကို စာရင်းလုပ်ပါ။
- ပုံစံနဲ့ အသေးစိတ် အဆင့်ကို သတ်မှတ်ဖို့ ဥပမာ တစ်ခု ပြပါ။
ကိုယ်တိုင် စမ်းကြည့်ပါ: prompt တစ်ခုကို အကြောင်းပြချက်တွေနဲ့ ပိုကောင်းအောင် လုပ်ပါ။ “make me a revision plan” (စာပြန်လှန် လေ့ကျင့်ဖို့ အစီအစဉ် တစ်ခု လုပ်ပေးပါ) ဆိုတဲ့ မရှင်းလင်းတဲ့ တောင်းဆိုချက်ကို ယူပါ။ နည်း သုံးမျိုးနဲ့ ပိုကောင်းအောင် လုပ်ပါ: ကိုယ့်အခြေအနေ (ဘာသာရပ်တွေ၊ စာမေးပွဲ ရက်၊ အားနည်းတဲ့ ခေါင်းစဉ်တွေ) ကို ထည့်ပါ၊ လိုချင်တဲ့ အဆင့်တွေကို အစဉ်လိုက် ပေးပါ၊ ပြန်ရချင်တဲ့ ပုံစံရဲ့ ဥပမာ အတိုလေး တစ်ခုကို ကူးထည့်ပါ။ ပြောင်းလဲမှု တစ်ခုစီ ပြီးတိုင်း model က ဘာကို အတိအကျ ရသွားလဲ ဆိုတာ ပြောပါ။
ကိုယ့်အဖြေနဲ့ နှိုင်းယှဉ်ရန်
ပြောင်းလဲမှု တစ်ခုစီက model ကို attention ပေးစရာ သက်ဆိုင်တဲ့ token တွေ ပိုပေးခဲ့ပါတယ်: သင့်ရဲ့ ကန့်သတ်ချက်တွေ၊ လိုက်လုပ်ရမယ့် အဆင့်တွေနဲ့ လိုချင်တဲ့ ပုံစံရဲ့ ဥပမာ တစ်ခုပါ။ ဒါက နည်း သုံးမျိုးလုံးရဲ့ နောက်ကွယ်က ယန္တရားပါ။ ထွက်လာတဲ့ အစီအစဉ်က အချက်အလက် တစ်ခုစီကို သုံးထားလား စစ်ကြည့်ပါ။
လူတွေ ကြိုက်တဲ့ဘက်ကို ညှိပေးခြင်း
“write me a friendly email” (ဖော်ရွေတဲ့ email တစ်စောင် ရေးပေးပါ) အတွက် မှန်တဲ့ အဖြေ တစ်ခုတည်း မရှိတာမို့ training က ဂဏန်းတွက်တာမှာလို အဖြေတွေကို မှန်တယ်၊ မှားတယ်လို့ အမှတ် မပေးနိုင်ပါဘူး။ ဖြေရှင်းနည်းက သွယ်ဝိုက်ပါတယ်။ လူတွေကို အဖြေ အတွဲတွေ ပြပြီး ဘယ်ဟာ ပိုကောင်းလဲ မေးပါတယ်။ အဲဒီ ဆုံးဖြတ်ချက်တွေက သီးခြား reward model (ဆုရမှတ် ပေးတဲ့ model) တစ်ခုကို train လုပ်ပြီး အဲဒီ model က ဘယ်အဖြေကိုမဆို လူက ဘယ်လို အဆင့်သတ်မှတ်မလဲ ခန့်မှန်းဖို့ သင်ယူပါတယ်။ ပြီးရင် အဲဒီ reward model က language model ကို နည်းပြလုပ်ပါတယ်: သူ ရမှတ်မြင့်မြင့် ပေးတဲ့ အဖြေတွေကို အားပေးပြီး ရမှတ်နိမ့်နိမ့် ပေးတဲ့ အဖြေတွေကို လျှော့ချပါတယ်။
ဒါက reinforcement learning from human feedback (လူတွေရဲ့ အကဲဖြတ်ချက်ကနေ reinforcement learning လုပ်ခြင်း) ပါ။ အဲဒီထဲက reinforcement learning က A4.3.6 ထဲက ဆုရဖို့ ကြိုးစားတဲ့ အယူအဆ ဖြစ်ပြီး ပြင်ပ ကမ္ဘာက ကိုယ်ပိုင် ရမှတ် မပေးတဲ့ အလုပ် တစ်ခုမှာ အသုံးချထားတာပါ၊ ဒါကြောင့် ရမှတ်က လူတွေ ကြိုက်တာတွေနဲ့ train လုပ်ထားတဲ့ reward model ဆီက လာပါတယ်။ ရည်ရွယ်ချက်က အဖြေတွေကို အဲဒီ ကြိုက်နှစ်သက်မှုတွေနဲ့ ကိုက်ညီဖို့ ပိုဖြစ်နိုင်အောင် လုပ်တာပါ။
Model နှစ်ခု ခွဲထားတဲ့ ပုံစံက အဓိက အယူအဆပါ။ အကွက်တွေကို စိတ်ထဲမှာ သီးခြားစီ ထားပါ: model တစ်ခုက ဖြေပြီး နောက်တစ်ခုက အကဲဖြတ်ပါတယ်။
ပုံထဲက စာတွေ: prompt က language model (being tuned: ညှိနေဆဲ) ဆီ ဝင်ပြီး reply A နဲ့ reply B (အဖြေ A နဲ့ B) ထွက်လာပါတယ်။ “people pick the better reply, thousands of times over” က လူတွေက ပိုကောင်းတဲ့ အဖြေကို အကြိမ် ထောင်ပေါင်းများစွာ ရွေးတယ်လို့ ဆိုလိုပြီး “their choices train…” က သူတို့ ရွေးချယ်မှုတွေက reward model ကို train လုပ်တယ်လို့ ဆိုလိုပါတယ်။ Reward model အောက်က စာက “ဒီအဖြေ ဘယ်လောက် ကောင်းလဲ” ကို ခန့်မှန်းတယ်လို့ ဆိုလိုပြီး “score: do more of what scores well” က “ရမှတ်: ရမှတ်ကောင်းတာကို ပိုလုပ်ပါ” လို့ ဆိုလိုပါတယ်။ အောက်ဆုံးက စာက “သီးခြား model နှစ်ခုပါ။ Reward model က လူတွေ ကြိုက်တာကို သင်ယူပြီး language model က သူ့ရမှတ်ကို လိုက်ပါတယ်” လို့ ဆိုလိုပါတယ်။
Train မလုပ်ခဲ့ဖူးတဲ့ document တွေကို ဖတ်ခြင်း
Model က သင့်ရဲ့ ကိုယ်ပိုင် message တွေ ဒါမှမဟုတ် document တွေကို မမြင်ဖူးပါဘူး။ “what time do I need to be at the station on Friday?” (သောကြာနေ့ ဘူတာကို ဘယ်အချိန် ရောက်ရမလဲ) ဆိုတဲ့ မေးခွန်းရဲ့ အဖြေက booking confirmation (ကြိုတင်မှာယူမှု အတည်ပြုစာ) ထဲမှာ ရှိရင် model က အဲဒီ စာသားကို ရယူနိုင်ဖို့ လိုပါတယ်၊ ဥပမာ အဲဒီ စာကို စကားပြောခန်းထဲ ကူးထည့်ထားလို့ ဒါမှမဟုတ် ချိတ်ဆက်ထားတဲ့ retrieval tool က ရှာတွေ့လို့ပါ။
Retrieval augmented generation (RAG၊ ရှာထုတ်ထားတဲ့ အချက်အလက်ကို prompt ထဲ ထည့်ပြီး အဖြေ ထုတ်ခြင်း) က ဒါကို စနစ်ရဲ့ အစိတ်အပိုင်း တစ်ခုအဖြစ် လုပ်ပါတယ်: သက်ဆိုင်တဲ့ document ကို ရှာပြီး prompt ထဲမှာ မေးခွန်းရဲ့ အပေါ်မှာ ထည့်ပါတယ်။ မှန်ကန်တဲ့ document ကို ရှာတာက ပိုခက်တဲ့ တစ်ဝက်ပါ။ အသုံးများတဲ့ နည်း တစ်ခုမှာ document တိုင်း (ဒါမှမဟုတ် ရှည်တဲ့ document ရဲ့ chunk (အပိုင်း) တစ်ခုစီ) ကို embeddings အပိုင်းမှာ စကားလုံးတွေကို လုပ်ခဲ့သလို embedding တစ်ခုအဖြစ် ပြောင်းပြီး မေးခွန်းကိုလည်း ပြောင်းပါတယ်။ ပြီးရင် ရှာဖွေမှုက သိမ်းထားတဲ့ vector တွေထဲက အနီးဆုံး vector တွေကို ရှာပါတယ်: A4.3.2 မှာ classifier (ဒေတာကို အမျိုးအစား ခွဲပေးတဲ့ model) အဖြစ် တွေ့ခဲ့တဲ့ nearest-neighbour အယူအဆ တစ်ခုတည်းက မတူတဲ့ အလုပ်ကို လုပ်နေတာပါ။ Keyword (ရှာတဲ့ စကားလုံး) နဲ့ မဟုတ်ဘဲ embedding space ထဲက နေရာနဲ့ ရှာတဲ့ သိုလှောင်ရာကို vector database (vector တွေ သိမ်းပြီး အနီးဆုံးကို ရှာပေးတဲ့ database) လို့ ခေါ်ပါတယ်။ Document အစု ကြီးကြီးတွေမှာ ရှာတဲ့ အချိန်ကို လျှော့ဖို့ approximate nearest-neighbour search (အနီးဆုံးကို အကြမ်းဖျင်း ရှာနည်း) ကို သုံးလေ့ ရှိပြီး အနီးဆုံး တစ်ခုတည်းကို လွတ်သွားနိုင်တာကို လက်ခံပါတယ်။ Retrieval နဲ့ generation (အဖြေ ထုတ်ခြင်း) ကို ပေါင်းစပ်ထားတဲ့ စနစ် ဥပမာ တစ်ခုအတွက် RAG သုတေသန စာတမ်း ကို ကြည့်ပါ။
Retrieval augmented generation: သက်ဆိုင်တဲ့ စာပိုဒ်တွေကို ရှာ၊ မေးခွန်းထဲ ထည့်ပြီး နှစ်ခုလုံးကို language model ဆီ ပေးပို့ပါ။
ပုံထဲက စာတွေ: “1. Everything becomes a point” (အရာအားလုံး အမှတ် တစ်ခုစီ ဖြစ်လာတယ်): homework email (အိမ်စာ email)၊ booking email (ကြိုတင်မှာယူမှု email) နဲ့ newsletter (သတင်းလွှာ) က အမှတ်တွေ ဖြစ်ပြီး ● က embedding ပြောင်းထားတဲ့ သင့်မေးခွန်းပါ။ “2. Take the nearest one” (အနီးဆုံး တစ်ခုကို ယူ): keyword အရ မဟုတ်ဘဲ အဓိပ္ပာယ်အရ အနီးဆုံးကို ယူပါတယ်။ “3. Paste it above the question” (မေးခွန်းရဲ့ အပေါ်မှာ ကူးထည့်): booking confirmation က “သင့်ရထားက သောကြာနေ့ 09:12 မှာ platform 4 ကနေ ထွက်ပါမယ်…” လို့ ပြောပြီး အောက်က မေးခွန်းက “သောကြာနေ့ ဘူတာကို ဘယ်အချိန် ရောက်ရမလဲ” ပါ။ နောက်ဆုံး စာက “…ပြီးတော့ model က အဲဒါကို ဖတ်ပါတယ်။ ဒါပါပဲ” လို့ ဆိုလိုပါတယ်။
ကိုယ်တိုင် စမ်းကြည့်ပါ: retrieval ကို လက်နဲ့ လုပ်ကြည့်ပါ။ စက္ကူပေါ်မှာ “document” အတို သုံးခု (အသင်း ကြေညာစာ၊ booking email အတု တစ်စောင်၊ အိမ်စာ သတိပေးစာ) နဲ့ အဖြေက အဲဒီထဲက တစ်ခုတည်းမှာပဲ ရှိတဲ့ မေးခွန်း တစ်ခု ရေးပါ။ သူငယ်ချင်း တစ်ယောက်ကို ရှာပြီး ဖြေခိုင်းပါ၊ ပြီးရင် ဘယ်လို ရွေးခဲ့လဲ မေးပါ။ သူတို့က တိကျတဲ့ တူညီ စကားလုံးတွေနဲ့ မဟုတ်ဘဲ အဓိပ္ပာယ်နဲ့ ကိုက်ညီအောင် ရှာခဲ့တယ်လို့ ပြောပါလိမ့်မယ်၊ အဲဒါက embedding search က အလိုအလျောက် လုပ်ပေးတဲ့ အရာ အတိအကျပဲ ဖြစ်ပါတယ်။
ကန့်သတ်ချက်တွေနဲ့ ယုံကြည်စိတ်ချရမှု
Stretch အပိုင်း။ A4.4.1 နဲ့ ဆက်စပ်ပါတယ်: accountability (တာဝန်ခံမှု) နဲ့ model ရဲ့ ဆုံးဖြတ်ချက်တွေကို ရှင်းပြရ ခက်ခဲမှု။
ချောချောမွေ့မွေ့ ရေးထားတဲ့ အဖြေ တစ်ခုက မှားနေနိုင်ပါသေးတယ်။ Model က ဖြစ်နိုင်ခြေ များတဲ့ နောက် token တွေကို ခန့်မှန်းတာပါ၊ အဲဒါက စာရေးသူ တစ်ယောက်က အချက်အလက်တွေကို စစ်ဆေးပြီး ဘာပြောမလဲ ဆုံးဖြတ်တာနဲ့ မတူတဲ့ လုပ်ဆောင်ချက်ပါ: ဖြစ်နိုင်ခြေ များတဲ့ token တွေကို ခန့်မှန်းတာက အဆို တစ်ခုစီကို အထောက်အထားက ထောက်ခံလား ဆိုတာကို သူ့ဘာသာသူ မစစ်ဆေးပါဘူး။
Hallucination (model က မမှန်တာကို အမှန်လို ထုတ်ပေးခြင်း) ဆိုတာ မမှန်တဲ့ ဒါမှမဟုတ် အထောက်အထား မရှိတဲ့ အချက်အလက်တွေကို ထုတ်ပေးတာပါ၊ ဥပမာ တကယ် မရှိတဲ့ ကိုးကားစကား ဒါမှမဟုတ် ကိုးကားရာ စာတမ်း တစ်ခုပါ၊ အများအားဖြင့် ယုံကြည်မှု အပြည့်နဲ့ ချောချောမွေ့မွေ့ ရေးထားတဲ့ ပုံစံနဲ့ ထွက်လာပါတယ်။ နည်း အမျိုးမျိုးနဲ့ ဖြစ်ပေါ်နိုင်ပါတယ်၊ ဥပမာ: training စာသားထဲက မမှန်တဲ့ အရာ တစ်ခုခုကို ယုံကြည်ရတဲ့ အရာလို သင်ယူမိတာ၊ ဒါမှမဟုတ် generation loop က ဖြစ်နိုင်ခြေ နည်းတဲ့ လမ်းကြောင်း တစ်ခုကို ရွေးမိပြီး ဟုတ်ပုံရတဲ့ token တစ်ခုချင်းနဲ့ အဲဒီ လမ်းကြောင်းပေါ် ဆက်တည်ဆောက်သွားတာပါ။ အကြောင်းအရာ မှားနေရင်တောင် ရေးပုံက ချောမွေ့နေနိုင်တာမို့ အချက်အလက်ဆိုင်ရာ အဆိုတွေကို ယုံကြည်ရတဲ့ ရင်းမြစ်တွေနဲ့ တိုက်စစ်ပါ။ CS50x lecture (သင်ခန်းစာ) က မရှိတဲ့ ကဗျာ တစ်ပုဒ်ကို ယုံကြည်မှု အပြည့်နဲ့ ရွတ်ပြတာ (46:02 ကနေ) ကို သရုပ်ပြထားပါတယ်။
Model ရဲ့ အပြုအမူကို လူက လက်နဲ့ ရေးထားတာ မဟုတ်ပါဘူး: training လုပ်စဉ် ကိန်းဂဏန်း weight ဘီလီယံနဲ့ချီကို ညှိပေးတာကနေ လာတာပါ။ အဲဒီ weight တွေက အဖြေ တစ်ခုကို ဘယ်လို ထုတ်ပေးခဲ့လဲ ပြန်ခြေရာခံဖို့ ခက်ပါတယ်၊ ဒီစနစ်တွေကို တည်ဆောက်တဲ့ သူတွေအတွက်တောင် ခက်ပါတယ် (2026 အထိ သုတေသန လုပ်နေဆဲ နယ်ပယ်ပါ)။ ဒါက “black box” (အထဲကို မမြင်ရတဲ့ သေတ္တာ) လို့ ခေါ်လေ့ရှိတဲ့ explainability (model ရဲ့ ဆုံးဖြတ်ချက်ကို ရှင်းပြနိုင်မှု) ပြဿနာပါ။
ဒီစာမျက်နှာရဲ့ အဟောင်းဆုံး ရင်းမြစ် (language model တွေကို recurrent network တွေနဲ့ ရှင်းပြတဲ့ 2019 က video) နဲ့ အသစ်ဆုံး ရင်းမြစ် (2026) ကြားမှာ ဒီစနစ်တွေ လုပ်နိုင်တာတွေ မြန်မြန်ဆန်ဆန် ပြောင်းလဲခဲ့ပါတယ်။ Model တစ်ခု လုပ်နိုင်တာအကြောင်း အဆို မှန်သမျှကို၊ ဒီစာမျက်နှာက အဆိုတွေ အပါအဝင်၊ သတ်မှတ်ထားတဲ့ နှစ်နဲ့ model တစ်ခုအတွက်ပဲ မှန်တယ်လို့ ယူဆပါ: ရက်စွဲနဲ့ ပြောနေတဲ့ model ကို စစ်ကြည့်ပါ။
ဒီစာမျက်နှာမှာ မပါတဲ့ အကြောင်းအရာများ
ဒီစာမျက်နှာက အောက်က ခေါင်းစဉ်တွေကို မဖော်ပြထားပါဘူး၊ နောက်တစ်ဆင့် ရှာဖွေ လေ့လာဖို့ အသုံးဝင်ပါတယ်:
- တကယ့် စနစ်တွေ tokenisation အတွက် သုံးတဲ့ နာမည်ရှိ subword algorithm (အယ်လ်ဂိုရီသမ်၊ ပြဿနာကို အဆင့်ဆင့် ဖြေရှင်းတဲ့ နည်းလမ်း) တွေ (အယူအဆကတော့ ဒီမှာ ပါပေမယ့် တိကျတဲ့ နည်းလမ်းတွေ မပါပါဘူး)။
- Instruction tuning (ညွှန်ကြားချက်တွေကို လိုက်နာအောင် ထပ်ဆင့် train လုပ်ခြင်း): next-token pre-training (နောက် token ခန့်မှန်းဖို့ အစပိုင်းမှာ train လုပ်ခြင်း) နဲ့ human feedback ကြားက သီးခြား training အဆင့် တစ်ခုပါ။
- Reasoning နဲ့ “thinking” model တွေ (ဖြေဖို့ အဆင့်ဆင့် စဉ်းစားတဲ့ model တွေ): မဖြေခင် မမြင်ရတဲ့ တွက်ချက်ပုံ အဆင့်တွေကို ထုတ်ပေးပါတယ်။
- Multimodal model တွေ (model တစ်ခုတည်းက ပုံ၊ အသံနဲ့ စာသားကို အတူတကွ ကိုင်တွယ်တာ) နဲ့ tool တွေ သုံးပြီး လုပ်ဆောင်ချက်တွေ လုပ်တဲ့ agent (ကိုယ်တိုင် ဆောင်ရွက်တဲ့ ဉာဏ်ရည်တု စနစ်) တွေ။
- Document ရှည်ရှည်တွေကို ဘယ်လို ကိုင်တွယ်လဲ ဆိုတာနဲ့ model ကြီးတွေကို run ရတာ ကုန်ကျစရိတ် သက်သာအောင် လုပ်တဲ့ နည်းလမ်းတွေ (အများကြီး ရှိပါတယ်)။
- Chat model တစ်ခု ကောင်းမကောင်း ဘယ်လို တိုင်းတာလဲ: benchmark (စံ စမ်းသပ်မှု) တွေနဲ့ evaluation (အကဲဖြတ်မှု) တွေ အပါအဝင်။
- Prompt injection နဲ့ jailbreak တွေ: model ကို လမ်းကြောင်း လွှဲဖို့ ဒါမှမဟုတ် သူ့ရဲ့ ကာကွယ်ရေး စည်းမျဉ်းတွေကို ကျော်ဖို့ ကြိုးစားတဲ့ တိုက်ခိုက်မှုတွေပါ၊ model ဖတ်တဲ့ စာသားထဲမှာ ဝှက်ထားတဲ့ ညွှန်ကြားချက်တွေကနေ တိုက်ခိုက်တာလည်း ပါပါတယ်။
ဆက်စပ် ခေါင်းစဉ်များ
- သင်ရိုးထဲမှာ: natural language processing (A4.1.1) နဲ့ parallel hardware (A4.1.2) အတွက် What Machine Learning Is ကို ကြည့်ပါ၊ transformer တွေက token အားလုံးကို တစ်ပြိုင်နက် ကိုင်တွယ်တာမို့ parallel hardware ပေါ်မှာ မှီခိုပါတယ်။
- သင်ရိုးထဲမှာ (HL): neural network တွေ (A4.3.8) အတွက် What Machine Learning Is၊ data preparation (A4.2.1) နဲ့ compact representation (ကျစ်လျစ်တဲ့ ကိုယ်စားပြုချက်) တွေ (A4.2.3) အတွက် Training and Evaluating a Model၊ nearest neighbour (A4.3.2) နဲ့ reinforcement learning (A4.3.6) အတွက် Types of Learning။
- သင်ရိုးထဲမှာ: Ethics of Machine Learning (A4.4.1): စုပ်ယူထားတဲ့ bias၊ hallucination၊ accountability နဲ့ training ရဲ့ သဘာဝ ပတ်ဝန်းကျင်ဆိုင်ရာ ကုန်ကျစရိတ် အားလုံးက ဒီစာမျက်နှာက ယန္တရားတွေနဲ့ တိုက်ရိုက် ပြန်ဆက်စပ်ပါတယ်။
- Stretch: How AI Image Generation Works က ပုံတွေနဲ့ caption တွေကို တူညီတဲ့ space တစ်ခုထဲ ထည့်ဖို့ embedding အယူအဆကို ပြန်သုံးပါတယ်၊ AI Beyond Machine Learning က training မဟုတ်ဘဲ စည်းမျဉ်းတွေနဲ့ search (ရှာဖွေမှု) ကနေ အလုပ်လုပ်တဲ့ AI (ဉာဏ်ရည်တု) နည်းလမ်းတွေကို ဖော်ပြပါတယ်။
ဒီစာမျက်နှာရဲ့ ရင်းမြစ်တွေနဲ့ ရက်စွဲများ
2026 ဇူလိုင်လမှာ ရေးထားပြီး အောက်က ရင်းမြစ်တွေကို အခြေခံပါတယ်: CS50x 2026 “Artificial Intelligence” (2026)၊ 3Blue1Brown ရဲ့ deep learning (အလွှာ အများပါတဲ့ neural network နဲ့ သင်ယူခြင်း) series အခန်း 5 ကနေ 7 နဲ့ “LLMs explained briefly” (2022 ဝန်းကျင်က ဥပမာတွေ)၊ Crash Course AI episode 7 နဲ့ 8 (2019)၊ CS50 ရဲ့ “Fundamentals of AI” lecture တွေဖြစ်တဲ့ Communicating နဲ့ Generating (2026)၊ အဲဒါတွေက ရှည်လျားတဲ့ live recording (တိုက်ရိုက် ရိုက်ကူးထားတဲ့ သင်ခန်းစာ) တွေဖြစ်လို့ page ထဲမှာ ထည့်မပြဘဲ link ပေးထားပါတယ်။ ထပ်ဆောင်း ဖတ်စရာ: Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks။ ဒီစာမျက်နှာက ဥပမာတွေနဲ့ ပုံတွေ အားလုံးကို ကိုယ်တိုင် ဖန်တီးထားတာပါ။