chore: import upstream snapshot with attribution
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,384 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="si">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta name="description" content="මෙය PyTorch හි වෙස් මුහුණු භාෂා ආකෘතියේ විකෘත ක්රියාත්මක කිරීම/නිබන්ධනයකි."/>
|
||||
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:image:src" content="https://avatars1.githubusercontent.com/u/64068543?s=400&v=4"/>
|
||||
<meta name="twitter:title" content="වෙස් භාෂා ආකෘතිය"/>
|
||||
<meta name="twitter:description" content="මෙය PyTorch හි වෙස් මුහුණු භාෂා ආකෘතියේ විකෘත ක්රියාත්මක කිරීම/නිබන්ධනයකි."/>
|
||||
<meta name="twitter:site" content="@labmlai"/>
|
||||
<meta name="twitter:creator" content="@labmlai"/>
|
||||
|
||||
<meta property="og:url" content="https://nn.labml.ai/transformers/mlm/index.html"/>
|
||||
<meta property="og:title" content="වෙස් භාෂා ආකෘතිය"/>
|
||||
<meta property="og:image" content="https://avatars1.githubusercontent.com/u/64068543?s=400&v=4"/>
|
||||
<meta property="og:site_name" content="වෙස් භාෂා ආකෘතිය"/>
|
||||
<meta property="og:type" content="object"/>
|
||||
<meta property="og:title" content="වෙස් භාෂා ආකෘතිය"/>
|
||||
<meta property="og:description" content="මෙය PyTorch හි වෙස් මුහුණු භාෂා ආකෘතියේ විකෘත ක්රියාත්මක කිරීම/නිබන්ධනයකි."/>
|
||||
|
||||
<title>වෙස් භාෂා ආකෘතිය</title>
|
||||
<link rel="shortcut icon" href="/icon.png"/>
|
||||
<link rel="stylesheet" href="../../pylit.css?v=1">
|
||||
<link rel="canonical" href="https://nn.labml.ai/transformers/mlm/index.html"/>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css" integrity="sha384-zTROYFVGOfTw7JV7KUu8udsvW2fx4lWOsCEDqhBreBwlHI4ioVRtmIvEThzJHGET" crossorigin="anonymous">
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4V3HC8HBLH"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-4V3HC8HBLH');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id='container'>
|
||||
<div id="background"></div>
|
||||
<div class='section'>
|
||||
<div class='docs'>
|
||||
<p>
|
||||
<a class="parent" href="/">home</a>
|
||||
<a class="parent" href="../index.html">transformers</a>
|
||||
<a class="parent" href="index.html">mlm</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/labmlai/annotated_deep_learning_paper_implementations" target="_blank">
|
||||
<img alt="Github"
|
||||
src="https://img.shields.io/github/stars/labmlai/annotated_deep_learning_paper_implementations?style=social"
|
||||
style="max-width:100%;"/></a>
|
||||
<a href="https://twitter.com/labmlai" rel="nofollow" target="_blank">
|
||||
<img alt="Twitter"
|
||||
src="https://img.shields.io/twitter/follow/labmlai?style=social"
|
||||
style="max-width:100%;"/></a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/labmlai/annotated_deep_learning_paper_implementations/tree/master/labml_nn/transformers/mlm/__init__.py" target="_blank">
|
||||
View code on Github</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-0'>
|
||||
<div class='docs doc-strings'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-0'>#</a>
|
||||
</div>
|
||||
<h1>වෙස්භාෂා ආකෘතිය (MLM)</h1>
|
||||
<p>මෙය <a href="https://pytorch.org">PyTorch</a> ක්රියාත්මක කිරීමකි මාස්ඩ් භාෂා ආකෘතිය (MLM) කඩදාසි වල හඳුන්වා දී ඇති BERT ආකෘතිය <a href="https://papers.labml.ai/paper/1810.04805">පූර්ව පුහුණු කිරීම සඳහා භාවිතා කරන BERT: භාෂා අවබෝධය සඳහා ගැඹුරු ද්විපාර්ශ්වික පරිවර්තකයන්</a> පූර්ව පුහුණුව. </p>
|
||||
<h2>බර්ට්පෙර පුහුණුව</h2>
|
||||
<p>බර්ට්ආකෘතිය ට්රාන්ස්ෆෝමර් ආකෘතියකි. කඩදාසි MLM භාවිතා කරමින් ආකෘතිය පූර්ව පුහුණු කරයි සහ ඊළඟ වාක්ය අනාවැකිය සමඟ. අපි මෙහි ක්රියාත්මක කර ඇත්තේ MLM පමණි. </p>
|
||||
<h3>ඊළඟවාක්ය අනාවැකිය</h3>
|
||||
<p><em>ඊළඟවාක්ය අනාවැකිය දී, ආදර්ශ වාක්ය දෙකක් ලබා දී ඇති <code class="highlight"><span></span><span class="n">A</span></code>
|
||||
<code class="highlight"><span></span><span class="n">B</span></code>
|
||||
අතර ආදර්ශ පහත සඳහන් <code class="highlight"><span></span><span class="n">B</span></code>
|
||||
වාක්යය</em>යන්න ද්විමය අනාවැකිය කරයි <code class="highlight"><span></span><span class="n">A</span></code>
|
||||
සත්ය පෙළෙහි. ආකෘතිය සත්ය වාක්ය යුගල සමඟ පෝෂණය වේ 50% කාලය සහ අහඹු යුගල 50% කාලය. මෙම වර්ගීකරණය MLM අයදුම් කරන අතරතුර සිදු කරනු ලැබේ. <em>අපිමෙය මෙහි ක්රියාත්මක කර නැත. </em></p>
|
||||
<h2>වෙස්මූඩ්එල්එම්</h2>
|
||||
<p>මෙයඅහඹු ලෙස ටෝකන ප්රතිශතයක් ආවරණය කරන අතර වෙස්මුහුණු ටෝකන පුරෝකථනය කිරීමට ආකෘතිය පුහුණු කරයි. ඔවුන් <strong>ටෝකන වලින් 15% ක් ආවරණය කරන්නේ විශේෂ <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
ටෝකනයකින්</strong> ප්රතිස්ථාපනය කිරීමෙනි. </p>
|
||||
<p>අලාභයගණනය කරනු ලබන්නේ වෙස්මූඩ් ටෝකන පුරෝකථනය කිරීම මත පමණි. එකල <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
ටෝකන නොමැති බැවින් මෙය මනාව සුසර කිරීම සහ සැබෑ භාවිතය අතරතුර ගැටළුවක් ඇති කරයි. එබැවින් අපට අර්ථවත් නිරූපණයක් ලබා නොගත හැකිය. </p>
|
||||
<p>මෙයමඟහරවා ගැනීම සඳහා <strong>වෙස්මූඩ් ටෝකන වලින් 10% ක් මුල් ටෝකනය සමඟ ප්රතිස්ථාපනය</strong>වන අතර <strong>වෙස්මූඩ් ටෝකන වලින් තවත් 10% ක් අහඹු ටෝකනයකින් ප්රතිස්ථාපනය වේ</strong>. එම ස්ථානයේ ආදාන ටෝකනය a ද නැද්ද යන්න සත්ය ටෝකනය පිළිබඳ නිරූපණයන් ලබා දීමට මෙය ආකෘතිය පුහුණු <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
කරයි. අහඹු ටෝකනයක් සමඟ ප්රතිස්ථාපනය කිරීමෙන් එය සන්දර්භයෙන් තොරතුරු ඇති නිරූපණයක් ලබා දීමට හේතු වේ; අහඹු ලෙස ප්රතිස්ථාපනය කරන ලද ටෝකන සවි කිරීමට එය සන්දර්භය භාවිතා කළ යුතු බැවිනි. </p>
|
||||
<h2>පුහුණු</h2>
|
||||
<p>කුඩාපුහුණු සං signal ාවක් ඇති බැවින් ස්වයංක්රීය ප්රතිගාමී ආකෘතිවලට වඩා MLMs පුහුණු කිරීම දුෂ්කර ය. එනම් නියැදියකට පුහුණු කරනු ලබන්නේ අනාවැකි වලින් සුළු ප්රතිශතයක් පමණි. </p>
|
||||
<p>තවත්ගැටළුවක් වන්නේ ආකෘතිය ද්වි දිශානුගත බැවින් ඕනෑම ටෝකනයකට වෙනත් ඕනෑම ටෝකනයක් දැකිය හැකිය. මෙය “ණය පැවරුම” දුෂ්කර කරයි. පුරෝකථනය කිරීමට උත්සාහ කරන චරිත මට්ටමේ ආකෘතිය ඔබට ඇති බව කියමු <code class="highlight"><span></span><span class="n">home</span> <span class="o">*</span><span class="n">s</span> <span class="n">where</span> <span class="n">i</span> <span class="n">want</span> <span class="n">to</span> <span class="n">be</span></code>
|
||||
. අවම වශයෙන් පුහුණුවේ මුල් අවධියේදී, ප්රතිස්ථාපනය විය <code class="highlight"><span></span><span class="o">*</span></code>
|
||||
යුත්තේ ඇයිදැයි සොයා ගැනීමට අපහසු වනු ඇත <code class="highlight"><span></span><span class="n">i</span></code>
|
||||
, එය සම්පූර්ණ වාක්යයෙන් ඕනෑම දෙයක් විය හැකිය. ස්වයංක්රියව ප්රතිගාමී සැකසුමක දී ආකෘතිය භාවිතා කිරීමට සිදුවන්නේ අනාවැකි කීමට <code class="highlight"><span></span><span class="n">o</span></code>
|
||||
සහ පුරෝකථනය <code class="highlight"><span></span><span class="n">h</span></code>
|
||||
<code class="highlight"><span></span><span class="n">hom</span></code>
|
||||
කිරීමට <code class="highlight"><span></span><span class="n">e</span></code>
|
||||
සහ එසේ කිරීමට පමණි. එබැවින් ආකෘතිය මුලින් කෙටි සන්දර්භයක් සමඟ පුරෝකථනය කිරීමට පටන් ගෙන පසුව දිගු සන්දර්භයන් භාවිතා කිරීමට ඉගෙන ගනු ඇත. MLMs මෙම ගැටළුව ඇති බැවින් ඔබ මුලින් කුඩා අනුක්රමික දිගකින් ආරම්භ කර පසුව දිගු අනුක්රමික දිගක් භාවිතා කරන්නේ නම් පුහුණු කිරීම වේගවත් වේ. </p>
|
||||
<p>සරලMLM ආකෘතියක් සඳහා <a href="experiment.html">පුහුණු කේතය</a> මෙන්න. </p>
|
||||
<p><a href="https://app.labml.ai/run/3a6d22b6c67111ebb03d6764d13a38d1"><img alt="View Run" src="https://img.shields.io/badge/labml-experiment-brightgreen"></a></p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">67</span><span></span><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">List</span>
|
||||
<span class="lineno">68</span>
|
||||
<span class="lineno">69</span><span class="kn">import</span> <span class="nn">torch</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-1'>
|
||||
<div class='docs doc-strings'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-1'>#</a>
|
||||
</div>
|
||||
<h2>වෙස්එල්එම් (එම්එල්එම්)</h2>
|
||||
<p>මෙමපන්තිය ලබා දී ඇති ටෝකන් අනුපිළිවෙල සඳහා ආවරණ ක්රියා පටිපාටිය ක්රියාත්මක කරයි. </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">72</span><span class="k">class</span> <span class="nc">MLM</span><span class="p">:</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-2'>
|
||||
<div class='docs doc-strings'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-2'>#</a>
|
||||
</div>
|
||||
<ul><li><code class="highlight"><span></span><span class="n">padding_token</span></code>
|
||||
පෑඩින් ටෝකනය <code class="highlight"><span></span><span class="p">[</span><span class="n">PAD</span><span class="p">]</span></code>
|
||||
වේ. පාඩු ගණනය කිරීම සඳහා භාවිතා නොකළ යුතු ලේබල සලකුණු කිරීමට අපි මෙය භාවිතා කරමු. </li>
|
||||
<li><code class="highlight"><span></span><span class="n">mask_token</span></code>
|
||||
යනු ආවරණ ටෝකනයයි <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
. </li>
|
||||
<li><code class="highlight"><span></span><span class="n">no_mask_tokens</span></code>
|
||||
යනු වෙස් නොගත යුතු ටෝකන ලැයිස්තුවකි. අපි එකවර වර්ගීකරණය වැනි <code class="highlight"><span></span><span class="p">[</span><span class="n">CLS</span><span class="p">]</span></code>
|
||||
වෙනත් කාර්යයක් සමඟ එම්එල්එම් පුහුණු කරන්නේ නම් මෙය ප්රයෝජනවත් වන අතර, අපට ටෝකන තිබේ නම් ඒවා වෙස් ගත යුතු නොවේ. </li>
|
||||
<li><code class="highlight"><span></span><span class="n">n_tokens</span></code>
|
||||
මුළු ටෝකන ගණන (අහඹු ටෝකන ජනනය සඳහා භාවිතා කරයි) </li>
|
||||
<li><code class="highlight"><span></span><span class="n">masking_prob</span></code>
|
||||
ආවරණ සම්භාවිතාව වේ </li>
|
||||
<li><code class="highlight"><span></span><span class="n">randomize_prob</span></code>
|
||||
අහඹු ටෝකනයක් සමඟ ප්රතිස්ථාපනය කිරීමේ සම්භාවිතාව </li>
|
||||
<li><code class="highlight"><span></span><span class="n">no_change_prob</span></code>
|
||||
මුල් ටෝකනය සමඟ ප්රතිස්ථාපනය කිරීමේ සම්භාවිතාවයි</li></ul>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">79</span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span>
|
||||
<span class="lineno">80</span> <span class="n">padding_token</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">mask_token</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">no_mask_tokens</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">],</span> <span class="n">n_tokens</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
|
||||
<span class="lineno">81</span> <span class="n">masking_prob</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.15</span><span class="p">,</span> <span class="n">randomize_prob</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.1</span><span class="p">,</span> <span class="n">no_change_prob</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.1</span><span class="p">,</span>
|
||||
<span class="lineno">82</span> <span class="p">):</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-3'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-3'>#</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">95</span> <span class="bp">self</span><span class="o">.</span><span class="n">n_tokens</span> <span class="o">=</span> <span class="n">n_tokens</span>
|
||||
<span class="lineno">96</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_change_prob</span> <span class="o">=</span> <span class="n">no_change_prob</span>
|
||||
<span class="lineno">97</span> <span class="bp">self</span><span class="o">.</span><span class="n">randomize_prob</span> <span class="o">=</span> <span class="n">randomize_prob</span>
|
||||
<span class="lineno">98</span> <span class="bp">self</span><span class="o">.</span><span class="n">masking_prob</span> <span class="o">=</span> <span class="n">masking_prob</span>
|
||||
<span class="lineno">99</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_mask_tokens</span> <span class="o">=</span> <span class="n">no_mask_tokens</span> <span class="o">+</span> <span class="p">[</span><span class="n">padding_token</span><span class="p">,</span> <span class="n">mask_token</span><span class="p">]</span>
|
||||
<span class="lineno">100</span> <span class="bp">self</span><span class="o">.</span><span class="n">padding_token</span> <span class="o">=</span> <span class="n">padding_token</span>
|
||||
<span class="lineno">101</span> <span class="bp">self</span><span class="o">.</span><span class="n">mask_token</span> <span class="o">=</span> <span class="n">mask_token</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-4'>
|
||||
<div class='docs doc-strings'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-4'>#</a>
|
||||
</div>
|
||||
<ul><li><code class="highlight"><span></span><span class="n">x</span></code>
|
||||
යනු ආදාන ටෝකන අනුක්රමවල කණ්ඩායමයි. එය හැඩය <code class="highlight"><span></span><span class="n">long</span></code>
|
||||
සහිත වර්ගයේ <code class="highlight"><span></span><span class="p">[</span><span class="n">seq_len</span><span class="p">,</span> <span class="n">batch_size</span><span class="p">]</span></code>
|
||||
ආතනයකි. </li></ul>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">103</span> <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">Tensor</span><span class="p">):</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-5'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-5'>#</a>
|
||||
</div>
|
||||
<p>ටෝකනමාස්ක් <code class="highlight"><span></span><span class="n">masking_prob</span></code>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">110</span> <span class="n">full_mask</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">device</span><span class="p">)</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">masking_prob</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-6'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-6'>#</a>
|
||||
</div>
|
||||
<p>නොමාස්ක් <code class="highlight"><span></span><span class="n">no_mask_tokens</span></code>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">112</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_mask_tokens</span><span class="p">:</span>
|
||||
<span class="lineno">113</span> <span class="n">full_mask</span> <span class="o">&=</span> <span class="n">x</span> <span class="o">!=</span> <span class="n">t</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-7'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-7'>#</a>
|
||||
</div>
|
||||
<p>මුල්ටෝකන සමඟ ප්රතිස්ථාපනය කළ යුතු ටෝකන සඳහා වෙස්මුහුණක් </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">116</span> <span class="n">unchanged</span> <span class="o">=</span> <span class="n">full_mask</span> <span class="o">&</span> <span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">device</span><span class="p">)</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">no_change_prob</span><span class="p">)</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-8'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-8'>#</a>
|
||||
</div>
|
||||
<p>ටෝකනසඳහා වෙස්මුහුණක් අහඹු ටෝකනයකින් ප්රතිස්ථාපනය කළ යුතුය </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">118</span> <span class="n">random_token_mask</span> <span class="o">=</span> <span class="n">full_mask</span> <span class="o">&</span> <span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">device</span><span class="p">)</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">randomize_prob</span><span class="p">)</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-9'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-9'>#</a>
|
||||
</div>
|
||||
<p>අහඹුටෝකන සමඟ ප්රතිස්ථාපනය කළ යුතු ටෝකන දර්ශක </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">120</span> <span class="n">random_token_idx</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">nonzero</span><span class="p">(</span><span class="n">random_token_mask</span><span class="p">,</span> <span class="n">as_tuple</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-10'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-10'>#</a>
|
||||
</div>
|
||||
<p>එක්එක් ස්ථානය සඳහා අහඹු ටෝකන </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">122</span> <span class="n">random_tokens</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">n_tokens</span><span class="p">,</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">random_token_idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]),),</span> <span class="n">device</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">device</span><span class="p">)</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-11'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-11'>#</a>
|
||||
</div>
|
||||
<p>ප්රතිස්ථාපනයකිරීමට යන අවසාන ටෝකන කට්ටලය <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">124</span> <span class="n">mask</span> <span class="o">=</span> <span class="n">full_mask</span> <span class="o">&</span> <span class="o">~</span><span class="n">random_token_mask</span> <span class="o">&</span> <span class="o">~</span><span class="n">unchanged</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-12'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-12'>#</a>
|
||||
</div>
|
||||
<p>ලේබලසඳහා ආදානය ක්ලෝන කරන්න </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">127</span> <span class="n">y</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">clone</span><span class="p">()</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-13'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-13'>#</a>
|
||||
</div>
|
||||
<p><code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
ටෝකන සමඟ ප්රතිස්ථාපනය කරන්න; මුල් ටෝකනය නොවෙනස්ව ඇති ටෝකන සහ අහඹු ටෝකනයක් සමඟ ප්රතිස්ථාපනය කරන ටෝකන මෙයට ඇතුළත් නොවන බව සලකන්න. </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">132</span> <span class="n">x</span><span class="o">.</span><span class="n">masked_fill_</span><span class="p">(</span><span class="n">mask</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">mask_token</span><span class="p">)</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-14'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-14'>#</a>
|
||||
</div>
|
||||
<p>අහඹුටෝකන පැවරීම </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">134</span> <span class="n">x</span><span class="p">[</span><span class="n">random_token_idx</span><span class="p">]</span> <span class="o">=</span> <span class="n">random_tokens</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-15'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-15'>#</a>
|
||||
</div>
|
||||
<p>ලේබලවලඇති අනෙක් සියලුම ස්ථාන <code class="highlight"><span></span><span class="p">[</span><span class="n">PAD</span><span class="p">]</span></code>
|
||||
වලට ටෝකනය පවරන්න. සමාන ලේබල් අලාභය සඳහා භාවිතා <code class="highlight"><span></span><span class="p">[</span><span class="n">PAD</span><span class="p">]</span></code>
|
||||
නොකෙරේ. </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">138</span> <span class="n">y</span><span class="o">.</span><span class="n">masked_fill_</span><span class="p">(</span><span class="o">~</span><span class="n">full_mask</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">padding_token</span><span class="p">)</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-16'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-16'>#</a>
|
||||
</div>
|
||||
<p>වෙස්මූඩ්ආදානය සහ ලේබල ආපසු ලබා දෙන්න </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
<div class="highlight"><pre><span class="lineno">141</span> <span class="k">return</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='footer'>
|
||||
<a href="https://papers.labml.ai">Trending Research Papers</a>
|
||||
<a href="https://labml.ai">labml.ai</a>
|
||||
</div>
|
||||
</div>
|
||||
<script src=../../interactive.js?v=1"></script>
|
||||
<script>
|
||||
function handleImages() {
|
||||
var images = document.querySelectorAll('p>img')
|
||||
|
||||
for (var i = 0; i < images.length; ++i) {
|
||||
handleImage(images[i])
|
||||
}
|
||||
}
|
||||
|
||||
function handleImage(img) {
|
||||
img.parentElement.style.textAlign = 'center'
|
||||
|
||||
var modal = document.createElement('div')
|
||||
modal.id = 'modal'
|
||||
|
||||
var modalContent = document.createElement('div')
|
||||
modal.appendChild(modalContent)
|
||||
|
||||
var modalImage = document.createElement('img')
|
||||
modalContent.appendChild(modalImage)
|
||||
|
||||
var span = document.createElement('span')
|
||||
span.classList.add('close')
|
||||
span.textContent = 'x'
|
||||
modal.appendChild(span)
|
||||
|
||||
img.onclick = function () {
|
||||
console.log('clicked')
|
||||
document.body.appendChild(modal)
|
||||
modalImage.src = img.src
|
||||
}
|
||||
|
||||
span.onclick = function () {
|
||||
document.body.removeChild(modal)
|
||||
}
|
||||
}
|
||||
|
||||
handleImages()
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,155 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="si">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta name="description" content=""/>
|
||||
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:image:src" content="https://avatars1.githubusercontent.com/u/64068543?s=400&v=4"/>
|
||||
<meta name="twitter:title" content="වෙස් භාෂා ආකෘතිය (MLM)"/>
|
||||
<meta name="twitter:description" content=""/>
|
||||
<meta name="twitter:site" content="@labmlai"/>
|
||||
<meta name="twitter:creator" content="@labmlai"/>
|
||||
|
||||
<meta property="og:url" content="https://nn.labml.ai/transformers/mlm/readme.html"/>
|
||||
<meta property="og:title" content="වෙස් භාෂා ආකෘතිය (MLM)"/>
|
||||
<meta property="og:image" content="https://avatars1.githubusercontent.com/u/64068543?s=400&v=4"/>
|
||||
<meta property="og:site_name" content="වෙස් භාෂා ආකෘතිය (MLM)"/>
|
||||
<meta property="og:type" content="object"/>
|
||||
<meta property="og:title" content="වෙස් භාෂා ආකෘතිය (MLM)"/>
|
||||
<meta property="og:description" content=""/>
|
||||
|
||||
<title>වෙස් භාෂා ආකෘතිය (MLM)</title>
|
||||
<link rel="shortcut icon" href="/icon.png"/>
|
||||
<link rel="stylesheet" href="../../pylit.css?v=1">
|
||||
<link rel="canonical" href="https://nn.labml.ai/transformers/mlm/readme.html"/>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css" integrity="sha384-zTROYFVGOfTw7JV7KUu8udsvW2fx4lWOsCEDqhBreBwlHI4ioVRtmIvEThzJHGET" crossorigin="anonymous">
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4V3HC8HBLH"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-4V3HC8HBLH');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id='container'>
|
||||
<div id="background"></div>
|
||||
<div class='section'>
|
||||
<div class='docs'>
|
||||
<p>
|
||||
<a class="parent" href="/">home</a>
|
||||
<a class="parent" href="../index.html">transformers</a>
|
||||
<a class="parent" href="index.html">mlm</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/labmlai/annotated_deep_learning_paper_implementations" target="_blank">
|
||||
<img alt="Github"
|
||||
src="https://img.shields.io/github/stars/labmlai/annotated_deep_learning_paper_implementations?style=social"
|
||||
style="max-width:100%;"/></a>
|
||||
<a href="https://twitter.com/labmlai" rel="nofollow" target="_blank">
|
||||
<img alt="Twitter"
|
||||
src="https://img.shields.io/twitter/follow/labmlai?style=social"
|
||||
style="max-width:100%;"/></a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/labmlai/annotated_deep_learning_paper_implementations/tree/master/labml_nn/transformers/mlm/readme.md" target="_blank">
|
||||
View code on Github</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class='section' id='section-0'>
|
||||
<div class='docs'>
|
||||
<div class='section-link'>
|
||||
<a href='#section-0'>#</a>
|
||||
</div>
|
||||
<h1><a href="https://nn.labml.ai/transformers/mlm/index.html">වෙස් භාෂා ආකෘතිය (MLM)</a></h1>
|
||||
<p>මෙය <a href="https://pytorch.org">PyTorch</a> ක්රියාත්මක කිරීමක් වන MSsed Language Model (MLM) කඩදාසි වල හඳුන්වා දී ඇති BERT ආකෘතිය <a href="https://papers.labml.ai/paper/1810.04805">පූර්ව පුහුණු කිරීම සඳහා භාවිතා කරන BERT: භාෂා අවබෝධය සඳහා ගැඹුරු ද්විපාර්ශ්වික පරිවර්තකයන්</a> පූර්ව පුහුණුව. </p>
|
||||
<h2>බර්ට්පෙර පුහුණුව</h2>
|
||||
<p>බර්ට්ආකෘතිය ට්රාන්ස්ෆෝමර් ආකෘතියකි. කඩදාසි MLM භාවිතා කරමින් ආකෘතිය පූර්ව පුහුණු කරයි සහ ඊළඟ වාක්ය අනාවැකිය සමඟ. අපි මෙහි ක්රියාත්මක කර ඇත්තේ MLM පමණි. </p>
|
||||
<h3>ඊළඟවාක්ය අනාවැකිය</h3>
|
||||
<p><em>ඊළඟවාක්ය අනාවැකිය දී, ආදර්ශ වාක්ය දෙකක් ලබා දී ඇති <code class="highlight"><span></span><span class="n">A</span></code>
|
||||
<code class="highlight"><span></span><span class="n">B</span></code>
|
||||
අතර ආදර්ශ පහත සඳහන් <code class="highlight"><span></span><span class="n">B</span></code>
|
||||
වාක්යය</em>යන්න ද්විමය අනාවැකිය කරයි <code class="highlight"><span></span><span class="n">A</span></code>
|
||||
සත්ය පෙළෙහි. ආකෘතිය සත්ය වාක්ය යුගල සමඟ පෝෂණය වේ 50% කාලය සහ අහඹු යුගල 50% කාලය. මෙම වර්ගීකරණය MLM අයදුම් කරන අතරතුර සිදු කරනු ලැබේ. <em>අපිමෙය මෙහි ක්රියාත්මක කර නැත. </em></p>
|
||||
<h2>වෙස්මූඩ්එල්එම්</h2>
|
||||
<p>මෙයඅහඹු ලෙස ටෝකන ප්රතිශතයක් ආවරණය කරන අතර වෙස්මුහුණු ටෝකන පුරෝකථනය කිරීමට ආකෘතිය පුහුණු කරයි. ඔවුන් <strong>ටෝකන වලින් 15% ක් ආවරණය කරන්නේ විශේෂ <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
ටෝකනයකින්</strong> ප්රතිස්ථාපනය කිරීමෙනි. </p>
|
||||
<p>අලාභයගණනය කරනු ලබන්නේ වෙස්මූඩ් ටෝකන පුරෝකථනය කිරීම මත පමණි. එකල <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
ටෝකන නොමැති බැවින් මෙය මනාව සුසර කිරීම සහ සැබෑ භාවිතය අතරතුර ගැටළුවක් ඇති කරයි. එබැවින් අපට අර්ථවත් නිරූපණයක් ලබා නොගත හැකිය. </p>
|
||||
<p>මෙයමඟහරවා ගැනීම සඳහා <strong>වෙස්මූඩ් ටෝකන වලින් 10% ක් මුල් ටෝකනය සමඟ ප්රතිස්ථාපනය</strong>වන අතර <strong>වෙස්මූඩ් ටෝකන වලින් තවත් 10% ක් අහඹු ටෝකනයකින් ප්රතිස්ථාපනය වේ</strong>. එම ස්ථානයේ ආදාන ටෝකනය a ද නැද්ද යන්න සත්ය ටෝකනය පිළිබඳ නිරූපණයන් ලබා දීමට මෙය ආකෘතිය පුහුණු <code class="highlight"><span></span><span class="p">[</span><span class="n">MASK</span><span class="p">]</span></code>
|
||||
කරයි. අහඹු ටෝකනයක් සමඟ ප්රතිස්ථාපනය කිරීමෙන් එය සන්දර්භයෙන් තොරතුරු ඇති නිරූපණයක් ලබා දීමට හේතු වේ; අහඹු ලෙස ප්රතිස්ථාපනය කරන ලද ටෝකන සවි කිරීමට එය සන්දර්භය භාවිතා කළ යුතු බැවිනි. </p>
|
||||
<h2>පුහුණු</h2>
|
||||
<p>කුඩාපුහුණු සං signal ාවක් ඇති බැවින් ස්වයංක්රීය ප්රතිගාමී ආකෘතිවලට වඩා MLMs පුහුණු කිරීම දුෂ්කර ය. එනම් නියැදියකට පුහුණු කරනු ලබන්නේ අනාවැකි වලින් සුළු ප්රතිශතයක් පමණි. </p>
|
||||
<p>තවත්ගැටළුවක් වන්නේ ආකෘතිය ද්වි දිශානුගත බැවින් ඕනෑම ටෝකනයකට වෙනත් ඕනෑම ටෝකනයක් දැකිය හැකිය. මෙය “ණය පැවරුම” දුෂ්කර කරයි. පුරෝකථනය කිරීමට උත්සාහ කරන චරිත මට්ටමේ ආකෘතිය ඔබට ඇති බව කියමු <code class="highlight"><span></span><span class="n">home</span> <span class="o">*</span><span class="n">s</span> <span class="n">where</span> <span class="n">i</span> <span class="n">want</span> <span class="n">to</span> <span class="n">be</span></code>
|
||||
. අවම වශයෙන් පුහුණුවේ මුල් අවධියේදී, ප්රතිස්ථාපනය විය <code class="highlight"><span></span><span class="o">*</span></code>
|
||||
යුත්තේ ඇයිදැයි සොයා ගැනීමට අපහසු වනු ඇත <code class="highlight"><span></span><span class="n">i</span></code>
|
||||
, එය සම්පූර්ණ වාක්යයෙන් ඕනෑම දෙයක් විය හැකිය. ස්වයංක්රියව ප්රතිගාමී සැකසුමක දී ආකෘතිය භාවිතා කිරීමට සිදුවන්නේ අනාවැකි කීමට <code class="highlight"><span></span><span class="n">o</span></code>
|
||||
සහ පුරෝකථනය <code class="highlight"><span></span><span class="n">h</span></code>
|
||||
<code class="highlight"><span></span><span class="n">hom</span></code>
|
||||
කිරීමට <code class="highlight"><span></span><span class="n">e</span></code>
|
||||
සහ එසේ කිරීමට පමණි. එබැවින් ආකෘතිය මුලින් කෙටි සන්දර්භයක් සමඟ පුරෝකථනය කිරීමට පටන් ගෙන පසුව දිගු සන්දර්භයන් භාවිතා කිරීමට ඉගෙන ගනු ඇත. MLMs මෙම ගැටළුව ඇති බැවින් ඔබ මුලින් කුඩා අනුක්රමික දිගකින් ආරම්භ කර පසුව දිගු අනුක්රමික දිගක් භාවිතා කරන්නේ නම් පුහුණු කිරීම වේගවත් වේ. </p>
|
||||
<p>සරලMLM ආකෘතියක් සඳහා <a href="https://nn.labml.ai/transformers/mlm/experiment.html">පුහුණු කේතය</a> මෙන්න. </p>
|
||||
<p><a href="https://app.labml.ai/run/3a6d22b6c67111ebb03d6764d13a38d1"><img alt="View Run" src="https://img.shields.io/badge/labml-experiment-brightgreen"></a> </p>
|
||||
|
||||
</div>
|
||||
<div class='code'>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class='footer'>
|
||||
<a href="https://papers.labml.ai">Trending Research Papers</a>
|
||||
<a href="https://labml.ai">labml.ai</a>
|
||||
</div>
|
||||
</div>
|
||||
<script src=../../interactive.js?v=1"></script>
|
||||
<script>
|
||||
function handleImages() {
|
||||
var images = document.querySelectorAll('p>img')
|
||||
|
||||
for (var i = 0; i < images.length; ++i) {
|
||||
handleImage(images[i])
|
||||
}
|
||||
}
|
||||
|
||||
function handleImage(img) {
|
||||
img.parentElement.style.textAlign = 'center'
|
||||
|
||||
var modal = document.createElement('div')
|
||||
modal.id = 'modal'
|
||||
|
||||
var modalContent = document.createElement('div')
|
||||
modal.appendChild(modalContent)
|
||||
|
||||
var modalImage = document.createElement('img')
|
||||
modalContent.appendChild(modalImage)
|
||||
|
||||
var span = document.createElement('span')
|
||||
span.classList.add('close')
|
||||
span.textContent = 'x'
|
||||
modal.appendChild(span)
|
||||
|
||||
img.onclick = function () {
|
||||
console.log('clicked')
|
||||
document.body.appendChild(modal)
|
||||
modalImage.src = img.src
|
||||
}
|
||||
|
||||
span.onclick = function () {
|
||||
document.body.removeChild(modal)
|
||||
}
|
||||
}
|
||||
|
||||
handleImages()
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user