Buckets:
| # Quiz di fine capitolo | |
| Testiamo cosa avete imparato in questo capitolo! | |
| ### 1. Il dataset `emotion` contiene messaggi Twitter etichettati con emozioni. Cercalo nel [Hub](https://huggingface.co/datasets) e leggi la carta del dataset. Quale di queste non fa parte delle sue emozioni di base? | |
| ### 2. Cerca il dataset `ar_sarcasm` nel [Hub](https://huggingface.co/datasets). Quali compiti supporta? | |
| dataset card!" | |
| }, | |
| { | |
| text: "Named entity recognition (Riconoscimento di entità con un nome)", | |
| explain: "Sbagliato — dai un'altra occhiata alla dataset card!" | |
| }, | |
| { | |
| text: "Question answering (Risposte a domande)", | |
| explain: "Purtroppo non hai risposto correttamente. Prova ancora!" | |
| } | |
| ]} | |
| /> | |
| ### 3. Come deve essere preparata una coppia di frasi per essere processata dal modello BERT? | |
| [SEP] è necessario per separare le due frasi, ma non è l'unica cosa!" | |
| }, | |
| { | |
| text: "[CLS] Tokens_della_frase_1 Tokens_della_frase_2", | |
| explain: "Un token speciale [CLS] è necessario all'inizio, ma non è l'unica cosa!" | |
| }, | |
| { | |
| text: "[CLS] Tokens_della_frase_1 [SEP] Tokens_della_frase_2 [SEP]", | |
| explain: "Corretto!", | |
| correct: true | |
| }, | |
| { | |
| text: "[CLS] Tokens_della_frase_1 [SEP] Tokens_della_frase_2", | |
| explain: "Un token speciale [CLS] è necessario all'inizio e un token speciale [SEP] è necessario per separare le due frasi, ma non è l'unica cosa!" | |
| } | |
| ]} | |
| /> | |
| {#if fw === 'pt'} | |
| ### 4. Quali sono i benefici del metodo `Dataset.map()`? | |
| ### 5. Qual è il significato di padding dinamico (dynamic padding)? | |
| ### 6. Qual è lo scopo di una funzione di raccolta (collate function)? | |
| DataCollatorWithPadding." | |
| }, | |
| { | |
| text: "Di raccogliere tutti i campioni in una batch.", | |
| explain: "Corretto! Puoi passare la funzione di raccolta come argomento di un DataLoader. Noi abbiamo usato la funzione DataCollatorWithPadding, che applica padding a tutti gli elementi di una batch affinché abbiano la stessa lunghezza.", | |
| correct: true | |
| }, | |
| { | |
| text: "Di preprocessare l'intero dataset", | |
| explain: "Quella sarebbe una funzione di preprocessing, non di raccolta." | |
| }, | |
| { | |
| text: "Di troncare le sequenze nel dataset.", | |
| explain: "Una funzione di raccolta gestisce solo batch individuali, non l'intero dataset. Se siete interessati al troncamento, potete usare l'argomento truncate del tokenizer." | |
| } | |
| ]} | |
| /> | |
| ### 7. Cosa succede quando una classe di tipo `AutoModelForXxx` viene istanziata con un modello di linguaggio pre-addestrato (come `bert-base-uncased`) che corrisponde ad un compito differente rispetto a quello per cui era stato addestrato? | |
| AutoModelForSequenceClassification con bert-base-uncased, abbiamo ottenuto un avvertimento mentre il modello veniva istanziato. La testa pre-addestrata non viene usata per il compito di classificazione delle sequenze, ma viene scartata e una nuova testa viene istanziata con pesi casuali.", | |
| correct: true | |
| }, | |
| { | |
| text: "La testa del modello pre-addestrato viene scartata", | |
| explain: "Deve succedere anche qualcos'altro. Prova ancora!" | |
| }, | |
| { | |
| text: "Nulla, dato che il modello può comunque essere affinato per un compito differente.", | |
| explain: "La testa del modello pre-addestrato non era stata addestrata per risolvere questo compito, quindi dovremmo scartarla!" | |
| } | |
| ]} | |
| /> | |
| ### 8. Qual è lo scopo di `TrainingArguments`? | |
| Trainer.", | |
| explain: "Corretto!", | |
| correct: true | |
| }, | |
| { | |
| text: "Specifica le dimensioni del modello.", | |
| explain: "Le dimensioni del modello sono definite dalla configurazione del modello, non dalla classe TrainingArguments." | |
| }, | |
| { | |
| text: "Contiene soltanto gli iperparametri usati per la valutazione.", | |
| explain: "Nell'esempio, abbiamo specificato anche dove salvare il modello e i suoi checkpoint. Prova ancora!" | |
| }, | |
| { | |
| text: "Contiene soltanto gli iperparametri usati per l'addestramento.", | |
| explain: "Nell'esempio, abbiamo usato anche una evaluation_strategy (stragia di valutazione). Prova ancora!" | |
| } | |
| ]} | |
| /> | |
| ### 9. Perché si dovrebbe usare la libreria 🤗 Accelerate? | |
| Trainer, non della libreria 🤗 Accelerate. Prova ancora!" | |
| }, | |
| { | |
| text: "Permette ai nostri cicli di addestramento di venire eseguiti con strategie distribuite.", | |
| explain: "Corretto! Con 🤗 Accelerate, i tuoi cicli di addestramento funzioneranno con svariate GPU e TPU.", | |
| correct: true | |
| }, | |
| { | |
| text: "Fornisce altre funzioni di ottimizzazione.", | |
| explain: "No, la libreria 🤗 Accelerate library non fornisce alcuna funzione di ottimizzazione." | |
| } | |
| ]} | |
| /> | |
| {:else} | |
| ### 4. Cosa succede quando una classe di tipo `TFAutoModelForXxx` viene istanziata con un modello di linguaggio pre-addestrato (come `bert-base-uncased`) che corrisponde ad un compito differente rispetto a quello per cui era stato addestrato? | |
| TFAutoModelForSequenceClassification con bert-base-uncased, abbiamo ottenuto un avvertimento mentre il modello veniva istanziato. La testa pre-addestrata non viene usata per il compito di classificazione delle sequenze, ma viene scartata e una nuova testa viene istanziata con pesi casuali.", | |
| correct: true | |
| }, | |
| { | |
| text: "La testa del modello pre-addestrato viene scartata", | |
| explain: "Deve succedere anche qualcos'altro. Prova ancora!" | |
| }, | |
| { | |
| text: "Nulla, dato che il modello può comunque essere affinato per un compito differente.", | |
| explain: "La testa del modello pre-addestrato non era stata addestrata per risolvere questo compito, quindi dovremmo scartarla!" | |
| } | |
| ]} | |
| /> | |
| ### 5. I modelli Tensorflow da `transformers` sono già dei modelli Keras. Quali benefici offre ciò? | |
| TPUStrategy, incluso l'inizializzazione del modello" | |
| }, | |
| { | |
| text: "Si possono sfruttare metodi già esistenti quali compile(), fit(), e predict().", | |
| explain: "Correto! Una volta ottenuti i dati, l'addestramento richiede molto poco sforzo.", | |
| correct: true | |
| }, | |
| { | |
| text: "Puoi imparare Keras in aggiunta ai transformers.", | |
| explain: "Corretto, anche se cercavamo qualcosa in pù :)", | |
| correct: true | |
| }, | |
| { | |
| text: "Si possono calcolare facilmente delle metriche relative al dataset", | |
| explain: "Keras è d'aiuto nell'addestramento e valutazione del modello, non nel calcolare metriche relative al dataset." | |
| } | |
| ]} | |
| /> | |
| ### 6. Come si definisce una metrica personalizzata (custom metric)? | |
| tf.keras.metrics.Metric.", | |
| explain: "Ottimo!", | |
| correct: true | |
| }, | |
| { | |
| text: "Usando l'API funzionale di Keras", | |
| explain: "Prova ancora!" | |
| }, | |
| { | |
| text: "Utilizzando una funzione con segnatura metric_fn(y_true, y_pred).", | |
| explain: "Corretto!", | |
| correct: true | |
| }, | |
| { | |
| text: "Chiedendo a Google", | |
| explain: "Non è la risposta che cercavamo, ma dovrebbe comunque aiutarvi a risolvere il problema.", | |
| correct: true | |
| } | |
| ]} | |
| /> | |
| {/if} | |
Xet Storage Details
- Size:
- 6.86 kB
- Xet hash:
- 1793108cf620ed8809f3fb6fc84123a235c0d2bb160ecca1522f5ddc98b11841
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.