#
Quiz de sfârșit de capitol

Să testăm ce ați învățat în acest capitol!

###
1. În ce ordine ar trebui să citiți un traceback Python?

De sus în jos De jos în sus

###
2. Ce este un exemplu minimal reproductibil?

O implementare simplă a unei arhitecturi Transformer dintr-un articol de cercetare Un bloc de cod compact și autonom care poate fi rulat fără nicio dependență externă de fișiere sau date private O captură de ecran a traceback-ului Python Un notebook care conține întreaga analiză, inclusiv părți care nu sunt legate de eroare

###
3. Să presupunem că încercați să rulați următorul cod, care aruncă o eroare:

    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?

`ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)` Problemă cu `from transformers import GPT3ForSequenceClassification` De ce nu pot importa `GPT3ForSequenceClassification`? Este GPT-3 suportat în 🤗 Transformers?

###
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?

Pasul de optimizare unde calculăm gradienții și efectuăm backpropagation Pasul de evaluare unde calculăm metricile Seturile de date Dataloader-ele

###
5. Care este cea mai bună modalitate de a depana o eroare CUDA?

Postați mesajul de eroare pe forumuri sau GitHub. Executați același cod pe CPU. Citiți traceback-ul pentru a afla ce a cauzat eroarea. Reduceți dimensiunea batch-ului. Reporniți kernel-ul Jupyter.

###
6. Care este cea mai bună modalitate de a face ca o problemă pe GitHub să fie reparată?

Postați un exemplu complet reproductibil al bug-ului. Cereți în fiecare zi o actualizare. Inspectați codul sursă din jurul bug-ului și încercați să găsiți motivul pentru care se întâmplă. Postați rezultatele în problemă.

###
7. De ce este supraajustarea pe un batch de obicei o tehnică bună de depanare?

Nu este; supraajustarea este întotdeauna rea și ar trebui evitată. Ne permite să verificăm că modelul este capabil să reducă loss-ul la zero. Ne permite să verificăm că formele tensorilor intrărilor și etichetelor noastre sunt corecte.

###
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?

Le permite întreținătorilor să înțeleagă ce versiune a bibliotecii folosiți. Le permite întreținătorilor să știe dacă rulați cod pe Windows, macOS sau Linux. Le permite întreținătorilor să știe dacă rulați cod pe un GPU sau CPU.
< > Update on GitHub