AI ကိရိယာများ 101
မျက်နှာကိုပွေ့ဖက်ရန် LLM ကိရိယာများ ဖြည့်စွက်ရန် Beginner's Guide
Hugging Face သည် ပညာရှင်များ၊ သုတေသီများနှင့် ဝါသနာရှင်များ၏ အသိုက်အဝန်းကို တည်ဆောက်ပေးသည့် AI သုတေသနဓာတ်ခွဲခန်းနှင့် အချက်အချာဖြစ်သည်။ အချိန်တိုအတွင်း Hugging Face သည် AI အာကာသထဲတွင် သိသိသာသာ တည်ရှိနေပါသည်။ Tech ကုမ္ပဏီကြီးများ Google၊ Amazon နှင့် Nvidia တို့ အပါအဝင် AI startup Hugging Face သည် သိသိသာသာ ရင်းနှီးမြုပ်နှံမှုများဖြင့် ၎င်း၏တန်ဖိုးကို မြှင့်တင်ပေးခဲ့သည်။ $ 4.5 ဘီလီယံအထိ.
ဤလမ်းညွှန်တွင်၊ ကျွန်ုပ်တို့သည် ထရန်စဖော်မာများ၊ LLM များနှင့် Hugging Face စာကြည့်တိုက်သည် opensource AI အသိုင်းအဝိုင်းကို မြှင့်တင်ရာတွင် အရေးကြီးသောအခန်းကဏ္ဍမှ ပါဝင်ပုံကို မိတ်ဆက်ပေးပါမည်။ ပိုက်လိုင်းများ၊ ဒေတာအစုံများ၊ မော်ဒယ်များနှင့် အခြားအရာများအပါအဝင် Hugging Face ၏ မရှိမဖြစ်အင်္ဂါရပ်များကိုလည်း Python နမူနာများဖြင့် လျှောက်လှမ်းပါမည်။
NLP ရှိ Transformers
2017 ခုနှစ်တွင် Cornell University မှ မိတ်ဆက်ပေးခဲ့သော သြဇာကြီးမားသောစာတမ်းတစ်စောင်ကို ထုတ်ဝေခဲ့သည်။ ထရန်စဖော်မာ. ဤအရာများသည် NLP တွင်အသုံးပြုသော နက်နဲသောသင်ယူမှုပုံစံများဖြစ်သည်။ ဤရှာဖွေတွေ့ရှိမှုသည် ကြီးမားသော ဘာသာစကားပုံစံများ ဖွံ့ဖြိုးတိုးတက်မှုကို လှုံ့ဆော်ပေးခဲ့သည်။ GPT ချတ်.
ကြီးမားသောဘာသာစကားမော်ဒယ်များ သို့မဟုတ် LLM များသည် လူသားနှင့်တူသော စာသားများကို နားလည်ရန်နှင့် ဖန်တီးရန်အတွက် ထရန်စဖော်မာများကို အသုံးပြုသည့် AI စနစ်များဖြစ်သည်။ သို့သော်၊ ဤမော်ဒယ်များကို ဖန်တီးခြင်းသည် စျေးကြီးပြီး မကြာခဏဆိုသလို ဒေါ်လာသန်းပေါင်းများစွာ လိုအပ်ပြီး ကုမ္ပဏီကြီးများတွင် ၎င်းတို့၏ ဝင်ရောက်နိုင်မှုကို ကန့်သတ်ထားသည်။
မျက်နှာပွေ့ဖက်2016 ခုနှစ်တွင် စတင်ခဲ့ပြီး NLP မော်ဒယ်များကို လူတိုင်းအသုံးပြုနိုင်စေရန် ရည်ရွယ်ပါသည်။ ကူးသန်းရောင်းဝယ်ရေးကုမ္ပဏီတစ်ခုဖြစ်သော်လည်း၊ ၎င်းသည် လူများနှင့်အဖွဲ့အစည်းများကို တတ်နိုင်သမျှ တတ်နိုင်စွာတည်ဆောက်ပြီး transformer မော်ဒယ်များကို အသုံးပြုရန် ကူညီပေးသည့် open-source အရင်းအမြစ်များစွာကို ပေးဆောင်ထားသည်။ စက်သင်ယူခြင်းဆိုသည်မှာ ပုံစံများကို အသိအမှတ်ပြုခြင်းဖြင့် အလုပ်များကို လုပ်ဆောင်ရန် ကွန်ပျူတာများကို သင်ကြားပေးခြင်းဖြစ်ပြီး နက်ရှိုင်းသော သင်ယူခြင်း၏ အစိတ်အပိုင်းတစ်ခုဖြစ်သည့် စက်သင်ယူမှုအပိုင်းသည် လွတ်လပ်စွာ သင်ယူနိုင်သော ကွန်ရက်တစ်ခုကို ဖန်တီးပေးနေစဉ်။ Transformers များသည် input data ကို ထိထိရောက်ရောက်နှင့် လိုက်လျောညီထွေစွာ အသုံးပြုသည့် နက်နဲသော သင်ယူမှု တည်ဆောက်မှု အမျိုးအစားတစ်ခုဖြစ်ပြီး ၎င်းသည် လေ့ကျင့်ချိန် နည်းပါးခြင်းကြောင့် ဘာသာစကား မော်ဒယ်ကြီးများကို တည်ဆောက်ရန်အတွက် လူကြိုက်များသော ရွေးချယ်မှုတစ်ခု ဖြစ်လာစေသည်။
မျက်နှာကို ပွေ့ဖက်ခြင်းက NLP နှင့် LLM ပရောဂျက်များကို လွယ်ကူချောမွေ့စေသည်
Hugging Face သည် ကမ်းလှမ်းခြင်းဖြင့် LLMs များနှင့် အလုပ်လုပ်ခြင်းကို ပိုမိုလွယ်ကူစေသည်-
- ရွေးချယ်ရန် ကြိုတင်လေ့ကျင့်ထားသော မော်ဒယ်များ
- ဤမော်ဒယ်များကို သင်၏ သီးခြားလိုအပ်ချက်များနှင့် ချိန်ညှိရန် ကိရိယာများနှင့် နမူနာများ။
- ပတ်ဝန်းကျင်အမျိုးမျိုးအတွက် လွယ်ကူသောအသုံးချမှုရွေးချယ်စရာများ။
Hugging Face မှတဆင့် ရရှိနိုင်သော အရင်းအမြစ်ကောင်းတစ်ခုဖြစ်သည်။ LLM ဦးဆောင်ဘုတ်ကိုဖွင့်ပါ။. ပြည့်စုံသောပလပ်ဖောင်းတစ်ခုအဖြစ် လုပ်ဆောင်ခြင်းဖြင့် ၎င်းသည် ကြီးမားသောဘာသာစကားမော်ဒယ်များ (LLMs) နှင့် chatbots များ၏ spectrum ၏စွမ်းဆောင်ရည်ကိုစနစ်တကျစောင့်ကြည့်ခြင်း၊ အဆင့်သတ်မှတ်ခြင်းနှင့် တိုင်းတာခြင်းတို့ကို ပံ့ပိုးပေးကာ open-source domain ၏တိုးတက်မှုများကို ပိုင်းခြားသိမြင်နိုင်သည်
LLM Benchmarks သည် မော်ဒယ်များကို မက်ထရစ်လေးခုဖြင့် တိုင်းတာသည်-
- AI2 ကျိုးကြောင်းဆီလျော်မှုစိန်ခေါ်မှု (25-shot) — မူလတန်းသိပ္ပံသင်ရိုးညွှန်းတမ်းများနှင့်ပတ်သက်သောမေးခွန်းများ။
- HellaSwag (10-shot) — လူသားများအတွက် ရိုးရှင်းသော်လည်း၊ ဤမက်ထရစ်သည် ခေတ်ပေါ်မော်ဒယ်များအတွက် သိသာထင်ရှားသော စိန်ခေါ်မှုတစ်ခုဖြစ်သည့် တူညီသောဥာဏ်စမ်းစစ်ဆေးမှုတစ်ခုဖြစ်သည်။
- MMLU (5-shot) — မတူညီကွဲပြားသော domain 57 ခုရှိ စာသားမော်ဒယ်တစ်ခု၏ ကျွမ်းကျင်မှုကို ထိထိမိမိ ထိတွေ့နိုင်သော ဘက်စုံအကဲဖြတ်မှုတစ်ခု၊ အခြေခံသင်္ချာ၊ ဥပဒေနှင့် ကွန်ပျူတာသိပ္ပံတို့အပါအဝင် အခြားအရာများပါဝင်သည်။
- TruthfulQA (0-shot) — မော်ဒယ်တစ်ဦး၏ ပဲ့တင်ထပ်သည့် သဘောထားကို အတည်ပြုရန် ကိရိယာတစ်ခု။
“25-shot”၊ “10-shot”၊ “5-shot” နှင့် “0-shot” ကဲ့သို့သော အသုံးအနှုန်းများဖြစ်သည့် “0-shot”၊ “XNUMX-shot”၊ “XNUMX-shot” နှင့် “XNUMX-shot” ကဲ့သို့သော စံနှုန်းများသည် အကဲဖြတ်ခြင်းလုပ်ငန်းစဉ်အတွင်း မော်ဒယ်တစ်ခုအား ပေးထားသည့် အချက်ပြနမူနာများစွာကို ဖော်ပြသည် နယ်ပယ်အမျိုးမျိုးရှိ ၎င်း၏စွမ်းဆောင်ရည်နှင့် ကျိုးကြောင်းဆင်ခြင်နိုင်စွမ်းများကို တိုင်းတာရန်။ "ရိုက်ချက်အနည်းငယ်" ပါရာဒိုင်းများတွင်၊ မော်ဒယ်များအား ၎င်းတို့၏ တုံ့ပြန်မှုများကို လမ်းညွှန်ရာတွင် အထောက်အကူဖြစ်စေရန် ဥပမာအနည်းငယ်ဖြင့် ပံ့ပိုးပေးထားပြီး၊ "XNUMX-shot" ဆက်တင်တွင် မော်ဒယ်များသည် သာဓကများမရရှိဘဲ သင့်လျော်စွာ တုံ့ပြန်ရန် ၎င်းတို့၏ နဂိုရှိပြီးသား အသိပညာအပေါ်သာ အားကိုးရမည်ဖြစ်သည်။ .
Hugging Face ၏ အစိတ်အပိုင်းများ
ပိုက်လိုင်းများ
'ပိုက်လိုင်းများ' Hugging Face ၏ ထရန်စဖော်မာ စာကြည့်တိုက်၏ တစ်စိတ်တစ်ပိုင်း သည် Hugging Face repository တွင် ရရှိနိုင်သော ကြိုတင်လေ့ကျင့်ထားသော မော်ဒယ်များကို လွယ်ကူစွာ အသုံးချနိုင်စေမည့် အင်္ဂါရပ်တစ်ခု ဖြစ်သည်။ ၎င်းသည် စိတ်ခံစားမှုခွဲခြမ်းစိတ်ဖြာခြင်း၊ မေးခွန်းဖြေဆိုခြင်း၊ မျက်နှာဖုံးစွပ်ထားသော ဘာသာစကားပုံစံပြုလုပ်ခြင်း၊ အမည်ရှိ entity အသိအမှတ်ပြုခြင်းနှင့် အကျဉ်းချုပ်ဖော်ပြခြင်းအပါအဝင် လုပ်ဆောင်စရာများအခင်းအကျင်းအတွက် ပင်ကိုယ် API ကို ပံ့ပိုးပေးပါသည်။
ပိုက်လိုင်းများသည် Hugging Face ၏ဗဟိုအစိတ်အပိုင်းသုံးခုကို ပေါင်းစပ်ထားသည်-
- တိုကျို− မော်ဒယ်နားလည်နိုင်သော ဖော်မတ်သို့ ပြောင်းခြင်းဖြင့် မော်ဒယ်အတွက် သင့်စာသားကို ပြင်ဆင်သည်။
- ပုံစံ: ဤသည်မှာ ကြိုတင်လုပ်ဆောင်ပြီးသား ထည့်သွင်းမှုအပေါ် အခြေခံ၍ အမှန်တကယ် ခန့်မှန်းချက်များကို ပြုလုပ်သည့် ပိုက်လိုင်း၏ နှလုံးသားဖြစ်သည်။
- ပရိုဆက်ဆာ: မော်ဒယ်၏ အကြမ်းထည် ခန့်မှန်းချက်များကို လူသားဖတ်နိုင်သော ပုံစံအဖြစ် ပြောင်းလဲသည်။
ဤပိုက်လိုင်းများသည် ကျယ်ပြန့်သော coding များကို လျှော့ချရုံသာမက အမျိုးမျိုးသော NLP လုပ်ငန်းများကို ပြီးမြောက်စေရန် အသုံးပြုသူအတွက် အဆင်ပြေစေမည့် အင်တာဖေ့စ်ကိုလည်း ပေးဆောင်ပါသည်။
Hugging Face စာကြည့်တိုက်ကို အသုံးပြု၍ Transformer အက်ပ်များ
Hugging Face ဒစ်ဂျစ်တိုက်၏ အသားပေးဖော်ပြချက်မှာ ခွဲခြမ်းစိတ်ဖြာမှု လုပ်ငန်းစဉ်ကို ချောမွေ့စေမည့် မော်ဒယ်တစ်ခုအား လိုအပ်သော အကြိုနှင့် လုပ်ဆောင်ပြီးနောက် လုပ်ဆောင်မှုအဆင့်များနှင့် ချိတ်ဆက်ခြင်းဖြင့် NLP လုပ်ဆောင်ချက်များကို ရိုးရှင်းစေသည့် Transformers စာကြည့်တိုက်ဖြစ်သည်။ စာကြည့်တိုက်ကို ထည့်သွင်းပြီး တင်သွင်းရန်၊ အောက်ပါ command များကို အသုံးပြုပါ။
pip install -q transformers from transformers import pipeline
ထိုသို့လုပ်ဆောင်ပြီးနောက်၊ သင်သည် စာသားကို အပြုသဘော သို့မဟုတ် အဆိုးမြင်စိတ်များအဖြစ် အမျိုးအစားခွဲပေးသည့် စိတ်ဓာတ်ခွဲခြမ်းစိတ်ဖြာမှုဖြင့် စတင်သည့် NLP အလုပ်များကို လုပ်ဆောင်နိုင်သည်။ စာကြည့်တိုက်၏ အစွမ်းထက်သော ပိုက်လိုင်း() လုပ်ဆောင်ချက်သည် အခြားသော ပိုက်လိုင်းများကို လွှမ်းခြုံကာ အသံ၊ အမြင်နှင့် ဘက်စုံဒိုမိန်းများတွင် လုပ်ငန်းဆောင်တာအလိုက် အပလီကေးရှင်းများကို လွယ်ကူချောမွေ့စေသည့် အချက်အချာတစ်ခုအဖြစ် လုပ်ဆောင်သည်။
လက်တွေ့အသုံးပြုခြင်း
စာသားခွဲခြား
Hugging Face ၏ ပိုက်လိုင်း() လုပ်ဆောင်ချက်ဖြင့် စာသားအမျိုးအစား ခွဲခြားခြင်းသည် လေအေးလေးဖြစ်လာသည်။ ဤသည်မှာ စာသားအမျိုးအစားခွဲခြားမှုပိုက်လိုင်းကို သင်စတင်နိုင်ပုံဖြစ်သည်-
classifier = pipeline("text-classification")
လက်လှမ်းမီသော အတွေ့အကြုံအတွက်၊ ခန့်မှန်းချက်များကို ရယူရန်အတွက် ကြိုးတစ်ချောင်း သို့မဟုတ် ကြိုးစာရင်းကို Python's Pandas စာကြည့်တိုက်ကို အသုံးပြု၍ သေသေသပ်သပ် မြင်သာအောင် မြင်နိုင်စေမည့် ခန့်မှန်းချက်များကို ရယူပါ။ အောက်တွင် Python ကို သရုပ်ပြထားသည့် အတိုအထွာတစ်ခုဖြစ်သည်။
sentences = ["I am thrilled to introduce you to the wonderful world of AI.", "Hopefully, it won't disappoint you."] # Get classification results for each sentence in the list results = classifier(sentences) # Loop through each result and print the label and score for i, result in enumerate(results): print(f"Result {i + 1}:") print(f" Label: {result['label']}") print(f" Score: {round(result['score'], 3)}\n")
output
Result 1: Label: POSITIVE Score: 1.0 Result 2: Label: POSITIVE Score: 0.996
Named Entity အသိအမှတ်ပြုခြင်း (NER)
NER သည် စာသားမှ 'အမည်ရှိသော အရာများ' ဟုခေါ်သော ကမ္ဘာပေါ်ရှိ အရာဝတ္ထုများကို ထုတ်ယူရာတွင် အဓိကကျပါသည်။ ဤအရာများကို ထိထိရောက်ရောက်ဖော်ထုတ်ရန် NER ပိုက်လိုင်းကို အသုံးပြုပါ-
ner_tagger = pipeline("ner", aggregation_strategy="simple") text = "Elon Musk is the CEO of SpaceX." outputs = ner_tagger(text) print(outputs)
output
Elon Musk: PER, SpaceX: ORG
အမေးအဖြေ
မေးခွန်းဖြေဆိုခြင်းတွင် ပေးထားသောအကြောင်းအရာတစ်ခုမှ တိကျသောမေးခွန်းများအတွက် တိကျသောအဖြေများကို ထုတ်ယူခြင်းပါဝင်သည်။ အမေးအဖြေ ပိုက်လိုင်းကို စတင်ပြီး လိုချင်သောအဖြေကို ရရှိရန် သင့်မေးခွန်းနှင့် အကြောင်းအရာကို ထည့်သွင်းပါ-
reader = pipeline("question-answering") text = "Hugging Face is a company creating tools for NLP. It is based in New York and was founded in 2016." question = "Where is Hugging Face based?" outputs = reader(question=question, context=text) print(outputs)
output
{'score': 0.998, 'start': 51, 'end': 60, 'answer': 'New York'}
Hugging Face ၏ပိုက်လိုင်းလုပ်ဆောင်ချက်သည် စာသားအမျိုးအစားခွဲခြားခြင်း၊ NER နှင့် မေးခွန်းဖြေဆိုခြင်းမှလွဲ၍ မတူညီသောလုပ်ငန်းတာဝန်များအတွက် ကြိုတင်တည်ဆောက်ထားသောပိုက်လိုင်းများခင်းကျင်းပေးပါသည်။ အောက်တွင် ရရှိနိုင်သော လုပ်ဆောင်စရာ အစုခွဲတစ်ခု၏ အသေးစိတ်အချက်များ ဖြစ်သည်-
ဇယား- မျက်နှာပိုက်လိုင်းကို ပွေ့ဖက်ခြင်း လုပ်ဆောင်စရာများ
လုပ်ငန်း | ဖေါ်ပြချက် | ပိုက်လိုင်း အမှတ်အသား |
စာသားမျိုးဆက် | ပေးထားသော အမှာစာအပေါ် အခြေခံ၍ စာသားကို ဖန်တီးပါ။ | ပိုက်လိုင်း(တာဝန်=”စာသား-မျိုးဆက်”) |
အကျဉ်းချုပ် | ရှည်လျားသော စာသား သို့မဟုတ် စာရွက်စာတမ်းကို အကျဉ်းချုပ်ပါ။ | ပိုက်လိုင်း(တာဝန်=”အကျဉ်းချုပ်”) |
Image ကိုအမျိုးအစားခွဲခြား | ထည့်သွင်းပုံတစ်ခုကို အညွှန်းတပ်ပါ။ | ပိုက်လိုင်း(လုပ်ငန်း = "ပုံ-အမျိုးအစားခွဲခြားခြင်း") |
အသံခွဲခြား | အသံဒေတာကို အမျိုးအစားခွဲပါ။ | ပိုက်လိုင်း(လုပ်ငန်း = "အသံ-အမျိုးအစားခွဲခြားခြင်း") |
Visual Question ဖြေဆိုခြင်း။ | ပုံတစ်ပုံနှင့်မေးခွန်းနှစ်ခုလုံးကို အသုံးပြု၍ မေးခွန်းတစ်ခုအား ဖြေပါ။ | ပိုက်လိုင်း(တာဝန်=”vqa”) |
အသေးစိတ်ဖော်ပြချက်များနှင့် နောက်ထပ်လုပ်ဆောင်စရာများအတွက်၊ ကို ကိုးကားပါ။ Hugging Face ၏ ဝဘ်ဆိုဒ်ရှိ ပိုက်လိုင်းမှတ်တမ်း.
Hugging Face သည် အဘယ်ကြောင့် Rust ကို အာရုံစိုက်နေသနည်း။
Hugging Face (HF) ဂေဟစနစ်သည် လုံခြုံသောအာရုံခံကိရိယာများနှင့် တိုကင်ကိရိယာများကဲ့သို့သော ၎င်း၏စာကြည့်တိုက်များတွင် Rust ကို စတင်အသုံးပြုခဲ့သည်။
Hugging Face သည် မကြာသေးမီကမှ machine-learning framework အသစ်ကိုလည်း ထုတ်ပြန်ခဲ့သည်။ ဖယောင်းတိုင်. Python ကိုအသုံးပြုသည့် ရိုးရာဘောင်များနှင့် မတူဘဲ Candle ကို Rust ဖြင့် တည်ဆောက်ထားသည်။ Rust ကို အသုံးပြုခြင်း၏ နောက်ကွယ်တွင် ရည်မှန်းချက်မှာ GPU လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးနေစဉ် စွမ်းဆောင်ရည် မြှင့်တင်ရန်နှင့် အသုံးပြုသူ အတွေ့အကြုံကို ရိုးရှင်းစေရန် ဖြစ်သည်။
Candle ၏ အဓိက ရည်ရွယ်ချက်မှာ ဆာဗာမဲ့ ကောက်ချက်ချမှုကို လွယ်ကူချောမွေ့စေရန်ဖြစ်ပြီး ပေါ့ပါးသော binaries များကို အသုံးချနိုင်စေရန်နှင့် Python ကို ထုတ်လုပ်မှုလုပ်ငန်းခွင်များမှ ဖယ်ရှားခြင်းဖြစ်ပြီး တစ်ခါတစ်ရံ ၎င်း၏ overhead ကြောင့် လုပ်ငန်းစဉ်များကို နှေးကွေးသွားစေနိုင်သည်။ ဤမူဘောင်သည် အစုအဝေးတစ်ခုပေါ်တွင် သာဓကများဖန်တီးရာတွင် ကြီးမားပြီး နှေးကွေးသော PyTorch ကဲ့သို့သော စက်သင်ယူမှုဘောင်အပြည့်အစုံဖြင့် ကြုံတွေ့နေရသည့် ပြဿနာများကို ကျော်လွှားရန်အတွက် ဤမူဘောင်ကို ဖြေရှင်းချက်တစ်ခုဖြစ်သည်။
Rust သည် Python ထက် များစွာပို၍ လူကြိုက်များသော ရွေးချယ်မှုတစ်ခု ဖြစ်လာသည်ကို လေ့လာကြည့်ကြပါစို့။
- မြန်နှုန်းနှင့်စွမ်းဆောင်ရည် - Rust သည် စက်သင်ယူမှုဘောင်များတွင် အစဉ်အလာအားဖြင့် အသုံးပြုသည့် Python စွမ်းဆောင်ရည်ထက် မယုံနိုင်လောက်အောင် မြန်ဆန်သောကြောင့် လူသိများသည်။ ၎င်း၏ Global Interpreter Lock (GIL) ကြောင့် တစ်ခါတစ်ရံတွင် Python ၏ စွမ်းဆောင်ရည် နှေးကွေးသွားတတ်သော်လည်း Rust သည် ဤပြဿနာကို မကြုံတွေ့ရဘဲ အလုပ်များကို ပိုမိုမြန်ဆန်စွာ လုပ်ဆောင်နိုင်မည်ဟု ကတိပေးကာ ၎င်းကို အကောင်အထည်ဖော်သည့် ပရောဂျက်များတွင် စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်လာစေသည်။
- လုံခွုံမှု - Rust သည် တစ်ပြိုင်တည်းစနစ်များ၏ ဘေးကင်းမှုကို သေချာစေရန်အတွက် မရှိမဖြစ်လိုအပ်သော အစိတ်အပိုင်းတစ်ခုဖြစ်သည့် အမှိုက်စုဆောင်းသူမပါဘဲ မှတ်ဉာဏ်လုံခြုံမှုကို အာမခံချက်ပေးပါသည်။ ၎င်းသည် ဒေတာဖွဲ့စည်းပုံများကို ကိုင်တွယ်ရာတွင် ဘေးကင်းရေးကို ဦးစားပေးသည့် Safeteners ကဲ့သို့သော နယ်ပယ်များတွင် အရေးကြီးသော အခန်းကဏ္ဍမှ ပါဝင်ပါသည်။
အကာအကွယ်များ
အကာအကွယ်များ Rust ၏ မြန်နှုန်းနှင့် ဘေးကင်းရေး အင်္ဂါရပ်များမှ အကျိုးကျေးဇူး။ Safetensors များတွင် tensor များကို ခြယ်လှယ်ခြင်း၊ ရှုပ်ထွေးသော သင်္ချာဆိုင်ရာ အကြောင်းအရာတစ်ခု ပါဝင်ပြီး Rust ပါရှိခြင်း သည် လုပ်ဆောင်ချက်များကို မြန်ဆန်ရုံသာမက မှတ်ဉာဏ် လွဲမှားခြင်းမှ ဖြစ်ပေါ်လာနိုင်သည့် ဘုံအမှားအယွင်းများနှင့် လုံခြုံရေးဆိုင်ရာ ပြဿနာများကို ရှောင်ရှားခြင်းကိုလည်း ရှောင်ရှားနိုင်စေပါသည်။
တိုကျို
တိုကင်ဇာများ စကားလုံးများ သို့မဟုတ် အသုံးအနှုန်းများကဲ့သို့ သေးငယ်သော ယူနစ်များအဖြစ် စာကြောင်းများ သို့မဟုတ် စကားစုများကို ခွဲခြမ်းလိုက်ပါ။ တိုကင်ယူခြင်းလုပ်ငန်းစဉ်သည် တိကျရုံသာမက လျင်မြန်စေကာ သဘာဝဘာသာစကားလုပ်ဆောင်ခြင်းလုပ်ငန်းဆောင်တာများ၏ စွမ်းဆောင်ရည်ကို မြှင့်တင်ပေးကြောင်း သေချာစေခြင်းဖြင့် အကောင်အထည်ဖော်ချိန်ကို အရှိန်မြှင့်ခြင်းဖြင့် ဤလုပ်ငန်းစဉ်တွင် သံချေးတက်ခြင်းကို အထောက်အကူပြုပါသည်။
Hugging Face's tokenizer ၏ အဓိကအချက်မှာ အချက်အလက်ထိန်းသိမ်းမှုနှင့် ဝေါဟာရအရွယ်အစားကို ပိုကောင်းအောင် လုပ်ဆောင်ရန် စကားလုံးနှင့် စာလုံးအဆင့် တိုကင်ယူခြင်းကြား သိမ်မွေ့သော ဟန်ချက်ညီမှုကို ပြသသည့် စကားလုံး တိုကင်ယူခြင်းသဘောတရားဖြစ်သည်။ ၎င်းသည် “##ing” နှင့် “##ed” ကဲ့သို့သော subtoken များဖန်တီးခြင်းဖြင့် လုပ်ဆောင်နိုင်ပြီး အဓိပ္ပါယ်ပြည့်ဝသော ဝေါဟာရများကို ရှောင်ရှားခြင်းဖြင့် အဓိပ္ပါယ်ပြည့်ဝသော ကြွယ်ဝမှုကို ထိန်းသိမ်းထားသည်။
Subword tokenization သည် character နှင့် word-level tokenization အကြား အထိရောက်ဆုံး ချိန်ခွင်လျှာကို ရှာဖွေဖော်ထုတ်ရန် လေ့ကျင့်ရေးအဆင့် ပါဝင်ပါသည်။ ၎င်းသည် ထိရောက်သော subword tokenizer ကို ဒီဇိုင်းထုတ်ရန်အတွက် ကျယ်ပြန့်သော စာသားကော်ပိုရာရှိ ဘာသာစကားပုံစံများကို ကျယ်ကျယ်ပြန့်ပြန့်ခွဲခြမ်းစိတ်ဖြာရန် လိုအပ်သော ရှေ့ဆက်နှင့် နောက်ဆက်စည်းမျဉ်းများထက် ကျော်လွန်သွားပါသည်။ ထုတ်လုပ်ထားသော tokenizer သည် ဆန်းသစ်သောစကားလုံးများကို လူသိများသော subwords များအဖြစ် ခွဲခြမ်းပြီး အဓိပ္ပါယ်ရှိသော နားလည်မှုအဆင့်ကို ထိန်းသိမ်းထားခြင်းဖြင့် ဆန်းသစ်သောစကားလုံးများကို ကိုင်တွယ်ရာတွင် ကျွမ်းကျင်ပါသည်။
Tokenization အစိတ်အပိုင်းများ
tokenizers library သည် tokenization လုပ်ငန်းစဉ်ကို အဆင့်များစွာဖြင့် ပိုင်းခြားပြီး တစ်ခုစီသည် တိုကင်ယူခြင်း၏ ကွဲပြားသောမျက်နှာကို ကိုင်တွယ်ဖြေရှင်းသည်။ ဤအစိတ်အပိုင်းများကို အသေးစိတ်လေ့လာကြည့်ရအောင်။
- Normalizer: စာလုံးသေးပြောင်းလဲခြင်း၊ ယူနီကုဒ်ပုံမှန်ပြုလုပ်ခြင်းနှင့် ဖယ်ရှားခြင်းကဲ့သို့သော လိုအပ်သော ချိန်ညှိမှုများကို အသုံးပြုကာ ထည့်သွင်းသည့်စာကြောင်းပေါ်တွင် ကနဦးပြောင်းလဲမှုများကို ပြုလုပ်သည်။
- PreTokenizer: space delineations ကဲ့သို့သော ကြိုတင်သတ်မှတ်ထားသော စည်းမျဉ်းများအပေါ် အခြေခံ၍ ခွဲခြမ်းများကို သတ်မှတ်ထည့်သွင်းထားသော စာကြောင်းများကို ကြိုတင်အပိုင်းများအဖြစ် အပိုင်းပိုင်းခွဲခြင်းအတွက် တာဝန်ရှိသည်။
- ပုံစံ- တိုကင်ခွဲများ၏ ရှာဖွေတွေ့ရှိမှုနှင့် ဖန်တီးမှုများကို ကြီးကြပ်ပါ၊ သင်၏ထည့်သွင်းဒေတာ၏ သီးခြားအချက်အလက်များနှင့် လိုက်လျောညီထွေဖြစ်အောင် လေ့ကျင့်ပေးနိုင်စွမ်းများကို ပေးဆောင်သည်။
- Post-Processor: [CLS] နှင့် [SEP] ကဲ့သို့သော တိုကင်များကို ပေါင်းထည့်ခြင်းဖြင့် BERT ကဲ့သို့သော ထရန်စဖော်မာ-အခြေခံ မော်ဒယ်များနှင့် တွဲဖက်အသုံးပြုနိုင်စေရန် ဆောက်လုပ်ရေးအင်္ဂါရပ်များကို မြှင့်တင်ပေးသည်။
Hugging Face tokenizers ဖြင့် စတင်ရန်၊ command ကို အသုံးပြု၍ စာကြည့်တိုက်ကို ထည့်သွင်းပါ။ pip install tokenizers
၎င်းကို သင်၏ Python ပတ်ဝန်းကျင်တွင် ထည့်သွင်းပါ။ စာကြည့်တိုက်သည် အချိန်အနည်းငယ်အတွင်း စာသားအမြောက်အမြားကို အမှတ်အသားပြုနိုင်ပြီး မော်ဒယ်လေ့ကျင့်ရေးကဲ့သို့ ပိုမိုပြင်းထန်သော အလုပ်များအတွက် အဖိုးတန် ကွန်ပျူတာဆိုင်ရာ အရင်းအမြစ်များကို ချွေတာနိုင်မည်ဖြစ်သည်။
Tokenizers စာကြည့်တိုက်ကို အသုံးပြုသည်။ သံခြေး ၎င်းသည် ပရိုဂရမ်းမင်းဘာသာစကား ဒီဇိုင်းတွင် ဆန်းသစ်သော အယူအဆများကို မိတ်ဆက်စဉ်တွင် C++ ၏ ပေါင်းစပ်တူညီမှုအား အမွေဆက်ခံသည်။ Python bindings များနှင့်အတူ၊ ၎င်းသည် Python ပတ်ဝန်းကျင်တွင် လုပ်ဆောင်နေစဉ်တွင် အဆင့်နိမ့်ဘာသာစကားတစ်ခု၏ စွမ်းဆောင်ရည်ကို သင်နှစ်သက်ကြောင်း သေချာစေသည်။
datasets
Datasets များသည် AI ပရောဂျက်များ၏ အခြေခံအုတ်မြစ်ဖြစ်သည်။ Hugging Face သည် NLP လုပ်ဆောင်စရာများစွာအတွက် သင့်လျော်သော ဒေတာအစုံများစွာကို ပေးဆောင်ပါသည်။ ၎င်းတို့ကို ထိရောက်စွာ အသုံးချရန် ၎င်းတို့ကို တင်ခြင်းနှင့် ခွဲခြမ်းစိတ်ဖြာခြင်း လုပ်ငန်းစဉ်ကို နားလည်ရန် အရေးကြီးပါသည်။ အောက်တွင် Hugging Face တွင် ရရှိနိုင်သော ဒေတာအတွဲများကို စူးစမ်းနည်းကို ကောင်းစွာ မှတ်ချက်ပေးထားသည့် Python script တစ်ခုဖြစ်သည်။
from datasets import load_dataset # Load a dataset dataset = load_dataset('squad') # Display the first entry print(dataset[0])
ဤ script သည် အမေးအဖြေ လုပ်ငန်းများအတွက် ရေပန်းစားသော ရွေးချယ်မှုဖြစ်သည့် SQuAD ဒေတာအတွဲကို တင်ရန် load_dataset လုပ်ဆောင်ချက်ကို အသုံးပြုပါသည်။
ကြိုတင်လေ့ကျင့်ထားသော မော်ဒယ်များကို အသုံးချပြီး အားလုံးကို စုစည်းပါ။
အကြိုလေ့ကျင့်သင်ကြားထားသော မော်ဒယ်များသည် နက်နဲသော သင်ယူမှုပရောဂျက်များစွာ၏ ကျောရိုးဖြစ်လာပြီး သုတေသီများနှင့် ဆော့ဖ်ဝဲရေးသားသူများကို အစမှမစဘဲ ၎င်းတို့၏ အစပျိုးမှုများကို ခုန်ကူးနိုင်စေပါသည်။ Hugging Face သည် အောက်ဖော်ပြပါ ကုဒ်တွင် ပြထားသည့်အတိုင်း အမျိုးမျိုးသော အကြိုလေ့ကျင့်ထားသော မော်ဒယ်များကို ရှာဖွေရာတွင် လွယ်ကူချောမွေ့စေသည်-
from transformers import AutoModelForQuestionAnswering, AutoTokenizer # Load the pre-trained model and tokenizer model = AutoModelForQuestionAnswering.from_pretrained('bert-large-uncased-whole-word-masking-finetuned-squad') tokenizer = AutoTokenizer.from_pretrained('bert-large-uncased-whole-word-masking-finetuned-squad') # Display the model's architecture print(model)
မော်ဒယ်နှင့် တိုကင်ဇာကို တင်လိုက်သည်နှင့်၊ ယခု ကျွန်ုပ်တို့သည် စာသားအပိုင်းအစနှင့် မေးခွန်းတစ်ခုကို ထည့်သွင်းမှုများအဖြစ် ယူဆောင်ပြီး စာသားမှထုတ်နုတ်ထားသော အဖြေကို ပြန်ပေးသည့် လုပ်ဆောင်ချက်တစ်ခုကို ဖန်တီးနိုင်ပါပြီ။ ထည့်သွင်းထားသော စာသားနှင့် မေးခွန်းများကို မော်ဒယ်နှင့် လိုက်ဖက်သော ဖော်မတ်တစ်ခုအဖြစ် လုပ်ဆောင်ရန် တိုကင်ဆာကို ကျွန်ုပ်တို့ အသုံးပြုမည်ဖြစ်ပြီး၊ ထို့နောက် အဖြေရရှိရန် ဤစီမံဆောင်ရွက်ထားသော ထည့်သွင်းမှုကို မော်ဒယ်သို့ ဖြည့်စွက်ပါမည်-
def get_answer(text, question): # Tokenize the input text and question inputs = tokenizer(question, text, return_tensors='pt', max_length=512, truncation=True) outputs = model(**inputs) # Get the start and end scores for the answer answer_start = torch.argmax(outputs.start_logits) answer_end = torch.argmax(outputs.end_logits) + 1 answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(inputs['input_ids'][0][answer_start:answer_end])) return answer
ကုဒ်အတိုအထွာတွင်၊ ကျွန်ုပ်တို့သည် ထရန်စဖော်မာအထုပ်မှ လိုအပ်သော module များကို တင်သွင်းပြီး၊ ထို့နောက် ကြိုတင်လေ့ကျင့်ထားသော မော်ဒယ်နှင့် ၎င်း၏ သက်ဆိုင်ရာ tokenizer ကို from_pretrained နည်းလမ်းကို အသုံးပြု၍ တင်ပါသည်။ ကျွန်ုပ်တို့သည် SQuAD ဒေတာအတွဲတွင် ကောင်းစွာချိန်ညှိထားသော BERT မော်ဒယ်ကို ရွေးချယ်သည်။
ကျွန်ုပ်တို့တွင် စာပိုဒ်တစ်ပိုဒ်ပါရှိသည့် ဤလုပ်ဆောင်ချက်၏ နမူနာအသုံးပြုမှုကို ကြည့်ကြပါစို့၊ ၎င်းမှ မေးခွန်းတစ်ခုအတွက် တိကျသောအဖြေတစ်ခုကို ထုတ်ယူလိုပါသည်-
text = """ The Eiffel Tower, located in Paris, France, is one of the most iconic landmarks in the world. It was designed by Gustave Eiffel and completed in 1889. The tower stands at a height of 324 meters and was the tallest man-made structure in the world at the time of its completion. """ question = "Who designed the Eiffel Tower?" # Get the answer to the question answer = get_answer(text, question) print(f"The answer to the question is: {answer}") # Output: The answer to the question is: Gustave Eiffel
ဤ script တွင်၊ ကျွန်ုပ်တို့သည် စာသားနှင့် မေးခွန်းတစ်ခုကို ယူဆောင်သည့် get_answer လုပ်ဆောင်ချက်ကို တည်ဆောက်ပြီး ၎င်းတို့ကို သင့်လျော်သလို သင်္ကေတပြုကာ စာသားမှ အဖြေကို ထုတ်နုတ်ရန်အတွက် ကြိုတင်လေ့ကျင့်ထားသော BERT မော်ဒယ်ကို အသုံးချပါသည်။ ၎င်းသည် ရိုးရှင်းသော်လည်း အစွမ်းထက်သော အမေးအဖြေစနစ်တစ်ခုကို တည်ဆောက်ရန်အတွက် Hugging Face ၏ ထရန်စဖော်မာစာကြည့်တိုက်၏ လက်တွေ့အသုံးချမှုကို သရုပ်ပြသည်။ သဘောတရားများကို ကောင်းစွာနားလည်ရန်၊ လက်ဖြင့်စမ်းသပ်မှုပြုလုပ်ရန် အကြံပြုထားသည်။ Google Colab Notebook.
ကောက်ချက်
၎င်း၏ကျယ်ပြန့်သော open-source ကိရိယာများ၊ ကြိုတင်လေ့ကျင့်ထားသော မော်ဒယ်များနှင့် အသုံးပြုရလွယ်ကူသော ပိုက်လိုင်းများမှတစ်ဆင့်၊ ၎င်းသည် ကျွမ်းကျင်သော ပညာရှင်များနှင့် အသစ်အသစ်များ နှစ်ဦးစလုံးကို လွယ်ကူပြီး နားလည်သဘောပေါက်သည့် AI ၏ ကျယ်ပြန့်သောကမ္ဘာကြီးထဲသို့ ဝင်ရောက်နိုင်စေပါသည်။ ထို့အပြင်၊ ၎င်း၏မြန်နှုန်းနှင့် ဘေးကင်းရေးအင်္ဂါရပ်များကြောင့် Rust ပေါင်းစပ်ရန် အစပျိုးမှုသည် AI အပလီကေးရှင်းများတွင် ထိရောက်မှုနှင့် လုံခြုံရေးကို သေချာစေပြီး ဆန်းသစ်တီထွင်မှုကို အားပေးသည့် Hugging Face ၏ ကတိကဝတ်ကို အလေးပေးဖော်ပြသည်။ Hugging Face ၏ အသွင်ကူးပြောင်းမှုလက်ရာသည် အဆင့်မြင့် AI ကိရိယာများကို ဝင်ရောက်ကြည့်ရှုနိုင်ရုံသာမက AI အာကာသအတွင်း သင်ယူမှုနှင့် ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ပူးပေါင်းလုပ်ဆောင်သည့် ပတ်ဝန်းကျင်ကို ပြုစုပျိုးထောင်ပေးကာ AI ရရှိနိုင်မည့် အနာဂတ်ကို လွယ်ကူချောမွေ့စေပါသည်။