Francois Vieille
update example
f163d3d
|
raw
history blame
89 kB
metadata
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 <hl>données
      massives et à l'analyse des données<hl>.
tags:
  - seq2seq
  - barthez

Génération de question à partir d'un contexte

Le modèle est fine tuné à partir du modèle 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 <hl>illuminer<hl> 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, piaf. L'input est le context et nous avons entouré à l'aide du token spécial <hl> 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
  • 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 auquel ont été rajouté les tokens spéciaux <sep> et <hl>.

Utilisation

Le modèle est un POC, nous garantissons pas ses performances

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 <hl>illuminer<hl> 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}
}