Buckets:

rtrm's picture
|
download
raw
12 kB

Quiz la final de capitol [[quiz-la-final-de-capitol]]

1. Care este ordinea pipeline-ului de modelare a limbajului?

<Question choices={[ { text: "Primul, modelul, care gestionează textul și returnează predicții brute. Apoi, tokenizatorul interpretează aceste predicții și le convertește înapoi în text atunci când este necesar.", explain: "Modelul nu poate înțelege textul! Tokenizatorul trebuie mai întâi să tokenizeze textul și să îl convertească în ID-uri, astfel încât să poată fi înțeles de model." }, { text: "Primul este tokenizatorul, care gestionează textul și returnează ID-uri. Modelul gestionează aceste ID-uri și generează o predicție, care poate fi un text.", explain: "Predicția modelului nu poate fi transformată imediat în text. Trebuie utilizat tokenizatorul pentru a converti predicția înapoi în text!" }, { text: "Tokenizatorul gestionează textul și returnează ID-uri. Modelul gestionează aceste ID-uri și generează o predicție. Tokenizatorul poate fi apoi utilizat din nou pentru a converti aceste predicții înapoi în text.", explain: "Corect! Tokenizatorul poate fi utilizat atât pentru tokenizare, cât și pentru de-tokenizare.", correct: true } ]} />

2. Câte dimensiuni are tensorul generat de modelul Transformer și care sunt acestea?

<Question choices={[ { text: "2: Lungimea secvenței și mărimea lotului", explain: "Fals! Tensor-ul generat de model are a treia dimensiune: mărimea ascunsă." }, { text: "2: Lungimea secvenței și mărimea ascunsă", explain: "Fals! Toate modelele Transformer gestionează loturi, chiar și cu o singură secvență; aceasta ar fi o dimensiune a lotului de 1!" }, { text: "3: Lungimea secvenței, dimensiunea lotului și dimensiunea ascunsă", explain: "Corect!", correct: true } ]} />

3. Care dintre următoarele este un exemplu de tokenizare a cuvintelor secundare?

<Question choices={[ { text: "WordPiece", explain: "Da, acesta este un exemplu de tokenizare a cuvintelor secundare!", correct: true }, { text: "Tokenizare bazată pe caractere", explain: "Tokenizarea bazată pe caractere nu este un tip de tokenizare a cuvintelor secundare." }, { text: "Separarea pe baza spațiului și a punctuației", explain: "Corect, aceasta este o schemă de tokenizare bazată pe cuvinte!" }, { text: "BPE", explain: "Da, acesta este un exemplu de tokenizare a cuvintelor secundare!", correct: true }, { text: "Unigram", explain: "Da, acesta este un exemplu de tokenizare a cuvintelor secundare!", correct: true }, { text: "Nimic din cele de mai sus", explain: "Incorect!" } ]} />

4. Ce este un model head?

<Question choices={[ { text: "O componentă a rețelei Transformer de bază care redirecționează tensorii către straturile lor corecte", explain: "Incorect! Nu există o astfel de componentă." }, { text: "Cunoscut și sub denumirea de mecanism de auto-atenție, acesta adaptează reprezentarea unui token în funcție de celelalte token-uri din secvență", explain: "Incorect! Layerul de auto-atenție conține „heads” de atenție, dar nu acestea sunt adaptation heads." }, { text: "O componentă suplimentară, alcătuită de obicei din unul sau mai multe straturi, pentru a converti predicțiile transformatorului într-o sarcină specifică de ieșire", explain: "Corect. Adaptation heads (sau simplu heads) apar în diverse forme: language modeling heads, question answering heads, sequence classification heads...", correct: true } ]} />

{#if fw === 'pt'}

5. Ce este un AutoModel?

<Question choices={[ { text: "Un model care se antrenează automat pe baza datelor dumneavoastră", explain: "Incorect. Poate îl confundați cu produsul nostru AutoTrain?" }, { text: "Un obiect care returnează arhitectura corespunzătoare bazată pe checkpoint.", explain: "Exact: AutoModel are nevoie doar să știe checkpoint-ul din care să se inițializeze pentru a returna arhitectura corectă.", correct: true }, { text: "Un model care detectează automat limba utilizată pentru intrările sale pentru a încărca ponderile corecte", explain: "Incorect; deși unele checkpoint-uri și modele pot gestiona mai multe limbi, nu există instrumente integrate pentru selectarea automată a checkpoint-ului în funcție de limbă. Ar trebui să consultați Model Hub pentru a găsi cel mai bun checkpoint pentru sarcina dumneavoastră!" } ]} />

{:else}

5. Ce este un TFAutoModel?

<Question choices={[ { text: "Un model care se antrenează automat pe baza datelor dumneavoastră", explain: "Incorect. Poate îl confundați cu produsul nostru AutoTrain?" }, { text: "Un obiect care returnează arhitectura corespunzătoare bazată pe checkpoint", explain: "Exact: TFAutoModel are nevoie doar să știe checkpoint-ul din care să se inițializeze pentru a returna arhitectura corectă.", correct: true }, { text: "Un model care detectează automat limba utilizată pentru intrările sale pentru a încărca ponderile corecte", explain: "Incorect; deși unele checkpoint-uri și modele pot gestiona mai multe limbi, nu există instrumente integrate pentru selectarea automată a checkpoint-ului în funcție de limbă. Ar trebui să consultați Model Hub pentru a găsi cel mai bun checkpoint pentru sarcina dumneavoastră!" } ]} />

{/if}

6. Care sunt tehnicile de care trebuie să țineți cont atunci când grupați secvențe de diferite lungimi?

<Question choices={[ { text: "Trunchierea", explain: "Da, trunchierea este o modalitate corectă de a uniformiza secvențele astfel încât acestea să se încadreze într-o formă dreptunghiulară. Este totuși singura modalitate?", correct: true }, { text: "Returning tensors", explain: "Deși celelalte tehnici vă permit să returnați tensori dreptunghiulari, doar a returna tensori nu ajută când combinați secvențele într-un lot." }, { text: "Padding", explain: "Da, padding-ul este o modalitate corectă de a egaliza secvențele, astfel încât să se potrivească într-o formă dreptunghiulară. Este, însă, singura?", correct: true }, { text: "Attention masking", explain: "Absolut! Măștile de atenție sunt extrem de importante atunci când gestionați secvențe de lungimi diferite. Totuși, nu este singura tehnică de care trebuie să țineți cont.", correct: true } ]} />

7. Care este scopul aplicării unei funcții SoftMax asupra logit-urilor produse de un model de clasificare a secvențelor?

<Question choices={[ { text: "Le atenuează logiturile pentru a fi mai de încredere.", explain: "Nu, funcția SoftMax nu afectează fiabilitatea rezultatelor." }, { text: "Aplică o limită inferioară și superioară astfel încât valorile să fie inteligibile.", explain: "Corect! Valorile rezultate sunt cuprinse între 0 și 1. Totuși, nu este singurul motiv pentru care folosim o funcție SoftMax.", correct: true }, { text: "Suma totală a ieșirii devine 1, ducând la o interpretare probabilistică posibilă.", explain: "Corect! Totuși, nu este singurul motiv pentru care folosim o funcție SoftMax.", correct: true } ]} />

8. În jurul cărei metode se concentrează cea mai mare parte a API-ului tokenizer?

<Question choices={[ { text: "encode, deoarece poate codifica textul în ID-uri și ID-urile în predicții", explain: "Greșit! Deși metoda encode există pe tokenizers, ea nu există pe modele." }, { text: "Apelarea directă a obiectului tokenizer.", explain: "Exact! Metoda call a tokenizatorului este foarte puternică și poate gestiona aproape orice. Este și metoda folosită pentru a obține predicții de la un model.", correct: true }, { text: "pad", explain: "Greșit! Padding-ul este foarte util, dar este doar o parte a API-ului tokenizer." }, { text: "tokenize", explain: "Metoda tokenize este, fără îndoială, una dintre cele mai utile, dar nu reprezintă nucleul API-ului tokenizer." } ]} />

9. Ce conține variabila result în acest exemplu de cod?

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
result = tokenizer.tokenize("Hello!")

<Question choices={[ { text: "O listă de șiruri de caractere, fiecare șir fiind un token", explain: "Desigur! Convertiți aceste șiruri în ID-uri și transmiteți-le către un model!", correct: true }, { text: "O listă de ID-uri", explain: "Incorect; pentru asta folosim metoda call sau convert_tokens_to_ids!" }, { text: "Un șir care conține toate token-urile", explain: "Nu ar fi optim, deoarece scopul este de a separa șirul inițial în mai multe token-uri." } ]} />

{#if fw === 'pt'}

10. Este ceva greșit în următorul cod?

from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
model = AutoModel.from_pretrained("gpt2")

encoded = tokenizer("Hey!", return_tensors="pt")
result = model(**encoded)

<Question choices={[ { text: "Nu, pare corect.", explain: "Din păcate, asocierea unui model cu un tokenizator care a fost antrenat cu un alt checkpoint rareori este o idee bună. Modelul nu a fost antrenat să interpreteze ieșirea acestui tokenizator, așa că ieșirea modelului (dacă va rula chiar!) nu va avea sens." }, { text: "Tokenizerul și modelul trebuie să provină întotdeauna din același checkpoint.", explain: "Corect!", correct: true }, { text: "Este o bună practică să folosiți trunchierea și padding-ul cu tokenizatorul, întrucât fiecare intrare este un lot.", explain: "Este adevărat că orice intrare de model are nevoie să fie sub formă de lot. Totuși, trunchierea sau padding-ul acestei secvențe nu ar avea neapărat sens deoarece este singura intrare, iar aceste tehnici se folosesc pentru a trata o listă de propoziții." } ]} />

{:else}

10. Este ceva greșit în următorul cod?

from transformers import AutoTokenizer, TFAutoModel

tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
model = TFAutoModel.from_pretrained("gpt2")

encoded = tokenizer("Hey!", return_tensors="pt")
result = model(**encoded)

<Question choices={[ { text: "Nu, pare corect.", explain: "Din păcate, asocierea unui model cu un tokenizator care a fost antrenat cu un alt checkpoint rareori este o idee bună. Modelul nu a fost antrenat să interpreteze ieșirea acestui tokenizator, așa că ieșirea modelului (dacă va rula chiar!) nu va avea sens." }, { text: "Tokenizerul și modelul trebuie să provină întotdeauna din același checkpoint.", explain: "Corect!", correct: true }, { text: "Este o bună practică să folosiți trunchierea și padding-ul cu tokenizatorul, întrucât fiecare intrare este un lot.", explain: "Este adevărat că orice intrare de model trebuie să fie sub formă de batch. Totuși, trunchierea sau padding-ul acestei secvențe nu ar avea neapărat sens deoarece este singura intrare, iar aceste tehnici se folosesc pentru a grupa o listă de propoziții într-un batch." } ]} />

{/if}

Xet Storage Details

Size:
12 kB
·
Xet hash:
c328fd00759cc11e0740d009db4c6be497bf5959eed6e06615fc6d72758ba318

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