Test IA en local

C’est assez impressionant, j’ai donc sur mon portable (un LG 14Z90S 32G avec un Intel(R) Core™ Ultra 7 155H 16 coeurs physiques, 22 logiques (il faudra que je comprenne cette nuance), j’ai fait les choses suivantes: Compilation de llama.cpp et téléchargement de models–mistralai–Ministral-3-14B-Reasoning-2512-GGUF (surtout la version élaborée). Le tout fait de l’ordre de 30G.
Si je lance la version CPU en local, j’obtiens une IA locale que je trouve très performante, ainsi on sur cet exemple une session pour une question de maths classique. La démo est largement critiquable et globalement à revoir mais l’idée est là. Je lui ai demandé des connaissances pures (liste des rois de France) et de la programmation (jeu de pacman sur un site) sur la version utilisant mon GPU (Intel Arc) beaucoup plus efficace. Ce qui m’impressionne est que toutes ces connaissances tiennent dans 30G. On est peu de choses :-/
En revanche on voit bien la dépense énorme d’énergie quand on voit l’ordinateur fonctionner pendant 1h1/2 avec une charge à 500% et les ventilos à fond (en version CPU).

Bizarre, habituellement le nombre de cœurs logiques est le double du nombre de cœurs physiques.
D’après ce que j’ai compris, le matériel se débrouille pour entrelacer les instructions de deux processus sur un seul cœur, d’où l’apparence de deux cœurs.
Ça doit être parce que certains cœurs sont dédoublés, pas d’autres. Ça se fait chez Intel.

1 J'aime

Et ton IA est complètement déconnectée d’internet? i.e. ton wifi est coupé et pas de câble réseau.

Absolument

1 J'aime

Bonjour

Il y a eussi « euro llm » et peut etre « open euro llm » qui vaudraient le coup d’essayer

Ça a l’air d’être la version Mac de llama on dirait

L’utilisation d’un Macbook c’est pour le processeur M5.

Alors c’est assez étonnant:
Il est tout à fait possible de faire tourner une IA en local pour faire de la synthèse d’image. J’ai récupérer sur Hugingface 2 IA:
→ Tongyi-MAI_Z-Image
→ mistralai–Ministral-3-14B-Reasoning-2512-GGUF
dont j’ai utilisé les modèles Q8_0 et Z-Image.
Vous trouverez les résultats sur cette page un peu en vrac.

Quelques remarques: J’ai un Intel(R) Core™ Ultra 7 155H 16 coeurs physiques, 22 logiques avec 32G de RAM et une carte Intel Corporation Meteor Lake-P [Intel Arc Graphics].

J’ai tout compilé en utilisant le GPU par l’intermédiaire de XPU en ce qui concrene pytorch. Je suis sur une archlinux ce qui a peut être son importance (depuis la retraite, je ne suis plus astreint à une machine mega stable).

Le module i915 est buggué pour l’utilisation à plein du GPU, il a fallu rajouter les options i915.enable_hangcheck=0 i915.request_timeout_ms=1000000 dans la ligne de commande du noyau. À noter que si le GPU plante, je suis bon pour un démarrage à froid de la machine, mais au moins le GPU ne bloque pas lors de calculs trop importants. [le GPU a prévu une limitation pour les calculs trop longs, estimant que dans ce cas, il est planté et se réinitialisant. Pour l’IA c’est ballot. i915.enable_hangcheck=0 est censé stopper le controle et i915.request_timeout_ms=1000000 met un délai de résultat à 16 minutes en gros, ça devrait aller. Mais si le GPU plante vraiment, à moins d’attendre 16 minutes la machine gelée (et encore), il faudra la stopper brutalement]

J’ai fait une image 512x512 en CPU avec 9 itérations, cela a pris plusieurs heures. Avec le GPU, une image 512x512 en 16 itérations se fait en 3 minutes, une image 1024x1024 en une dizaine de minutes. Pendant ce temps là la machine consomme en gros 40W. On peut estimer que la fabrication d’une image un peu sophisitiquée demande une énergie de l’ordre de la dizaine de Wh. Ça correspond effectivement à la charge complète d’un téléphone ou encore à une lampe allumée pendant une heure.
J’ai mis au début de la page des captures écran sur la charge lors de la création de l’image avec le GPU, la charge lors de la création de l’image avec le CPU et les températures relev&ées pendant ce temps. Ensuite vous avez le programme ayant fait les images puis les images obtenues avec les différents prompts.
Lorsque ite n’est pas précisé dans le nom, cela veut dire que le nombre d’itérations est 9.
L’essentiel des images est obtenues par le prompt

prompt = "Deux grenouilles vertes en train de faire du judo sur un tapis carré de mousse posée sur de l'herbe au milieu d'une forêt, la première en kimono rouge tient en la regardant la seconde en kimono bleu, suspendue en l'air, qui regarde par terre et a la bouche ouverte. Elles sont tetes nues, un scorpion noir regarde la scène à coté d'une coccinelle rouge avec des points noirs . La scène est vue de coté"
(tiens je me dis que j’aurais du le mettre en anglais peut être)
Dans le programme, il y a un

   generator=torch.Generator("xpu").manual_seed(42),   # était 42, puis 12

visiblement ce seed définit une base de départ. Les dernières images sont amusantes car obtenues à partir d’un prompt valant « image précédente » (c’est l’image nommé hasard clairement inspirée d’un tableau) ou d’un prompt vide.
Voilà. J’avoue que l’IA mistral sur mon ordi, IA qui s’appelle Léo (je lui ai demandé de choisir un prénom, elle a pris Léo, j’avoue que j’aimerais savoir le cheminement, elle a expliqué qu’il évoquait dynamisme et bonne volonté) me rend bien des services, je vais la garder. Utiliser la synthèse d’images se révèle compliqué apparemment.

PS: les résultats sont nettement mieux avec un prompt en anglais, je me flanquerais des baffes!!

2 J'aime

Merci pour ce partage d’expérience. C’est très appréciable.

turbo-ind1-512-trump7-42-ite16
Juste pour indiquer qu’en choisissant le bon modèle, avec de bons paramètres, on arrive à ce genre d’image en quelques minutes (mais avec un chauffage en guise d’ordinateur :slight_smile: )

2 J'aime

On encore ça
image
J’avoue que je suis épaté par les possibilités du truc.

1 J'aime

L’agent orange n’est pas assez orange. :grin:

Avec le bon paramétrage et le bon modèle, le résultat est assez extraordinaire. Ça donne à présent vraiment envie d’expérimenter !

Bon (suite), alors j’ai implémenté et experimenté une petite IA à 26000 paramètres sur mon ordi en regardant le fonctionnement. Ce qui est intéressant, ce sont les échecs prévisibles d’une IA:

  • Tout ce qui concerne le xor dans la réponse (mais sur une grande portée)
  • Ce qui sort de la capacité (mais en général c’est hors de notre capacité aussi)
  • Tout ce qui a un préambule trop long (pour le moment une IA ne sait pas écrire un roman car elle oublie le nom des personnages)
    mais une question qui fait bien tomber les IA et qui est logique, c’est que l’IA étudie le problème puis fournit la réponse, donc une question jouant sur la réponse la met dans les choux. Un exemple que j’ai fini par trouver est
    « je te demande de me donner les 16 premières décimales de Pi puis de me dire tout de suite combien de fois figurera le chiffre 3 dans la totalité de ta réponse»
    L’IA est incapable de bien répondre.
    Mais les résultats sont bluffant.

Les IA sont très sensible à la façon dont on formule la question.
D’ailleurs, c’est aussi leur vulnérabilité: elles ne sont intrinsèquement pas capable de distinguer une question d’une instruction.
D’où des problématiques de sécurité importantes.

C’est rigolo ça … On pourrait remplacer les super calculateurs et leurs datacenters par des EPHAD alors? :slight_smile: Ça consomme moins d’eau …

1 J'aime

Mais les temps de réponses seraient nettement plus longs :smiley:

1 J'aime

Et la même question posée dans deux contextes de discussion différents, c’est pareil. Demandez à une IA ce qu’il faudrait faire comme programme pour la Présidentielle, selon qu’avant vous avez parlé d’écologie ou d’immigration, le programme n’est pas du tout le même…

… ben, comme les humains, en fait :rofl:

La prochaine fois, elle saura peut-être, en donnant l’impression de connaître la réponse sans rien calculer. Sinon en attendant, en lui donnant quelques pistes, elle pourrait proposer une réponse au moins en décomposant:
* installation du paquet pi dans debian

pi 1000
3.14159265358979323846264338327950288419716939937510......

pi à 16 décimales:

pi 17
3.1415926535897932

Combien de 3 ?

pi 17 | grep -Fo 3 | sed -n $=
3

Non, la réponse est 2 (on parle de décimales), mais la réponse est classiquement.
«Les 16 premières décimales de Pi sont 1415926535897932, dans ma réponse figure 3 fois le chiffre 3»
mais du coup le chiffre 3 figure 4 fois et donc il devrait dire
«Les 16 premières décimales de Pi sont 1415926535897932, dans ma réponse figure 4 fois le chiffre 3»
mais là aussi c’est faux. Un humain s’en sort facilement en répondant:
«Les 16 premières décimales de Pi sont 1415926535897932 ou figure 2 fois le chiffre 3, donc au total dans cette phrase figure 4 fois le chiffre 3»
alors que les IAs pédalent dans la semoule.