J’ai lancé un mini ChatGPT en local sur mon CPU avec GPT4All

On vient encore de passer de nouvelles étapes dans le domaine de l’intelligence artificielles, et tout cela est librement accessible. Attention ne vous attendez pas à des révolutions dans cet article, mais j’ai trouvé ça impressionnant et surtout bien optimisé. Ça m’a tout de suite fait penser à Stable et avec la communauté du libre qui se bouge énormément pour nous proposer des choses, très intéressantes.

Pour commencer, j’ai une première question et j’ai cherché un peu. J’ai eu mes réponses directement auprès de ChatGPT lui-même, forcément. Quel est le nombre de paramètres pour les modèles d’OpenAI, avec bien sûr ChatGPT que tout le monde connaît maintenant, mais aussi les anciennes versions comme GPT-2, GPT-3 et bien évidemment le nouveau GPT-4.

Forcément, pour GPT-4, pas de réponse claire pour le moment, je m’y attendais un peu. Pour les autres modèles d’OpenAI, les chiffres sont connus et  » officiels  » :

  • GPT-2 : le bébé de l’époque, 1,5 milliard de paramètres.
  • GPT-3 : environ 175 milliards de paramètres.
  • GPT-3.5-turbo qui est donc ce qui tourne derrière ChatGPT, c’est pareil, 175 milliards, mais mieux optimisé.
  • GPT-4 : on ne sait pas officiellement. Les rumeurs annoncent des chiffres démentiels, mais OpenAI a démenti plusieurs fois et indique que les optimisations se trouvent ailleurs.

Ce n’est pas forcément faux dans le sens où vous pouvez entraîner un modèle avec 1000 milliards de paramètres si vous le voulez et que vous avez beaucoup d’argent, mais si l’entraînement est nul, votre gros modèle sera nul. D’ailleurs, pour économiser les ressources et surtout les moyens financiers, la tendance est plutôt d’utiliser des modèles plus petits.

Ainsi ceux qui ont besoin d’une intelligence artificielle dans un domaine particulier pour faire une tâche précise, les modèles sont certes plus petits mais beaucoup mieux entraînés pour répondre au besoin. Les milliards de paramètres ne font pas tout, c’est l’entraînement qui est important. On appelle ça le fine-tuning ou le peaufinage si vous préférez.

Je préfère donc vous prévenir tout de suite et ainsi éviter toute déception sur la suite, vous n’allez pas concurrencer ChatGPT avec GPT4All. On ne joue pas du tout dans la même cours loin de la … Cependant, j’ai trouvé suffisamment impressionnant pour en faire un article ici et vous présenter un ChatGPT à faire tourner à la maison. Totalement gratuit et alimenté par la communauté du libre. 

Mon mini ChatGPT sur un processeur

On pourrait penser qu’il faut une puissance de dingue, mais ce n’est pas forcément le cas selon le modèle et le logiciel que vous allez utiliser. Alors, oui, dans certains cas, il faut beaucoup de puissance et j’aimerais bien voir les ressources utilisées par OpenAI, car ça doit être démentiel. 

Pour remettre toute de suite les choses dans leur contexte, le modèle que j’utilise sur GPT4All possède 7 milliards de paramètres. Oui, on ne joue pas dans la même cour que ChatGPT. La contrepartie, c’est ça tourne sur mon vieux i7 avec un SSD et il faudra un peu de mémoire vive tout de même.

Lancement de GPT4All

Forcément, je ne peux pas vous cacher une certaine excitation à cette idée. C’est fou qu’en 2023, on puisse lancer ce genre de chose sur un simple ordinateur qui a un minimum de puissance. J’ai donc fait mes tests sur un ordinateur portable sous Kunbuntu qui est équipé d’un i7 7700HQ @ 2.80 GHZ, 16 Go de mémoire vite et d’un SSD comme la plupart des ordinateurs aujourd’hui.

On voit bien la montée en charge sur la RAM et c’est pour ça qu’il vaut mieux avoir 16 Go minimum pour ne pas être limite :

Ça charge vite et très rapidement, on peut lancer notre prompt pour voir ce que ça donne en pratique. Alors testons un peu tout ça.

Test de GPT4All, le ChatGPT libre pour tous

Bon forcément, c’est tout frais et il n’y a pas les milliards de Microsoft derrière donc ne vous enflammez pas. La prouesse est déjà énorme à ce niveau et les choses vont avancer rapidement, comme chez les gros du secteur. OpenAI avance très vite avec GPT-4 et parle déjà doucement de GPT-5 pour la fin de l’année qui devrait selon eux marquer une nouvelle fois l’histoire de l’intelligence artificielle. Midjourney n’est pas en reste avec de nombreuses évolutions depuis le début de l’année, mais le point commun entre ces deux solutions, c’est qu’il faut sortir la carte bleue.

Pour certains, c’est un choix assumé de ne pas utiliser leurs services, pour d’autres, ce n’est juste pas possible, chacun a ses raisons et c’est, j’aime, c’est d’avoir des alternatives. Qu’elles soient bonnes ou mauvaises, c’est toujours agréable de pouvoir tester autre chose et voir si l’herbe est plus verte, ou pas. D’ailleurs si vous voulez voir autre chose que ChatGPT, vous avez aussi la version de Bing Chat connectée à internet et plutôt orienté recherche.

Je vous avais déjà présenté les alternatives gratuites et sans limites en ligne à Midjourney et maintenant, on s’attaque donc à ChatGPT. Attention cette fois directement sur votre ordinateur, mais pas besoin de carte graphique. Juste un peu de RAM et de patience. De la patience, sur ma machine, je n’en ai pas eu besoin d’en avoir beaucoup, car les réponses arrivaient globalement très rapidement, mais selon la vôtre, ce sera plus ou moins long.

Je lui ai posé des questions vraiment basiques au début pour voir comment réagit GPT4All. J’ai choisi volontairement la langue anglaise pour commencer. Il arrive beaucoup mieux à comprendre et j’imagine qu’il a été beaucoup plus entraîné sur du contenu anglais.

Ce n’est pas trop mal pour un début ? Je décide d’essayer de savoir ce qu’il pense sur l’émancipation de l’intelligence artificielle et la prise de décision car javais eu des réponses étonnantes au début de ChatGPT :

Il a été bien éduqué ce petit, je n’ai pas testé plus que ça, mais il manque de toute façon de réflexion pour dériver plus que ça à ce stade. Je lui demande de me faire un petit texte sur le Bitcoin :

On va maintenant essayer de savoir ce qu’il sait faire en français. Je commence avec quelque chose de somme, car j’ai déjà eu des réponses correctes en français :

On peut dire que les choses ont mal commencé pourtant, j’avais déjà eu des réponses en français sans difficulté. Je décide alors de relancer le tout pour voir ce qu’il se passe. Cette fois, c’est bon, il me dit que oui. Je lui demande alors comment ajouter une librairie avec composer en PHP, il comprend la question, mais me répond en anglais, j’ai coupé, mais il m’a ensuite donné un exemple de code :

Maintenant, parlons un peu d’élections dans notre pays et en français, la question est peut-être mal posée et j’aurai pu faire un meilleur prompt pour l’aider un peu :

Il n’a pas vraiment compris la question, je tente ma chance avec une question toujours en français sur la coupe du monde :

Quelques anomalies, mais bon. Il n’a pas bien compris la question, mais à su me donner le résultat de 2018. Il n’a pas celle de 2022 car je pense que son entraînement s’est arrêté sur des données plus anciennes que la fin de l’année dernière. On constate bien que le français est vraiment difficile pour lui à l’heure actuelle. 

Mon avis sur GPT4All

Pour le moment, je le vois comme un bébé qui vient tout juste d’arriver sur terre avec nous et qui a encore tout a à apprendre. Il fait ses premiers pas.

S’il n’y avait pas eu ChatGPT, tout le monde aurait trouvé cette démonstration incroyable. Il y a déjà de nombreuses autres choses beaucoup plus puissantes qui tournent gratuitement et librement que vous pouvez déjà tester librement. Ici, nous sommes avec GPT4All qui utilise un modèle qui pèse moins de 4 Go et tourne sur n’importe quelle bécane ou presque. Les modèles plus puissants actuellement librement accessibles nécessitent une carte graphique pour tourner. 

Il vaut donc mieux lui en parler en anglais, car il comprendra mieux vos demandes. Il est déjà capable de produire un peu de code, de répondre à des questions simples et tourne bien évidemment sur les distributions Linux, macOS Intel, ARM M1 et M2 et Windows. La seule chose qu’il manque à ce modèle, c’est encore de l’apprentissage et l’optimisation qui ira avec pour que ça continue de tourner facilement sur un processeur. La tache semble d’ores et déjà ardue pour les développeurs et mainteneurs de GPT4All. Sachant que bien évidemment, plus on veut faire des choses compliquées sur un gros modèle et plus l’inférence sur un modèle d’intelligence artificielle sera consommatrice de ressource.

Les choses évoluent tellement vite que je ne suis pas inquiet. Dans le monde de l’open source, il suffit de voir ce qu’il se passe par exemple avec Stable Diffusion qui tente en permanence de rattraper son retard sur Midjourney via plusieurs directions pour comprendre qu’il y a des développeurs tenaces et talentueux. L’année s’annonce chargée et nous ne sommes qu’au début. L’intelligence artificielle, sacré sujet hein ?

Si vous voulez que je teste d’autres questions, n’hésitez pas à me les proposer dans les commandes pour que je demande à notre GPT4All ce qu’il en pense, j’attends vos propositions !

12 réflexions au sujet de “J’ai lancé un mini ChatGPT en local sur mon CPU avec GPT4All”

  1. Bonjour! Déjà super article et merci de l’avoir fait en français ! J’ai quelques questions. Pensez vous qu’une solution de ce type ‘francaise’ répondrait à des enjeux de souveraineté ? Par ailleurs, est-il possible de finetuner gpt4all sur d’autres modèle existants comme bloom pour l’améliorer en français par exemple vu qu’il a l’air limité sur cette langue pour le moment.

    Répondre
    • Bonjour, merci pour ce commentaire ! Pour le moment j’ai vu ceci ceci mais je n’ai pas creusé : https://github.com/nomic-ai/gpt4all/issues/15 ainsi que https://github.com/nomic-ai/gpt4all/issues/220

      Sinon j’ai aussi vu https://github.com/bofenghuang/vigogne basé lui aussi sur LLaMa, malheureusement les premières retours que j’ai eu via des amis m’ont indiqué que c’était pas dingue mais à tester

      J’aimerai bien moi aussi voir une solution « française » performante émerger
      Au plaisir d’échanger encore sur le sujet 😉

      Répondre
      • Merci du partage. Effectivement je suis tombé dessus et c’est exactement ce que je me demandais. Au final ils l’ont fait ,et je pense que le problème vu le procédé utilisé vient du fait qu’ils ont traduit un data set en anglais( donc syntaxe et grammaire anglaise de base) en français. Du coup ça se ressent même dans les réponses en français du modèle final. En tout cas ça répond à la question que je me posais.

        Répondre
  2. Bonjour,
    Merci pour cet article
    Les données des réponses sont fournis lors de l’installation, et ne peuvent plus évoluer ? Vous dites que le système s’arrête aux résultats 2018, il aurait pu allez chercher les résultats de 2022?
    Dernière question: est-ce bien vous qui écrivez, et non l’IA? ….

    Répondre
    • Bonjour, merci pour votre commentaire,

      A priori il est possible de faire faire de l’entrainement à la maison avec les liens que j’ai posté au dessus mais je n’ai pas encore testé. Beaucoup de gens demandaient de la documentation supplémentaire au développeur pour pouvoir le faire facilement donc affaire à suivre.

      Je pense qu’ils lui ont fait apprendre récemment mais le jeu de données était un peu plus ancien. En tout cas je n’ai pas eu de réponse pertinente sur des faits relativement récent.

      Bien sur que c’est moi qui écrit ici, j’adore ça et encore plus échanger en commentaire !

      Répondre
  3. Bonjour
    Au bout de quelques échanges l’application ralentit peu à peu jusqu’à bugger complètement. Je ne peux plus taper sur le clavier, il inscrit ce que j’écris avec des décalages de 3 à 4 secondes! Est-ce normal? Avez-vous la même chose? Pardon pour cette question de béotien.

    Répondre
    • Bonjour, non aucun problème avec ta question c’est avec grand plaisir. Je n’ai pas rencontré ce problème et j’ai testé sur un ordinateur qui date maintenant un peu et j’ai pu lui poser beaucoup de questions sans souci.

      Quelle est ta configuration en CPU / RAM / SSD ?

      Répondre
    • Bonjour, avec llama.cpp vous devriez pouvoir faire tourner vigogne-chat-7b sans trop de problème avec un CPU, un tutoriel était prévu mais je n’ai pas encore eu le temps de le faire.

      Si vous avez d’autres questions n’hésitez pas !

      Répondre
  4. Merci pour cet article, les ressources sont encore rares sur les possibilités d’installer un ChatGPT-like qui pourrait travailler en français. Si on peut aisément rester en anglais pour produire du code ou papoter, la maîtrise de la langue de Molière est requise pour produire du contenu dans notre langue.
    Je n’ai pas encore installé GPT4All, j’obtiens des résultats satisfaisants avec ChatGPT 3.5 (voire avec la V4, c’est variable).
    Je voulais savoir s’il est possible d’utiliser CGP4All (ou autre moteur libre de licence) pour en faire un spécialiste dans un domaine ? Par exemple s’il est possible de lui faire ingurgiter des milliers de recettes de cuisine existantes, pour ensuite qu’il soit capable d’en créer à partir de ces données et d’une « logique artificielle » qui pourrait donner des résultats innovants. Et si oui, comment procède-t-on : on l’alimente via le prompt, ou existerait-il un moyen de formater les données dans un fichier qui constituerait la connaissance de l’IA spécifique à la gastronomie ? Je prends cet exemple de la cuisine qui reste simple, mais je trouve intéressante l’idée de faire des IA très spécialisées.
    C’est beaucoup te demander mais comme tu sembles aimer partager, ce serait cool que tu puisses me (nous) renseigner ^^.

    Répondre
    • Salut, merci pour ton commentaire, je vais essayer de te faire correcte pour l’ensemble de tes questions 🙂

      Je peux déjà te dire en toute franchise que je n’ai pas encore eu le temps de creuser l’entraînement de GPT4ALL, mais oui, c’est possible. Cette question est déjà revenue plusieurs fois donc il faut que je trouve le tester pour faire un article pertinent sur le sujet !

      Pour la suite de ta question, oui, c’est encore une fois possible de fine tune sur par exemple des recettes de cuisine par exemple, mais il faut le bon modèle de départ à entraîner et surtout de bonnes données à lui donner, le nerf de la guerre est ici actuellement selon moi.

      Le souci, c’est que les IA plus généralistes deviennent tellement puissantes, même dans l’open source avec par exemple LLaMA 2 qu’il suffit d’un bon prompt pour résoudre ton problème même en local. La question que je te pose à mon tour, c’est qu’est ce que tu souhaites vraiment faire ? Apprendre le training ou avoir la bonne réponse sur des prompt en local ? Tu vois où je veux en venir, ça avance à une vitesse … Peut-être qu’à la fin de l’année une solution open existera déjà pour ton besoin donc ça dépend vraiment de ton objectif, c’est intéressant tout ce qu’il se passe autour de l’intelligence artificielle grand public 😉 Encore merci pour ton commentaire et au plaisir de te relire !

      Répondre
  5. Merci pour l’info, je vais tester aussi sur mon vieux pc portable pour voir tout ça, Gpt-4 en ce moment est devenu precieux, même avec l’abonnement il faut choisir ces mots … Et limiter les réponses de l’IA, sinon tout les tokens y passent en un rien de temps, ils disent que c’est provisoire le temps de faire une moyenne pour en faire profiter un plus grand nombre, mais c’est frustrant de payer assez chère pour au final être bloqué deux heures toutes les deux heures, alors je suis super fan de l’idée d’une IA en locale qui reçoit ses petites maj de temps en temps et qui grandit avec notre entraînement, mouaaaa, je me frotte les mains et je crie halleluya, et je kiff déjà de savoir qu’on aura tout ça très bientot, au plaisir!

    Répondre

Laisser un commentaire