← 返回列表

AI စီးရီး အင်တာဗျူး ၁၀- Embedding က ဘာလုပ်သလဲ။ — နည်းပညာအနှစ်သာရမှ အင်တာဗျူးအဖြေအထိ

Embedding က ဘာလုပ်သလဲ။ — နည်းပညာအနှစ်သာရမှ အင်တာဗျူးအဖြေအထိ

၁။ နည်းပညာအနှစ်သာရ- စကားတစ်ကြောင်းတည်းဖြင့် အဓိကကို ဖော်ပြခြင်း

Embedding ၏ အဓိကလုပ်ငန်းမှာ သီးခြားစီခွဲထားသော ဖွဲ့စည်းပုံမရှိသည့် အချက်အလက်များ (စာသား၊ ရုပ်ပုံ စသည်တို့) ကို ဆက်တိုက်ဖြစ်သော၊ အနိမ့်ဆုံးဖက်မြင် vector space သို့ ပုံဖော်ခြင်းဖြစ်ပြီး၊ ဝေါဟာရအဓိပ္ပာယ်တူသော အရာဝတ္ထုများသည် ထို space အတွင်း နီးကပ်စွာ တည်ရှိစေရန်ဖြစ်သည်။
ရှင်းလင်းစွာဆိုရလျှင် ကွန်ပျူတာအတွက် "semantic coordinate system" တစ်ခု တည်ဆောက်ပေးခြင်းဖြစ်ပြီး လူသားတို့၏ "မရှင်းမလင်းသော အဓိပ္ပာယ်" များကို ကွန်ပျူတာ တွက်ချက်နိုင်သော "တည်နေရာ ကိုဩဒိနိတ်များ" အဖြစ် ဘာသာပြန်ပေးသည်။


၂။ အလိုလိုသိမြင်နိုင်သော နားလည်မှု- Semantic မြေပုံ

နှစ်ဖက်မြင် မြေပုံတစ်ခုကို စိတ်ကူးကြည့်ပါ (တကယ့် embedding သည် ရာနှင့်ချီသော ဖက်မြင် ရှိသော်လည်း သဘောတရားမှာ အတူတူပင်) -

  • ကြောင် → [0.92, 0.31, -0.45, …]
  • ခွေး → [0.88, 0.29, -0.42, …]
  • ကား → [0.15, -0.87, 0.53, …]

ကြောင်နှင့် ခွေး၏ vector များသည် အလွန်နီးကပ်သည်၊ ကားမှာမူ ဝေးကွာသည်။
Embedding က ကွန်ပျူတာအား စကားလုံးများကို သီးသန့်သင်္ကေတများအဖြစ် မမြင်တော့ဘဲ "အဓိပ္ပာယ် အနီးအဝေး" ပေါ်မူတည်၍ နှိုင်းယှဉ်နိုင်စေသည်။


၃။ နည်းပညာဆိုင်ရာ သဘောတရား (ရှင်းလင်းချက်) - ၎င်းကို မည်သို့ သင်ယူနိုင်သနည်း။

ဘာသာဗေဒဆိုင်ရာ ယူဆချက်ကို အခြေခံသည်- "စကားလုံးတစ်လုံး၏ အဓိပ္ပာယ်ကို ၎င်း၏ ပတ်ဝန်းကျင်အကြောင်းအရာက ဆုံးဖြတ်သည်။"

  • စာသားအမြောက်အများပေါ်တွင် လေ့ကျင့်ခြင်း (Word2Vec, BERT embedding layer ကဲ့သို့) ဖြင့် model သည် စကားလုံးတစ်လုံးချင်းစီ၏ vector ကို အဆက်မပြတ် ချိန်ညှိသည်။
  • နောက်ဆုံးတွင် အလားတူ အကြောင်းအရာများတွင် မကြာခဏပေါ်လာသော စကားလုံးများ (ကြောင်နှင့်ခွေးသည် "အိမ်မွေးတိရစ္ဆာန်"၊ "ပွတ်သပ်ခြင်း"၊ "အစာကျွေးခြင်း" စသည့် ဆက်စပ်မှုများတွင် ပါဝင်သည်) ကို နီးကပ်သောနေရာများတွင် ထားရှိသည်။
  • ဤလုပ်ငန်းစဉ်သည် လူကိုယ်တိုင် အညွှန်းတပ်ရန် မလိုအပ်ဘဲ ဘာသာစကားအသုံးပြုမှုမှ အလိုအလျောက် ပေါ်ပေါက်လာသော ဂျီဩမေတြီပုံစံဖြစ်သည်။

အရေးကြီးသော လက္ခဏာ- vector space သည် နှိုင်းယှဉ်ဆက်စပ်မှုများကိုပင် ဖမ်းယူနိုင်သည်၊ ဥပမာ king - man + woman ≈ queen


၄။ RAG စနစ်တွင် Embedding က အဆင့်များစွာ မည်သို့လုပ်ဆောင်သနည်း။

၁။ အညွှန်းတည်ဆောက်ချိန်တွင်- document အပိုင်းအစ (chunk) တစ်ခုစီကို vector အဖြစ်ပြောင်းလဲခြင်း → vector database တွင် သိမ်းဆည်းခြင်း → "semantic address" ကို ထုတ်လုပ်ခြင်း။
၂။ မေးမြန်းချိန်တွင်- သုံးစွဲသူ၏ မေးခွန်းကို တူညီသော space ရှိ vector အဖြစ်ပြောင်းလဲခြင်း → database တွင် အနီးဆုံး document vector များကို ရှာဖွေခြင်း → ဝေါဟာရအရ ဆက်စပ်သော အသိပညာအပိုင်းများကို ပြန်လည်ရယူခြင်း။

ဥပမာ အကျိုးသက်ရောက်မှု-
သုံးစွဲသူက "ကျွန်ုပ်၏ ခွေးကို ပျော်ရွှင်အောင် မည်သို့ ထိန်းသိမ်းရမည်နည်း" ဟု မေးလျှင်၊ အသိပညာတိုက်တွင် "ခွေးများသည် နေ့စဉ် လမ်းလျှောက်ရန် လိုအပ်ပြီး ၎င်းသည် ၎င်းတို့၏ စိတ်ကျန်းမာရေးအတွက် အထောက်အကူပြုသည်" ဟုသာ ရှိသော်လည်း embedding သည် "ပျော်ရွှင်/ကျန်းမာ/ခွေး" တို့၏ အဓိပ္ပာယ် နီးကပ်မှုကြောင့် အောင်မြင်စွာ ပြန်လည်ရယူနိုင်သည်။ "စကားလုံးတူညီမှု" မဟုတ်ဘဲ "အဓိပ္ပာယ်တူညီမှု" ကို အကောင်အထည်ဖော်ခြင်း ဖြစ်သည်။


၅။ အင်တာဗျူးအဖြေပေးနည်းဗျူဟာ (၂-၃ မိနစ် အပြည့်အစုံ ပြောနည်း)

အောက်ပါတို့သည် သီအိုရီနက်ရှိုင်းမှုကိုပါ ပြသနိုင်ပြီး ပရောဂျက်အတွေ့အကြုံကိုပါ ပြသနိုင်သော အဖြေဘောင်တစ်ခုဖြစ်သည်။

【အစချီသံစဉ်】

"Embedding ၏ အဓိကလုပ်ငန်းမှာ သီးခြားစီခွဲထားသော ဖွဲ့စည်းပုံမရှိသည့် အချက်အလက်များကို ဆက်တိုက်ဖြစ်သော၊ အနိမ့်ဆုံးဖက်မြင် vector space သို့ ပုံဖော်ခြင်းဖြစ်ပြီး၊ ဝေါဟာရအဓိပ္ပာယ်တူသော အရာဝတ္ထုများသည် ထို space အတွင်း နီးကပ်စွာ တည်ရှိစေရန်ဖြစ်သည်။ ရှင်းလင်းစွာဆိုရလျှင် ကွန်ပျူတာအတွက် 'semantic coordinate system' တစ်ခု တည်ဆောက်ပေးခြင်းဖြစ်သည်။"

【သဘောတရားကို ဖြန့်ဝေခြင်း၊ ဂန္တဝင်လက္ခဏာများကို ဖော်ပြခြင်း】

"ရိုးရာ one-hot encoding တွင် စကားလုံးများကြား အကွာအဝေး သဘောတရား မရှိသော်လည်း embedding က အာရုံကြောကွန်ရက်မှတစ်ဆင့် ဒေတာအမြောက်အများမှ သင်ယူသည် - 'စကားလုံးတစ်လုံး၏ အဓိပ္ပာယ်ကို ၎င်း၏ ပတ်ဝန်းကျင်အကြောင်းအရာက ဆုံးဖြတ်သည်' ဆိုသည့် သဘောတရားပေါ် အခြေခံသည်။ နောက်ဆုံးတွင် စကားလုံး/ဝါကျ တစ်ခုစီကို သိပ်သည်းသော vector အဖြစ် ကိုယ်စားပြုပြီး vector များ၏ cosine အနီးအဝေးကို တိုက်ရိုက် တိုင်းတာနိုင်သည်။ နှိုင်းယှဉ်ဆက်စပ်မှုများကိုပင် ဖမ်းယူနိုင်သည်၊ ဥပမာ king - man + woman ≈ queen။"

【ပရောဂျက်အတွေ့အကြုံနှင့် ပေါင်းစပ်ခြင်း - အဓိက】

"ကျွန်တော် အရင်က လုပ်ခဲ့တဲ့ RAG အသိပညာမေးခွန်းစနစ် မှာ embedding ကို တိုက်ရိုက်သုံးခဲ့ပါတယ်။ အဲဒီအချိန်က text-embedding-3-small ကို ရွေးခဲ့ပြီး ကုမ္ပဏီအတွင်းစာရွက်စာတမ်းတွေကို စာလုံး ၅၀၀ အပိုင်းတွေ ဖြတ်ကာ အပိုင်းတစ်ခုစီကို vector အဖြစ်ပြောင်းပြီး Qdrant ထဲ သိမ်းခဲ့ပါတယ်။
တစ်ခါတုန်းက သုံးစွဲသူက 'နှစ်စဉ်ခွင့်ရက်တောင်းနည်း' လို့ မေးတဲ့အခါ keyword ရှာဖွေမှုက မတွေ့ဘူး၊ ဘာလို့လဲဆိုတော့ စာရွက်စာတမ်းမှာ 'ခွင့်ရက်လျှောက်လွှာလုပ်ထုံးလုပ်နည်း' လို့ ရေးထားလို့ပါ။ ဒါပေမယ့် embedding က 'နှစ်စဉ်ခွင့်ရက်' နဲ့ 'ခွင့်ရက်' ကို နီးကပ်တဲ့နေရာတွေ ပုံဖော်ပေးနိုင်လို့ မှန်ကန်တဲ့ စာပိုဒ်ကို အောင်မြင်စွာ ပြန်လည်ရယူနိုင်ခဲ့ပါတယ်။
ကျွန်တော် အမှားတစ်ခုလည်း လုပ်မိခဲ့ပါတယ်- အစမှာ generic embedding ကိုသုံးတော့ ဥပဒေဆိုင်ရာ အပိုဒ်တွေမှာ ရလဒ်ဆိုးခဲ့တယ်၊ နောက်မှ နယ်ပယ်အလိုက် ချိန်ညှိထားတဲ့ BGE-large ကို ပြောင်းသုံးတော့ ရှာဖွေတွေ့ရှိမှုနှုန်း ၇၂% ကနေ ၈၉% အထိ တိုးလာပါတယ်။ ဒါကြောင့် embedding model ရွေးချယ်မှုက အောက်ပိုင်းလုပ်ငန်းအပေါ် ကြီးမားတဲ့ သက်ရောက်မှုရှိပါတယ်။"

【နက်ရှိုင်းသော အတွေးအမြင်များ ထပ်ဖြည့်ခြင်း၊ senior အလားအလာကို ပြသခြင်း】

"နောက်ထပ် ကျွန်တော် ထပ်ဖြည့်ချင်တာတစ်ခုက embedding က အဓိကအားဖြင့် ဆုံးရှုံးမှုရှိသော semantic compression ဖြစ်တယ် - စကားလုံးအစီအစဉ်၊ ဝါကျဖွဲ့စည်းပုံစတဲ့ အပေါ်ယံအချက်အလက်တွေကို စွန့်ပစ်ပြီး 'အဓိကအဓိပ္ပာယ်' ကိုသာ ထိန်းသိမ်းတယ်။ ဒါကြောင့် တိကျစွာ ကိုက်ညီရမယ့် အခြေအနေတွေ (ဥပမာ ထုတ်ကုန်မော်ဒယ် 'iPhone12' vs 'iPhone13') မှာ pure vector ရှာဖွေမှုက keyword လောက် မကောင်းနိုင်ဘူး။ တကယ့်လက်တွေ့စီမံကိန်းမှာ ကျွန်တော်တို့က hybrid search (vector + BM25) ကို အပြန်အလှန် ဖြည့်စွက်ဖို့ မကြာခဏသုံးပါတယ်။"

【နိဂုံးချုပ်】

"ခြုံပြောရရင် embedding က 'ကွန်ပျူတာကို semantic အဓိပ္ပာယ်တူမှုကို ဘယ်လိုတွက်ချက်ရမလဲ' ဆိုတဲ့ အခြေခံပြဿနာကို ဖြေရှင်းပေးတယ်။ ဒါဟာ ခေတ်မီ NLP နဲ့ RAG ရဲ့ အုတ်မြစ်တစ်ခုဖြစ်တယ်။"


၆။ အင်တာဗျူးသမားက ထပ်မေးနိုင်သောမေးခွန်းများနှင့် သင်၏တုံ့ပြန်ပုံ

ထပ်မေးနိုင်သောမေးခွန်း အဖြေအဓိကအချက်များ
"embedding ကို ဘယ်လိုလေ့ကျင့်တာလဲ။" Word2Vec ၏ CBOW/Skip-gram (ပတ်ဝန်းကျင်အကြောင်းအရာကို သုံးပြီး ဗဟိုစကားလုံးကို ခန့်မှန်းခြင်း သို့မဟုတ် ပြောင်းပြန်) သို့မဟုတ် ခေတ်မီ contrastive learning (SimCSE, Sentence-BERT) တို့ကို အတိုချုံးရှင်းပြပါ။ လေ့ကျင့်မှုအနှစ်သာရမှာ co-occurrence statistics ကို အသုံးပြုခြင်းဖြစ်ကြောင်း အလေးပေးပါ။
"embedding ရဲ့ အရည်အသွေးကို ဘယ်လိုအကဲဖြတ်မလဲ။" တိကျတဲ့လုပ်ငန်းအပေါ် hit rate, MRR ကိုသုံးပါ။ အများသုံး benchmarks များ MTEB ကဲ့သို့။ လက်တွေ့တွင် A/B testing ဖြင့် ရှာဖွေမှုရလဒ်ကို စမ်းသပ်နိုင်ပါသည်။
"ဘယ် embedding model တွေကို သုံးဖူးလဲ။ အားသာချက် အားနည်းချက်တွေက ဘာတွေလဲ။" OpenAI က အဆင်ပြေသော်လည်း စျေးကြီးသည်။ BGE က တရုတ်စာအတွက် ကောင်းသည်။ M3E က ပေါ့ပါးသည်။ E5 က ဘာသာစကားမျိုးစုံအတွက် ကောင်းသည်။ အခြေအနေအလိုက် ရွေးချယ်နိုင်ပါသည်။
"vector dimension ကို ဘယ်လိုရွေးမလဲ။" မြင့်သော dimension က ဖော်ပြနိုင်စွမ်းကောင်းသော်လည်း တွက်ချက်မှု/သိုလှောင်မှု စျေးကြီးသည်။ အနိမ့် dimension က underfit ဖြစ်နိုင်သည်။ အများသုံး 384/768/1536 ကို စမ်းသပ်မှုဖြင့် ချိန်ညှိပါ။

၇။ ရှောင်ရှားရမည့် အချက်များ (အင်တာဗျူးအတွက် အသုံးဝင်သည်)

  • ❌ "embedding က စာသားကို vector အဖြစ်ပြောင်းတာပါ" ဆိုပြီး အပေါ်ယံသာ ဖြေခြင်းကို ရှောင်ပါ - မလုံလောက်ပါ၊ အင်တာဗျူးသမားက "ဒါဆို ဘာလဲ" လို့ ဆက်မေးလိမ့်မည်။
  • ❌ သင်္ချာအလွန်အကျွံသုံးခြင်း (Hilbert space အကြောင်း ချက်ချင်းစပြောခြင်း) ကို ရှောင်ပါ - စာအုပ်က လာသလို ထင်စေနိုင်သည်။
  • သင်ကိုယ်တိုင် ပြဿနာတစ်ခုကို ဘယ်လိုဖြေရှင်းခဲ့လဲဆိုတာ သေချာပြောပါ - သင်တန်းပရောဂျက်တစ်ခုသာဖြစ်စေ။ တိကျတဲ့ ကိန်းဂဏန်းတစ်ခု (ဥပမာ ၁၇% hit rate တိုးတက်မှု) က သီအိုရီဆယ်ကြောင်းထက် ပိုထိရောက်ပါသည်။

评论

暂无已展示的评论。

发表评论(匿名)