Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Transformer Architectures များ","local":"transformer-architectures","sections":[{"title":"Encoder မော်ဒယ်များ","local":"encoder-models","sections":[],"depth":2},{"title":"Decoder မော်ဒယ်များ","local":"decoder-models","sections":[{"title":"ခေတ်မီ Large Language Models (LLMs) များ","local":"ခတမ-large-language-models-llms-မ","sections":[{"title":"ခေတ်မီ LLMs တွေရဲ့ အဓိက စွမ်းရည်များ","local":"ခတမ-llms-တရ-အဓက-စမရညမ","sections":[],"depth":4}],"depth":3}],"depth":2},{"title":"Sequence-to-sequence မော်ဒယ်များ","local":"sequence-to-sequence-models","sections":[{"title":"လက်တွေ့အသုံးချမှုများ","local":"လကတအသခမမ","sections":[],"depth":3}],"depth":2},{"title":"မှန်ကန်သော Architecture ကို ရွေးချယ်ခြင်း","local":"choosing-the-right-architecture","sections":[],"depth":2},{"title":"LLMs တွေရဲ့ ဆင့်ကဲပြောင်းလဲမှု","local":"llms-တရ-ဆငကပငလမ","sections":[],"depth":2},{"title":"Attention Mechanisms","local":"attention-mechanisms","sections":[{"title":"LSH attention","local":"lsh-attention","sections":[],"depth":3},{"title":"Local attention","local":"local-attention","sections":[],"depth":3},{"title":"Axial positional encodings","local":"axial-positional-encodings","sections":[],"depth":3}],"depth":2},{"title":"နိဂုံးချုပ်","local":"conclusion","sections":[],"depth":2},{"title":"ဝေါဟာရ ရှင်းလင်းချက် (Glossary)","local":"ဝဟရ-ရငလငခက-glossary","sections":[],"depth":2}],"depth":1}"> | |
| <link href="/docs/course/pr_1114/my/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/entry/start.14794ee9.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/scheduler.893fe8c9.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/singletons.10fda3ce.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/index.bce52c8a.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/paths.89c82153.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/entry/app.a133f5c6.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/preload-helper.b1a719fd.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/index.b1df2166.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/nodes/0.510afdc1.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/each.e59479a4.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/nodes/10.d701f032.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/MermaidChart.svelte_svelte_type_style_lang.762ed9cc.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/Youtube.ec5d7916.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1114/my/_app/immutable/chunks/CourseFloatingBanner.c1c08878.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{"title":"Transformer Architectures များ","local":"transformer-architectures","sections":[{"title":"Encoder မော်ဒယ်များ","local":"encoder-models","sections":[],"depth":2},{"title":"Decoder မော်ဒယ်များ","local":"decoder-models","sections":[{"title":"ခေတ်မီ Large Language Models (LLMs) များ","local":"ခတမ-large-language-models-llms-မ","sections":[{"title":"ခေတ်မီ LLMs တွေရဲ့ အဓိက စွမ်းရည်များ","local":"ခတမ-llms-တရ-အဓက-စမရညမ","sections":[],"depth":4}],"depth":3}],"depth":2},{"title":"Sequence-to-sequence မော်ဒယ်များ","local":"sequence-to-sequence-models","sections":[{"title":"လက်တွေ့အသုံးချမှုများ","local":"လကတအသခမမ","sections":[],"depth":3}],"depth":2},{"title":"မှန်ကန်သော Architecture ကို ရွေးချယ်ခြင်း","local":"choosing-the-right-architecture","sections":[],"depth":2},{"title":"LLMs တွေရဲ့ ဆင့်ကဲပြောင်းလဲမှု","local":"llms-တရ-ဆငကပငလမ","sections":[],"depth":2},{"title":"Attention Mechanisms","local":"attention-mechanisms","sections":[{"title":"LSH attention","local":"lsh-attention","sections":[],"depth":3},{"title":"Local attention","local":"local-attention","sections":[],"depth":3},{"title":"Axial positional encodings","local":"axial-positional-encodings","sections":[],"depth":3}],"depth":2},{"title":"နိဂုံးချုပ်","local":"conclusion","sections":[],"depth":2},{"title":"ဝေါဟာရ ရှင်းလင်းချက် (Glossary)","local":"ဝဟရ-ရငလငခက-glossary","sections":[],"depth":2}],"depth":1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <div class="flex space-x-1 absolute z-10 right-0 top-0" style=""><a href="https://discuss.huggingface.co/t/chapter-1-questions" target="_blank"><img alt="Ask a Question" class="!m-0" src="https://img.shields.io/badge/Ask%20a%20question-ffcb4c.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgLTEgMTA0IDEwNiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMyMzFmMjA7fS5jbHMtMntmaWxsOiNmZmY5YWU7fS5jbHMtM3tmaWxsOiMwMGFlZWY7fS5jbHMtNHtmaWxsOiMwMGE5NGY7fS5jbHMtNXtmaWxsOiNmMTVkMjI7fS5jbHMtNntmaWxsOiNlMzFiMjM7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5EaXNjb3Vyc2VfbG9nbzwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiPjxnIGlkPSJMYXllcl8zIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MS44NywwQzIzLjcxLDAsMCwyMi44MywwLDUxYzAsLjkxLDAsNTIuODEsMCw1Mi44MWw1MS44Ni0uMDVjMjguMTYsMCw1MS0yMy43MSw1MS01MS44N1M4MCwwLDUxLjg3LDBaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTIuMzcsMTkuNzRBMzEuNjIsMzEuNjIsMCwwLDAsMjQuNTgsNjYuNDFsLTUuNzIsMTguNEwzOS40LDgwLjE3YTMxLjYxLDMxLjYxLDAsMSwwLDEzLTYwLjQzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTc3LjQ1LDMyLjEyYTMxLjYsMzEuNiwwLDAsMS0zOC4wNSw0OEwxOC44Niw4NC44MmwyMC45MS0yLjQ3QTMxLjYsMzEuNiwwLDAsMCw3Ny40NSwzMi4xMloiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik03MS42MywyNi4yOUEzMS42LDMxLjYsMCwwLDEsMzguOCw3OEwxOC44Niw4NC44MiwzOS40LDgwLjE3QTMxLjYsMzEuNiwwLDAsMCw3MS42MywyNi4yOVoiLz48cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Ik0yNi40Nyw2Ny4xMWEzMS42MSwzMS42MSwwLDAsMSw1MS0zNUEzMS42MSwzMS42MSwwLDAsMCwyNC41OCw2Ni40MWwtNS43MiwxOC40WiIvPjxwYXRoIGNsYXNzPSJjbHMtNiIgZD0iTTI0LjU4LDY2LjQxQTMxLjYxLDMxLjYxLDAsMCwxLDcxLjYzLDI2LjI5YTMxLjYxLDMxLjYxLDAsMCwwLTQ5LDM5LjYzbC0zLjc2LDE4LjlaIi8+PC9nPjwvZz48L3N2Zz4="></a> </div> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"><div class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 max-sm:gap-0.5 h-6 max-sm:h-5 px-2 max-sm:px-1.5 text-[11px] max-sm:text-[9px] font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0"><svg class="w-3 h-3 max-sm:w-2.5 max-sm:h-2.5" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg></span> <span>Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-6 max-sm:h-5 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible w-3 h-3 max-sm:w-2.5 max-sm:h-2.5 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg></button></div> </div> <h1 class="relative group"><a id="transformer-architectures" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#transformer-architectures"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Transformer Architectures များ</span></h1> <p data-svelte-h="svelte-12sf8rp">ယခင်အပိုင်းတွေမှာ Transformer architecture အကြောင်းကို မိတ်ဆက်ပေးခဲ့ပြီး ဒီမော်ဒယ်တွေက လုပ်ငန်းတာဝန်အမျိုးမျိုးကို ဘယ်လိုဖြေရှင်းပေးနိုင်လဲဆိုတာကို လေ့လာခဲ့ပါတယ်။ အခုတော့ Transformer မော်ဒယ်တွေရဲ့ အဓိက architectured ပုံစံသုံးမျိုးကို ပိုမိုနက်နဲစွာ လေ့လာပြီး တစ်ခုချင်းစီကို ဘယ်အချိန်မှာ အသုံးပြုသင့်လဲဆိုတာကို နားလည်အောင် လုပ်ဆောင်ကြပါစို့။ ထို့နောက်၊ အဲဒီ architecture တွေကို မတူညီတဲ့ ဘာသာစကားလုပ်ငန်းတာဝန်တွေမှာ ဘယ်လိုအသုံးပြုလဲဆိုတာကို ကြည့်ရှုခဲ့ကြပါတယ်။</p> <p data-svelte-h="svelte-1kw852d">ဒီအပိုင်းမှာတော့ Transformer မော်ဒယ်တွေရဲ့ အဓိက architectured ပုံစံသုံးမျိုးကို ပိုမိုနက်နဲစွာ လေ့လာပြီး တစ်ခုချင်းစီကို ဘယ်အချိန်မှာ အသုံးပြုသင့်လဲဆိုတာကို နားလည်အောင် လုပ်ဆောင်သွားပါမယ်။</p> <blockquote class="tip" data-svelte-h="svelte-1dgjq2g"><p>Transformer မော်ဒယ်အများစုဟာ architecture သုံးမျိုးထဲက တစ်ခုကို အသုံးပြုတယ်ဆိုတာ သတိရပါ။ အဲဒါတွေကတော့ encoder-only, decoder-only, ဒါမှမဟုတ် encoder-decoder (sequence-to-sequence) တို့ ဖြစ်ပါတယ်။ ဒီကွာခြားချက်တွေကို နားလည်ထားခြင်းက သင့်ရဲ့ သီးခြားလုပ်ငန်းတာဝန်အတွက် မှန်ကန်တဲ့ မော်ဒယ်ကို ရွေးချယ်နိုင်ဖို့ ကူညီပါလိမ့်မယ်။</p></blockquote> <h2 class="relative group"><a id="encoder-models" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#encoder-models"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Encoder မော်ဒယ်များ</span></h2> <iframe class="w-full xl:w-4/6 h-80" src="https://www.youtube-nocookie.com/embed/MUqNwgPjJvQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <p data-svelte-h="svelte-12wfnhs">Encoder မော်ဒယ်တွေဟာ Transformer မော်ဒယ်ရဲ့ encoder အပိုင်းကိုသာ အသုံးပြုပါတယ်။ အဆင့်တိုင်းမှာ attention layers တွေက မူလစာကြောင်းထဲက စကားလုံးအားလုံးကို ဝင်ရောက်ကြည့်ရှုနိုင်ပါတယ်။ ဒီမော်ဒယ်တွေကို “bi-directional” attention ရှိတယ်လို့ မကြာခဏ ဖော်ပြလေ့ရှိပြီး <em>auto-encoding models</em> လို့လည်း ခေါ်ကြပါတယ်။</p> <p data-svelte-h="svelte-1a5xn8j">ဒီမော်ဒယ်တွေရဲ့ pretraining က များသောအားဖြင့် ပေးထားတဲ့ စာကြောင်းတစ်ခုကို တစ်နည်းတစ်ဖုံ ဖျက်ဆီးပြီး (ဥပမာ- ကျပန်းစကားလုံးတွေကို ဝှက်ထားခြင်းဖြင့်) မူလစာကြောင်းကို ရှာဖွေခြင်း သို့မဟုတ် ပြန်လည်တည်ဆောက်ခြင်းတို့ကို မော်ဒယ်ကို တာဝန်ပေးခြင်းအပေါ် အခြေခံပါတယ်။</p> <p data-svelte-h="svelte-5cu2ik">Encoder မော်ဒယ်တွေဟာ စာကြောင်းအပြည့်အစုံကို နားလည်ဖို့ လိုအပ်တဲ့ လုပ်ငန်းတာဝန်များအတွက် အသင့်တော်ဆုံးဖြစ်ပြီး ဥပမာအားဖြင့် sentence classification, named entity recognition (နဲ့ ပိုမိုယေဘုယျအားဖြင့် word classification) နဲ့ extractive question answering တို့ပဲ ဖြစ်ပါတယ်။</p> <blockquote class="tip" data-svelte-h="svelte-v6bjdq"><p>”<a href="/chapter1/5">🤗 Transformers တွေက လုပ်ငန်းတာဝန်တွေကို ဘယ်လိုဖြေရှင်းပေးလဲ။</a>” မှာ ကျွန်တော်တို့ မြင်တွေ့ခဲ့ရသလို BERT လို encoder မော်ဒယ်တွေဟာ စာသားကို နားလည်ရာမှာ ထူးချွန်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ ၎င်းတို့ဟာ input တစ်ခုလုံးရဲ့ အကြောင်းအရာ (context) ကို နှစ်ဖက်စလုံးကနေ ကြည့်ရှုနိုင်လို့ပါ။ ဒါကြောင့် input တစ်ခုလုံးရဲ့ နားလည်မှုက အရေးကြီးတဲ့ လုပ်ငန်းတာဝန်တွေအတွက် ၎င်းတို့ဟာ အကောင်းဆုံးပါပဲ။</p></blockquote> <p data-svelte-h="svelte-18s9ndb">ဒီမော်ဒယ်မိသားစုရဲ့ ကိုယ်စားပြုမော်ဒယ်တွေကတော့:</p> <ul data-svelte-h="svelte-vv3q6"><li><a href="https://huggingface.co/docs/transformers/model_doc/bert" rel="nofollow">BERT</a></li> <li><a href="https://huggingface.co/docs/transformers/model_doc/distilbert" rel="nofollow">DistilBERT</a></li> <li><a href="https://huggingface.co/docs/transformers/en/model_doc/modernbert" rel="nofollow">ModernBERT</a></li></ul> <h2 class="relative group"><a id="decoder-models" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#decoder-models"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Decoder မော်ဒယ်များ</span></h2> <iframe class="w-full xl:w-4/6 h-80" src="https://www.youtube-nocookie.com/embed/d_ixlCubqQw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <p data-svelte-h="svelte-11um338">Decoder မော်ဒယ်တွေဟာ Transformer မော်ဒယ်ရဲ့ decoder အပိုင်းကိုသာ အသုံးပြုပါတယ်။ အဆင့်တိုင်းမှာ ပေးထားတဲ့ စကားလုံးတစ်ခုအတွက် attention layers တွေက စာကြောင်းထဲမှာ အရင်ရှိနေတဲ့ စကားလုံးတွေကိုသာ ဝင်ရောက်ကြည့်ရှုနိုင်ပါတယ်။ ဒီမော်ဒယ်တွေကို မကြာခဏ <em>auto-regressive models</em> လို့ ခေါ်ကြပါတယ်။</p> <p data-svelte-h="svelte-1vr2e2t">Decoder မော်ဒယ်တွေရဲ့ pretraining က များသောအားဖြင့် စာကြောင်းထဲက နောက်ထပ်စကားလုံးကို ခန့်မှန်းခြင်းအပေါ် အခြေခံပါတယ်။</p> <p data-svelte-h="svelte-1hvnka5">ဒီမော်ဒယ်တွေဟာ စာသားဖန်တီးခြင်း (text generation) နဲ့ပတ်သက်တဲ့ လုပ်ငန်းတာဝန်တွေအတွက် အသင့်တော်ဆုံး ဖြစ်ပါတယ်။</p> <blockquote class="tip" data-svelte-h="svelte-1w1dgy3"><p>GPT လို decoder မော်ဒယ်တွေကို တစ်ကြိမ်လျှင် token တစ်ခုချင်းစီကို ခန့်မှန်းခြင်းဖြင့် စာသားတွေ ဖန်တီးဖို့ ဒီဇိုင်းထုတ်ထားပါတယ်။ ”<a href="/chapter1/5">🤗 Transformers တွေက လုပ်ငန်းတာဝန်တွေကို ဘယ်လိုဖြေရှင်းပေးလဲ။</a>” မှာ ကျွန်တော်တို့ လေ့လာခဲ့ရသလို၊ ၎င်းတို့ဟာ ယခင် tokens တွေကိုသာ မြင်နိုင်တာကြောင့် ဖန်တီးမှုဆိုင်ရာ စာသားဖန်တီးခြင်းအတွက် အလွန်ကောင်းမွန်ပေမယ့် bi-directional နားလည်မှု လိုအပ်တဲ့ လုပ်ငန်းတာဝန်တွေအတွက်တော့ သိပ်မသင့်လျော်ပါဘူး။</p></blockquote> <p data-svelte-h="svelte-18s9ndb">ဒီမော်ဒယ်မိသားစုရဲ့ ကိုယ်စားပြုမော်ဒယ်တွေကတော့:</p> <ul data-svelte-h="svelte-1plq41k"><li><a href="https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B-Instruct" rel="nofollow">Hugging Face SmolLM Series</a></li> <li><a href="https://huggingface.co/docs/transformers/en/model_doc/llama4" rel="nofollow">Meta’s Llama Series</a></li> <li><a href="https://huggingface.co/docs/transformers/main/en/model_doc/gemma3" rel="nofollow">Google’s Gemma Series</a></li> <li><a href="https://huggingface.co/deepseek-ai/DeepSeek-V3" rel="nofollow">DeepSeek’s V3</a></li></ul> <h3 class="relative group"><a id="ခတမ-large-language-models-llms-မ" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#ခတမ-large-language-models-llms-မ"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>ခေတ်မီ Large Language Models (LLMs) များ</span></h3> <p data-svelte-h="svelte-9o8tpe">ခေတ်မီ Large Language Models (LLMs) အများစုဟာ decoder-only architecture ကို အသုံးပြုပါတယ်။ ဒီမော်ဒယ်တွေဟာ လွန်ခဲ့တဲ့ နှစ်အနည်းငယ်အတွင်း အရွယ်အစားနဲ့ စွမ်းရည်တွေ သိသိသာသာ ကြီးထွားလာခဲ့ပြီး အကြီးဆုံးမော်ဒယ်အချို့မှာ parameters ဘီလီယံပေါင်း ရာနဲ့ချီ ပါဝင်ပါတယ်။</p> <p data-svelte-h="svelte-ruuxyo">ခေတ်မီ LLMs တွေကို ပုံမှန်အားဖြင့် အဆင့်နှစ်ဆင့်နဲ့ လေ့ကျင့်ပါတယ်။</p> <ol data-svelte-h="svelte-s6si7n"><li><strong>Pretraining</strong>: မော်ဒယ်ဟာ များပြားလှတဲ့ စာသားဒေတာတွေပေါ်မှာ နောက်ထပ် token ကို ခန့်မှန်းဖို့ သင်ယူပါတယ်။</li> <li><strong>Instruction tuning</strong>: မော်ဒယ်ဟာ ညွှန်ကြားချက်တွေကို လိုက်နာပြီး အထောက်အကူဖြစ်စေတဲ့ တုံ့ပြန်မှုတွေကို ဖန်တီးဖို့ fine-tune လုပ်ခံရပါတယ်။</li></ol> <p data-svelte-h="svelte-11plfwj">ဒီချဉ်းကပ်မှုက ကျယ်ပြန့်တဲ့ ခေါင်းစဉ်တွေနဲ့ လုပ်ငန်းတာဝန်မျိုးစုံမှာ လူသားဆန်တဲ့ စာသားတွေကို နားလည်ပြီး ဖန်တီးနိုင်တဲ့ မော်ဒယ်တွေကို ဖြစ်ပေါ်စေခဲ့ပါတယ်။</p> <h4 class="relative group"><a id="ခတမ-llms-တရ-အဓက-စမရညမ" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#ခတမ-llms-တရ-အဓက-စမရညမ"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>ခေတ်မီ LLMs တွေရဲ့ အဓိက စွမ်းရည်များ</span></h4> <p data-svelte-h="svelte-1wmywh0">ခေတ်မီ decoder-based LLMs တွေဟာ အထင်ကြီးစရာကောင်းတဲ့ စွမ်းရည်တွေကို ပြသခဲ့ပါတယ်။</p> <table data-svelte-h="svelte-1rajyec"><thead><tr><th>စွမ်းရည်</th> <th>ဖော်ပြချက်</th> <th>ဥပမာ</th></tr></thead> <tbody><tr><td>စာသားဖန်တီးခြင်း</td> <td>ဆက်စပ်မှုရှိပြီး အကြောင်းအရာနှင့်ကိုက်ညီသော စာသားများ ဖန်တီးခြင်း</td> <td>စာစီစာကုံး၊ ပုံပြင်များ သို့မဟုတ် emails များ ရေးသားခြင်း</td></tr> <tr><td>အကျဉ်းချုပ်ခြင်း</td> <td>စာရွက်စာတမ်းရှည်များကို ပိုမိုတိုတောင်းသော ပုံစံများဖြင့် အကျဉ်းချုံးခြင်း</td> <td>အစီရင်ခံစာများ၏ အနှစ်ချုပ်များ ဖန်တီးခြင်း</td></tr> <tr><td>ဘာသာပြန်ခြင်း</td> <td>ဘာသာစကားများအကြား စာသားများကို ပြောင်းလဲခြင်း</td> <td>အင်္ဂလိပ်မှ စပိန်သို့ ဘာသာပြန်ခြင်း</td></tr> <tr><td>မေးခွန်းဖြေဆိုခြင်း</td> <td>အမှန်တကယ်မေးခွန်းများကို အဖြေပေးခြင်း</td> <td>“ပြင်သစ်နိုင်ငံရဲ့ မြို့တော်က ဘာလဲ”</td></tr> <tr><td>Code ဖန်တီးခြင်း</td> <td>Code snippets များကို ရေးသားခြင်း သို့မဟုတ် ဖြည့်စွက်ခြင်း</td> <td>ဖော်ပြချက်အပေါ် အခြေခံ၍ function တစ်ခု ဖန်တီးခြင်း</td></tr> <tr><td>ဆင်ခြင်တုံတရား</td> <td>ပြဿနာများကို အဆင့်ဆင့်ဖြေရှင်းခြင်း</td> <td>သင်္ချာပြဿနာများ သို့မဟုတ် ယုတ္တိပဟေဠိများ ဖြေရှင်းခြင်း</td></tr> <tr><td>Few-shot learning</td> <td>prompt တွင် ဥပမာအနည်းငယ်မှ သင်ယူခြင်း</td> <td>ဥပမာ ၂-၃ ခုသာ မြင်ပြီးနောက် စာသားများကို အမျိုးအစားခွဲခြားခြင်း</td></tr></tbody></table> <p data-svelte-h="svelte-1vyq902">Hub ပေါ်ရှိ model repo စာမျက်နှာများမှတစ်ဆင့် သင်၏ browser ထဲတွင် decoder-based LLMs များကို တိုက်ရိုက် စမ်းသပ်နိုင်ပါတယ်။ classic <a href="https://huggingface.co/openai-community/gpt2" rel="nofollow">GPT-2</a> (OpenAI ရဲ့ အကောင်းဆုံး open source မော်ဒယ်!) ဥပမာတစ်ခုကတော့ ဒီမှာပါ။</p> <iframe src="https://huggingface.co/openai-community/gpt2" frameborder="0" width="100%" height="450"></iframe> <h2 class="relative group"><a id="sequence-to-sequence-models" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#sequence-to-sequence-models"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Sequence-to-sequence မော်ဒယ်များ</span></h2> <iframe class="w-full xl:w-4/6 h-80" src="https://www.youtube-nocookie.com/embed/0_4KEb08xrE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <p data-svelte-h="svelte-1y0gbx9">Encoder-decoder မော်ဒယ်တွေ (သို့မဟုတ် <em>sequence-to-sequence models</em> လို့လည်း ခေါ်ကြပါတယ်) ဟာ Transformer architecture ရဲ့ အစိတ်အပိုင်းနှစ်ခုလုံးကို အသုံးပြုပါတယ်။ အဆင့်တိုင်းမှာ encoder ရဲ့ attention layers တွေက မူလစာကြောင်းထဲက စကားလုံးအားလုံးကို ဝင်ရောက်ကြည့်ရှုနိုင်ပြီး၊ decoder ရဲ့ attention layers တွေကတော့ input ထဲမှာ ပေးထားတဲ့ စကားလုံးတစ်ခုရဲ့ အရင်ရှိနေတဲ့ စကားလုံးတွေကိုသာ ဝင်ရောက်ကြည့်ရှုနိုင်ပါတယ်။</p> <p data-svelte-h="svelte-yhsu2k">ဒီမော်ဒယ်တွေရဲ့ pretraining က ပုံစံအမျိုးမျိုး ရှိနိုင်ပေမယ့် များသောအားဖြင့် input က တစ်နည်းတစ်ဖုံ ဖျက်ဆီးခံထားရတဲ့ စာကြောင်းတစ်ခုကို ပြန်လည်တည်ဆောက်ခြင်း (ဥပမာ- ကျပန်းစကားလုံးတွေကို ဝှက်ထားခြင်းဖြင့်) တို့ ပါဝင်ပါတယ်။ T5 မော်ဒယ်ရဲ့ pretraining ကတော့ စာသားအပိုင်းအစများ (စကားလုံးများစွာ ပါဝင်နိုင်ပါတယ်) ကို mask special token တစ်ခုတည်းနဲ့ အစားထိုးပြီး အဲဒီ mask token က အစားထိုးထားတဲ့ စာသားကို ခန့်မှန်းဖို့ လုပ်ငန်းတာဝန်ပေးခြင်းတို့ ပါဝင်ပါတယ်။</p> <p data-svelte-h="svelte-aut367">Sequence-to-sequence မော်ဒယ်တွေဟာ ပေးထားတဲ့ input အပေါ် မူတည်ပြီး စာကြောင်းအသစ်တွေ ဖန်တီးခြင်းနဲ့ပတ်သက်တဲ့ လုပ်ငန်းတာဝန်တွေအတွက် အသင့်တော်ဆုံးဖြစ်ပြီး ဥပမာအားဖြင့် summarization, translation, ဒါမှမဟုတ် generative question answering တို့ပဲ ဖြစ်ပါတယ်။</p> <blockquote class="tip" data-svelte-h="svelte-1kaz64e"><p>”<a href="/chapter1/5">🤗 Transformers တွေက လုပ်ငန်းတာဝန်တွေကို ဘယ်လိုဖြေရှင်းပေးလဲ။</a>” မှာ ကျွန်တော်တို့ မြင်တွေ့ခဲ့ရသလို BART နဲ့ T5 လို encoder-decoder မော်ဒယ်တွေဟာ architecture နှစ်ခုလုံးရဲ့ အားသာချက်တွေကို ပေါင်းစပ်ထားပါတယ်။ encoder က input ကို နှစ်ဖက်စလုံးကနေ နက်ရှိုင်းစွာ နားလည်မှုကို ပေးပြီး၊ decoder ကတော့ သင့်လျော်တဲ့ output စာသားကို ဖန်တီးပေးပါတယ်။ ဒါကြောင့် ဘာသာပြန်ခြင်း ဒါမှမဟုတ် အကျဉ်းချုပ်ခြင်းလို sequence တစ်ခုကို အခြားတစ်ခုသို့ ပြောင်းလဲပေးတဲ့ လုပ်ငန်းတာဝန်တွေအတွက် ၎င်းတို့ဟာ အကောင်းဆုံးပါပဲ။</p></blockquote> <h3 class="relative group"><a id="လကတအသခမမ" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#လကတအသခမမ"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>လက်တွေ့အသုံးချမှုများ</span></h3> <p data-svelte-h="svelte-qigqke">Sequence-to-sequence မော်ဒယ်တွေဟာ စာသားတစ်ခုရဲ့ ပုံစံကို အဓိပ္ပာယ်မပျက်စီးစေဘဲ အခြားပုံစံတစ်ခုသို့ ပြောင်းလဲဖို့ လိုအပ်တဲ့ လုပ်ငန်းတာဝန်တွေမှာ ထူးချွန်ပါတယ်။ လက်တွေ့အသုံးချမှုအချို့ကတော့:</p> <table data-svelte-h="svelte-17z7ivn"><thead><tr><th>အသုံးချမှု</th> <th>ဖော်ပြချက်</th> <th>ဥပမာ မော်ဒယ်</th></tr></thead> <tbody><tr><td>စက်ဘာသာပြန်ခြင်း</td> <td>ဘာသာစကားများအကြား စာသားများကို ပြောင်းလဲခြင်း</td> <td>Marian, T5</td></tr> <tr><td>စာသားအကျဉ်းချုပ်ခြင်း</td> <td>စာသားရှည်များကို အကျဉ်းချုံး ဖန်တီးခြင်း</td> <td>BART, T5</td></tr> <tr><td>ဒေတာမှ စာသားဖန်တီးခြင်း</td> <td>ဖွဲ့စည်းထားသော ဒေတာများကို သဘာဝဘာသာစကားအဖြစ် ပြောင်းလဲခြင်း</td> <td>T5</td></tr> <tr><td>သဒ္ဒါပြင်ဆင်ခြင်း</td> <td>စာသားရှိ သဒ္ဒါအမှားများကို ပြင်ဆင်ခြင်း</td> <td>T5</td></tr> <tr><td>မေးခွန်းဖြေဆိုခြင်း</td> <td>အကြောင်းအရာ (context) အပေါ် အခြေခံ၍ အဖြေများ ဖန်တီးခြင်း</td> <td>BART, T5</td></tr></tbody></table> <p data-svelte-h="svelte-11omcl6">ဘာသာပြန်ခြင်းအတွက် sequence-to-sequence မော်ဒယ်ရဲ့ အပြန်အလှန်တုံ့ပြန်နိုင်တဲ့ demo တစ်ခုကတော့ ဒီမှာပါ။</p> <iframe src="https://course-demos-speech-to-speech-translation.hf.space" frameborder="0" width="850" height="450"></iframe> <p data-svelte-h="svelte-18s9ndb">ဒီမော်ဒယ်မိသားစုရဲ့ ကိုယ်စားပြုမော်ဒယ်တွေကတော့:</p> <ul data-svelte-h="svelte-sn73k4"><li><a href="https://huggingface.co/docs/transformers/model_doc/bart" rel="nofollow">BART</a></li> <li><a href="https://huggingface.co/docs/transformers/model_doc/mbart" rel="nofollow">mBART</a></li> <li><a href="https://huggingface.co/docs/transformers/model_doc/marian" rel="nofollow">Marian</a></li> <li><a href="https://huggingface.co/docs/transformers/model_doc/t5" rel="nofollow">T5</a></li></ul> <h2 class="relative group"><a id="choosing-the-right-architecture" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#choosing-the-right-architecture"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>မှန်ကန်သော Architecture ကို ရွေးချယ်ခြင်း</span></h2> <p data-svelte-h="svelte-ehqzpm">တိကျတဲ့ NLP လုပ်ငန်းတာဝန်တစ်ခုကို လုပ်ဆောင်တဲ့အခါ ဘယ် architecture ကို အသုံးပြုရမယ်ဆိုတာ ဘယ်လိုဆုံးဖြတ်မလဲ။ အောက်ပါကတော့ အမြန်လမ်းညွှန်ချက် ဖြစ်ပါတယ်။</p> <table data-svelte-h="svelte-14gw3d6"><thead><tr><th>လုပ်ငန်းတာဝန်</th> <th>အကြံပြုထားသော Architecture</th> <th>ဥပမာများ</th></tr></thead> <tbody><tr><td>စာသားခွဲခြားသတ်မှတ်ခြင်း (sentiment, topic)</td> <td>Encoder</td> <td>BERT, RoBERTa</td></tr> <tr><td>စာသားဖန်တီးခြင်း (creative writing)</td> <td>Decoder</td> <td>GPT, LLaMA</td></tr> <tr><td>ဘာသာပြန်ခြင်း</td> <td>Encoder-Decoder</td> <td>T5, BART</td></tr> <tr><td>အကျဉ်းချုပ်ခြင်း</td> <td>Encoder-Decoder</td> <td>BART, T5</td></tr> <tr><td>Named entity recognition</td> <td>Encoder</td> <td>BERT, RoBERTa</td></tr> <tr><td>မေးခွန်းဖြေဆိုခြင်း (extractive)</td> <td>Encoder</td> <td>BERT, RoBERTa</td></tr> <tr><td>မေးခွန်းဖြေဆိုခြင်း (generative)</td> <td>Encoder-Decoder သို့မဟုတ် Decoder</td> <td>T5, GPT</td></tr> <tr><td>Conversational AI</td> <td>Decoder</td> <td>GPT, LLaMA</td></tr></tbody></table> <blockquote class="tip" data-svelte-h="svelte-mzf320"><p>ဘယ်မော်ဒယ်ကို အသုံးပြုရမယ်ဆိုတာ မသေချာတဲ့အခါ အောက်ပါအချက်တွေကို ထည့်သွင်းစဉ်းစားပါ။</p> <ol><li>သင့်လုပ်ငန်းတာဝန်က ဘယ်လိုနားလည်မှုမျိုး လိုအပ်လဲ။ (Bi-directional သို့မဟုတ် Uni-directional)</li> <li>သင်ဟာ စာသားအသစ် ဖန်တီးမှာလား ဒါမှမဟုတ် ရှိပြီးသားစာသားကို ခွဲခြမ်းစိတ်ဖြာမှာလား။</li> <li>Sequence တစ်ခုကို အခြားတစ်ခုသို့ ပြောင်းလဲဖို့ လိုအပ်ပါသလား။</li></ol> <p>ဒီမေးခွန်းတွေရဲ့ အဖြေတွေက သင့်ကို မှန်ကန်တဲ့ architecture ဆီ ဦးတည်စေပါလိမ့်မယ်။</p></blockquote> <h2 class="relative group"><a id="llms-တရ-ဆငကပငလမ" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#llms-တရ-ဆငကပငလမ"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>LLMs တွေရဲ့ ဆင့်ကဲပြောင်းလဲမှု</span></h2> <p data-svelte-h="svelte-1q59e00">Large Language Models တွေဟာ မကြာသေးခင်နှစ်များအတွင်းမှာ အလျင်အမြန် ဆင့်ကဲပြောင်းလဲလာခဲ့ပြီး မျိုးဆက်သစ်တိုင်းမှာ စွမ်းရည်တွေ သိသိသာသာ တိုးတက်လာခဲ့ပါတယ်။</p> <h2 class="relative group"><a id="attention-mechanisms" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#attention-mechanisms"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Attention Mechanisms</span></h2> <p data-svelte-h="svelte-s2jiuq">Transformer မော်ဒယ်အများစုက attention matrix က စတုရန်းပုံ (square) ဖြစ်တဲ့ full attention ကို အသုံးပြုပါတယ်။ စာသားတွေ ရှည်လျားလာတဲ့အခါမှာ ဒါဟာ တွက်ချက်မှုဆိုင်ရာ အဓိက အဟန့်အတားတစ်ခု ဖြစ်နိုင်ပါတယ်။ Longformer နဲ့ Reformer တို့ဟာ ပိုမိုထိရောက်အောင် ကြိုးစားပြီး လေ့ကျင့်မှုမြန်ဆန်စေရန် attention matrix ရဲ့ sparse version ကို အသုံးပြုကြပါတယ်။</p> <blockquote class="tip" data-svelte-h="svelte-15sfct3"><p>Standard attention mechanisms တွေမှာ computational complexity က O(n²) ရှိပါတယ်။ n ဆိုတာ sequence length ပါ။ ဒီဟာက ရှည်လျားလွန်းတဲ့ sequences တွေအတွက် ပြဿနာ ဖြစ်လာပါတယ်။ အောက်မှာဖော်ပြထားတဲ့ specialized attention mechanisms တွေက ဒီကန့်သတ်ချက်ကို ဖြေရှင်းပေးပါတယ်။</p></blockquote> <h3 class="relative group"><a id="lsh-attention" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#lsh-attention"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>LSH attention</span></h3> <p data-svelte-h="svelte-1im6zjd"><a href="https://huggingface.co/docs/transformers/model_doc/reformer" rel="nofollow">Reformer</a> က LSH attention ကို အသုံးပြုပါတယ်။ softmax(QK^t) မှာ QK^t matrix ရဲ့ အကြီးဆုံး elements (softmax dimension မှာ) တွေကသာ အသုံးဝင်တဲ့ အထောက်အကူတွေကို ပေးပါလိမ့်မယ်။ ဒါကြောင့် Q မှာရှိတဲ့ query q တစ်ခုစီအတွက် q နဲ့ နီးစပ်တဲ့ K မှာရှိတဲ့ key k တွေကိုသာ ထည့်သွင်းစဉ်းစားနိုင်ပါတယ်။ q နဲ့ k နီးစပ်မှုရှိမရှိကို ဆုံးဖြတ်ဖို့ hash function တစ်ခုကို အသုံးပြုပါတယ်။ attention mask ကို လက်ရှိ token ကို ဝှက်ထားဖို့ ပြင်ဆင်ထားပါတယ် (ပထမဆုံး position မှာမှလွဲ၍)။ ဘာလို့လဲဆိုတော့ ဒါဟာ query နဲ့ key ကို တူညီစေပြီး (ဒါကြောင့် အချင်းချင်း အလွန်ဆင်တူပါတယ်)။ hash က ကျပန်းဖြစ်နိုင်တာကြောင့် လက်တွေ့မှာ hash function အများအပြားကို အသုံးပြုပါတယ် (n_rounds parameter နဲ့ ဆုံးဖြတ်ပါတယ်) ပြီးတော့ ၎င်းတို့ကို ပျမ်းမျှယူပါတယ်။</p> <h3 class="relative group"><a id="local-attention" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#local-attention"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Local attention</span></h3> <p data-svelte-h="svelte-kd3qtr"><a href="https://huggingface.co/docs/transformers/model_doc/longformer" rel="nofollow">Longformer</a> က local attention ကို အသုံးပြုပါတယ်- များသောအားဖြင့် ဒေသတွင်း အကြောင်းအရာ (ဥပမာ- ဘယ်ဘက်နဲ့ ညာဘက်က tokens နှစ်ခုက ဘာတွေလဲ) က ပေးထားတဲ့ token တစ်ခုအတွက် အရေးယူဖို့ လုံလောက်ပါတယ်။ ဒါ့အပြင် ပြတင်းပေါက်ငယ်တစ်ခုရှိတဲ့ attention layers တွေကို စုစည်းခြင်းဖြင့်၊ နောက်ဆုံး layer က ပြတင်းပေါက်ထဲရှိ tokens တွေထက် ပိုမိုကျယ်ပြန့်တဲ့ receptive field ကို ပိုင်ဆိုင်နိုင်ပြီး စာကြောင်းတစ်ခုလုံးကို ကိုယ်စားပြုတဲ့ အချက်အလက် (representation) ကို တည်ဆောက်နိုင်စေပါတယ်။</p> <p data-svelte-h="svelte-14yrf3n">ကြိုတင်ရွေးချယ်ထားသော input tokens အချို့ကိုလည်း global attention ပေးထားပါတယ်။ ဒီ tokens အနည်းငယ်အတွက် attention matrix က tokens အားလုံးကို ဝင်ရောက်ကြည့်ရှုနိုင်ပြီး ဒီလုပ်ငန်းစဉ်က symmetric ဖြစ်ပါတယ်- အခြား tokens အားလုံးက အဲဒီသီးခြား tokens တွေကို ဝင်ရောက်ကြည့်ရှုနိုင်ပါတယ် (၎င်းတို့ရဲ့ local window ထဲမှာရှိတဲ့ tokens တွေအပြင်)။ ဒါကို စာတမ်းရဲ့ ပုံ 2d မှာ ပြသထားပါတယ်၊ အောက်မှာ attention mask ဥပမာကို ကြည့်ပါ။</p> <div class="flex justify-center" data-svelte-h="svelte-d4kpls"><img scale="50 %" align="center" src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/local_attention_mask.png"></div> <p data-svelte-h="svelte-1xoto04">parameters နည်းတဲ့ attention matrices တွေကို အသုံးပြုခြင်းအားဖြင့် မော်ဒယ်က sequence length ပိုကြီးတဲ့ inputs တွေကို လက်ခံနိုင်စေပါတယ်။</p> <h3 class="relative group"><a id="axial-positional-encodings" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#axial-positional-encodings"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Axial positional encodings</span></h3> <p><a href="https://huggingface.co/docs/transformers/model_doc/reformer" rel="nofollow" data-svelte-h="svelte-1bpx0mm">Reformer</a> က axial positional encodings တွေကို အသုံးပြုပါတယ်။ ရိုးရာ Transformer မော်ဒယ်တွေမှာ positional encoding E က<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span></span></span></span><!-- HTML_TAG_END --> by<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span><!-- HTML_TAG_END --> matrix တစ်ခုဖြစ်ပြီး<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span></span></span></span><!-- HTML_TAG_END --> က sequence length ဖြစ်ကာ<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span><!-- HTML_TAG_END --> က hidden state ရဲ့ dimension ဖြစ်ပါတယ်။ စာသားတွေ အလွန်ရှည်လျားရင် ဒီ matrix က အလွန်ကြီးမားပြီး GPU ပေါ်မှာ နေရာအများကြီး ယူနိုင်ပါတယ်။ ဒါကို ဖြေလျှော့ဖို့အတွက် axial positional encodings တွေက အဲဒီကြီးမားတဲ့ matrix E ကို E1 နဲ့ E2 ဆိုတဲ့ သေးငယ်တဲ့ matrices နှစ်ခုအဖြစ် ခွဲထုတ်တာကို ဆိုလိုပါတယ်။ E1 နဲ့ E2 ရဲ့ dimensions တွေကတော့<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>l</mi><mn>1</mn></msub><mo>×</mo><msub><mi>d</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">l_{1} \times d_{1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0197em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><!-- HTML_TAG_END --> နဲ့<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>l</mi><mn>2</mn></msub><mo>×</mo><msub><mi>d</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">l_{2} \times d_{2}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0197em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span><!-- HTML_TAG_END --> ဖြစ်ပြီး<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>l</mi><mn>1</mn></msub><mo>×</mo><msub><mi>l</mi><mn>2</mn></msub><mo>=</mo><mi>l</mi></mrow><annotation encoding="application/x-tex">l_{1} \times l_{2} = l</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0197em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0197em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span></span></span></span><!-- HTML_TAG_END --> နဲ့<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>d</mi><mn>1</mn></msub><mo>+</mo><msub><mi>d</mi><mn>2</mn></msub><mo>=</mo><mi>d</mi></mrow><annotation encoding="application/x-tex">d_{1} + d_{2} = d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">d</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span><!-- HTML_TAG_END --> ဖြစ်ပါတယ်။ (အလျားတွေအတွက် မြှောက်လဒ်နဲ့ဆိုရင် ဒါက အများကြီး သေးငယ်သွားပါလိမ့်မယ်)။ E မှာရှိတဲ့ time step<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi></mrow><annotation encoding="application/x-tex">j</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.854em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.05724em;">j</span></span></span></span><!-- HTML_TAG_END --> အတွက် embedding ကို E1 မှာရှိတဲ့ time step<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mi mathvariant="normal">%</mi><mi>l</mi><mn>1</mn></mrow><annotation encoding="application/x-tex">j \% l1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9444em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.05724em;">j</span><span class="mord">%</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord">1</span></span></span></span><!-- HTML_TAG_END --> အတွက် embedding နဲ့ E2 မှာရှိတဲ့ time step<!-- HTML_TAG_START --><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">/</mi><mi>l</mi><mn>1</mn></mrow><annotation encoding="application/x-tex">j // l1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.05724em;">j</span><span class="mord">//</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord">1</span></span></span></span><!-- HTML_TAG_END --> အတွက် embedding တွေကို ပေါင်းစပ်ခြင်းဖြင့် ရရှိပါတယ်။</p> <h2 class="relative group"><a id="conclusion" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#conclusion"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>နိဂုံးချုပ်</span></h2> <p data-svelte-h="svelte-8oc28m">ဒီအပိုင်းမှာ ကျွန်တော်တို့ Transformer architectures သုံးမျိုးနဲ့ အထူးပြု attention mechanisms အချို့ကို လေ့လာခဲ့ပါတယ်။ ဒီ architecture တွေရဲ့ ကွာခြားချက်တွေကို နားလည်ထားတာက သင့်ရဲ့ သီးခြား NLP လုပ်ငန်းတာဝန်အတွက် မှန်ကန်တဲ့ မော်ဒယ်ကို ရွေးချယ်ဖို့အတွက် အရေးကြီးပါတယ်။</p> <p data-svelte-h="svelte-1bav09f">သင်တန်းမှာ ဆက်လက်လုပ်ဆောင်သွားတဲ့အခါ ဒီမတူညီတဲ့ architecture တွေနဲ့ လက်တွေ့အတွေ့အကြုံတွေ ရရှိလာမှာဖြစ်ပြီး သင့်ရဲ့ သီးခြားလိုအပ်ချက်တွေအတွက် ဘယ်လို fine-tune လုပ်ရမယ်ဆိုတာကို သင်ယူရမှာ ဖြစ်ပါတယ်။ နောက်အပိုင်းမှာတော့ ဒီမော်ဒယ်တွေမှာ ရှိနေတဲ့ ကန့်သတ်ချက်တွေနဲ့ ဘက်လိုက်မှုအချို့ကို လေ့လာသွားမှာဖြစ်ပြီး ၎င်းတို့ကို အသုံးပြုတဲ့အခါ သတိထားသင့်တဲ့ အချက်တွေပဲ ဖြစ်ပါတယ်။</p> <h2 class="relative group"><a id="ဝဟရ-ရငလငခက-glossary" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#ဝဟရ-ရငလငခက-glossary"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>ဝေါဟာရ ရှင်းလင်းချက် (Glossary)</span></h2> <ul data-svelte-h="svelte-nowsse"><li><strong>Architecture</strong>: ကွန်ပျူတာစနစ်တစ်ခု၊ ဆော့ဖ်ဝဲလ်တစ်ခု သို့မဟုတ် မော်ဒယ်တစ်ခု၏ အစိတ်အပိုင်းများ စုစည်းပုံနှင့် ၎င်းတို့အချင်းချင်း ဆက်စပ်လုပ်ဆောင်ပုံကို ဖော်ပြသည့် အခြေခံဒီဇိုင်း သို့မဟုတ် ဖွဲ့စည်းပုံ။</li> <li><strong>Transformer Architecture</strong>: Natural Language Processing (NLP) မှာ အောင်မြင်မှုများစွာရရှိခဲ့တဲ့ deep learning architecture တစ်မျိုးပါ။ ၎င်းတို့ဟာ စာသားတွေထဲက စကားလုံးတွေရဲ့ ဆက်နွယ်မှုတွေကို “attention mechanism” သုံးပြီး နားလည်အောင် သင်ကြားပေးပါတယ်။</li> <li><strong>Encoder-only</strong>: Transformer မော်ဒယ်ရဲ့ encoder အစိတ်အပိုင်းကိုသာ အသုံးပြုထားသော architecture အမျိုးအစား။ စာသားနားလည်မှုလုပ်ငန်းများအတွက် သင့်တော်သည်။</li> <li><strong>Decoder-only</strong>: Transformer မော်ဒယ်ရဲ့ decoder အစိတ်အပိုင်းကိုသာ အသုံးပြုထားသော architecture အမျိုးအစား။ စာသားဖန်တီးမှုလုပ်ငန်းများအတွက် သင့်တော်သည်။</li> <li><strong>Encoder-Decoder (Sequence-to-sequence)</strong>: Transformer မော်ဒယ်ရဲ့ encoder နှင့် decoder နှစ်ခုစလုံးကို အသုံးပြုထားသော architecture အမျိုးအစား။ စာသားတစ်ခုကို အခြားစာသားတစ်ခုအဖြစ် ပြောင်းလဲခြင်းလုပ်ငန်းများ (ဥပမာ- ဘာသာပြန်ခြင်း) အတွက် သင့်တော်သည်။</li> <li><strong>Sentence Classification</strong>: စာကြောင်းတစ်ခုလုံး၏ အဓိပ္ပာယ် သို့မဟုတ် ရည်ရွယ်ချက်ကို အမျိုးအစားခွဲခြားခြင်း (ဥပမာ- စိတ်ခံစားမှု၊ ခေါင်းစဉ်)။</li> <li><strong>Named Entity Recognition (NER)</strong>: စာသားထဲက လူအမည်၊ နေရာအမည်၊ အဖွဲ့အစည်းအမည် စတဲ့ သီးခြားအမည်တွေကို ရှာဖွေဖော်ထုတ်ခြင်း။</li> <li><strong>Word Classification</strong>: စာကြောင်းတစ်ခုရှိ စကားလုံးတစ်လုံးချင်းစီကို ၎င်း၏ သဒ္ဒါ သို့မဟုတ် အခြားအဓိပ္ပာယ်အရ အမျိုးအစားခွဲခြားခြင်း။</li> <li><strong>Extractive Question Answering</strong>: ပေးထားသော စာသားအပိုင်းအစမှ မေးခွန်း၏ အဖြေကို တိုက်ရိုက်ထုတ်ယူခြင်း။</li> <li><strong>Bi-directional Attention</strong>: မော်ဒယ်က စာသားတစ်ခုလုံး၏ အကြောင်းအရာ (context) ကို ရှေ့ဘက်နှင့် နောက်ဘက် နှစ်ဖက်စလုံးမှ ကြည့်ရှုနားလည်နိုင်ခြင်း။</li> <li><strong>Auto-encoding Models</strong>: စာသားကို ဖျက်ဆီးပြီးနောက် မူလစာသားကို ပြန်လည်တည်ဆောက်ရန် သင်ကြားထားသော မော်ဒယ်များ။</li> <li><strong>BERT (Bidirectional Encoder Representations from Transformers)</strong>: Google မှ တီထွင်ထားသော encoder-only Transformer မော်ဒယ်။</li> <li><strong>DistilBERT</strong>: BERT မော်ဒယ်ကို သေးငယ်ပြီး ပိုမိုမြန်ဆန်အောင် ပြုလုပ်ထားသော မော်ဒယ်။</li> <li><strong>Text Generation</strong>: AI မော်ဒယ်များကို အသုံးပြု၍ လူသားကဲ့သို့သော စာသားအသစ်များ ဖန်တီးခြင်း။</li> <li><strong>Auto-regressive Models</strong>: နောက်ထပ် token ကို ခန့်မှန်းရန် ယခင် tokens များကိုသာ အသုံးပြု၍ စာသားများကို တစ်ကြိမ်လျှင် token တစ်ခုချင်းစီ ဖန်တီးသော မော်ဒယ်များ။</li> <li><strong>GPT (Generative Pre-trained Transformer)</strong>: OpenAI မှ တီထွင်ထားသော decoder-only Transformer မော်ဒယ်။</li> <li><strong>Llama</strong>: Meta မှ တီထွင်ထားသော decoder-only Large Language Model (LLM) အမျိုးအစား။</li> <li><strong>Gemma</strong>: Google မှ တီထွင်ထားသော decoder-only Large Language Model (LLM) အမျိုးအစား။</li> <li><strong>DeepSeek</strong>: DeepSeek AI မှ တီထွင်ထားသော decoder-only Large Language Model (LLM) အမျိုးအစား။</li> <li><strong>Pretraining</strong>: မော်ဒယ်ကို များပြားလှသော အထွေထွေဒေတာများဖြင့် အစောပိုင်းသင်ကြားမှု။</li> <li><strong>Instruction Tuning</strong>: မော်ဒယ်ကို သီးခြားညွှန်ကြားချက်များကို လိုက်နာပြီး အထောက်အကူဖြစ်စေသော တုံ့ပြန်မှုများ ထုတ်လုပ်ရန် fine-tune လုပ်ခြင်း။</li> <li><strong>Token</strong>: စာသားကို ပိုင်းခြားထားသော အသေးငယ်ဆုံးယူနစ် (ဥပမာ- စကားလုံး၊ စာလုံးအစိတ်အပိုင်း)။</li> <li><strong>Summarization</strong>: စာသားရှည်များကို အကျဉ်းချုပ်ဖော်ပြခြင်း။</li> <li><strong>Translation</strong>: ဘာသာစကားတစ်ခုမှ အခြားတစ်ခုသို့ စာသားများကို ပြောင်းလဲခြင်း။</li> <li><strong>Generative Question Answering</strong>: မေးခွန်း၏ အဖြေကို ပေးထားသော အကြောင်းအရာ (context) အပေါ် အခြေခံ၍ စာသားအသစ်များ ဖန်တီးခြင်းဖြင့် ထုတ်ပေးခြင်း။</li> <li><strong>BART (Bidirectional and Auto-Regressive Transformers)</strong>: Encoder-Decoder Transformer မော်ဒယ်တစ်မျိုး။</li> <li><strong>T5 (Text-to-Text Transfer Transformer)</strong>: Encoder-Decoder Transformer မော်ဒယ်တစ်မျိုးဖြစ်ပြီး လုပ်ငန်းတာဝန်အားလုံးကို “text-to-text” ပုံစံဖြင့် ဖြေရှင်းရန် ဒီဇိုင်းထုတ်ထားသည်။</li> <li><strong>Marian</strong>: အဓိကအားဖြင့် machine translation အတွက် အသုံးပြုသော encoder-decoder မော်ဒယ်။</li> <li><strong>mBART</strong>: Multilingual BART (ဘာသာစကားမျိုးစုံအတွက် BART)။</li> <li><strong>Data-to-text Generation</strong>: ဖွဲ့စည်းထားသော ဒေတာများကို သဘာဝဘာသာစကားစာသားအဖြစ် ပြောင်းလဲခြင်း။</li> <li><strong>Grammar Correction</strong>: စာသားရှိ သဒ္ဒါအမှားများကို ပြင်ဆင်ခြင်း။</li> <li><strong>Conversational AI</strong>: လူသားများနှင့် သဘာဝဘာသာစကားဖြင့် အပြန်အလှန်ပြောဆိုနိုင်သော AI စနစ်များ။</li> <li><strong>RoBERTa</strong>: BERT ကို ပိုမိုကောင်းမွန်အောင် လေ့ကျင့်ထားသော encoder-only မော်ဒယ်။</li> <li><strong>Attention Matrix</strong>: Transformer မော်ဒယ်များတွင် အသုံးပြုသော matrix တစ်ခုဖြစ်ပြီး input sequence အတွင်းရှိ token များအချင်းချင်း မည်မျှဆက်စပ်နေသည်ကို ဖော်ပြသည်။</li> <li><strong>Computational Bottleneck</strong>: စနစ်တစ်ခု၏ စွမ်းဆောင်ရည်ကို ကန့်သတ်ထားသော အရင်းအမြစ် သို့မဟုတ် လုပ်ငန်းစဉ်။</li> <li><strong>Sparse Attention</strong>: attention matrix ၏ အရေးမကြီးသော အစိတ်အပိုင်းများကို လျစ်လျူရှုခြင်းဖြင့် တွက်ချက်မှု ထိရောက်အောင် ပြုလုပ်ထားသော attention mechanism အမျိုးအစား။</li> <li><strong>LSH (Locality Sensitive Hashing) Attention</strong>: Reformer မော်ဒယ်တွင် အသုံးပြုသော attention အမျိုးအစားဖြစ်ပြီး ဆင်တူသော query နှင့် key များကို ရှာဖွေရန် hash function များကို အသုံးပြုသည်။</li> <li><strong>Longformer</strong>: ရှည်လျားသော input sequences များကို ကိုင်တွယ်နိုင်ရန် local attention နှင့် global attention တို့ကို ပေါင်းစပ်အသုံးပြုထားသော Transformer မော်ဒယ်။</li> <li><strong>Local Attention</strong>: ပေးထားသော token တစ်ခုအတွက် အနီးအနားရှိ tokens များကိုသာ အာရုံစိုက်သော attention mechanism။</li> <li><strong>Receptive Field</strong>: neural network layer တစ်ခု၏ output ယူနစ်တစ်ခုကို လွှမ်းမိုးသော input data ၏ အရွယ်အစား။</li> <li><strong>Global Attention</strong>: အချို့သော input tokens များအတွက် input sequence ရှိ tokens အားလုံးကို အာရုံစိုက်ခွင့်ပြုသော attention mechanism။</li> <li><strong>Axial Positional Encodings</strong>: ရှည်လျားသော sequences များအတွက် positional encoding ကို ပိုမိုထိရောက်အောင် ပြုလုပ်ရန် matrix တစ်ခုကို သေးငယ်သော matrices နှစ်ခုအဖြစ် ခွဲထုတ်ခြင်းနည်းလမ်း။</li> <li><strong>Hidden State</strong>: Transformer မော်ဒယ်များတွင် layer တစ်ခုမှ အခြားတစ်ခုသို့ လက်ဆင့်ကမ်းပေးသော အတွင်းပိုင်း ကိုယ်စားပြုအချက်အလက်။</li> <li><strong>Dimension</strong>: vector သို့မဟုတ် matrix တစ်ခု၏ အတိုင်းအတာအရေအတွက်။</li></ul> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/course/blob/main/chapters/my/chapter1/6.mdx" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg> <span data-svelte-h="svelte-zjs2n5"><span class="underline">Update</span> on GitHub</span></a> <p></p> | |
| <script> | |
| { | |
| __sveltekit_tyugt6 = { | |
| assets: "/docs/course/pr_1114/my", | |
| base: "/docs/course/pr_1114/my", | |
| env: {} | |
| }; | |
| const element = document.currentScript.parentElement; | |
| const data = [null,null]; | |
| Promise.all([ | |
| import("/docs/course/pr_1114/my/_app/immutable/entry/start.14794ee9.js"), | |
| import("/docs/course/pr_1114/my/_app/immutable/entry/app.a133f5c6.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 10], | |
| data, | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 88.7 kB
- Xet hash:
- a52962121ff147d7fa5d555d62b20509bd0af89be37c84932e5211164f10da66
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.