--- language: - fr license: mit pipeline_tag: "text2text-generation" datasets: - squadFR - fquad - piaf metrics: - bleu - rouge widget: - text: "La science des données est un domaine interdisciplinaire qui utilise des méthodes, des processus, des algorithmes et des systèmes scientifiques pour extraire des connaissances et des idées de nombreuses données structurelles et non structurées.\ Elle est souvent associée aux données massives et à l'analyse des données." tags: - seq2seq - barthez --- # Génération de question à partir d'un contexte Le modèle est _fine tuné_ à partir du modèle [moussaKam/barthez](https://huggingface.co/moussaKam/barthez) afin de générer des questions à partir d'un paragraphe et d'une suite de token. La suite de token représente la réponse sur laquelle la question est basée. Input: _Les projecteurs peuvent être utilisées pour \illuminer\ des terrains de jeu extérieurs_ Output: _À quoi servent les projecteurs sur les terrains de jeu extérieurs?_ ## Données d'apprentissage La base d'entrainement est la concatenation des bases SquadFR, [fquad](https://huggingface.co/datasets/fquad), [piaf](https://huggingface.co/datasets/piaf). L'input est le context et nous avons entouré à l'aide du token spécial **\** les réponses. Volumétrie (nombre de triplet contexte/réponse/question): * train: 98 211 * test: 12 277 * valid: 12 776 ## Entrainement L'apprentissage s'est effectué sur une carte Tesla V100. * Batch size: 20 * Weight decay: 0.01 * Learning rate: 3x10-5 (décroit linéairement) * < 24h d'entrainement * Paramètres par défaut de la classe [TrainingArguments](https://huggingface.co/transformers/main_classes/trainer.html#trainingarguments) * Total steps: 56 000 La loss represente des "sauts" à cause de la reprise de l'entrainement à deux reprises. Cela induit une modification du learning rate et explique la forme de la courbe. ## Résultats Les questions générées sont évaluées sur les métrique BLEU et ROUGE. Ce sont des métriques approximative pour la génération de texte. ## Tokenizer Le tokenizer de départ est [BarthezTokenizer](https://huggingface.co/transformers/model_doc/barthez.html) auquel ont été rajouté les tokens spéciaux \ et \. ## Utilisation _Le modèle est un POC, nous garantissons pas ses performances_ ```python from transformers import AutoTokenizer, AutoModelForSeq2SeqLM from transformers import Text2TextGenerationPipeline model_name = 'lincoln/barthez-squadFR-fquad-piaf-question-generation' loaded_model = AutoModelForSeq2SeqLM.from_pretrained(model_name) loaded_tokenizer = AutoTokenizer.from_pretrained(model_name) nlp = Text2TextGenerationPipeline(model=loaded_model, tokenizer=loaded_tokenizer) nlp("Les projecteurs peuvent être utilisées pour illuminer des terrains de jeu extérieurs") # >>> [{'generated_text': 'À quoi servent les projecteurs sur les terrains de jeu extérieurs?'}] ``` ## Citation Model based on: paper: https://arxiv.org/abs/2010.12321 \ github: https://github.com/moussaKam/BARThez ``` @article{eddine2020barthez, title={BARThez: a Skilled Pretrained French Sequence-to-Sequence Model}, author={Eddine, Moussa Kamal and Tixier, Antoine J-P and Vazirgiannis, Michalis}, journal={arXiv preprint arXiv:2010.12321}, year={2020} } ```