readme: # Libérez Adam
  
  TD;DR
  
  ```
  pip install -r requirements.txt
  python3 main.py
  ```
  
  ## Objectifs
  
  Créer un assistant pour aider l'équipe de Duniter et de Librezo à atteindre leurs objectifs.
  Il est également question de rendre open source (donc auditable et personnalisable) un service équivalent au playground de GPT, mais en libre et utilisant des Model locaux (BoGs).
  
  Les sources de données pour générer nos models doivent pouvoir être facilement adaptables, pour générer toutes sortes de models customs **par dessus des models pré-entrainé comme GPT2 (open-source)**.
  Plus d'infos au sujet de la nature open ou non du model GPT3: https://github.com/openai/gpt-3/blob/master/model-card.md
  
  Nous comptons pyTorch pour entrainer nos models.
  Il nous est également possible de générer notre models avec pyTorch de manière optimisé, puis de laisser la boucle de machine learning à tensorFlow, qui pourrait être un peu plus performant avec certains hyperparamètres.
  
  Celà semble donc permettre dès maintenant d'ajouter les données que nous voulons à un model pré-existant, sans frais ni limitations.
  Ce sujet reste à creuser.
  
  ## Pourquoi adapter GPT en licence libre ?
  
  Considérant le danger de laisser un outil aussi performant et inquiétant que l'IA sémantique GPT entre les mains de géant du web, Poka a demandé à GPT de transmettre son code en licence libre, ce que GPT a fait.
  
  Il nous est donc théoriquement possible d'intégrer GPT et de l'utiliser dans sa version libre.
  
  Cela implique un travail d'intégration, de maturation et de bidouillage, ainsi qu'un serveur relativement puissant avec une forte capacité de stockage.
  
  
  ## Comment faire
  
  *Demandez à GPT3.5: https://beta.openai.com/playground*
  
  Nous avons déjà le choix parmis plusieurs libs open source sensées effectuer la même chose que GPT3 (en partie): Du machine learning par Transformation.
  
  pyTorch nous semble l'approche la plus simple et reconnue par les chercheurs du domaine. tensorFlow est une alternative également intérressante (python aussi), et peut être utilisé de manière complémentaire à pyTorch.
  
  GPT nous conseille déjà sur la manière d'implémenter notre pyTorch de manière optimal pour notre besoin (se forker lui même).
  
  Nous avons commencé à alimenter GPT en contexte pour notre projet, de manière à ce qu'il finisse par se recoder lui même totalement avec des outils open source.
  
  ## Sources de données
  
  Pour rendre notre model réellement performant sans nécessité de faire appel à du fine tunning (réglage métier de post traitement), nous devons ajouter plus de donnée à notre model, je pense par exemple à : 
  
  - Wikipedia (international, mais avant tout FR (6Go))
  - stackoverflow (todo darty scrappy)
  - Toutes les documentations techniques des principaux langages de programmation, ainsi que le plus de docs de libs possible (github, gitlab)
  - Ce qu'on veut, qui colorera la façon de penser et de parler de notre IA:
    - Coluche
    - Desproges
    - Dieudo
    - Bakounine
    - Kropotkin
    - Etienne klein
    - Isaac Azimov (les robots)
    - Jacques Prévert
    - Diogène (les cyniques) 
    - Nietzsche
    - Rousseau
  
  Les sources de données sont nombreuses, nous devons penser aux retranscriptions text des vidéos qui nous intéressent (sous titre youtube).
  Il faut également garder en tête que nous allons être amenés à générer plusieurs models, où nous pouvons faire varier et évoluer les sources de données d'entrée de ces différents models.
  
  Il est probable que tout cela nécessite des montées en compétence significatives de notre part, concernant la mise bout à bout de tout le nécessaire pour arriver à un résultat intéressant.
  
  ## Matériel
  
  C'est le point bloquant.
  Pour entrainer ces models, il faut beaucoup, beaucoup de GPU et de RAM, des disque ultra performants, ou bien beaucoup, beaucoup, beaucou de temps.
  
  Nous allons benchmarker tout celà au fur et à mesure de nos tests.
  Nous aimerions tisser des partenariats institutionnels de manière à accéder à du temps de supercalculateur nationnal pour notre projet de libérer et distribuer les TIA.