Buckets:

rtrm's picture
|
download
raw
9.92 kB
# Quiz de sfârșit de capitol[[quiz-de-sfarsit-de-capitol]]
<CourseFloatingBanner
chapter={8}
classNames="absolute z-10 right-0 top-0"
/>
Să testăm ce ați învățat în acest capitol!
### 1. În ce ordine ar trebui să citiți un traceback Python?
<Question
choices={[
{
text: "De sus în jos",
explain: "Încercați din nou -- deși majoritatea celorlalte limbaje de programare afișează excepția în partea de sus, Python este special în această privință."
},
{
text: "De jos în sus",
explain: "Corect! Un avantaj al traceback-urilor Python care arată excepția în partea de jos este este mai ușor de depanat când lucrați în terminal și aceasta este ultima linie pe care o vedeți.",
correct: true
}
]}
/>
### 2. Ce este un exemplu minimal reproductibil?
<Question
choices={[
{
text: "O implementare simplă a unei arhitecturi Transformer dintr-un articol de cercetare",
explain: "Deși este foarte educativ implementați propriile modele Transformer de la zero, nu despre asta vorbim aici."
},
{
text: "Un bloc de cod compact și autonom care poate fi rulat fără nicio dependență externă de fișiere sau date private",
explain: "Corect! Exemplele minimale reproductibile îi ajută pe întreținătorii bibliotecii reproducă problema pe care o aveți, astfel încât poată găsi soluții mai rapid.",
correct: true
},
{
text: "O captură de ecran a traceback-ului Python",
explain: "Încercați din nou -- deși este tentant includeți o captură de ecran a erorii cu care confruntați când depuneți o problemă, aceasta face foarte dificil pentru alții reproducă eroarea."
},
{
text: "Un notebook care conține întreaga analiză, inclusiv părți care nu sunt legate de eroare",
explain: "Nu chiar -- deși poate fi util partajați un notebook Google Colab care arată eroarea, asigurați-vă este scurt și conține doar codul relevant."
}
]}
/>
### 3. Să presupunem că încercați să rulați următorul cod, care aruncă o eroare:
```py
from transformers import GPT3ForSequenceClassification
# ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)
# ---------------------------------------------------------------------------
# ImportError Traceback (most recent call last)
# /var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_30848/333858878.py in <module>
# ----> 1 from transformers import GPT3ForSequenceClassification
# ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)
```
Care dintre următoarele ar putea fi o alegere bună pentru titlul unui subiect pe forum pentru a cere ajutor?
<Question
choices={[
{
text: "<code>ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)</code>",
explain: "Includerea ultimei linii a traceback-ului poate fi descriptivă, dar aceasta este mai bine rezervată pentru corpul principal al subiectului. Încercați din nou!"
},
{
text: "Problemă cu <code>from transformers import GPT3ForSequenceClassification</code>",
explain: "Încercați din nou -- deși aceasta oferă informații utile, probabil este cel mai bine rezervată pentru corpul principal al textului.",
},
{
text: "De ce nu pot importa <code>GPT3ForSequenceClassification</code>?",
explain: "Alegere bună! Acest titlu este concis și îi dă cititorului un indiciu despre ce ar putea fi greșit (adică că GPT-3 nu este suportat în 🤗 Transformers).",
correct: true
},
{
text: "Este GPT-3 suportat în 🤗 Transformers?",
explain: "Bună alegere! Folosirea întrebărilor ca titluri de subiecte este o modalitate excelentă de a comunica problema comunității.",
correct: true
}
]}
/>
### 4. Să presupunem că ați încercat să rulați `trainer.train()` și vă confruntați cu o eroare criptică care nu vă spune exact de unde vine eroarea. Care dintre următoarele este primul loc unde ar trebui să căutați erori în pipeline-ul vostru de antrenament?
<Question
choices={[
{
text: "Pasul de optimizare unde calculăm gradienții și efectuăm backpropagation",
explain: "Deși pot exista bug-uri în optimizatorul vostru, acesta este de obicei la mai mulți pași în pipeline-ul de antrenament, așa există alte lucruri de verificat mai întâi. Încercați din nou!"
},
{
text: "Pasul de evaluare unde calculăm metricile",
explain: "Evaluarea este de obicei ceea ce faceți după antrenament pentru o epocă completă, așa ar trebui verificați mai întâi undeva mai devreme în pipeline-ul de antrenament."
},
{
text: "Seturile de date",
explain: "Corect! Privirea la datele voastre este aproape întotdeauna primul lucru pe care ar trebui îl faceți, pentru a asigura textul este codificat corespunzător, are caracteristicile așteptate, și așa mai departe.",
correct: true
},
{
text: "Dataloader-ele",
explain: "Încercați din nou -- aceasta este foarte aproape de primul lucru pe care ar trebui îl verificați. amintiți ce obiect transmitem la dataloader-e?"
}
]}
/>
### 5. Care este cea mai bună modalitate de a depana o eroare CUDA?
<Question
choices={[
{
text: "Postați mesajul de eroare pe forumuri sau GitHub.",
explain: "Asta nu va ajuta pe nimeni deoarece mesajele de eroare CUDA sunt de obicei foarte neinformative."
},
{
text: "Executați același cod pe CPU.",
explain: "Exact, asta ar trebui dea un mesaj de eroare mai bun!",
correct: true
},
{
text: "Citiți traceback-ul pentru a afla ce a cauzat eroarea.",
explain: "Asta este ceea ce ați face pentru orice altă eroare, dar erorile CUDA nu sunt de obicei ridicate unde s-au întâmplat deoarece majoritatea operațiilor CUDA sunt asincrone."
},
{
text: "Reduceți dimensiunea batch-ului.",
explain: "Reducerea dimensiunii batch-ului este de obicei o strategie bună pentru gestionarea erorilor CUDA out-of-memory, dar nu pentru această problemă particulară. Încercați din nou!"
},
{
text: "Reporniți kernel-ul Jupyter.",
explain: "Încercați din nou -- repornirea kernel-ului nu va face eroarea dispară prin magie!",
}
]}
/>
### 6. Care este cea mai bună modalitate de a face ca o problemă pe GitHub să fie reparată?
<Question
choices={[
{
text: "Postați un exemplu complet reproductibil al bug-ului.",
explain: "Da, aceasta este cea mai bună modalitate de a îi ajuta pe întreținători găsească bug-ul vostru. Ce altceva ar trebui faceți?",
correct: true
},
{
text: "Cereți în fiecare zi o actualizare.",
explain: "Este puțin probabil aducă ajutor; oamenii probabil vor ignora mai mult.",
},
{
text: "Inspectați codul sursă din jurul bug-ului și încercați găsiți motivul pentru care se întâmplă. Postați rezultatele în problemă.",
explain: "Asta îi va ajuta cu siguranță pe întreținători! Și dacă găsiți sursa bug-ului și o reparație, puteți chiar deschide un pull request. Ce altceva ar trebui faceți?",
correct: true
}
]}
/>
### 7. De ce este supraajustarea pe un batch de obicei o tehnică bună de depanare?
<Question
choices={[
{
text: "Nu este; supraajustarea este întotdeauna rea și ar trebui evitată.",
explain: "Când antrenați pe întregul set de date, supraajustarea poate într-adevăr fi un semn modelul vostru nu se va generaliza bine la exemple noi. Pentru depanare, totuși, nu antrenăm de obicei pe întregul set de date. Încercați din nou!"
},
{
text: "Ne permite verificăm modelul este capabil reducă loss-ul la zero.",
explain: "Corect! Cu un batch mic cu doar două exemple, putem verifica rapid dacă modelul este capabil învețe.",
correct: true
},
{
text: "Ne permite verificăm formele tensorilor intrărilor și etichetelor noastre sunt corecte.",
explain: "Încercați din nou -- dacă formele tensorilor voștri sunt dezalinate, atunci cu siguranță nu veți putea antrena, nici măcar pe un singur batch.",
}
]}
/>
### 8. De ce este o idee bună să includeți detalii despre mediul vostru de calcul cu `transformers-cli env` când creați o problemă nouă în repository-ul 🤗 Transformers?
<Question
choices={[
{
text: "Le permite întreținătorilor înțeleagă ce versiune a bibliotecii folosiți.",
explain: "Corect! Deoarece fiecare versiune majoră a bibliotecii poate avea modificări în API, știind ce versiune specifică folosiți poate ajuta la restrângerea problemei. Care sunt celelalte beneficii?",
correct: true
},
{
text: "Le permite întreținătorilor știe dacă rulați cod pe Windows, macOS sau Linux.",
explain: "Corect! Erorile pot fi uneori cauzate de sistemul de operare specific pe care îl folosiți, și știind acest lucru îi ajută pe întreținători le reproducă local. Dar aceasta nu este singura cauză.",
correct: true
},
{
text: "Le permite întreținătorilor știe dacă rulați cod pe un GPU sau CPU.",
explain: "Corect! Așa cum am văzut în acest capitol, codul rulat pe GPU-uri sau CPU-uri poate produce rezultate sau erori diferite, și știind ce hardware folosiți poate ajuta la concentrarea atenției întreținătorilor. Dar aceasta nu este singurul beneficiu...",
correct: true
}
]}
/>
<EditOnGithub source="https://github.com/huggingface/course/blob/main/chapters/ro/chapter8/7.mdx" />

Xet Storage Details

Size:
9.92 kB
·
Xet hash:
41eb3917153396d6a0300002c8e41827ae234ce0e597f945273bfacdd337e9ea

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