Elle a dit que la lettre était vraiment belle et qu’elle aurait été très émue si elle n’avait pas été écrite par une IA… J’ai contre-argumenté que la curation humaine du texte généré par l’IA était une expression d’amour parfaitement valable. J’ai perdu :-|.

Vous pouvez essayer cette intelligence artificielle ici : https://impactia.org/cyrano

Le résultat

Le modèle génère des résultats qui sont formatés comme des lettres d’amour avec des phrases raisonnablement structurées. La reproduction textuelle des données de formation semble très faible. Mais les phrases sont souvent absurdes et il n’y a pas beaucoup de préservation du contexte, à part quelques répétitions.

Cependant, il génère des phrases originales assez intéressantes :

“Mon âme a moins de conversations que le désir”

” C’est une joie bien trop violente pour moi “

” vous [êtes] comme l’eau d’un pur amour “

Ces phrases peuvent être choisies (à la main) en fonction du sentiment que vous essayez de communiquer et utilisées pour composer des lettres uniques influencées par les meilleurs écrivains français de l’histoire.

Notre motivation à le faire

  • Principalement parce que nous avons tous pensé que c’était une chose amusante à faire pour la Saint-Valentin, mais aussi

  • Il célèbre le premier anniversaire de la sortie du premier modèle d’OpenAI (https://openai.com/blog/better-language-models/).

  • Il s’agit d’un outil potentiellement utile pour les personnes romantiquement diminuées

  • Nous étions très curieux de voir comment les gens allaient se sentir en recevant de telles lettres (est-ce perçu comme un acte d’amour ou un acte de plagiat?)

  • Cela soulève des questions intéressantes sur la propriété du résultat et la propriété intellectuelle, d’autant plus que certains textes ne sont pas hors droit d’auteur et qu’il y a un risque que des parties textuelles puissent être reproduites.

  • Nous voulions voir par nous-mêmes à quel point la génération de textes en français pouvait être de bonne qualité

Détails techniques

Un petit modèle OpenAI GPT-2 (117/124M paramètres) formé sur environ 1Go de littérature classique française a été fine-tuné sur 300Ko de poésie et de chansons d’amour françaises.

Nous avons utilisé GPT-2-Simple https://github.com/minimaxir/gpt-2-simple et GPT-2-Cloud-Run https://github.com/minimaxir/gpt-2-cloud-run de Max Woolf.

Le modèle de base français (GPT2-French) a été formé par William Jacques : https://github.com/aquadzn/gpt2-french. Nous avons utilisé son modèle “romans” qui est formé en utilisant le texte de https://www.bibebook.com/download, qui ressemble à une compilation des romans français du projet Gutenberg. Son modèle est formé sur 5000 étapes.

Le fine-tuning a été fait à l’aide du notebook Colab de Max Woolf : https://colab.research.google.com/drive/1VLG8e7YSEwypxU-noRNhsv5dW4NfTGce et n’a duré que 600 étapes (moins de 30 minutes). Moins d’étapes et le contenu n’était pas génial, plus et il a commencé à reproduire le contenu de la formation mot à mot.

Ce qui a bien fonctionné

  • Après seulement 100 étapes, le modèle adopte le format de la lettre d’amour

  • Tout (GPT-2-Simple, GPT-2-Cloud-Run, GPT-2-French) a fonctionné à la perfection sans devoir passé des heures à comprendre des bogues obscurs

  • Nous avons été étonnés d’obtenir des résultats décents avec un jeu de données de 300Kb (normalement 1-10Mb est considéré comme le minimum raisonnable)

Ce qui a mal tourné

  • Il était étonnamment difficile de trouver du contenu dans ce genre de format de lettre d’amour. Beaucoup de littérature dont vous vous souvenez comme étant très romantique (par exemple “Les Liaisons Dangereuses”) n’est pas exploitable pour écrire à l’être aimé.

  • Nous avons été déçus de ne pas trouver un modèle GPT-2 plus grand, formé en français et sur un corpus plus important.

    • Il y a une grande différence de qualité entre les petites versions et les versions XL du GPT-2 en anglais, et nous visions (bien entendu) le niveau XL.

    • Cependant, plusieurs personnes soulignent que a) les modèles plus grands sont très difficiles à entraîner en raison de contraintes de mémoire et que b) les modèles plus grands sont impossibles à fine-tuner avec de petits jeux de données

    • Nous avons essayé d’utiliser le modèle XLM multilingue de Facebook formé à la modélisation causale du texte (CTM) qui, en théorie, devrait faire de bonnes prédictions, mais les résultats n’étaient vraiment pas terribles.

  • Nous avons commencé par utiliser la bibliothèque Transformer de HuggingFace, mais comme nous avons choisi GPT-2 il était beaucoup plus simple d’utiliser les projets de Max Woolf pour mettre quelque chose en production.

Des projets similaires qui nous ont influencés