လွယ်လွယ်ပြောရင် Quantization ဆိုတာ AI model တစ်ခုရဲ့ အတွင်းက ကိန်းဂဏန်းတွေကို တိကျမှု နည်းနည်းလျှော့ပြီး အရွယ်အစားကို တော်တော် သေးအောင် လုပ်တဲ့ နည်းပညာပါ။ Model ကြီးကြီး တစ်ခုကို ဖုန်း ဒါမှမဟုတ် laptop ပေါ် တင်လို့ရအောင် “ဖိထား” လိုက်တာနဲ့ တူတယ်။
အိတ်ကပ်ထဲ ထည့်မယ့် အင်္ကျီနဲ့ ဥပမာ ပြောရအောင်။ အင်္ကျီတစ်ထည်ကို ဗီရိုထဲ ချိတ်ထားရင် နေရာအများကြီး ယူတယ်။ ဒါပေမယ့် သေသေချာချာ ခေါက်ပြီး အိတ်ထဲ ထည့်ရင် အရွယ်အစား သုံးပုံတစ်ပုံ လောက်ပဲ ကျန်တယ် — ဝတ်လို့ကတော့ အတူတူပဲ ရတယ်။ Quantization ကလည်း ဒီလိုပါပဲ။ Model ရဲ့ parameter တွေကို သိမ်းထားတဲ့ နည်းကို ပြောင်းလိုက်တာ — 32-bit ကိန်းဂဏန်း အစား 8-bit ဒါမှမဟုတ် 4-bit နဲ့ သိမ်းတာ။ တိကျမှု နည်းနည်း လျော့သွားပေမယ့် အဖြေကတော့ တော်တော် ကောင်းတုန်း။
ဥပမာ Llama 3.1 8B ဆိုတဲ့ model ကို ကြည့်ရအောင်။ သာမန် format (FP16) နဲ့ဆို file size က 16GB လောက် ရှိတယ် — laptop တော်တော်များများမှာ run ဖို့ မလွယ်ဘူး။ ဒါကို Q4 (4-bit quantization) လုပ်လိုက်ရင် 4.7GB လောက်ပဲ ကျန်တယ်။ ကျွန်တော်တို့ Ollama နဲ့ ollama run llama3.1 လို့ ရိုက်လိုက်တိုင်း ဒေါင်းသွားတဲ့ model တွေက ဒီ quantized version တွေပဲ — ဒါမှ ကိုယ့် laptop ပေါ် run လို့ ရတာ။
ဘယ်လို အလုပ်လုပ်လဲဆိုတော့ — model ထဲက weight တွေဆိုတာ တကယ်တော့ ဒသမ ကိန်းဂဏန်းတွေ အများကြီးပါ။ 0.847392… လို ကိန်းကို 0.85 လောက်ပဲ မှတ်ထားလိုက်ရင် နေရာ အများကြီး သက်သာတယ်။ ဒါကို “rounding” လို့ ခေါ်တယ်။ 32-bit float ကို 8-bit integer အဖြစ် ပြောင်းတဲ့နည်းကို INT8 quantization လို့ ခေါ်ပြီး အသုံးအများဆုံးက 4-bit (Q4_K_M လို GGUF format) ပါ။ တိကျမှု ကျသွားတာက 1-2% လောက်ပဲ — လူသားမျက်စိနဲ့ တော်တော် မသိသာဘူး။
သတိထားရမှာက — quantization လုပ်တိုင်း အဆင်ပြေတာ မဟုတ်ဘူး။ Model အရမ်း သေးသွားရင် (2-bit လို) အဖြေတွေ စပြီး မှားလာတယ်။ ပြီးတော့ math တွက်တာ၊ code ရေးတာလို တိကျမှု လိုတဲ့ အလုပ်တွေမှာ ကြီးတဲ့ model ထက် နည်းနည်း အားနည်းတယ်။ ဒါပေမယ့် နေ့စဉ် စကားပြောတာ၊ စာပြင်တာ၊ အကြံဉာဏ်တောင်းတာလို အလုပ်တွေအတွက်တော့ လုံလောက်တယ်။
ကိုယ်တိုင် စမ်းကြည့်ချင်ရင် —
Ollama သုံးနေရင် ollama list ရိုက်ကြည့်ပါ — model တိုင်းမှာ q4, q8 လို tag ပါတာ ဒါကြောင့်ပါ
Hugging Face မှာ model ဒေါင်းမယ်ဆို GGUF format, Q4_K_M quantization ကို ရွေးပါ — အရွယ်အစားနဲ့ အရည်အသွေး အကောင်းဆုံး ချိန်ညှိထားတာ
ကိုယ့် app မှာ AI ထည့်ချင်ပေမယ့် GPU server ငှားဖို့ မတတ်နိုင်ရင် quantized model သေးသေးလေးက အဖြေ
Quantization လုပ်ပြီးသား model နဲ့ မလုပ်ရသေးတဲ့ model ကို တူညီတဲ့ မေးခွန်းမေးပြီး အဖြေယှဉ်ကြည့်ပါ — ကွာခြားချက် တော်တော် နည်းတာကို ကိုယ်တိုင် တွေ့ရမယ်
AI model တွေ တဖြည်းဖြည်း ကြီးလာနေပေမယ့် တကယ့် လူသုံးများလာမှာက ဒီလို “ဖိထားတဲ့” version လေးတွေပဲ။ ကြီးတာ မလိုဘူး — ကိုယ့်အိတ်ကပ်ထဲ ဝင်ပြီး မြန်မြန်ဆန်ဆန် အလုပ်လုပ်တာက အရေးကြီးတယ်။ 🙂