forked from librezo/bog
76 lines
4.0 KiB
Markdown
76 lines
4.0 KiB
Markdown
# 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. |