Buckets:
| import{s as we,n as Ae,o as Ce}from"../chunks/scheduler.893fe8c9.js";import{S as Pe,i as _e,e as ge,s as n,c as u,h as he,a as ze,d as i,b as r,f as ke,g as l,j as Ee,k as be,l as Te,m as a,n as c,t as o,o as s,p}from"../chunks/index.6ee278c6.js";import{C as qe,H as m,E as Ne}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.bfd13995.js";import{C as je}from"../chunks/CourseFloatingBanner.b902b8d5.js";import{Q as d}from"../chunks/Question.6edba373.js";function Ue(xe){let $,H,M,F,f,O,g,R,z,G,x,ve="Hai să testăm ceea ce ai învățat în acest capitol!",V,v,I,k,J,b,K,w,X,A,Y,C,Z,P,ee,_,te,h,ie,E,ae,T,ne,q,re,N,ue,j,le,U,ce,S,oe,B,se,W,pe,y,me,L,de,D,$e,Q,fe;return f=new qe({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),g=new m({props:{title:"Quiz de sfârșit de capitol",local:"end-of-chapter-quiz",headingTag:"h1"}}),z=new je({props:{chapter:6,classNames:"absolute z-10 right-0 top-0"}}),v=new m({props:{title:"1. Când ar trebui să antrenezi un nou tokenizer?",local:"1-când-ar-trebui-să-antrenezi-un-nou-tokenizer",headingTag:"h3"}}),k=new d({props:{choices:[{text:"Când datasetul tău este similar cu cel utilizat de un model preantrenat și doriți să preantrenați un model nou",explain:"În acest caz, pentru a economisi timp și resurse, o alegere mai bună ar fi să folosești același tokenizer ca și modelul preantrenat și să faceți fine-tune acelui model."},{text:"Atunci când datasetul tău este similar cu cel utilizat de un model preantrenat existent și doriți să faceți fine-tune unui nou model utilizând acest model preantrenat",explain:"Pentru a face fine-tune unui model dintr-un model preantrenat, trebuie să utilizați întotdeauna același tokenizer."},{text:"Atunci când datasetul tău este diferit de cel utilizat de un model preantrenat existent și doriți să preantrenați un nou model",explain:"Corect! În acest caz nu există niciun avantaj în a utiliza același tokenizer.",correct:!0},{text:"Atunci datasetul tău este diferit de cel utilizat de un model preantrenat existent, dar doriți să faceți fine-tune unui model nou utilizând acest model preantrenat",explain:"Pentru a face fine-tune unui model dintr-un model preantrenat, trebuie să utilizați întotdeauna același tokenizer."}]}}),b=new m({props:{title:"2. Care este avantajul utilizării unui generator de liste de texte în comparație cu o listă de liste de texte atunci când utilizați train_new_from_iterator() ?",local:"2-care-este-avantajul-utilizării-unui-generator-de-liste-de-texte-în-comparație-cu-o-listă-de-liste-de-texte-atunci-când-utilizați-trainnewfromiterator-",headingTag:"h3"}}),w=new d({props:{choices:[{text:"Acesta este singurul tip pe care metoda <code>train_new_from_iterator()</code> îl acceptă.",explain:"O listă de liste de texte este un tip special de generator de liste de texte, astfel încât metoda o va accepta și pe aceasta. Încercați din nou!"},{text:"Veți evita încărcarea întregului dataset în memorie.",explain:"Corect! Fiecare batch de texte va fi eliberat din memorie atunci când iterați, iar câștigul va fi vizibil mai ales dacă utilizați 🤗 Datasets pentru a stoca textele.",correct:!0},{text:"Acest lucru va permite bibliotecii 🤗 Tokenizers să utilizeze multiprocessing.",explain:"Nu, oricum va folosi multiprocessing."},{text:"Tokenizerul pe care îl vei antrena va genera texte mai bune.",explain:"Tokenizerul nu generează text - îl confundați cu un model lingvistic?"}]}}),A=new m({props:{title:"3. Care sunt avantajele utilizării unui tokenizer “rapid”?",local:"3-care-sunt-avantajele-utilizării-unui-tokenizer-rapid",headingTag:"h3"}}),C=new d({props:{choices:[{text:"Acesta poate procesa inputuri mai rapid decât un tokenizator lent atunci când faci batch mai multor inputuri împreună.",explain:"Corect! Datorită paralelismului implementat în Rust, acesta va fi mai rapid pe batch-uri de inputuri. La ce alt beneficiu te poți gândi?",correct:!0},{text:"Tokenizerele rapide tokenizează întotdeauna mai rapid decât omologii lor lenți.",explain:"Un tokenizer rapid poate fi de fapt mai lent atunci când îi dai doar unul sau foarte puține texte, deoarece nu poate utiliza paralelismul."},{text:"Poate aplica padding și truncation.",explain:"Adevărat, dar și tokenizerele lente fac asta."},{text:"Acesta are unele caracteristici suplimentare care vă permit să asociați tokenii cu intervalul de text care le-a creat.",explain:"Într-adevăr - acestea se numesc offset mappings. Totuși, acesta nu este singurul avantaj.",correct:!0}]}}),P=new m({props:{title:"4. Cum tratează pipelineul token-classification entitățile care se întind pe mai mulți tokeni?",local:"4-cum-tratează-pipelineul-token-classification-entitățile-care-se-întind-pe-mai-mulți-tokeni",headingTag:"h3"}}),_=new d({props:{choices:[{text:"Entitățile cu același label sunt merged într-o singură entitate.",explain:"Explicația aceasta e prea simplă. Încearcă din nou!"},{text:"Există un label pentru începutul unei entități și un label pentru continuarea unei entități.",explain:"Corect!",correct:!0},{text:"Într-un cuvânt dat, atâta timp cât primul token are labelul entității, întregul cuvânt este considerat etichetat cu entitatea respectivă.",explain:"Aceasta este o strategie de gestionare a entităților. Ce alte răspunsuri se aplică aici?",correct:!0},{text:"Atunci când un token are labelul unei entități date, orice alt token următor cu aceeași label este considerat parte a aceleiași entități, cu excepția cazului în care este etichetat ca fiind începutul unei noi entități.",explain:"Acesta este cel mai comun mod de a grupa entitățile împreună - deși nu este singurul răspuns corect.",correct:!0}]}}),h=new m({props:{title:"5. Cum gestionează pipelineul question-answering contextele lungi?",local:"5-cum-gestionează-pipelineul-question-answering-contextele-lungi",headingTag:"h3"}}),E=new d({props:{choices:[{text:"De fapt, nu o face, deoarece trunchiază contextul lung la lungimea maximă acceptată de model.",explain:"Există un truc pe care îl poți folosi pentru a gestiona contextele lungi. Îți amintești care este acesta?"},{text:"Acesta împarte contextul în mai multe părți și calculează media rezultatelor obținute.",explain:"Nu, nu ar avea sens să se facă o medie a rezultatelor, deoarece unele părți ale contextului nu vor include răspunsul."},{text:"Acesta împarte contextul în mai multe părți (cu suprapuneri) și găsește scorul maxim pentru un răspuns în fiecare parte.",explain:"Acesta este răspunsul corect!",correct:!0},{text:"Acesta împarte contextul în mai multe părți (fără suprapunere, pentru eficiență) și găsește scorul maxim pentru un răspuns în fiecare parte.",explain:"Nu, acesta include o anumită suprapunere între părți pentru a evita situația în care răspunsul ar fi împărțit în două părți."}]}}),T=new m({props:{title:"6. Ce este normalizarea?",local:"6-ce-este-normalizarea",headingTag:"h3"}}),q=new d({props:{choices:[{text:"Este vorba de orice curățare pe care tokenizerul o efectuează asupra textelor în etapele inițiale.",explain:"Corect - de exemplu, ar putea implica eliminarea accentelor sau a spațiilor, sau scrierea cu mijuscule a inputurilor.",correct:!0},{text:"Este o tehnică de augmentare a datelor care constă în a face textul mai normal prin eliminarea cuvintelor rare.",explain:"Este incorect! Încearcă din nou."},{text:"Acesta este ultimul pas de post-procesare în care tokenizerul adaugă tokenii speciali.",explain:"Această etapă se numește pur și simplu post-procesare."},{text:"Este atunci când embeddingurile sunt realizate cu media 0 și standard deviation 1, prin scăderea mediei și împărțirea la std.",explain:"Acest proces se numește de obicei normalizare atunci când este aplicat valorilor pixelilor în computer vision, dar nu este ceea ce înseamnă normalizare în NLP."}]}}),N=new m({props:{title:"7. Ce este pre-tokenizarea pentru un subword tokenizer?",local:"7-ce-este-pre-tokenizarea-pentru-un-subword-tokenizer",headingTag:"h3"}}),j=new d({props:{choices:[{text:"Acesta este pasul dinaintea tokenizării, în care se aplică augmentarea datelor (cum ar fi mascarea aleatorie).",explain:"Nu, acest pas face parte din preprocesare."},{text:"Este pasul de dinaintea tokenizării, în care operațiile de curățare dorite sunt aplicate textului.",explain:"Nu, acesta este pasul de normalizare."},{text:"Acesta este pasul dinaintea aplicării modelul de tokenizer, pentru a împărți inputul în cuvinte.",explain:"Acesta este răspunsul corect!",correct:!0},{text:"Acesta este pasul dinaintea aplicării modelul de tokenizer, pentru a împărți inputul în tokenuri.",explain:"Nu, împărțirea în tokenuri este sarcina modelul de tokenizer."}]}}),U=new m({props:{title:"8. Selectați propozițiile care se aplică modelului de tokenizare BPE.",local:"8-selectați-propozițiile-care-se-aplică-modelului-de-tokenizare-bpe",headingTag:"h3"}}),S=new d({props:{choices:[{text:"BPE este un algoritm de tokenizare a subcuvintelor care începe cu un vocabular mic și învață reguli de merge.",explain:"Acesta este într-adevăr cazul!",correct:!0},{text:"BPE este un algoritm de tokenizare a subcuvintelor care începe cu un vocabular mare și elimină progresiv tokenii din acesta.",explain:"Nu, aceasta este abordarea adoptată de un alt algoritm de tokenizare."},{text:"Tokenizerele BPE învață regulile de merge prin mergeul perechii de tokeni care este cea mai frecventă.",explain:"Acest lucru este corect!",correct:!0},{text:"Un tokenizer BPE învață o regulă de merge prin mergeul perechii de tokeni care maximizează un scor care privilegiază perechile frecvente cu părți individuale mai puțin frecvente.",explain:"Nu, aceasta este strategia aplicată de un alt algoritm de tokenizare."},{text:"BPE tokenizează cuvintele în subcuvinte prin divizarea lor în caractere și apoi prin aplicarea regulilor de merge.",explain:"Acest lucru este corect!",correct:!0},{text:"BPE tokenizează cuvintele în subcuvinte prin găsirea celui mai lung subcuvânt de la început care se află în vocabular, apoi repetă procesul pentru restul textului.",explain:"Nu, acesta este un alt mod de a face lucrurile al algoritmului de tokenizare."}]}}),B=new m({props:{title:"9. Selectați propozițiile care se aplică modelului de tokenizare WordPiece.",local:"9-selectați-propozițiile-care-se-aplică-modelului-de-tokenizare-wordpiece",headingTag:"h3"}}),W=new d({props:{choices:[{text:"WordPiece este un algoritm de tokenizare a subcuvintelor care începe cu un vocabular mic și învață reguli de merge.",explain:"Acesta este într-adevăr cazul!",correct:!0},{text:"WordPiece este un algoritm de tokenizare a subcuvintelor care începe cu un vocabular mare și elimină progresiv tokenii din acesta.",explain:"Nu, aceasta este abordarea adoptată de un alt algoritm de tokenizare."},{text:"Tokenizerele WordPiece învață regulile de merge prin mergeul perechii de tokeni care este cea mai frecventă.",explain:"Nu, aceasta este abordarea adoptată de un alt algoritm de tokenizare!"},{text:"Un tokenizer WordPiece învață o regulă de merge prin mergeul perechii de tokeni care maximizează un scor care privilegiază perechile frecvente cu părți individuale mai puțin frecvente.",explain:"Acest lucru este corect!",correct:!0},{text:"WordPiece tokenizează cuvintele în subcuvinte prin găsirea celei mai probabile segmentări în tokeni, în conformitate cu modelul.",explain:"Nu, acesta este modul în care funcționează un alt algoritm de tokenizare."},{text:"WordPiece tokenizează cuvintele în subcuvinte prin găsirea celui mai lung subcuvânt de la început care se află în vocabular, apoi repetă procesul pentru restul textului.",explain:"Da, acesta este modul în care WordPiece procedează pentru encoding.",correct:!0}]}}),y=new m({props:{title:"10. Selectați propozițiile care se aplică modelului de tokenizare Unigram.",local:"10-selectați-propozițiile-care-se-aplică-modelului-de-tokenizare-unigram",headingTag:"h3"}}),L=new d({props:{choices:[{text:"Unigram este un algoritm de tokenizare a subcuvintelor care începe cu un vocabular mic și învață reguli de merge.",explain:"Nu, aceasta este abordarea adoptată de un alt algoritm de tokenizare."},{text:"Unigram este un algoritm de tokenizare a subcuvintelor care începe cu un vocabular mare și elimină progresiv tokenurile din el.",explain:"Acest lucru este corect!",correct:!0},{text:"Unigram își adaptează vocabularul prin minimizarea unei pierderi calculate pe întregul corpus.",explain:"Acest lucru este corect!",correct:!0},{text:"Unigram își adaptează vocabularul prin păstrarea celor mai frecvente subcuvinte.",explain:"Nu, acest lucru este incorect."},{text:"Unigram tokenizează cuvintele în subcuvinte prin găsirea celei mai probabile segmentări în tokenuri, conform modelului.",explain:"Acest lucru este corect!",correct:!0},{text:"Unigram tokenizează cuvintele în subcuvinte prin divizarea lor în caractere, apoi aplică regulile de merge.",explain:"Nu, acesta este modul în care funcționează un alt algoritm de tokenizare."}]}}),D=new Ne({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ro/chapter6/10.mdx"}}),{c(){$=ge("meta"),H=n(),M=ge("p"),F=n(),u(f.$$.fragment),O=n(),u(g.$$.fragment),R=n(),u(z.$$.fragment),G=n(),x=ge("p"),x.textContent=ve,V=n(),u(v.$$.fragment),I=n(),u(k.$$.fragment),J=n(),u(b.$$.fragment),K=n(),u(w.$$.fragment),X=n(),u(A.$$.fragment),Y=n(),u(C.$$.fragment),Z=n(),u(P.$$.fragment),ee=n(),u(_.$$.fragment),te=n(),u(h.$$.fragment),ie=n(),u(E.$$.fragment),ae=n(),u(T.$$.fragment),ne=n(),u(q.$$.fragment),re=n(),u(N.$$.fragment),ue=n(),u(j.$$.fragment),le=n(),u(U.$$.fragment),ce=n(),u(S.$$.fragment),oe=n(),u(B.$$.fragment),se=n(),u(W.$$.fragment),pe=n(),u(y.$$.fragment),me=n(),u(L.$$.fragment),de=n(),u(D.$$.fragment),$e=n(),Q=ge("p"),this.h()},l(e){const t=he("svelte-u9bgzb",document.head);$=ze(t,"META",{name:!0,content:!0}),t.forEach(i),H=r(e),M=ze(e,"P",{}),ke(M).forEach(i),F=r(e),l(f.$$.fragment,e),O=r(e),l(g.$$.fragment,e),R=r(e),l(z.$$.fragment,e),G=r(e),x=ze(e,"P",{"data-svelte-h":!0}),Ee(x)!=="svelte-2gd2fc"&&(x.textContent=ve),V=r(e),l(v.$$.fragment,e),I=r(e),l(k.$$.fragment,e),J=r(e),l(b.$$.fragment,e),K=r(e),l(w.$$.fragment,e),X=r(e),l(A.$$.fragment,e),Y=r(e),l(C.$$.fragment,e),Z=r(e),l(P.$$.fragment,e),ee=r(e),l(_.$$.fragment,e),te=r(e),l(h.$$.fragment,e),ie=r(e),l(E.$$.fragment,e),ae=r(e),l(T.$$.fragment,e),ne=r(e),l(q.$$.fragment,e),re=r(e),l(N.$$.fragment,e),ue=r(e),l(j.$$.fragment,e),le=r(e),l(U.$$.fragment,e),ce=r(e),l(S.$$.fragment,e),oe=r(e),l(B.$$.fragment,e),se=r(e),l(W.$$.fragment,e),pe=r(e),l(y.$$.fragment,e),me=r(e),l(L.$$.fragment,e),de=r(e),l(D.$$.fragment,e),$e=r(e),Q=ze(e,"P",{}),ke(Q).forEach(i),this.h()},h(){be($,"name","hf:doc:metadata"),be($,"content",Se)},m(e,t){Te(document.head,$),a(e,H,t),a(e,M,t),a(e,F,t),c(f,e,t),a(e,O,t),c(g,e,t),a(e,R,t),c(z,e,t),a(e,G,t),a(e,x,t),a(e,V,t),c(v,e,t),a(e,I,t),c(k,e,t),a(e,J,t),c(b,e,t),a(e,K,t),c(w,e,t),a(e,X,t),c(A,e,t),a(e,Y,t),c(C,e,t),a(e,Z,t),c(P,e,t),a(e,ee,t),c(_,e,t),a(e,te,t),c(h,e,t),a(e,ie,t),c(E,e,t),a(e,ae,t),c(T,e,t),a(e,ne,t),c(q,e,t),a(e,re,t),c(N,e,t),a(e,ue,t),c(j,e,t),a(e,le,t),c(U,e,t),a(e,ce,t),c(S,e,t),a(e,oe,t),c(B,e,t),a(e,se,t),c(W,e,t),a(e,pe,t),c(y,e,t),a(e,me,t),c(L,e,t),a(e,de,t),c(D,e,t),a(e,$e,t),a(e,Q,t),fe=!0},p:Ae,i(e){fe||(o(f.$$.fragment,e),o(g.$$.fragment,e),o(z.$$.fragment,e),o(v.$$.fragment,e),o(k.$$.fragment,e),o(b.$$.fragment,e),o(w.$$.fragment,e),o(A.$$.fragment,e),o(C.$$.fragment,e),o(P.$$.fragment,e),o(_.$$.fragment,e),o(h.$$.fragment,e),o(E.$$.fragment,e),o(T.$$.fragment,e),o(q.$$.fragment,e),o(N.$$.fragment,e),o(j.$$.fragment,e),o(U.$$.fragment,e),o(S.$$.fragment,e),o(B.$$.fragment,e),o(W.$$.fragment,e),o(y.$$.fragment,e),o(L.$$.fragment,e),o(D.$$.fragment,e),fe=!0)},o(e){s(f.$$.fragment,e),s(g.$$.fragment,e),s(z.$$.fragment,e),s(v.$$.fragment,e),s(k.$$.fragment,e),s(b.$$.fragment,e),s(w.$$.fragment,e),s(A.$$.fragment,e),s(C.$$.fragment,e),s(P.$$.fragment,e),s(_.$$.fragment,e),s(h.$$.fragment,e),s(E.$$.fragment,e),s(T.$$.fragment,e),s(q.$$.fragment,e),s(N.$$.fragment,e),s(j.$$.fragment,e),s(U.$$.fragment,e),s(S.$$.fragment,e),s(B.$$.fragment,e),s(W.$$.fragment,e),s(y.$$.fragment,e),s(L.$$.fragment,e),s(D.$$.fragment,e),fe=!1},d(e){e&&(i(H),i(M),i(F),i(O),i(R),i(G),i(x),i(V),i(I),i(J),i(K),i(X),i(Y),i(Z),i(ee),i(te),i(ie),i(ae),i(ne),i(re),i(ue),i(le),i(ce),i(oe),i(se),i(pe),i(me),i(de),i($e),i(Q)),i($),p(f,e),p(g,e),p(z,e),p(v,e),p(k,e),p(b,e),p(w,e),p(A,e),p(C,e),p(P,e),p(_,e),p(h,e),p(E,e),p(T,e),p(q,e),p(N,e),p(j,e),p(U,e),p(S,e),p(B,e),p(W,e),p(y,e),p(L,e),p(D,e)}}}const Se='{"title":"Quiz de sfârșit de capitol","local":"end-of-chapter-quiz","sections":[{"title":"1. Când ar trebui să antrenezi un nou tokenizer?","local":"1-când-ar-trebui-să-antrenezi-un-nou-tokenizer","sections":[],"depth":3},{"title":"2. Care este avantajul utilizării unui generator de liste de texte în comparație cu o listă de liste de texte atunci când utilizați train_new_from_iterator() ?","local":"2-care-este-avantajul-utilizării-unui-generator-de-liste-de-texte-în-comparație-cu-o-listă-de-liste-de-texte-atunci-când-utilizați-trainnewfromiterator-","sections":[],"depth":3},{"title":"3. Care sunt avantajele utilizării unui tokenizer “rapid”?","local":"3-care-sunt-avantajele-utilizării-unui-tokenizer-rapid","sections":[],"depth":3},{"title":"4. Cum tratează pipelineul token-classification entitățile care se întind pe mai mulți tokeni?","local":"4-cum-tratează-pipelineul-token-classification-entitățile-care-se-întind-pe-mai-mulți-tokeni","sections":[],"depth":3},{"title":"5. Cum gestionează pipelineul question-answering contextele lungi?","local":"5-cum-gestionează-pipelineul-question-answering-contextele-lungi","sections":[],"depth":3},{"title":"6. Ce este normalizarea?","local":"6-ce-este-normalizarea","sections":[],"depth":3},{"title":"7. Ce este pre-tokenizarea pentru un subword tokenizer?","local":"7-ce-este-pre-tokenizarea-pentru-un-subword-tokenizer","sections":[],"depth":3},{"title":"8. Selectați propozițiile care se aplică modelului de tokenizare BPE.","local":"8-selectați-propozițiile-care-se-aplică-modelului-de-tokenizare-bpe","sections":[],"depth":3},{"title":"9. Selectați propozițiile care se aplică modelului de tokenizare WordPiece.","local":"9-selectați-propozițiile-care-se-aplică-modelului-de-tokenizare-wordpiece","sections":[],"depth":3},{"title":"10. Selectați propozițiile care se aplică modelului de tokenizare Unigram.","local":"10-selectați-propozițiile-care-se-aplică-modelului-de-tokenizare-unigram","sections":[],"depth":3}],"depth":1}';function Be(xe){return Ce(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Qe extends Pe{constructor($){super(),_e(this,$,Be,Ue,we,{})}}export{Qe as component}; | |
Xet Storage Details
- Size:
- 19.2 kB
- Xet hash:
- 85aa05d95972cc32b8d9adbb1dc6ba572ef66489464c1070237340e5498149e6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.