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 !