Buckets:

rtrm's picture
download
raw
60.7 kB
import{s as Yt,o as St,n as ss}from"../chunks/scheduler.5eb9d175.js";import{S as Lt,i as Dt,g as y,s as i,r as u,A as Pt,h as T,f as a,c as o,j as Ht,u as j,x as g,k as Qt,y as Kt,a as n,v as f,d as w,t as h,w as d,m as Ot,n as se}from"../chunks/index.fcdcb606.js";import{T as yt}from"../chunks/Tip.9272e506.js";import{Y as qt}from"../chunks/Youtube.398fab2b.js";import{C as R}from"../chunks/CodeBlock.a7036e06.js";import{D as te}from"../chunks/DocNotebookDropdown.2547080e.js";import{F as Tt,M as Rs}from"../chunks/Markdown.927e6a50.js";import{H as xs,E as ee}from"../chunks/EditOnGithub.98bf070f.js";function le(I){let l,m='لمشاهدة جميع الهياكل والنسخ المتوافقة مع هذه المهمة، نوصي بالرجوع إلى <a href="https://huggingface.co/tasks/question-answering" rel="nofollow">صفحة المهمة</a>';return{c(){l=y("p"),l.innerHTML=m},l(e){l=T(e,"P",{"data-svelte-h":!0}),g(l)!=="svelte-1a0p1wx"&&(l.innerHTML=m)},m(e,M){n(e,l,M)},p:ss,d(e){e&&a(l)}}}function ae(I){let l,m;return l=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERlZmF1bHREYXRhQ29sbGF0b3IlMEElMEFkYXRhX2NvbGxhdG9yJTIwJTNEJTIwRGVmYXVsdERhdGFDb2xsYXRvcigp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DefaultDataCollator
<span class="hljs-meta">&gt;&gt;&gt; </span>data_collator = DefaultDataCollator()`,wrap:!1}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p:ss,i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function ne(I){let l,m;return l=new Rs({props:{$$slots:{default:[ae]},$$scope:{ctx:I}}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p(e,M){const J={};M&2&&(J.$$scope={dirty:M,ctx:e}),l.$set(J)},i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function pe(I){let l,m;return l=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMERlZmF1bHREYXRhQ29sbGF0b3IlMEElMEFkYXRhX2NvbGxhdG9yJTIwJTNEJTIwRGVmYXVsdERhdGFDb2xsYXRvcihyZXR1cm5fdGVuc29ycyUzRCUyMnRmJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> DefaultDataCollator
<span class="hljs-meta">&gt;&gt;&gt; </span>data_collator = DefaultDataCollator(return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)`,wrap:!1}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p:ss,i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function re(I){let l,m;return l=new Rs({props:{$$slots:{default:[pe]},$$scope:{ctx:I}}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p(e,M){const J={};M&2&&(J.$$scope={dirty:M,ctx:e}),l.$set(J)},i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function ie(I){let l,m='إذا لم تكن معتادًا على ضبط نموذج باستخدام <code>Trainer</code>, ألق نظرة على البرنامج التعليمي الأساسي <a href="../training#train-with-pytorch-trainer">هنا</a>!';return{c(){l=y("p"),l.innerHTML=m},l(e){l=T(e,"P",{"data-svelte-h":!0}),g(l)!=="svelte-1qv2d5j"&&(l.innerHTML=m)},m(e,M){n(e,l,M)},p:ss,d(e){e&&a(l)}}}function oe(I){let l,m,e,M="أنت جاهز لبدء تدريب نموذجك الآن! قم بتحميل DistilBERT باستخدام <code>AutoModelForQuestionAnswering</code>:",J,_,W,X,Z="في هذه المرحلة، تبقى ثلاث خطوات فقط:",B,b,F="<li>حدد المعاملات الفائقة للتدريب في <code>TrainingArguments</code>. المعامل الوحيد المطلوب هو <code>output_dir</code> الذي يحدد مكان حفظ نموذجك. ستدفع هذا النموذج إلى Hub عن طريق تعيين <code>push_to_hub=True</code> (يجب عليك تسجيل الدخول إلى Hugging Face لتحميل نموذجك).</li> <li>مرر معاملات التدريب إلى <code>Trainer</code> جنبًا إلى جنب مع النموذج، ومجموعة البيانات، والمُحلّل النصي، ومُجمّع البيانات.</li> <li>استدعِ ـ <code>train()</code> لضبط النموذج.</li>",G,$,A,k,V="بمجرد اكتمال التدريب، شارك نموذجك في Hub باستخدام الدالة <code>push_to_hub()</code> حتى يتمكن الجميع من استخدام نموذجك:",v,U,x;return l=new yt({props:{$$slots:{default:[ie]},$$scope:{ctx:I}}}),_=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvclF1ZXN0aW9uQW5zd2VyaW5nJTJDJTIwVHJhaW5pbmdBcmd1bWVudHMlMkMlMjBUcmFpbmVyJTBBJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JRdWVzdGlvbkFuc3dlcmluZy5mcm9tX3ByZXRyYWluZWQoJTIyZGlzdGlsYmVydCUyRmRpc3RpbGJlcnQtYmFzZS11bmNhc2VkJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForQuestionAnswering, TrainingArguments, Trainer
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;distilbert/distilbert-base-uncased&quot;</span>)`,wrap:!1}}),$=new R({props:{code:"dHJhaW5pbmdfYXJncyUyMCUzRCUyMFRyYWluaW5nQXJndW1lbnRzKCUwQSUyMCUyMCUyMCUyMG91dHB1dF9kaXIlM0QlMjJteV9hd2Vzb21lX3FhX21vZGVsJTIyJTJDJTBBJTIwJTIwJTIwJTIwZXZhbF9zdHJhdGVneSUzRCUyMmVwb2NoJTIyJTJDJTBBJTIwJTIwJTIwJTIwbGVhcm5pbmdfcmF0ZSUzRDJlLTUlMkMlMEElMjAlMjAlMjAlMjBwZXJfZGV2aWNlX3RyYWluX2JhdGNoX3NpemUlM0QxNiUyQyUwQSUyMCUyMCUyMCUyMHBlcl9kZXZpY2VfZXZhbF9iYXRjaF9zaXplJTNEMTYlMkMlMEElMjAlMjAlMjAlMjBudW1fdHJhaW5fZXBvY2hzJTNEMyUyQyUwQSUyMCUyMCUyMCUyMHdlaWdodF9kZWNheSUzRDAuMDElMkMlMEElMjAlMjAlMjAlMjBwdXNoX3RvX2h1YiUzRFRydWUlMkMlMEEpJTBBJTBBdHJhaW5lciUyMCUzRCUyMFRyYWluZXIoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0Rtb2RlbCUyQyUwQSUyMCUyMCUyMCUyMGFyZ3MlM0R0cmFpbmluZ19hcmdzJTJDJTBBJTIwJTIwJTIwJTIwdHJhaW5fZGF0YXNldCUzRHRva2VuaXplZF9zcXVhZCU1QiUyMnRyYWluJTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwZXZhbF9kYXRhc2V0JTNEdG9rZW5pemVkX3NxdWFkJTVCJTIydGVzdCUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMHByb2Nlc3NpbmdfY2xhc3MlM0R0b2tlbml6ZXIlMkMlMEElMjAlMjAlMjAlMjBkYXRhX2NvbGxhdG9yJTNEZGF0YV9jb2xsYXRvciUyQyUwQSklMEElMEF0cmFpbmVyLnRyYWluKCk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>training_args = TrainingArguments(
<span class="hljs-meta">... </span> output_dir=<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>,
<span class="hljs-meta">... </span> eval_strategy=<span class="hljs-string">&quot;epoch&quot;</span>,
<span class="hljs-meta">... </span> learning_rate=<span class="hljs-number">2e-5</span>,
<span class="hljs-meta">... </span> per_device_train_batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> per_device_eval_batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> num_train_epochs=<span class="hljs-number">3</span>,
<span class="hljs-meta">... </span> weight_decay=<span class="hljs-number">0.01</span>,
<span class="hljs-meta">... </span> push_to_hub=<span class="hljs-literal">True</span>,
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>trainer = Trainer(
<span class="hljs-meta">... </span> model=model,
<span class="hljs-meta">... </span> args=training_args,
<span class="hljs-meta">... </span> train_dataset=tokenized_squad[<span class="hljs-string">&quot;train&quot;</span>],
<span class="hljs-meta">... </span> eval_dataset=tokenized_squad[<span class="hljs-string">&quot;test&quot;</span>],
<span class="hljs-meta">... </span> processing_class=tokenizer,
<span class="hljs-meta">... </span> data_collator=data_collator,
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>trainer.train()`,wrap:!1}}),U=new R({props:{code:"dHJhaW5lci5wdXNoX3RvX2h1Yigp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>trainer.push_to_hub()',wrap:!1}}),{c(){u(l.$$.fragment),m=i(),e=y("p"),e.innerHTML=M,J=i(),u(_.$$.fragment),W=i(),X=y("p"),X.textContent=Z,B=i(),b=y("ol"),b.innerHTML=F,G=i(),u($.$$.fragment),A=i(),k=y("p"),k.innerHTML=V,v=i(),u(U.$$.fragment)},l(t){j(l.$$.fragment,t),m=o(t),e=T(t,"P",{"data-svelte-h":!0}),g(e)!=="svelte-1c4eyrj"&&(e.innerHTML=M),J=o(t),j(_.$$.fragment,t),W=o(t),X=T(t,"P",{"data-svelte-h":!0}),g(X)!=="svelte-1taxt6y"&&(X.textContent=Z),B=o(t),b=T(t,"OL",{"data-svelte-h":!0}),g(b)!=="svelte-qsjvs4"&&(b.innerHTML=F),G=o(t),j($.$$.fragment,t),A=o(t),k=T(t,"P",{"data-svelte-h":!0}),g(k)!=="svelte-139lo4f"&&(k.innerHTML=V),v=o(t),j(U.$$.fragment,t)},m(t,c){f(l,t,c),n(t,m,c),n(t,e,c),n(t,J,c),f(_,t,c),n(t,W,c),n(t,X,c),n(t,B,c),n(t,b,c),n(t,G,c),f($,t,c),n(t,A,c),n(t,k,c),n(t,v,c),f(U,t,c),x=!0},p(t,c){const E={};c&2&&(E.$$scope={dirty:c,ctx:t}),l.$set(E)},i(t){x||(w(l.$$.fragment,t),w(_.$$.fragment,t),w($.$$.fragment,t),w(U.$$.fragment,t),x=!0)},o(t){h(l.$$.fragment,t),h(_.$$.fragment,t),h($.$$.fragment,t),h(U.$$.fragment,t),x=!1},d(t){t&&(a(m),a(e),a(J),a(W),a(X),a(B),a(b),a(G),a(A),a(k),a(v)),d(l,t),d(_,t),d($,t),d(U,t)}}}function me(I){let l,m;return l=new Rs({props:{$$slots:{default:[oe]},$$scope:{ctx:I}}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p(e,M){const J={};M&2&&(J.$$scope={dirty:M,ctx:e}),l.$set(J)},i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function Me(I){let l,m='إذا لم تكن معتادًا على ضبط نموذج باستخدام Keras، فألق نظرة على البرنامج التعليمي الأساسي <a href="../training#train-a-tensorflow-model-with-keras">هنا</a>!';return{c(){l=y("p"),l.innerHTML=m},l(e){l=T(e,"P",{"data-svelte-h":!0}),g(l)!=="svelte-1awyf5t"&&(l.innerHTML=m)},m(e,M){n(e,l,M)},p:ss,d(e){e&&a(l)}}}function ce(I){let l,m,e,M,J,_="ثم يمكنك تحميل DistilBERT باستخدام <code>TFAutoModelForQuestionAnswering</code>:",W,X,Z,B,b="حوّل مجموعات البيانات الخاصة بك إلى تنسيق <code>tf.data.Dataset</code> باستخدام <code>prepare_tf_dataset()</code>:",F,G,$,A,k='قم بتكوين النموذج للتدريب باستخدام <a href="https://keras.io/api/models/model_training_apis/#compile-method" rel="nofollow"><code>compile</code></a>:',V,v,U,x,t="آخر شيء يجب إعداده قبل بدء التدريب هو توفير طريقة لدفع نموذجك إلى Hub. يمكن القيام بذلك عن طريق تحديد مكان دفع نموذجك ومعالجك المعجمي في <code>PushToHubCallback</code>:",c,E,q,z,Bs='أخيرًا، أنت جاهز لبدء تدريب نموذجك! اتصل بـ <a href="https://keras.io/api/models/model_training_apis/#fit-method" rel="nofollow"><code>fit</code></a> مع مجموعات بيانات التدريب والتحقق من الصحة، وعدد العهود، ومعاودة الاتصال الخاصة بك لضبط النموذج:',Y,N,S,H,Gs="بمجرد اكتمال التدريب، يتم تحميل نموذجك تلقائيًا إلى Hub حتى يتمكن الجميع من استخدامه!",L;return l=new yt({props:{$$slots:{default:[Me]},$$scope:{ctx:I}}}),e=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMGNyZWF0ZV9vcHRpbWl6ZXIlMEElMEFiYXRjaF9zaXplJTIwJTNEJTIwMTYlMEFudW1fZXBvY2hzJTIwJTNEJTIwMiUwQXRvdGFsX3RyYWluX3N0ZXBzJTIwJTNEJTIwKGxlbih0b2tlbml6ZWRfc3F1YWQlNUIlMjJ0cmFpbiUyMiU1RCklMjAlMkYlMkYlMjBiYXRjaF9zaXplKSUyMColMjBudW1fZXBvY2hzJTBBb3B0aW1pemVyJTJDJTIwc2NoZWR1bGUlMjAlM0QlMjBjcmVhdGVfb3B0aW1pemVyKCUwQSUyMCUyMCUyMCUyMGluaXRfbHIlM0QyZS01JTJDJTBBJTIwJTIwJTIwJTIwbnVtX3dhcm11cF9zdGVwcyUzRDAlMkMlMEElMjAlMjAlMjAlMjBudW1fdHJhaW5fc3RlcHMlM0R0b3RhbF90cmFpbl9zdGVwcyUyQyUwQSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> create_optimizer
<span class="hljs-meta">&gt;&gt;&gt; </span>batch_size = <span class="hljs-number">16</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>num_epochs = <span class="hljs-number">2</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>total_train_steps = (<span class="hljs-built_in">len</span>(tokenized_squad[<span class="hljs-string">&quot;train&quot;</span>]) // batch_size) * num_epochs
<span class="hljs-meta">&gt;&gt;&gt; </span>optimizer, schedule = create_optimizer(
<span class="hljs-meta">... </span> init_lr=<span class="hljs-number">2e-5</span>,
<span class="hljs-meta">... </span> num_warmup_steps=<span class="hljs-number">0</span>,
<span class="hljs-meta">... </span> num_train_steps=total_train_steps,
<span class="hljs-meta">... </span>)`,wrap:!1}}),X=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yUXVlc3Rpb25BbnN3ZXJpbmclMEElMEFtb2RlbCUyMCUzRCUyMFRGQXV0b01vZGVsRm9yUXVlc3Rpb25BbnN3ZXJpbmcuZnJvbV9wcmV0cmFpbmVkKCUyMmRpc3RpbGJlcnQlMkZkaXN0aWxiZXJ0LWJhc2UtdW5jYXNlZCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForQuestionAnswering
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAutoModelForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;distilbert/distilbert-base-uncased&quot;</span>)`,wrap:!1}}),G=new R({props:{code:"dGZfdHJhaW5fc2V0JTIwJTNEJTIwbW9kZWwucHJlcGFyZV90Zl9kYXRhc2V0KCUwQSUyMCUyMCUyMCUyMHRva2VuaXplZF9zcXVhZCU1QiUyMnRyYWluJTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwc2h1ZmZsZSUzRFRydWUlMkMlMEElMjAlMjAlMjAlMjBiYXRjaF9zaXplJTNEMTYlMkMlMEElMjAlMjAlMjAlMjBjb2xsYXRlX2ZuJTNEZGF0YV9jb2xsYXRvciUyQyUwQSklMEElMEF0Zl92YWxpZGF0aW9uX3NldCUyMCUzRCUyMG1vZGVsLnByZXBhcmVfdGZfZGF0YXNldCglMEElMjAlMjAlMjAlMjB0b2tlbml6ZWRfc3F1YWQlNUIlMjJ0ZXN0JTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwc2h1ZmZsZSUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwYmF0Y2hfc2l6ZSUzRDE2JTJDJTBBJTIwJTIwJTIwJTIwY29sbGF0ZV9mbiUzRGRhdGFfY29sbGF0b3IlMkMlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>tf_train_set = model.prepare_tf_dataset(
<span class="hljs-meta">... </span> tokenized_squad[<span class="hljs-string">&quot;train&quot;</span>],
<span class="hljs-meta">... </span> shuffle=<span class="hljs-literal">True</span>,
<span class="hljs-meta">... </span> batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> collate_fn=data_collator,
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>tf_validation_set = model.prepare_tf_dataset(
<span class="hljs-meta">... </span> tokenized_squad[<span class="hljs-string">&quot;test&quot;</span>],
<span class="hljs-meta">... </span> shuffle=<span class="hljs-literal">False</span>,
<span class="hljs-meta">... </span> batch_size=<span class="hljs-number">16</span>,
<span class="hljs-meta">... </span> collate_fn=data_collator,
<span class="hljs-meta">... </span>)`,wrap:!1}}),v=new R({props:{code:"aW1wb3J0JTIwdGVuc29yZmxvdyUyMGFzJTIwdGYlMEElMEFtb2RlbC5jb21waWxlKG9wdGltaXplciUzRG9wdGltaXplcik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf
<span class="hljs-meta">&gt;&gt;&gt; </span>model.<span class="hljs-built_in">compile</span>(optimizer=optimizer)`,wrap:!1}}),E=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycy5rZXJhc19jYWxsYmFja3MlMjBpbXBvcnQlMjBQdXNoVG9IdWJDYWxsYmFjayUwQSUwQWNhbGxiYWNrJTIwJTNEJTIwUHVzaFRvSHViQ2FsbGJhY2soJTBBJTIwJTIwJTIwJTIwb3V0cHV0X2RpciUzRCUyMm15X2F3ZXNvbWVfcWFfbW9kZWwlMjIlMkMlMEElMjAlMjAlMjAlMjB0b2tlbml6ZXIlM0R0b2tlbml6ZXIlMkMlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers.keras_callbacks <span class="hljs-keyword">import</span> PushToHubCallback
<span class="hljs-meta">&gt;&gt;&gt; </span>callback = PushToHubCallback(
<span class="hljs-meta">... </span> output_dir=<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>,
<span class="hljs-meta">... </span> tokenizer=tokenizer,
<span class="hljs-meta">... </span>)`,wrap:!1}}),N=new R({props:{code:"bW9kZWwuZml0KHglM0R0Zl90cmFpbl9zZXQlMkMlMjB2YWxpZGF0aW9uX2RhdGElM0R0Zl92YWxpZGF0aW9uX3NldCUyQyUyMGVwb2NocyUzRDMlMkMlMjBjYWxsYmFja3MlM0QlNUJjYWxsYmFjayU1RCk=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>model.fit(x=tf_train_set, validation_data=tf_validation_set, epochs=<span class="hljs-number">3</span>, callbacks=[callback])',wrap:!1}}),{c(){u(l.$$.fragment),m=Ot(`
لضبط نموذج في TensorFlow، ابدأ بإعداد دالة مُحسِّن، وجدول معدل التعلم، وبعض المعاملات الفائقة للتدريب:
`),u(e.$$.fragment),M=i(),J=y("p"),J.innerHTML=_,W=i(),u(X.$$.fragment),Z=i(),B=y("p"),B.innerHTML=b,F=i(),u(G.$$.fragment),$=i(),A=y("p"),A.innerHTML=k,V=i(),u(v.$$.fragment),U=i(),x=y("p"),x.innerHTML=t,c=i(),u(E.$$.fragment),q=i(),z=y("p"),z.innerHTML=Bs,Y=i(),u(N.$$.fragment),S=i(),H=y("p"),H.textContent=Gs},l(r){j(l.$$.fragment,r),m=se(r,`
لضبط نموذج في TensorFlow، ابدأ بإعداد دالة مُحسِّن، وجدول معدل التعلم، وبعض المعاملات الفائقة للتدريب:
`),j(e.$$.fragment,r),M=o(r),J=T(r,"P",{"data-svelte-h":!0}),g(J)!=="svelte-18jv7u0"&&(J.innerHTML=_),W=o(r),j(X.$$.fragment,r),Z=o(r),B=T(r,"P",{"data-svelte-h":!0}),g(B)!=="svelte-tlcvmw"&&(B.innerHTML=b),F=o(r),j(G.$$.fragment,r),$=o(r),A=T(r,"P",{"data-svelte-h":!0}),g(A)!=="svelte-863wf5"&&(A.innerHTML=k),V=o(r),j(v.$$.fragment,r),U=o(r),x=T(r,"P",{"data-svelte-h":!0}),g(x)!=="svelte-sp2ioc"&&(x.innerHTML=t),c=o(r),j(E.$$.fragment,r),q=o(r),z=T(r,"P",{"data-svelte-h":!0}),g(z)!=="svelte-36eufk"&&(z.innerHTML=Bs),Y=o(r),j(N.$$.fragment,r),S=o(r),H=T(r,"P",{"data-svelte-h":!0}),g(H)!=="svelte-2i53kw"&&(H.textContent=Gs)},m(r,C){f(l,r,C),n(r,m,C),f(e,r,C),n(r,M,C),n(r,J,C),n(r,W,C),f(X,r,C),n(r,Z,C),n(r,B,C),n(r,F,C),f(G,r,C),n(r,$,C),n(r,A,C),n(r,V,C),f(v,r,C),n(r,U,C),n(r,x,C),n(r,c,C),f(E,r,C),n(r,q,C),n(r,z,C),n(r,Y,C),f(N,r,C),n(r,S,C),n(r,H,C),L=!0},p(r,C){const Q={};C&2&&(Q.$$scope={dirty:C,ctx:r}),l.$set(Q)},i(r){L||(w(l.$$.fragment,r),w(e.$$.fragment,r),w(X.$$.fragment,r),w(G.$$.fragment,r),w(v.$$.fragment,r),w(E.$$.fragment,r),w(N.$$.fragment,r),L=!0)},o(r){h(l.$$.fragment,r),h(e.$$.fragment,r),h(X.$$.fragment,r),h(G.$$.fragment,r),h(v.$$.fragment,r),h(E.$$.fragment,r),h(N.$$.fragment,r),L=!1},d(r){r&&(a(m),a(M),a(J),a(W),a(Z),a(B),a(F),a($),a(A),a(V),a(U),a(x),a(c),a(q),a(z),a(Y),a(S),a(H)),d(l,r),d(e,r),d(X,r),d(G,r),d(v,r),d(E,r),d(N,r)}}}function ue(I){let l,m;return l=new Rs({props:{$$slots:{default:[ce]},$$scope:{ctx:I}}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p(e,M){const J={};M&2&&(J.$$scope={dirty:M,ctx:e}),l.$set(J)},i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function je(I){let l,m=`للحصول على مثال أكثر تعمقًا حول كيفية ضبط نموذج للإجابة على الأسئلة، ألق نظرة على <a href="https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/question_answering.ipynb" rel="nofollow">دفتر ملاحظات PyTorch</a> المقابل
أو <a href="https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/question_answering-tf.ipynb" rel="nofollow">دفتر ملاحظات TensorFlow</a>.`;return{c(){l=y("p"),l.innerHTML=m},l(e){l=T(e,"P",{"data-svelte-h":!0}),g(l)!=="svelte-19u8of2"&&(l.innerHTML=m)},m(e,M){n(e,l,M)},p:ss,d(e){e&&a(l)}}}function fe(I){let l,m="قسّم النص وأرجع تنسورات PyTorch:",e,M,J,_,W="مرر مدخلاتك إلى النموذج وأرجع <code>logits</code>:",X,Z,B,b,F="احصل على أعلى احتمال من مخرجات النموذج لموضعي البداية والنهاية:",G,$,A,k,V="استخلاص الإجابة من الرموز المتوقعة:",v,U,x;return M=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJteV9hd2Vzb21lX3FhX21vZGVsJTIyKSUwQWlucHV0cyUyMCUzRCUyMHRva2VuaXplcihxdWVzdGlvbiUyQyUyMGNvbnRleHQlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(question, context, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)`,wrap:!1}}),Z=new R({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQXV0b01vZGVsRm9yUXVlc3Rpb25BbnN3ZXJpbmclMEElMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvclF1ZXN0aW9uQW5zd2VyaW5nLmZyb21fcHJldHJhaW5lZCglMjJteV9hd2Vzb21lX3FhX21vZGVsJTIyKSUwQXdpdGglMjB0b3JjaC5ub19ncmFkKCklM0ElMEElMjAlMjAlMjAlMjBvdXRwdXRzJTIwJTNEJTIwbW9kZWwoKippbnB1dHMp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForQuestionAnswering
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">with</span> torch.no_grad():
<span class="hljs-meta">... </span> outputs = model(**inputs)`,wrap:!1}}),$=new R({props:{code:"YW5zd2VyX3N0YXJ0X2luZGV4JTIwJTNEJTIwb3V0cHV0cy5zdGFydF9sb2dpdHMuYXJnbWF4KCklMEFhbnN3ZXJfZW5kX2luZGV4JTIwJTNEJTIwb3V0cHV0cy5lbmRfbG9naXRzLmFyZ21heCgp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>answer_start_index = outputs.start_logits.argmax()
<span class="hljs-meta">&gt;&gt;&gt; </span>answer_end_index = outputs.end_logits.argmax()`,wrap:!1}}),U=new R({props:{code:"cHJlZGljdF9hbnN3ZXJfdG9rZW5zJTIwJTNEJTIwaW5wdXRzLmlucHV0X2lkcyU1QjAlMkMlMjBhbnN3ZXJfc3RhcnRfaW5kZXglMjAlM0ElMjBhbnN3ZXJfZW5kX2luZGV4JTIwJTJCJTIwMSU1RCUwQXRva2VuaXplci5kZWNvZGUocHJlZGljdF9hbnN3ZXJfdG9rZW5zKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>predict_answer_tokens = inputs.input_ids[<span class="hljs-number">0</span>, answer_start_index : answer_end_index + <span class="hljs-number">1</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(predict_answer_tokens)
<span class="hljs-string">&#x27;176 billion parameters and can generate text in 46 languages natural languages and 13&#x27;</span>`,wrap:!1}}),{c(){l=y("p"),l.textContent=m,e=i(),u(M.$$.fragment),J=i(),_=y("p"),_.innerHTML=W,X=i(),u(Z.$$.fragment),B=i(),b=y("p"),b.textContent=F,G=i(),u($.$$.fragment),A=i(),k=y("p"),k.textContent=V,v=i(),u(U.$$.fragment)},l(t){l=T(t,"P",{"data-svelte-h":!0}),g(l)!=="svelte-10v8nv8"&&(l.textContent=m),e=o(t),j(M.$$.fragment,t),J=o(t),_=T(t,"P",{"data-svelte-h":!0}),g(_)!=="svelte-15mo51r"&&(_.innerHTML=W),X=o(t),j(Z.$$.fragment,t),B=o(t),b=T(t,"P",{"data-svelte-h":!0}),g(b)!=="svelte-5hdn4c"&&(b.textContent=F),G=o(t),j($.$$.fragment,t),A=o(t),k=T(t,"P",{"data-svelte-h":!0}),g(k)!=="svelte-2vxmzi"&&(k.textContent=V),v=o(t),j(U.$$.fragment,t)},m(t,c){n(t,l,c),n(t,e,c),f(M,t,c),n(t,J,c),n(t,_,c),n(t,X,c),f(Z,t,c),n(t,B,c),n(t,b,c),n(t,G,c),f($,t,c),n(t,A,c),n(t,k,c),n(t,v,c),f(U,t,c),x=!0},p:ss,i(t){x||(w(M.$$.fragment,t),w(Z.$$.fragment,t),w($.$$.fragment,t),w(U.$$.fragment,t),x=!0)},o(t){h(M.$$.fragment,t),h(Z.$$.fragment,t),h($.$$.fragment,t),h(U.$$.fragment,t),x=!1},d(t){t&&(a(l),a(e),a(J),a(_),a(X),a(B),a(b),a(G),a(A),a(k),a(v)),d(M,t),d(Z,t),d($,t),d(U,t)}}}function we(I){let l,m;return l=new Rs({props:{$$slots:{default:[fe]},$$scope:{ctx:I}}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p(e,M){const J={};M&2&&(J.$$scope={dirty:M,ctx:e}),l.$set(J)},i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function he(I){let l,m="قم بتحليل النص المعجمي وأعد موترات TensorFlow:",e,M,J,_,W="مرر مدخلاتك إلى النموذج وأعد <code>logits</code>:",X,Z,B,b,F="احصل على أعلى احتمال من مخرجات النموذج لموضعي البداية والنهاية:",G,$,A,k,V="استخلاص الإجابة من الرموز المتوقعة:",v,U,x;return M=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJteV9hd2Vzb21lX3FhX21vZGVsJTIyKSUwQWlucHV0cyUyMCUzRCUyMHRva2VuaXplcihxdWVzdGlvbiUyQyUyMGNvbnRleHQlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnRmJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>inputs = tokenizer(question, context, return_tensors=<span class="hljs-string">&quot;tf&quot;</span>)`,wrap:!1}}),Z=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMFRGQXV0b01vZGVsRm9yUXVlc3Rpb25BbnN3ZXJpbmclMEElMEFtb2RlbCUyMCUzRCUyMFRGQXV0b01vZGVsRm9yUXVlc3Rpb25BbnN3ZXJpbmcuZnJvbV9wcmV0cmFpbmVkKCUyMm15X2F3ZXNvbWVfcWFfbW9kZWwlMjIpJTBBb3V0cHV0cyUyMCUzRCUyMG1vZGVsKCoqaW5wdXRzKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TFAutoModelForQuestionAnswering
<span class="hljs-meta">&gt;&gt;&gt; </span>model = TFAutoModelForQuestionAnswering.from_pretrained(<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(**inputs)`,wrap:!1}}),$=new R({props:{code:"YW5zd2VyX3N0YXJ0X2luZGV4JTIwJTNEJTIwaW50KHRmLm1hdGguYXJnbWF4KG91dHB1dHMuc3RhcnRfbG9naXRzJTJDJTIwYXhpcyUzRC0xKSU1QjAlNUQpJTBBYW5zd2VyX2VuZF9pbmRleCUyMCUzRCUyMGludCh0Zi5tYXRoLmFyZ21heChvdXRwdXRzLmVuZF9sb2dpdHMlMkMlMjBheGlzJTNELTEpJTVCMCU1RCk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>answer_start_index = <span class="hljs-built_in">int</span>(tf.math.argmax(outputs.start_logits, axis=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>])
<span class="hljs-meta">&gt;&gt;&gt; </span>answer_end_index = <span class="hljs-built_in">int</span>(tf.math.argmax(outputs.end_logits, axis=-<span class="hljs-number">1</span>)[<span class="hljs-number">0</span>])`,wrap:!1}}),U=new R({props:{code:"cHJlZGljdF9hbnN3ZXJfdG9rZW5zJTIwJTNEJTIwaW5wdXRzLmlucHV0X2lkcyU1QjAlMkMlMjBhbnN3ZXJfc3RhcnRfaW5kZXglMjAlM0ElMjBhbnN3ZXJfZW5kX2luZGV4JTIwJTJCJTIwMSU1RCUwQXRva2VuaXplci5kZWNvZGUocHJlZGljdF9hbnN3ZXJfdG9rZW5zKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>predict_answer_tokens = inputs.input_ids[<span class="hljs-number">0</span>, answer_start_index : answer_end_index + <span class="hljs-number">1</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.decode(predict_answer_tokens)
<span class="hljs-string">&#x27;176 billion parameters and can generate text in 46 languages natural languages and 13&#x27;</span>`,wrap:!1}}),{c(){l=y("p"),l.textContent=m,e=i(),u(M.$$.fragment),J=i(),_=y("p"),_.innerHTML=W,X=i(),u(Z.$$.fragment),B=i(),b=y("p"),b.textContent=F,G=i(),u($.$$.fragment),A=i(),k=y("p"),k.textContent=V,v=i(),u(U.$$.fragment)},l(t){l=T(t,"P",{"data-svelte-h":!0}),g(l)!=="svelte-1c4nyet"&&(l.textContent=m),e=o(t),j(M.$$.fragment,t),J=o(t),_=T(t,"P",{"data-svelte-h":!0}),g(_)!=="svelte-ytwuzp"&&(_.innerHTML=W),X=o(t),j(Z.$$.fragment,t),B=o(t),b=T(t,"P",{"data-svelte-h":!0}),g(b)!=="svelte-5hdn4c"&&(b.textContent=F),G=o(t),j($.$$.fragment,t),A=o(t),k=T(t,"P",{"data-svelte-h":!0}),g(k)!=="svelte-2vxmzi"&&(k.textContent=V),v=o(t),j(U.$$.fragment,t)},m(t,c){n(t,l,c),n(t,e,c),f(M,t,c),n(t,J,c),n(t,_,c),n(t,X,c),f(Z,t,c),n(t,B,c),n(t,b,c),n(t,G,c),f($,t,c),n(t,A,c),n(t,k,c),n(t,v,c),f(U,t,c),x=!0},p:ss,i(t){x||(w(M.$$.fragment,t),w(Z.$$.fragment,t),w($.$$.fragment,t),w(U.$$.fragment,t),x=!0)},o(t){h(M.$$.fragment,t),h(Z.$$.fragment,t),h($.$$.fragment,t),h(U.$$.fragment,t),x=!1},d(t){t&&(a(l),a(e),a(J),a(_),a(X),a(B),a(b),a(G),a(A),a(k),a(v)),d(M,t),d(Z,t),d($,t),d(U,t)}}}function de(I){let l,m;return l=new Rs({props:{$$slots:{default:[he]},$$scope:{ctx:I}}}),{c(){u(l.$$.fragment)},l(e){j(l.$$.fragment,e)},m(e,M){f(l,e,M),m=!0},p(e,M){const J={};M&2&&(J.$$scope={dirty:M,ctx:e}),l.$set(J)},i(e){m||(w(l.$$.fragment,e),m=!0)},o(e){h(l.$$.fragment,e),m=!1},d(e){d(l,e)}}}function Je(I){let l,m,e,M,J,_,W,X,Z,B,b,F="تُقدّم مهام الإجابة على الأسئلة إجابةً بناءً على سؤال. إذا سبق لك أن سألت مساعدًا افتراضيًا مثل Alexa أو Siri أو Google عن حالة الطقس، فأنت قد استخدمت نموذج للإجابة على الأسئلة من قبل. هناك نوعان شائعان لمهام الإجابة على الأسئلة:",G,$,A="<li>الاستخراجية: استخراج الإجابة من السياق المحدد.</li> <li>التلخيصية: إنشاء إجابة من السياق تجيب على السؤال بشكل صحيح.</li>",k,V,v="سيوضح لك هذا الدليل كيفية:",U,x,t='<li>ضبط <a href="https://huggingface.co/distilbert/distilbert-base-uncased" rel="nofollow">DistilBERT</a> على مجموعة بيانات <a href="https://huggingface.co/datasets/squad" rel="nofollow">SQuAD</a> للإجابة على الأسئلة الاستخراجية.</li> <li>استخدام النموذج المضبوط للاستدلال.</li>',c,E,q,z,Bs="قبل البدء، تأكد من تثبيت جميع المكتبات الضرورية:",Y,N,S,H,Gs="نشجعك على تسجيل الدخول إلى حساب Hugging Face الخاص بك حتى تتمكن من تحميل نموذجك ومشاركته مع المجتمع. عند المطالبة، أدخل الرمز المميز الخاص بك لتسجيل الدخول:",L,r,C,Q,vs,ts,gt="ابدأ بتحميل جزء أصغر من مجموعة بيانات SQuAD من مكتبة 🤗 Datasets. سيتيح لك ذلك فرصة للتجربة والتحقق من عمل كل شيء بشكل صحيح قبل قضاء المزيد من الوقت في التدريب على مجموعة البيانات الكاملة.",Ws,es,Vs,ls,$t="قم بتقسيم تقسيم <code>train</code> لمجموعة البيانات إلى مجموعة تدريب واختبار باستخدام طريقة <code>train_test_split</code>:",Es,as,Fs,ns,bt="ثم ألق نظرة على مثال:",zs,ps,Ns,rs,Ut="هناك العديد من الحقول المهمة هنا:",Hs,is,Ct="<li><code>answers</code>: موقع بداية الرمز المميز للإجابة ونص الإجابة.</li> <li><code>context</code>: معلومات أساسية يحتاج النموذج إلى استخراج الإجابة منها.</li> <li><code>question</code>: السؤال الذي يجب على النموذج الإجابة عليه.</li>",Qs,os,qs,ms,Ys,Ms,It="الخطوة التالية هي تحميل المحلل اللغوى DistilBERT لمعالجة حقلي <code>question</code> و <code>context</code>:",Ss,cs,Ls,us,_t="هناك بعض خطوات المعالجة المسبقة الخاصة بمهام الإجابة على الأسئلة التي يجب أن تكون على دراية بها:",Ds,js,Zt=`<li>قد تحتوي بعض الأمثلة في مجموعة البيانات على <code>context</code> طويلًا يتجاوز الحد الأقصى لطول مدخل النموذج. للتعامل مع النصوص الأطول، يتم اقتطاع <code>context</code> فقط عن طريق تعيين <code>truncation=&quot;only_second&quot;</code>.</li> <li>بعد ذلك، يتم تحديد مواضع بداية ونهاية الإجابة في <code>context</code> الأصلي عن طريق تعيين
<code>return_offset_mapping=True</code>.</li> <li>باستخدام التعيين، يمكن الآن تحديد رموز بداية ونهاية الإجابة. استخدم طريقة <code>sequence_ids</code>
لتحديد أجزاء الإزاحة التي تتوافق مع <code>question</code> و <code>context</code>.</li>`,Ps,fs,kt="فيما يلي كيفية إنشاء دالة لقص وتعيين رموز البداية والنهاية لـ <code>answer</code> إلى <code>context</code>:",Ks,ws,Os,hs,Xt="لتطبيق المعالجة المسبقة على كامل مجموعة البيانات، استخدم <code>map</code> من مكتبة 🤗 Datasets. يمكنك تسريع دالة <code>map</code> عن طريق تعيين <code>batched=True</code> لمعالجة عناصر متعددة من مجموعة البيانات دفعة واحدة. قم بإزالة أي أعمدة لا تحتاجها:",st,ds,tt,Js,xt="الآن قم بإنشاء دفعة من الأمثلة باستخدام <code>DefaultDataCollator</code>. بخلاف مجمّعات البيانات الأخرى في 🤗 Transformers، لا يطبق <code>DefaultDataCollator</code> أي معالجة مسبقة إضافية مثل الحشو.",et,D,lt,ys,at,P,nt,K,pt,Ts,rt,gs,Rt="يتطلب التقييم للإجابة على الأسئلة قدرًا كبيرًا من المعالجة اللاحقة. لتوفير وقتك، يتخطى هذا الدليل خطوة التقييم. لا يزال <code>Trainer</code> يحسب خسارة التقييم أثناء التدريب، مما يعني أنك لست تجهل تمامًا أداء نموذجك.",it,$s,Bt='إذا كان لديك المزيد من الوقت وتهتم بكيفية تقييم نموذجك للإجابة على الأسئلة، فألق نظرة على فصل <a href="https://huggingface.co/course/chapter7/7?fw=pt#post-processing" rel="nofollow">الإجابة على الأسئلة</a> من دورة 🤗 Hugging Face!',ot,bs,mt,Us,Gt="رائع، الآن بعد أن قمت بضبط نموذج، يمكنك استخدامه للاستدلال!",Mt,Cs,At="حدد سؤالًا وسياقًا ليقوم النموذج بالتنبؤ بالإجابة عليه:",ct,Is,ut,_s,vt="أبسط طريقة لتجربة نموذجك المُدرَّب للاستدلال هي استخدامه في <code>pipeline()</code>. قم بإنشاء كائن لـ <code>pipeline</code> للإجابة على الأسئلة باستخدام نموذجك، ومرِّر النص إليه:",jt,Zs,ft,ks,Wt="يمكنك أيضًا تكرار نتائج <code>pipeline</code> يدويًا إذا أردت:",wt,O,ht,Xs,dt,As,Jt;return J=new xs({props:{title:"الإجابة على الأسئلة (Question answering)",local:"الإجابة-على-الأسئلة-question-answering",headingTag:"h1"}}),W=new te({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/question_answering.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/pytorch/question_answering.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/ar/tensorflow/question_answering.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/question_answering.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/pytorch/question_answering.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/ar/tensorflow/question_answering.ipynb"}]}}),Z=new qt({props:{id:"ajPx5LwJD-I"}}),E=new yt({props:{$$slots:{default:[le]},$$scope:{ctx:I}}}),N=new R({props:{code:"cGlwJTIwaW5zdGFsbCUyMHRyYW5zZm9ybWVycyUyMGRhdGFzZXRzJTIwZXZhbHVhdGU=",highlighted:"pip install transformers datasets evaluate",wrap:!1}}),r=new R({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login
<span class="hljs-meta">&gt;&gt;&gt; </span>notebook_login()`,wrap:!1}}),Q=new xs({props:{title:"تحميل مجموعة بيانات SQuAD",local:"تحميل-مجموعة-بيانات-squad",headingTag:"h2"}}),es=new R({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBc3F1YWQlMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIyc3F1YWQlMjIlMkMlMjBzcGxpdCUzRCUyMnRyYWluJTVCJTNBNTAwMCU1RCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset
<span class="hljs-meta">&gt;&gt;&gt; </span>squad = load_dataset(<span class="hljs-string">&quot;squad&quot;</span>, split=<span class="hljs-string">&quot;train[:5000]&quot;</span>)`,wrap:!1}}),as=new R({props:{code:"c3F1YWQlMjAlM0QlMjBzcXVhZC50cmFpbl90ZXN0X3NwbGl0KHRlc3Rfc2l6ZSUzRDAuMik=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>squad = squad.train_test_split(test_size=<span class="hljs-number">0.2</span>)',wrap:!1}}),ps=new R({props:{code:"c3F1YWQlNUIlMjJ0cmFpbiUyMiU1RCU1QjAlNUQ=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>squad[<span class="hljs-string">&quot;train&quot;</span>][<span class="hljs-number">0</span>]
{<span class="hljs-string">&#x27;answers&#x27;</span>: {<span class="hljs-string">&#x27;answer_start&#x27;</span>: [<span class="hljs-number">515</span>], <span class="hljs-string">&#x27;text&#x27;</span>: [<span class="hljs-string">&#x27;Saint Bernadette Soubirous&#x27;</span>]},
<span class="hljs-string">&#x27;context&#x27;</span>: <span class="hljs-string">&#x27;Architecturally, the school has a Catholic character. Atop the Main Building\\&#x27;s gold dome is a golden statue of the Virgin Mary. Immediately in front of the Main Building and facing it, is a copper statue of Christ with arms upraised with the legend &quot;Venite Ad Me Omnes&quot;. Next to the Main Building is the Basilica of the Sacred Heart. Immediately behind the basilica is the Grotto, a Marian place of prayer and reflection. It is a replica of the grotto at Lourdes, France where the Virgin Mary reputedly appeared to Saint Bernadette Soubirous in 1858. At the end of the main drive (and in a direct line that connects through 3 statues and the Gold Dome), is a simple, modern stone statue of Mary.&#x27;</span>,
<span class="hljs-string">&#x27;id&#x27;</span>: <span class="hljs-string">&#x27;5733be284776f41900661182&#x27;</span>,
<span class="hljs-string">&#x27;question&#x27;</span>: <span class="hljs-string">&#x27;To whom did the Virgin Mary allegedly appear in 1858 in Lourdes France?&#x27;</span>,
<span class="hljs-string">&#x27;title&#x27;</span>: <span class="hljs-string">&#x27;University_of_Notre_Dame&#x27;</span>
}`,wrap:!1}}),os=new xs({props:{title:"المعالجة المسبقة (Preprocess)",local:"المعالجة-المسبقة-preprocess",headingTag:"h2"}}),ms=new qt({props:{id:"qgaM0weJHpA"}}),cs=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJkaXN0aWxiZXJ0JTJGZGlzdGlsYmVydC1iYXNlLXVuY2FzZWQlMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;distilbert/distilbert-base-uncased&quot;</span>)`,wrap:!1}}),ws=new R({props:{code:"ZGVmJTIwcHJlcHJvY2Vzc19mdW5jdGlvbihleGFtcGxlcyklM0ElMEElMjAlMjAlMjAlMjBxdWVzdGlvbnMlMjAlM0QlMjAlNUJxLnN0cmlwKCklMjBmb3IlMjBxJTIwaW4lMjBleGFtcGxlcyU1QiUyMnF1ZXN0aW9uJTIyJTVEJTVEJTBBJTIwJTIwJTIwJTIwaW5wdXRzJTIwJTNEJTIwdG9rZW5pemVyKCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHF1ZXN0aW9ucyUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGV4YW1wbGVzJTVCJTIyY29udGV4dCUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG1heF9sZW5ndGglM0QzODQlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0cnVuY2F0aW9uJTNEJTIyb25seV9zZWNvbmQlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm5fb2Zmc2V0c19tYXBwaW5nJTNEVHJ1ZSUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhZGRpbmclM0QlMjJtYXhfbGVuZ3RoJTIyJTJDJTBBJTIwJTIwJTIwJTIwKSUwQSUwQSUyMCUyMCUyMCUyMG9mZnNldF9tYXBwaW5nJTIwJTNEJTIwaW5wdXRzLnBvcCglMjJvZmZzZXRfbWFwcGluZyUyMiklMEElMjAlMjAlMjAlMjBhbnN3ZXJzJTIwJTNEJTIwZXhhbXBsZXMlNUIlMjJhbnN3ZXJzJTIyJTVEJTBBJTIwJTIwJTIwJTIwc3RhcnRfcG9zaXRpb25zJTIwJTNEJTIwJTVCJTVEJTBBJTIwJTIwJTIwJTIwZW5kX3Bvc2l0aW9ucyUyMCUzRCUyMCU1QiU1RCUwQSUwQSUyMCUyMCUyMCUyMGZvciUyMGklMkMlMjBvZmZzZXQlMjBpbiUyMGVudW1lcmF0ZShvZmZzZXRfbWFwcGluZyklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBhbnN3ZXIlMjAlM0QlMjBhbnN3ZXJzJTVCaSU1RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0YXJ0X2NoYXIlMjAlM0QlMjBhbnN3ZXIlNUIlMjJhbnN3ZXJfc3RhcnQlMjIlNUQlNUIwJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5kX2NoYXIlMjAlM0QlMjBhbnN3ZXIlNUIlMjJhbnN3ZXJfc3RhcnQlMjIlNUQlNUIwJTVEJTIwJTJCJTIwbGVuKGFuc3dlciU1QiUyMnRleHQlMjIlNUQlNUIwJTVEKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlcXVlbmNlX2lkcyUyMCUzRCUyMGlucHV0cy5zZXF1ZW5jZV9pZHMoaSklMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBGaW5kJTIwdGhlJTIwc3RhcnQlMjBhbmQlMjBlbmQlMjBvZiUyMHRoZSUyMGNvbnRleHQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZHglMjAlM0QlMjAwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2hpbGUlMjBzZXF1ZW5jZV9pZHMlNUJpZHglNUQlMjAhJTNEJTIwMSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGlkeCUyMCUyQiUzRCUyMDElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjb250ZXh0X3N0YXJ0JTIwJTNEJTIwaWR4JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2hpbGUlMjBzZXF1ZW5jZV9pZHMlNUJpZHglNUQlMjAlM0QlM0QlMjAxJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWR4JTIwJTJCJTNEJTIwMSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGNvbnRleHRfZW5kJTIwJTNEJTIwaWR4JTIwLSUyMDElMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBJZiUyMHRoZSUyMGFuc3dlciUyMGlzJTIwbm90JTIwZnVsbHklMjBpbnNpZGUlMjB0aGUlMjBjb250ZXh0JTJDJTIwbGFiZWwlMjBpdCUyMCgwJTJDJTIwMCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG9mZnNldCU1QmNvbnRleHRfc3RhcnQlNUQlNUIwJTVEJTIwJTNFJTIwZW5kX2NoYXIlMjBvciUyMG9mZnNldCU1QmNvbnRleHRfZW5kJTVEJTVCMSU1RCUyMCUzQyUyMHN0YXJ0X2NoYXIlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdGFydF9wb3NpdGlvbnMuYXBwZW5kKDApJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5kX3Bvc2l0aW9ucy5hcHBlbmQoMCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbHNlJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwT3RoZXJ3aXNlJTIwaXQncyUyMHRoZSUyMHN0YXJ0JTIwYW5kJTIwZW5kJTIwdG9rZW4lMjBwb3NpdGlvbnMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZHglMjAlM0QlMjBjb250ZXh0X3N0YXJ0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2hpbGUlMjBpZHglMjAlM0MlM0QlMjBjb250ZXh0X2VuZCUyMGFuZCUyMG9mZnNldCU1QmlkeCU1RCU1QjAlNUQlMjAlM0MlM0QlMjBzdGFydF9jaGFyJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWR4JTIwJTJCJTNEJTIwMSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0YXJ0X3Bvc2l0aW9ucy5hcHBlbmQoaWR4JTIwLSUyMDEpJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWR4JTIwJTNEJTIwY29udGV4dF9lbmQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aGlsZSUyMGlkeCUyMCUzRSUzRCUyMGNvbnRleHRfc3RhcnQlMjBhbmQlMjBvZmZzZXQlNUJpZHglNUQlNUIxJTVEJTIwJTNFJTNEJTIwZW5kX2NoYXIlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZHglMjAtJTNEJTIwMSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVuZF9wb3NpdGlvbnMuYXBwZW5kKGlkeCUyMCUyQiUyMDEpJTBBJTBBJTIwJTIwJTIwJTIwaW5wdXRzJTVCJTIyc3RhcnRfcG9zaXRpb25zJTIyJTVEJTIwJTNEJTIwc3RhcnRfcG9zaXRpb25zJTBBJTIwJTIwJTIwJTIwaW5wdXRzJTVCJTIyZW5kX3Bvc2l0aW9ucyUyMiU1RCUyMCUzRCUyMGVuZF9wb3NpdGlvbnMlMEElMjAlMjAlMjAlMjByZXR1cm4lMjBpbnB1dHM=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">preprocess_function</span>(<span class="hljs-params">examples</span>):
<span class="hljs-meta">... </span> questions = [q.strip() <span class="hljs-keyword">for</span> q <span class="hljs-keyword">in</span> examples[<span class="hljs-string">&quot;question&quot;</span>]]
<span class="hljs-meta">... </span> inputs = tokenizer(
<span class="hljs-meta">... </span> questions,
<span class="hljs-meta">... </span> examples[<span class="hljs-string">&quot;context&quot;</span>],
<span class="hljs-meta">... </span> max_length=<span class="hljs-number">384</span>,
<span class="hljs-meta">... </span> truncation=<span class="hljs-string">&quot;only_second&quot;</span>,
<span class="hljs-meta">... </span> return_offsets_mapping=<span class="hljs-literal">True</span>,
<span class="hljs-meta">... </span> padding=<span class="hljs-string">&quot;max_length&quot;</span>,
<span class="hljs-meta">... </span> )
<span class="hljs-meta">... </span> offset_mapping = inputs.pop(<span class="hljs-string">&quot;offset_mapping&quot;</span>)
<span class="hljs-meta">... </span> answers = examples[<span class="hljs-string">&quot;answers&quot;</span>]
<span class="hljs-meta">... </span> start_positions = []
<span class="hljs-meta">... </span> end_positions = []
<span class="hljs-meta">... </span> <span class="hljs-keyword">for</span> i, offset <span class="hljs-keyword">in</span> <span class="hljs-built_in">enumerate</span>(offset_mapping):
<span class="hljs-meta">... </span> answer = answers[i]
<span class="hljs-meta">... </span> start_char = answer[<span class="hljs-string">&quot;answer_start&quot;</span>][<span class="hljs-number">0</span>]
<span class="hljs-meta">... </span> end_char = answer[<span class="hljs-string">&quot;answer_start&quot;</span>][<span class="hljs-number">0</span>] + <span class="hljs-built_in">len</span>(answer[<span class="hljs-string">&quot;text&quot;</span>][<span class="hljs-number">0</span>])
<span class="hljs-meta">... </span> sequence_ids = inputs.sequence_ids(i)
<span class="hljs-meta">... </span> <span class="hljs-comment"># Find the start and end of the context</span>
<span class="hljs-meta">... </span> idx = <span class="hljs-number">0</span>
<span class="hljs-meta">... </span> <span class="hljs-keyword">while</span> sequence_ids[idx] != <span class="hljs-number">1</span>:
<span class="hljs-meta">... </span> idx += <span class="hljs-number">1</span>
<span class="hljs-meta">... </span> context_start = idx
<span class="hljs-meta">... </span> <span class="hljs-keyword">while</span> sequence_ids[idx] == <span class="hljs-number">1</span>:
<span class="hljs-meta">... </span> idx += <span class="hljs-number">1</span>
<span class="hljs-meta">... </span> context_end = idx - <span class="hljs-number">1</span>
<span class="hljs-meta">... </span> <span class="hljs-comment"># If the answer is not fully inside the context, label it (0, 0)</span>
<span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> offset[context_start][<span class="hljs-number">0</span>] &gt; end_char <span class="hljs-keyword">or</span> offset[context_end][<span class="hljs-number">1</span>] &lt; start_char:
<span class="hljs-meta">... </span> start_positions.append(<span class="hljs-number">0</span>)
<span class="hljs-meta">... </span> end_positions.append(<span class="hljs-number">0</span>)
<span class="hljs-meta">... </span> <span class="hljs-keyword">else</span>:
<span class="hljs-meta">... </span> <span class="hljs-comment"># Otherwise it&#x27;s the start and end token positions</span>
<span class="hljs-meta">... </span> idx = context_start
<span class="hljs-meta">... </span> <span class="hljs-keyword">while</span> idx &lt;= context_end <span class="hljs-keyword">and</span> offset[idx][<span class="hljs-number">0</span>] &lt;= start_char:
<span class="hljs-meta">... </span> idx += <span class="hljs-number">1</span>
<span class="hljs-meta">... </span> start_positions.append(idx - <span class="hljs-number">1</span>)
<span class="hljs-meta">... </span> idx = context_end
<span class="hljs-meta">... </span> <span class="hljs-keyword">while</span> idx &gt;= context_start <span class="hljs-keyword">and</span> offset[idx][<span class="hljs-number">1</span>] &gt;= end_char:
<span class="hljs-meta">... </span> idx -= <span class="hljs-number">1</span>
<span class="hljs-meta">... </span> end_positions.append(idx + <span class="hljs-number">1</span>)
<span class="hljs-meta">... </span> inputs[<span class="hljs-string">&quot;start_positions&quot;</span>] = start_positions
<span class="hljs-meta">... </span> inputs[<span class="hljs-string">&quot;end_positions&quot;</span>] = end_positions
<span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> inputs`,wrap:!1}}),ds=new R({props:{code:"dG9rZW5pemVkX3NxdWFkJTIwJTNEJTIwc3F1YWQubWFwKHByZXByb2Nlc3NfZnVuY3Rpb24lMkMlMjBiYXRjaGVkJTNEVHJ1ZSUyQyUyMHJlbW92ZV9jb2x1bW5zJTNEc3F1YWQlNUIlMjJ0cmFpbiUyMiU1RC5jb2x1bW5fbmFtZXMp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>tokenized_squad = squad.<span class="hljs-built_in">map</span>(preprocess_function, batched=<span class="hljs-literal">True</span>, remove_columns=squad[<span class="hljs-string">&quot;train&quot;</span>].column_names)',wrap:!1}}),D=new Tt({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[re],pytorch:[ne]},$$scope:{ctx:I}}}),ys=new xs({props:{title:"التدريب (Train)",local:"التدريب-train",headingTag:"h2"}}),P=new Tt({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ue],pytorch:[me]},$$scope:{ctx:I}}}),K=new yt({props:{$$slots:{default:[je]},$$scope:{ctx:I}}}),Ts=new xs({props:{title:"التقييم (Evaluate)",local:"التقييم-evaluate",headingTag:"h2"}}),bs=new xs({props:{title:"الاستدلال (Inference)",local:"الاستدلال-inference",headingTag:"h2"}}),Is=new R({props:{code:"cXVlc3Rpb24lMjAlM0QlMjAlMjJIb3clMjBtYW55JTIwcHJvZ3JhbW1pbmclMjBsYW5ndWFnZXMlMjBkb2VzJTIwQkxPT00lMjBzdXBwb3J0JTNGJTIyJTBBY29udGV4dCUyMCUzRCUyMCUyMkJMT09NJTIwaGFzJTIwMTc2JTIwYmlsbGlvbiUyMHBhcmFtZXRlcnMlMjBhbmQlMjBjYW4lMjBnZW5lcmF0ZSUyMHRleHQlMjBpbiUyMDQ2JTIwbGFuZ3VhZ2VzJTIwbmF0dXJhbCUyMGxhbmd1YWdlcyUyMGFuZCUyMDEzJTIwcHJvZ3JhbW1pbmclMjBsYW5ndWFnZXMuJTIy",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>question = <span class="hljs-string">&quot;How many programming languages does BLOOM support?&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>context = <span class="hljs-string">&quot;BLOOM has 176 billion parameters and can generate text in 46 languages natural languages and 13 programming languages.&quot;</span>`,wrap:!1}}),Zs=new R({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBcXVlc3Rpb25fYW5zd2VyZXIlMjAlM0QlMjBwaXBlbGluZSglMjJxdWVzdGlvbi1hbnN3ZXJpbmclMjIlMkMlMjBtb2RlbCUzRCUyMm15X2F3ZXNvbWVfcWFfbW9kZWwlMjIpJTBBcXVlc3Rpb25fYW5zd2VyZXIocXVlc3Rpb24lM0RxdWVzdGlvbiUyQyUyMGNvbnRleHQlM0Rjb250ZXh0KQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline
<span class="hljs-meta">&gt;&gt;&gt; </span>question_answerer = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>, model=<span class="hljs-string">&quot;my_awesome_qa_model&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>question_answerer(question=question, context=context)
{<span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.2058267742395401</span>,
<span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">10</span>,
<span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">95</span>,
<span class="hljs-string">&#x27;answer&#x27;</span>: <span class="hljs-string">&#x27;176 مليار معامل ويمكنه إنشاء نصوص بـ 46 لغة طبيعية و 13&#x27;</span>}`,wrap:!1}}),O=new Tt({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[de],pytorch:[we]},$$scope:{ctx:I}}}),Xs=new ee({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ar/tasks/question_answering.md"}}),{c(){l=y("meta"),m=i(),e=y("p"),M=i(),u(J.$$.fragment),_=i(),u(W.$$.fragment),X=i(),u(Z.$$.fragment),B=i(),b=y("p"),b.textContent=F,G=i(),$=y("ul"),$.innerHTML=A,k=i(),V=y("p"),V.textContent=v,U=i(),x=y("ol"),x.innerHTML=t,c=i(),u(E.$$.fragment),q=i(),z=y("p"),z.textContent=Bs,Y=i(),u(N.$$.fragment),S=i(),H=y("p"),H.textContent=Gs,L=i(),u(r.$$.fragment),C=i(),u(Q.$$.fragment),vs=i(),ts=y("p"),ts.textContent=gt,Ws=i(),u(es.$$.fragment),Vs=i(),ls=y("p"),ls.innerHTML=$t,Es=i(),u(as.$$.fragment),Fs=i(),ns=y("p"),ns.textContent=bt,zs=i(),u(ps.$$.fragment),Ns=i(),rs=y("p"),rs.textContent=Ut,Hs=i(),is=y("ul"),is.innerHTML=Ct,Qs=i(),u(os.$$.fragment),qs=i(),u(ms.$$.fragment),Ys=i(),Ms=y("p"),Ms.innerHTML=It,Ss=i(),u(cs.$$.fragment),Ls=i(),us=y("p"),us.textContent=_t,Ds=i(),js=y("ol"),js.innerHTML=Zt,Ps=i(),fs=y("p"),fs.innerHTML=kt,Ks=i(),u(ws.$$.fragment),Os=i(),hs=y("p"),hs.innerHTML=Xt,st=i(),u(ds.$$.fragment),tt=i(),Js=y("p"),Js.innerHTML=xt,et=i(),u(D.$$.fragment),lt=i(),u(ys.$$.fragment),at=i(),u(P.$$.fragment),nt=i(),u(K.$$.fragment),pt=i(),u(Ts.$$.fragment),rt=i(),gs=y("p"),gs.innerHTML=Rt,it=i(),$s=y("p"),$s.innerHTML=Bt,ot=i(),u(bs.$$.fragment),mt=i(),Us=y("p"),Us.textContent=Gt,Mt=i(),Cs=y("p"),Cs.textContent=At,ct=i(),u(Is.$$.fragment),ut=i(),_s=y("p"),_s.innerHTML=vt,jt=i(),u(Zs.$$.fragment),ft=i(),ks=y("p"),ks.innerHTML=Wt,wt=i(),u(O.$$.fragment),ht=i(),u(Xs.$$.fragment),dt=i(),As=y("p"),this.h()},l(s){const p=Pt("svelte-u9bgzb",document.head);l=T(p,"META",{name:!0,content:!0}),p.forEach(a),m=o(s),e=T(s,"P",{}),Ht(e).forEach(a),M=o(s),j(J.$$.fragment,s),_=o(s),j(W.$$.fragment,s),X=o(s),j(Z.$$.fragment,s),B=o(s),b=T(s,"P",{"data-svelte-h":!0}),g(b)!=="svelte-c6ko6d"&&(b.textContent=F),G=o(s),$=T(s,"UL",{"data-svelte-h":!0}),g($)!=="svelte-9c1gxr"&&($.innerHTML=A),k=o(s),V=T(s,"P",{"data-svelte-h":!0}),g(V)!=="svelte-lp8700"&&(V.textContent=v),U=o(s),x=T(s,"OL",{"data-svelte-h":!0}),g(x)!=="svelte-63cxld"&&(x.innerHTML=t),c=o(s),j(E.$$.fragment,s),q=o(s),z=T(s,"P",{"data-svelte-h":!0}),g(z)!=="svelte-1vj7g14"&&(z.textContent=Bs),Y=o(s),j(N.$$.fragment,s),S=o(s),H=T(s,"P",{"data-svelte-h":!0}),g(H)!=="svelte-mxr1c6"&&(H.textContent=Gs),L=o(s),j(r.$$.fragment,s),C=o(s),j(Q.$$.fragment,s),vs=o(s),ts=T(s,"P",{"data-svelte-h":!0}),g(ts)!=="svelte-1cx917i"&&(ts.textContent=gt),Ws=o(s),j(es.$$.fragment,s),Vs=o(s),ls=T(s,"P",{"data-svelte-h":!0}),g(ls)!=="svelte-qq4fq3"&&(ls.innerHTML=$t),Es=o(s),j(as.$$.fragment,s),Fs=o(s),ns=T(s,"P",{"data-svelte-h":!0}),g(ns)!=="svelte-1e1soci"&&(ns.textContent=bt),zs=o(s),j(ps.$$.fragment,s),Ns=o(s),rs=T(s,"P",{"data-svelte-h":!0}),g(rs)!=="svelte-dmhb7n"&&(rs.textContent=Ut),Hs=o(s),is=T(s,"UL",{"data-svelte-h":!0}),g(is)!=="svelte-11m2iur"&&(is.innerHTML=Ct),Qs=o(s),j(os.$$.fragment,s),qs=o(s),j(ms.$$.fragment,s),Ys=o(s),Ms=T(s,"P",{"data-svelte-h":!0}),g(Ms)!=="svelte-1lqxvz0"&&(Ms.innerHTML=It),Ss=o(s),j(cs.$$.fragment,s),Ls=o(s),us=T(s,"P",{"data-svelte-h":!0}),g(us)!=="svelte-yg1uai"&&(us.textContent=_t),Ds=o(s),js=T(s,"OL",{"data-svelte-h":!0}),g(js)!=="svelte-7i3bvw"&&(js.innerHTML=Zt),Ps=o(s),fs=T(s,"P",{"data-svelte-h":!0}),g(fs)!=="svelte-1fkuns7"&&(fs.innerHTML=kt),Ks=o(s),j(ws.$$.fragment,s),Os=o(s),hs=T(s,"P",{"data-svelte-h":!0}),g(hs)!=="svelte-u3x6qw"&&(hs.innerHTML=Xt),st=o(s),j(ds.$$.fragment,s),tt=o(s),Js=T(s,"P",{"data-svelte-h":!0}),g(Js)!=="svelte-3nxqmo"&&(Js.innerHTML=xt),et=o(s),j(D.$$.fragment,s),lt=o(s),j(ys.$$.fragment,s),at=o(s),j(P.$$.fragment,s),nt=o(s),j(K.$$.fragment,s),pt=o(s),j(Ts.$$.fragment,s),rt=o(s),gs=T(s,"P",{"data-svelte-h":!0}),g(gs)!=="svelte-r6x56f"&&(gs.innerHTML=Rt),it=o(s),$s=T(s,"P",{"data-svelte-h":!0}),g($s)!=="svelte-zq1hyh"&&($s.innerHTML=Bt),ot=o(s),j(bs.$$.fragment,s),mt=o(s),Us=T(s,"P",{"data-svelte-h":!0}),g(Us)!=="svelte-25dfys"&&(Us.textContent=Gt),Mt=o(s),Cs=T(s,"P",{"data-svelte-h":!0}),g(Cs)!=="svelte-dgy85v"&&(Cs.textContent=At),ct=o(s),j(Is.$$.fragment,s),ut=o(s),_s=T(s,"P",{"data-svelte-h":!0}),g(_s)!=="svelte-1903wn9"&&(_s.innerHTML=vt),jt=o(s),j(Zs.$$.fragment,s),ft=o(s),ks=T(s,"P",{"data-svelte-h":!0}),g(ks)!=="svelte-asb9jo"&&(ks.innerHTML=Wt),wt=o(s),j(O.$$.fragment,s),ht=o(s),j(Xs.$$.fragment,s),dt=o(s),As=T(s,"P",{}),Ht(As).forEach(a),this.h()},h(){Qt(l,"name","hf:doc:metadata"),Qt(l,"content",ye)},m(s,p){Kt(document.head,l),n(s,m,p),n(s,e,p),n(s,M,p),f(J,s,p),n(s,_,p),f(W,s,p),n(s,X,p),f(Z,s,p),n(s,B,p),n(s,b,p),n(s,G,p),n(s,$,p),n(s,k,p),n(s,V,p),n(s,U,p),n(s,x,p),n(s,c,p),f(E,s,p),n(s,q,p),n(s,z,p),n(s,Y,p),f(N,s,p),n(s,S,p),n(s,H,p),n(s,L,p),f(r,s,p),n(s,C,p),f(Q,s,p),n(s,vs,p),n(s,ts,p),n(s,Ws,p),f(es,s,p),n(s,Vs,p),n(s,ls,p),n(s,Es,p),f(as,s,p),n(s,Fs,p),n(s,ns,p),n(s,zs,p),f(ps,s,p),n(s,Ns,p),n(s,rs,p),n(s,Hs,p),n(s,is,p),n(s,Qs,p),f(os,s,p),n(s,qs,p),f(ms,s,p),n(s,Ys,p),n(s,Ms,p),n(s,Ss,p),f(cs,s,p),n(s,Ls,p),n(s,us,p),n(s,Ds,p),n(s,js,p),n(s,Ps,p),n(s,fs,p),n(s,Ks,p),f(ws,s,p),n(s,Os,p),n(s,hs,p),n(s,st,p),f(ds,s,p),n(s,tt,p),n(s,Js,p),n(s,et,p),f(D,s,p),n(s,lt,p),f(ys,s,p),n(s,at,p),f(P,s,p),n(s,nt,p),f(K,s,p),n(s,pt,p),f(Ts,s,p),n(s,rt,p),n(s,gs,p),n(s,it,p),n(s,$s,p),n(s,ot,p),f(bs,s,p),n(s,mt,p),n(s,Us,p),n(s,Mt,p),n(s,Cs,p),n(s,ct,p),f(Is,s,p),n(s,ut,p),n(s,_s,p),n(s,jt,p),f(Zs,s,p),n(s,ft,p),n(s,ks,p),n(s,wt,p),f(O,s,p),n(s,ht,p),f(Xs,s,p),n(s,dt,p),n(s,As,p),Jt=!0},p(s,[p]){const Vt={};p&2&&(Vt.$$scope={dirty:p,ctx:s}),E.$set(Vt);const Et={};p&2&&(Et.$$scope={dirty:p,ctx:s}),D.$set(Et);const Ft={};p&2&&(Ft.$$scope={dirty:p,ctx:s}),P.$set(Ft);const zt={};p&2&&(zt.$$scope={dirty:p,ctx:s}),K.$set(zt);const Nt={};p&2&&(Nt.$$scope={dirty:p,ctx:s}),O.$set(Nt)},i(s){Jt||(w(J.$$.fragment,s),w(W.$$.fragment,s),w(Z.$$.fragment,s),w(E.$$.fragment,s),w(N.$$.fragment,s),w(r.$$.fragment,s),w(Q.$$.fragment,s),w(es.$$.fragment,s),w(as.$$.fragment,s),w(ps.$$.fragment,s),w(os.$$.fragment,s),w(ms.$$.fragment,s),w(cs.$$.fragment,s),w(ws.$$.fragment,s),w(ds.$$.fragment,s),w(D.$$.fragment,s),w(ys.$$.fragment,s),w(P.$$.fragment,s),w(K.$$.fragment,s),w(Ts.$$.fragment,s),w(bs.$$.fragment,s),w(Is.$$.fragment,s),w(Zs.$$.fragment,s),w(O.$$.fragment,s),w(Xs.$$.fragment,s),Jt=!0)},o(s){h(J.$$.fragment,s),h(W.$$.fragment,s),h(Z.$$.fragment,s),h(E.$$.fragment,s),h(N.$$.fragment,s),h(r.$$.fragment,s),h(Q.$$.fragment,s),h(es.$$.fragment,s),h(as.$$.fragment,s),h(ps.$$.fragment,s),h(os.$$.fragment,s),h(ms.$$.fragment,s),h(cs.$$.fragment,s),h(ws.$$.fragment,s),h(ds.$$.fragment,s),h(D.$$.fragment,s),h(ys.$$.fragment,s),h(P.$$.fragment,s),h(K.$$.fragment,s),h(Ts.$$.fragment,s),h(bs.$$.fragment,s),h(Is.$$.fragment,s),h(Zs.$$.fragment,s),h(O.$$.fragment,s),h(Xs.$$.fragment,s),Jt=!1},d(s){s&&(a(m),a(e),a(M),a(_),a(X),a(B),a(b),a(G),a($),a(k),a(V),a(U),a(x),a(c),a(q),a(z),a(Y),a(S),a(H),a(L),a(C),a(vs),a(ts),a(Ws),a(Vs),a(ls),a(Es),a(Fs),a(ns),a(zs),a(Ns),a(rs),a(Hs),a(is),a(Qs),a(qs),a(Ys),a(Ms),a(Ss),a(Ls),a(us),a(Ds),a(js),a(Ps),a(fs),a(Ks),a(Os),a(hs),a(st),a(tt),a(Js),a(et),a(lt),a(at),a(nt),a(pt),a(rt),a(gs),a(it),a($s),a(ot),a(mt),a(Us),a(Mt),a(Cs),a(ct),a(ut),a(_s),a(jt),a(ft),a(ks),a(wt),a(ht),a(dt),a(As)),a(l),d(J,s),d(W,s),d(Z,s),d(E,s),d(N,s),d(r,s),d(Q,s),d(es,s),d(as,s),d(ps,s),d(os,s),d(ms,s),d(cs,s),d(ws,s),d(ds,s),d(D,s),d(ys,s),d(P,s),d(K,s),d(Ts,s),d(bs,s),d(Is,s),d(Zs,s),d(O,s),d(Xs,s)}}}const ye='{"title":"الإجابة على الأسئلة (Question answering)","local":"الإجابة-على-الأسئلة-question-answering","sections":[{"title":"تحميل مجموعة بيانات SQuAD","local":"تحميل-مجموعة-بيانات-squad","sections":[],"depth":2},{"title":"المعالجة المسبقة (Preprocess)","local":"المعالجة-المسبقة-preprocess","sections":[],"depth":2},{"title":"التدريب (Train)","local":"التدريب-train","sections":[],"depth":2},{"title":"التقييم (Evaluate)","local":"التقييم-evaluate","sections":[],"depth":2},{"title":"الاستدلال (Inference)","local":"الاستدلال-inference","sections":[],"depth":2}],"depth":1}';function Te(I){return St(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ke extends Lt{constructor(l){super(),Dt(this,l,Te,Je,Yt,{})}}export{ke as component};

Xet Storage Details

Size:
60.7 kB
·
Xet hash:
57f993710633489316cb4df8e473053de68c9e7d9be068b8f3569371c2b6a981

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.