Buckets:

rtrm's picture
|
download
raw
12.6 kB

Quiz de fin de chapitre

Testons ce que vous avez appris dans ce chapitre !

1. Quand devez-vous entraîner un nouveau tokenizer ?

<Question choices={[ { text: "Lorsque votre jeu de données est similaire à celui utilisé par un modèle pré-entraîné existant et que vous voulez pré-entraîner un nouveau modèle", explain: "Dans ce cas, pour économiser du temps et des ressources de calcul, il est préférable d'utiliser le même tokenizer que le modèle pré-entraîné et de finetuner ce modèle à la place." }, { text: "Lorsque votre jeu de données est similaire à celui utilisé par un modèle pré-entraîné existant et que vous souhaitez finetuner un nouveau modèle en utilisant ce modèle pré-entraîné.", explain: "Pour finetuner un modèle à partir d'un modèle pré-entraîné, vous devez toujours utiliser le même tokenizer." }, { text: "Lorsque votre jeu de données est différent de celui utilisé par un modèle pré-entraîné existant et que vous souhaitez pré-entraîner un nouveau modèle.", explain: "Dans ce cas, il n'y a aucun avantage à utiliser le même tokenizer.", correct: true }, { text: "Lorsque votre jeu de données est différent de celui utilisé par un modèle pré-entraîné existant mais que vous souhaitez finetuner un nouveau modèle en utilisant ce modèle pré-entraîné.", explain: "Pour finetuner un modèle à partir d'un modèle pré-entraîné, vous devez toujours utiliser le même tokenizer." } ]} />

2. Quel est l'avantage d'utiliser un générateur de listes par rapport à une liste de listes lors de l'utilisation de train_new_from_iterator() ?

<Question choices={[ { text: "C'est le seul type que la méthode train_new_from_iterator() accepte.", explain: "Une liste de listes de textes est un type particulier de générateur de listes de textes, la méthode l'acceptera donc aussi. Essayez à nouveau !" }, { text: "Vous éviterez de charger l'ensemble des données en mémoire en une seule fois.", explain: "Chaque batch de textes sera libéré de la mémoire lorsque vous itérerez et le gain sera particulièrement visible si vous utilisez des 🤗 Datasets pour stocker vos textes.", correct: true }, { text: "Cela permettra à la bibliothèque 🤗 Tokenizers d'utiliser le multitraitement.", explain: "Il utilisera le multiprocesseur dans tous les cas." }, { text: "Le tokenizer que vous entraînez générera de meilleurs textes.", explain: "Le tokenizer ne génère pas de texte. Vous le confondez avec un modèle de langage ?" } ]} />

3. Quels sont les avantages d'utiliser un tokenizer « rapide » ?

<Question choices={[ { text: "Il peut traiter les entrées plus rapidement qu'un tokenizer lent lorsque vous faites des batchs d'entrées.", explain: "Grâce au parallélisme implémenté dans Rust, il sera plus rapide sur les batchs d'entrées. Quel autre avantage pouvez-vous imaginer ?", correct: true }, { text: "Les tokenizers rapides sont toujours plus rapides que leurs homologues lents.", explain: "Un tokenizer rapide peut en fait être plus lent si vous ne lui donnez qu'un seul ou très peu de textes, car il ne peut pas utiliser le parallélisme." }, { text: "Il peut appliquer le padding et la troncature.", explain: "C'est vrai, mais les tokenizers lents le font aussi." }, { text: "Il possède des fonctionnalités supplémentaires qui vous permettent d'associer les tokens à l'extrait de texte qui les a créés.", explain: "En effet, c'est ce qu'on appelle des correspondances d'offset. Ce n'est pas le seul avantage, cependant.", correct: true } ]} />

4. Comment le pipeline token-classification gère-t-il les entités qui s'étendent sur plusieurs tokens ?

<Question choices={[ { text: "Les entités ayant la même étiquette sont fusionnées en une seule entité.", explain: "C'est un peu trop simplifier les choses. Essayez encore !" }, { text: "Il existe une étiquette pour le début d'une entité et une étiquette pour la suite d'une entité.", explain: " ", correct: true }, { text: "Dans un mot donné, tant que le premier token porte l'étiquette de l'entité, le mot entier est considéré comme étiqueté avec cette entité.", explain: "C'est une stratégie pour gérer les entités. Quelles autres réponses s'appliquent ici ?", correct: true }, { text: "Lorsqu'un token a l'étiquette d'une entité donnée, tout autre token suivant ayant la même étiquette est considéré comme faisant partie de la même entité, à moins qu'il ne soit étiqueté comme le début d'une nouvelle entité.", explain: "C'est la façon la plus courante de regrouper des entités, mais ce n'est pas la seule bonne réponse.", correct: true } ]} />

5. Comment le pipeline question-answering gère-t-il les contextes longs ?

<Question choices={[ { text: "Ce n'est pas vraiment le cas car il tronque le long contexte à la longueur maximale acceptée par le modèle.", explain: "Il existe une astuce que vous pouvez utiliser pour gérer les longs contextes. Vous en souvenez-vous ?" }, { text: "Il divise le contexte en plusieurs parties et fait la moyenne des résultats obtenus.", explain: "Cela n'aurait pas de sens de faire la moyenne des résultats car certaines parties du contexte n'incluront pas la réponse." }, { text: "Il divise le contexte en plusieurs parties (avec chevauchement) et trouve le score maximum pour une réponse dans chaque partie.", explain: "C'est la bonne réponse !", correct: true }, { text: "Il divise le contexte en plusieurs parties (sans chevauchemen par souci d'efficacité) et trouve le score maximum pour une réponse dans chaque partie.", explain: "Il comprend un certain chevauchement entre les parties pour éviter une situation où la réponse serait divisée en deux parties." } ]} />

6. Qu'est-ce que la normalisation ?

<Question choices={[ { text: "C'est le nettoyage que le tokenizer effectue sur les textes lors des étapes initiales.", explain: "Par exemple, il peut s'agir de supprimer les accents ou les espaces, ou de mettre les entrées en minuscules.", correct: true }, { text: "Il s'agit d'une technique d'augmentation de données qui consiste à rendre le texte plus normal en supprimant les mots rares.", explain: "Essayez encore." }, { text: "C'est l'étape finale du post-traitement où le tokenizer ajoute les tokens spéciaux.", explain: "Cette étape est simplement appelée post-traitement." }, { text: "C'est lorsque les enchâssements sont faits avec une moyenne nulle et un écart-type de 1, en soustrayant la moyenne et en divisant par l'écart-type.", explain: "Ce processus est communément appelé normalisation lorsqu'il est appliqué aux valeurs des pixels en vision par ordinateur, mais ce n'est pas ce que signifie la normalisation en NLP." } ]} />

7. Qu'est-ce que la pré-tokénisation pour un tokenizer en sous-mots ?

<Question choices={[ { text: "C'est l'étape qui précède la tokénisation, où l'augmentation des données (comme le masquage aléatoire) est appliquée.", explain: "Cette étape fait partie du prétraitement." }, { text: "C'est l'étape avant la tokénisation, où les opérations de nettoyage souhaitées sont appliquées au texte.", explain: "C'est l'étape de normalisation." }, { text: "C'est l'étape qui précède l'application du modèle tokenizer, pour diviser l'entrée en mots.", explain: "C'est la bonne réponse !", correct: true }, { text: "Il s'agit de l'étape précédant l'application du modèle tokenizer, qui divise l'entrée en tokens.", explain: "La division en tokens est le travail du modèle tokenizer." } ]} />

8. Sélectionnez les phrases qui s'appliquent au tokenizer BPE.

<Question choices={[ { text: "BPE est un algorithme de tokénisation en sous-mots qui part d'un petit vocabulaire et apprend des règles de fusion.", explain: "C'est le cas en effet !", correct: true }, { text: "BPE est un algorithme de tokénisation en sous-mots qui part d'un grand vocabulaire et en retire progressivement les tokens.", explain: "C'est l'approche adoptée par un algorithme de tokénisation différent." }, { text: "Un tokenizer BPE apprend les règles de fusion en fusionnant la paire de tokens la plus fréquente.", explain: "C'est exact !", correct: true }, { text: "Un tokenizer BPE apprend une règle de fusion en fusionnant la paire de tokens qui maximise un score qui privilégie les paires fréquentes avec des parties individuelles moins fréquentes.", explain: "C'est la stratégie appliquée par un autre algorithme de tokenization." }, { text: "BPE tokenise les mots en sous-mots en les divisant en caractères, puis en appliquant les règles de fusion.", explain: " ", correct: true }, { text: "BPE tokenise les mots en sous-mots en trouvant le plus long sous-mot du vocabulaire en commençant par le début, puis en répétant le processus pour le reste du texte.", explain: "C'est la façon de faire d'un autre algorithme de tokenization." }, ]} />

9. Sélectionnez les phrases qui s'appliquent au tokenizer WordPiece.

<Question choices={[ { text: "WordPiece est un algorithme de tokénisation en sous-mots qui part d'un petit vocabulaire et apprend des règles de fusion.", explain: "C'est le cas en effet !", correct: true }, { text: "WordPiece est un algorithme de tokénisation en sous-mots qui part d'un grand vocabulaire et en retire progressivement les tokens.", explain: "C'est la façon de faire d'un autre algorithme de tokenization." }, { text: "Les tokenizer WordPiece apprennent les règles de fusion en fusionnant la paire de tokens la plus fréquente.", explain: "C'est la façon de faire d'un autre algorithme de tokenization." }, { text: "Un tokenizer WordPiece apprend une règle de fusion en fusionnant la paire de tokens qui maximise un score qui privilégie les paires fréquentes avec des parties individuelles moins fréquentes.", explain: " ", correct: true }, { text: "WordPiece tokenise les mots en sous-mots en trouvant la segmentation en tokens la plus probable, selon le modèle.", explain: "C'est la façon de faire d'un autre algorithme de tokenization." }, { text: "WordPiece tokenise les mots en sous-mots en trouvant le plus long sous-mot du vocabulaire en commençant par le début, puis en répétant le processus pour le reste du texte.", explain: "C'est ainsi que WordPiece procède pour l'encodage.", correct: true }, ]} />

10. Sélectionnez les phrases qui s'appliquent au tokenizer Unigram.

<Question choices={[ { text: "Unigram est un algorithme de tokénisation en sous-mots qui part d'un petit vocabulaire et apprend des règles de fusion.", explain: "C'est la façon de faire d'un autre algorithme de tokenization." }, { text: "Unigram est un algorithme de tokénisation en sous-mots qui part d'un grand vocabulaire et en retire progressivement les tokens.", explain: " ", correct: true }, { text: "Unigram adapte son vocabulaire en minimisant une perte calculée sur l'ensemble du corpus.", explain: " ", correct: true }, { text: "Unigram adapte son vocabulaire en conservant les sous-mots les plus fréquents.", explain: " " }, { text: "Unigram segmente les mots en sous-mots en trouvant la segmentation la plus probable en tokens, selon le modèle.", explain: " ", correct: true }, { text: "Unigram décompose les mots en sous-mots en les divisant en caractères puis en appliquant les règles de fusion.", explain: "C'est la façon de faire d'un autre algorithme de tokenization." }, ]} />

Xet Storage Details

Size:
12.6 kB
·
Xet hash:
b58c07119a909c83588b73a19dcdde31da47e2d8f0a3863fe61697397c20d72f

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