Buckets:
| import{s as ke,n as be,o as we}from"../chunks/scheduler.37c15a92.js";import{S as Ae,i as Pe,g as $e,s as n,r as u,A as Ce,h as fe,f as i,c as r,j as xe,u as l,x as he,k as ve,y as _e,a,v as c,d as o,t as s,w as p}from"../chunks/index.2bf4358c.js";import{C as Ee}from"../chunks/CourseFloatingBanner.6add7356.js";import{Q as d}from"../chunks/Question.e61af2ef.js";import{H as m,E as Te}from"../chunks/getInferenceSnippets.ebf8be91.js";function qe(ge){let $,L,Q,F,f,M,g,O,z,ze="Hai să testăm ceea ce ai învățat în acest capitol!",R,x,G,v,V,k,I,b,J,w,K,A,X,P,Y,C,Z,h,ee,_,te,E,ie,T,ae,q,ne,N,re,j,ue,U,le,B,ce,S,oe,W,se,y,pe,D,me,H,de;return f=new m({props:{title:"Quiz de sfârșit de capitol",local:"end-of-chapter-quiz",headingTag:"h1"}}),g=new Ee({props:{chapter:6,classNames:"absolute z-10 right-0 top-0"}}),x=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"}}),v=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."}]}}),k=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"}}),b=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?"}]}}),w=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"}}),A=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"}}),C=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"}}),_=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."}]}}),E=new m({props:{title:"6. Ce este normalizarea?",local:"6-ce-este-normalizarea",headingTag:"h3"}}),T=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."}]}}),q=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"}}),N=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."}]}}),j=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"}}),U=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"}}),S=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}]}}),W=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"}}),y=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 Te({props:{source:"https://github.com/huggingface/course/blob/main/chapters/rum/chapter6/10.mdx"}}),{c(){$=$e("meta"),L=n(),Q=$e("p"),F=n(),u(f.$$.fragment),M=n(),u(g.$$.fragment),O=n(),z=$e("p"),z.textContent=ze,R=n(),u(x.$$.fragment),G=n(),u(v.$$.fragment),V=n(),u(k.$$.fragment),I=n(),u(b.$$.fragment),J=n(),u(w.$$.fragment),K=n(),u(A.$$.fragment),X=n(),u(P.$$.fragment),Y=n(),u(C.$$.fragment),Z=n(),u(h.$$.fragment),ee=n(),u(_.$$.fragment),te=n(),u(E.$$.fragment),ie=n(),u(T.$$.fragment),ae=n(),u(q.$$.fragment),ne=n(),u(N.$$.fragment),re=n(),u(j.$$.fragment),ue=n(),u(U.$$.fragment),le=n(),u(B.$$.fragment),ce=n(),u(S.$$.fragment),oe=n(),u(W.$$.fragment),se=n(),u(y.$$.fragment),pe=n(),u(D.$$.fragment),me=n(),H=$e("p"),this.h()},l(e){const t=Ce("svelte-u9bgzb",document.head);$=fe(t,"META",{name:!0,content:!0}),t.forEach(i),L=r(e),Q=fe(e,"P",{}),xe(Q).forEach(i),F=r(e),l(f.$$.fragment,e),M=r(e),l(g.$$.fragment,e),O=r(e),z=fe(e,"P",{"data-svelte-h":!0}),he(z)!=="svelte-2gd2fc"&&(z.textContent=ze),R=r(e),l(x.$$.fragment,e),G=r(e),l(v.$$.fragment,e),V=r(e),l(k.$$.fragment,e),I=r(e),l(b.$$.fragment,e),J=r(e),l(w.$$.fragment,e),K=r(e),l(A.$$.fragment,e),X=r(e),l(P.$$.fragment,e),Y=r(e),l(C.$$.fragment,e),Z=r(e),l(h.$$.fragment,e),ee=r(e),l(_.$$.fragment,e),te=r(e),l(E.$$.fragment,e),ie=r(e),l(T.$$.fragment,e),ae=r(e),l(q.$$.fragment,e),ne=r(e),l(N.$$.fragment,e),re=r(e),l(j.$$.fragment,e),ue=r(e),l(U.$$.fragment,e),le=r(e),l(B.$$.fragment,e),ce=r(e),l(S.$$.fragment,e),oe=r(e),l(W.$$.fragment,e),se=r(e),l(y.$$.fragment,e),pe=r(e),l(D.$$.fragment,e),me=r(e),H=fe(e,"P",{}),xe(H).forEach(i),this.h()},h(){ve($,"name","hf:doc:metadata"),ve($,"content",Ne)},m(e,t){_e(document.head,$),a(e,L,t),a(e,Q,t),a(e,F,t),c(f,e,t),a(e,M,t),c(g,e,t),a(e,O,t),a(e,z,t),a(e,R,t),c(x,e,t),a(e,G,t),c(v,e,t),a(e,V,t),c(k,e,t),a(e,I,t),c(b,e,t),a(e,J,t),c(w,e,t),a(e,K,t),c(A,e,t),a(e,X,t),c(P,e,t),a(e,Y,t),c(C,e,t),a(e,Z,t),c(h,e,t),a(e,ee,t),c(_,e,t),a(e,te,t),c(E,e,t),a(e,ie,t),c(T,e,t),a(e,ae,t),c(q,e,t),a(e,ne,t),c(N,e,t),a(e,re,t),c(j,e,t),a(e,ue,t),c(U,e,t),a(e,le,t),c(B,e,t),a(e,ce,t),c(S,e,t),a(e,oe,t),c(W,e,t),a(e,se,t),c(y,e,t),a(e,pe,t),c(D,e,t),a(e,me,t),a(e,H,t),de=!0},p:be,i(e){de||(o(f.$$.fragment,e),o(g.$$.fragment,e),o(x.$$.fragment,e),o(v.$$.fragment,e),o(k.$$.fragment,e),o(b.$$.fragment,e),o(w.$$.fragment,e),o(A.$$.fragment,e),o(P.$$.fragment,e),o(C.$$.fragment,e),o(h.$$.fragment,e),o(_.$$.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(B.$$.fragment,e),o(S.$$.fragment,e),o(W.$$.fragment,e),o(y.$$.fragment,e),o(D.$$.fragment,e),de=!0)},o(e){s(f.$$.fragment,e),s(g.$$.fragment,e),s(x.$$.fragment,e),s(v.$$.fragment,e),s(k.$$.fragment,e),s(b.$$.fragment,e),s(w.$$.fragment,e),s(A.$$.fragment,e),s(P.$$.fragment,e),s(C.$$.fragment,e),s(h.$$.fragment,e),s(_.$$.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(B.$$.fragment,e),s(S.$$.fragment,e),s(W.$$.fragment,e),s(y.$$.fragment,e),s(D.$$.fragment,e),de=!1},d(e){e&&(i(L),i(Q),i(F),i(M),i(O),i(z),i(R),i(G),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(H)),i($),p(f,e),p(g,e),p(x,e),p(v,e),p(k,e),p(b,e),p(w,e),p(A,e),p(P,e),p(C,e),p(h,e),p(_,e),p(E,e),p(T,e),p(q,e),p(N,e),p(j,e),p(U,e),p(B,e),p(S,e),p(W,e),p(y,e),p(D,e)}}}const Ne='{"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 je(ge){return we(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class De extends Ae{constructor($){super(),Pe(this,$,je,qe,ke,{})}}export{De as component}; | |
Xet Storage Details
- Size:
- 18.9 kB
- Xet hash:
- c87a575752fcf661353b9bc6f17667e8c052b188710786f0b36c53f3c02f6beb
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.