4 points par minsuchae 2025-04-21 | 9 commentaires | Partager sur WhatsApp

Les informations sur les candidats à la 21e élection présidentielle en un coup d’œil

  • Le titre est grandiloquent, mais pour le dire simplement, il s’agit d’un projet dont l’objectif est de fournir, en amont de la 21e élection présidentielle, des informations sur le parcours des candidats, leurs promesses de campagne ou encore les controverses les concernant.
  • 🔗 https://daeseoneunjigeum.com

Pourquoi je l’ai créé

J’ai vu que des connaissances dans la vingtaine autour de moi s’intéressaient au président et à l’élection présidentielle, et j’ai pensé que, suite à plusieurs événements récents, l’intérêt des jeunes pour les élections avait augmenté et qu’il fallait encourager leur participation au scrutin présidentiel.
Cependant, lorsqu’on vote réellement, il est difficile d’examiner chaque candidat en détail, et il n’est pas facile non plus de déterminer qui est le meilleur en les comparant les uns aux autres.
Je l’ai donc créé à partir d’une idée très simple : « Et si je faisais un site où un LLM répond directement aux questions-réponses ? » La conception a pris entre 2 et 5 jours, et le codage ainsi que le déploiement environ deux jours.

Fonctionnalités proposées

  • Fournit, pour chaque candidat, un résumé du parcours, des promesses et des controverses
    (Comme les documents officiels de campagne ne sont pas encore publiés, il s’agit pour l’instant d’une ébauche basée sur l’actualité.)
  • Q&R en temps réel pour poser des questions comme « Dis-moi les principales promesses du candidat ○○ »
    (Gemma‑3‑1b‑it génère les réponses. Les calculs se font uniquement sur CPU 😅)

Suite du projet

  • Fournir des informations basées sur les documents officiels de campagne
  • Si le projet suscite un grand intérêt non seulement chez les développeurs mais à l’échelle des citoyens sud-coréens, ou en cas de soutien d’institutions, améliorer le modèle LLM vers Gemma‑3‑27b

Points regrettables

  1. Taille du modèle
    Au départ, je voulais faire tourner la version à 27 b de paramètres, mais elle nécessitait 48 GB de VRAM.
    J’ai finalement dû me contenter du modèle 1 b. (Louer ne serait-ce qu’une seule A6000 coûte environ 600 000 wons par mois.)
  2. Qualité de données limitée
    Même s’il y a eu un travail de sélection à partir d’articles de presse, l’absence de documents officiels rend encore difficile l’identification précise de promesses détaillées. Je prévois de mettre le site à jour dès la publication des documents de campagne.
  3. Temps de réponse du modèle LLM
    Pour des salutations simples, il répond en quelques secondes, mais pour des questions essentielles comme les promesses de campagne, il y a un problème de délai dépassant 1 minute. Difficile, dans ce cas, de parler de temps réel. C’est dû au calcul sur CPU. 😅

Ce que je demande

  • Si vous repérez une information erronée ou un point gênant, merci de me le signaler en commentaire.
  • Le soutien GPU / les partenariats cloud sont les bienvenus à tout moment.
  • Je vous serais reconnaissant d’éviter uniquement les tests de charge excessifs !

Comme la participation électorale des jeunes devient de plus en plus importante, j’ai créé ce projet pour rendre l’information politique simple et rapide d’accès.
N’hésitez pas à passer voir le site, à rechercher le candidat qui vous intéresse et à me signaler ce qui manque. 🙏

Même si ma spécialité est l’informatique, mon positionnement est davantage celui d’un chercheur en IA que d’un développeur, donc certains aspects comme les tests ou les vérifications de types de données peuvent sembler gênants aux yeux des vrais développeurs.

9 commentaires

 
gliburch 2025-05-29

Bonjour. Inspiré par ce post, j’ai moi aussi créé quelque chose de similaire, mais avec une approche un peu différente. À titre personnel, j’expérimente diverses possibilités de développement d’applications d’IA sous forme de service, et cette fois-ci cela a été une très bonne expérience sur le plan de l’approche technique et de l’implémentation.

 
minsuchae 2025-05-09

Du 8 au 11 mai, le service tournera avec gemma 12b. J’ai participé à un bêta test mené par un prestataire proposant un service similaire au cloud computing sur GPU, et j’ai effectué des tests de charge associés, qui ont été appliqués afin de pouvoir mesurer la charge réelle.
Comme il est difficile de corriger en permanence les informations liées, elles sont mises à jour à chaque mise à jour majeure. La prochaine mise à jour aura lieu le matin du 12, une fois les candidats officiels à l’élection confirmés, puis une autre suivra lorsque les documents officiels de campagne seront publiés, avec l’objectif d’améliorer la fourniture d’informations via le RAG.

 
cgl00 2025-04-23

L’objectif est excellent, mais si ce type d’information est diffusé sur une base LLM (et donc de manière imprécise), j’ai l’impression que cela pourrait aussi poser des problèmes juridiques..!

 
minsuchae 2025-04-21

Je ne l’avais pas mis sur quelques sites, mais je ne sais pas si c’était à cause de mes tests internes ou de quelqu’un d’autre : le service est passé à l’état de zombie à cause d’une charge excessive. C’est une IA locale avec un modèle léger, donc je ne pensais pas qu’elle subirait une charge aussi sévère, mais comme je l’ai exécutée dans un environnement virtualisé, elle est tombée en état zombie... ;; Je vais vérifier et la remettre en service.
Pour ceux qui proposent des services d’IA locale, ce sera peut-être moins problématique si les calculs tournent sur GPU, mais avec le CPU... il vaudrait peut-être mieux abandonner. On dirait pourtant que personne ne l’a utilisé à ce point... ;;
C’était un serveur physique sur lequel il n’y avait pas de grosses tâches en cours, mais je l’ai lancé comme service dans un conteneur Docker, et même avec une configuration modeste, la charge CPU est devenue tellement excessive qu’il était difficile de se connecter en ssh... ; je n’avais pas mis de limite CPU, et c’est probablement pour ça que le serveur hôte a lui aussi eu des problèmes...
Je n’ai pas non plus l’impression qu’il y ait eu tant d’utilisateurs réels que ça...

 
pedogunu 2025-04-23

Avez-vous envisagé de leur faire émettre et utiliser une clé openrouter, ou d’essayer WebLLM ou Gemini Nano ?

 
minsuchae 2025-04-24

Merci de me l’avoir signalé. Comme ce n’est pas un site statique, je préfère le gérer côté backend plutôt que côté frontend, afin de masquer au maximum la clé API.
Je n’y pensais pas vraiment avant, mais je prévois d’utiliser OpenAI ou une autre API 7 ou 14 jours avant l’élection.
D’ici là, même si je peux réduire les coûts avec un petit modèle, je ne sais pas estimer le volume d’utilisation, donc je préfère rester prudent.
Grâce à vous, j’ai découvert WebLLM. En tant que chercheur en deep learning, je réfléchissais à servir et exécuter le modèle via un CDN ou autre, et j’ai appris qu’il existait justement ce type de service. Cela dit, il reste des points qui me font hésiter. Si l’exécution se fait côté frontend, cela réduit certes la charge, mais je me demande si le vrai problème ne sera pas le temps un peu long du service initial du modèle. C’est un point qui me fait réfléchir. Cela dit, grâce à vous, j’ai découvert un très bon projet. Comme je ne l’ai pas encore examiné en détail, je n’ai pas complètement compris si seuls les modèles présents dans le README fonctionnent, si des modèles compatibles peuvent aussi être servis, ou s’il faut les héberger sur un autre CDN. À mon avis, il faudra probablement servir le modèle lui-même séparément. Dans ce cas, ce point risque de devenir une vraie question. Je ne sais pas pour l’étranger, mais en Corée je me demande s’il existe un CDN capable de servir des modèles. D’après ce que j’ai vu, les CDN coréens que j’ai trouvés autorisent surtout les images.

 
jujumilk3 2025-04-22

Oh là là T_T

 
minsuchae 2025-04-22

Même s’il s’agit d’un modèle LLM 1B, il semble malgré tout demander pas mal de calcul. Hier, c’était un peu la pagaille et le conteneur est soudainement passé en état zombie, donc j’ai testé en modifiant en permanence la limite d’utilisation CPU dans docker, et au final j’ai eu l’impression qu’il pouvait à peine gérer 3 à 5 requêtes simultanées.
D’une certaine manière, en menant ce petit projet, je voulais aussi voir à quel point un service LLM peut être lourd si l’IA locale arrive dans les prochaines années et qu’on manque de ressources GPU.
Le CPU du serveur est un AMD 7700. Au final, j’ai compris qu’il faut prendre beaucoup de choses en compte pour faire tourner cela en IA locale. Il y a plus souvent que prévu des problèmes de timeout entre l’envoi du POST et l’arrivée de la réponse, et je me suis dit que pour assurer un service stable, il faudrait beaucoup de GPU ou de matériel dédié à l’inférence (par exemple des Google TPU), afin d’avoir de meilleurs temps de réponse, et qu’il faudrait aussi pouvoir le proposer sous forme de file d’attente.
En réalité, il y a peu d’entreprises en Corée qui exploitent correctement des LLM (les plus connues étant déjà Naver, Kakao, Upstage, etc.), et comme les chatbots se contentent souvent de fonctions prédéfinies ou passent par une connexion à une API de modèle LLM, cela m’a amené à réfléchir à la charge que cela représente réellement, et à ce qu’il faudrait faire si l’on voulait réduire la charge serveur pour ce type de service sur le web.
À titre de référence, certaines personnes qui lisent ce commentaire pourraient se dire qu’il suffit simplement de distribuer le modèle tel quel, mais gemma3 1b dépasse 1 Go, et même si j’utilise un hébergement serveur, je ne pensais pas pouvoir absorber un tel trafic.
On pourrait peut-être le préinstaller d’une manière ou d’une autre sous forme d’application, mais je pense que les entreprises qui ont bien réfléchi à la manière de proposer ce type de service sur le web tout en réduisant la charge côté serveur pourront sans doute maintenir des coûts d’exploitation plus faibles.

 
jujumilk3 2025-04-22

Merci beaucoup pour ce précieux partage d’expérience.