object.title
Comment j'ai été addict puis effrayé de ChatGPT
  1. La découverte 

Ma découverte de l'API d'OpenAI a marqué le début de mon immersion dans le monde des modèles de langage à grande échelle (LLM). Initialement, ma curiosité a été stimulée par l'intégration de l'API dans mes projets personnels (génération de code, idéation, recherche…). Je suis fan de robotique et domotique, j’essaie d’automatiser beaucoup de chose et l’arrivé d’openIA m’a fasciné sur les possibilités dans ce domaine, l’étape d’après Google Home, Alexia etc.... 

  1. Premières Expérimentations 

L'utilisation de l’API du LLM a commencé par des applications pratiques : apporter une aide sur les questions de biologie avancée de mon mini-moi n°1, qui dépassait mon niveau scolaire ; me fournir des descriptions et réflexion sur certains sujets liés à la cybersécurité (80% de mon utilisation à ce moment); et le plus important m’aider à la mise en place d’un système de récompense pour encourager à la réalisation des tâches domestiques à la maison. Étrangement les points obtenus étaient toujours utilisés pour débloquer le wifi hors des heures d’activité autorisées.  
Fun fact : ne laissez pas votre assistant accessible à votre mini-vous (n°3 pour moi, 6 ans à l’époque des faits) si vous souhaitez conserver vos tokens, il s’est très vite rendu compte que les réponses étaient plus intéressantes que son Google Assistant, mon budget a explosé. 

  1. L'Arrivée de ChatGPT 

L'introduction de ChatGPT par OpenAI a consolidé les fonctionnalités précédemment dispersées dans l'API, offrant une interface unifiée et plus intuitive. Alors que le monde découvrait ChatGPT et les LLM je découvrais qu’une UX soignée pouvait faire une grande différence, là où mon utilisation précédente m’obligé à passer par mon shell et son prompt pour appeler l’API en fonction de ce que je souhaitais faire, je pouvais à présent tout faire dans la même interface. 

  1. Pousser les limites 

J’ai commencé à l’utiliser quotidiennement, pour corriger mes textes, vérifier le sens de mes échanges en anglais, produire du contenu professionnel. Il m’accompagnait au quotidien devenant l’onglet le plus statique devant spotify. Cette utilisation m’a mis en évidence les capacités, mais aussi les limites du modèle, notamment en termes de précision et de fiabilité, j’ai commencé à le challenger sur MITRE et l’extraction de TTP depuis des rapports CERT, et j’ai découvert les hallucinations, il était en mesure de répondre avec aplomb alors que ce qu’il disait était faux. Et je commençais à me questionner sur mon utilisation. 

  1. Mais ? Tu fais quoi de mes données là ?! 

L'œil d'expert est une malédiction professionnelle : il analyse et juge constamment l'environnement. L'univers de la cybersécurité fait partie intégrante de ma vie. Rapidement, mon attention s'est portée sur la sécurité des données et l'intégrité des interactions avec ChatGPT. L'idée d'entrer des données sensibles ne m'a jamais séduit, preuve de l'efficacité des campagnes de sensibilisation subit depuis longtemps. Je voulais l’utiliser pour des sujets sur lesquels je souhaitais augmenter ma productivité, mais je ne voulais pas lui donner des informations qu’il n'était pas censé avoir : les premiers incidents commençaient à défrayer la chronique (samsung, dataleak, prompt overflow ...) on est au début et je n’ai pas vraiment pris le temps de lire ce que ferai OpenAI de mes données, le temps de rétention, la réelle suppression etc... Je ne pouvais pas raisonnablement continuer mes expérimentations sur le modèle OpenAI, pas dans le niveau de service actuel. 

  1. Vers la non-dépendance l'Indépendance Technique 

La réflexion n’a pas été très longue, je ne peux pas m’en passer : je palliais ma dyslexie et me rassurais dans mes échanges (sens souhaité/perçu syntaxe...), sur ce point ma femme a été plus que ravie d’être moins sollicité. J’évitais de longue lecture en demandant de résumer l’essentiel d’un article technique, et je cherchais des utilisations pour améliorer ma productivité.  La nécessité de contrôler les données et leur traitement m'a incité à explorer les alternatives. Il se trouve que Llama ou encore GPT4All venaient de faire leur entrée sur la scène et j'ai pu initier la mise en place d'un LLM local. Mais j’ai été confronté aux défis techniques de la mise en œuvre, je ne comprenais pas encore ce qu’était un LLM, son fonctionnement et les prérequis nécessaires, donc comme toujours une bonne dose de documentation plus tard : ça marche mais c’est loooong, ça crash et ça bug. Tout ce que j’aime. 

  1. Mixtral 34B et tentative de personnalisation 

Après avoir travaillé avec Llama et profité des avancées de la communauté open-source, j'ai optimisé mon outil en utilisant Llama.cpp et huggingface. Le modèle Mixtral 34B, quantifié pour tourner sur ma Nvidia 3080 12gb, offrait de très bon résultat et un contrôle complet sur mes données, essentiel pour mes projets délicats. Cependant, le modèle peinait avec l'analyse de texte contextualisée, difficulté renforcée par la charge en mémoire des textes de référence et le fait qu’il s’agit de modèle générique. Malgré des tentatives d'affinage de l'apprentissage, les seuls résultats tangibles furent une facture d'électricité salée et un PC qui a remplacé mon chauffage. Les essais avec des modèles plus légers n'ont pas porté leurs fruits. Avec même une tentative d'injecter un trait de sarcasme dans l’une des générations, et je n’ai jamais été autant trollé, elle a surpassé sans difficulté mini-moi n°1 et 2, mais elle n’était plus en mesure de répondre correctement. 

  1. Et maintenant ? 

Je ne pourrai plus jamais me passer des technologies GPT/LLM, j’ai bien trop d’usages et cela me rassure dans mon quotidien. Aujourd’hui je comprends bien mieux le domaine des LLM, mais les mathématiques restent toujours aussi complexes pour moi.  
Mon LLM local gère des tâches critiques sans dépendre de services externes, je continue de bénéficier de cette innovation tout en récupérant la maîtrise de mes données. J’ai aussi la maitrise de mes projets, la possibilité d’expérimenter sans crainte. Bien sûr, ça ne résout pas les limites du LLM, je dois toujours contrôler les retours, vérifier les hallucinations, changer de modèle en fonction du contexte etc... Mais je suis rassuré et serein.  Les exemples sont nombreux sur les incidents et risques des LLM, on découvre des nouveaux cas tous les jours. (Les LLM Agent, ça vous parle ? Rester branché avec Squad on va en parler). C’est l’occasion pour moi et Fabien, notre expert IA, de vous parler prochainement des préconisations concernant l’utilisation des LLMs. 

  1. Pour aller plus loin : 

Eileen Yu. (Aug. 11, 2023). 75% of businesses are implementing or considering bans on ChatGPT. ZDNet. Retrieved from https://www.zdnet.com/article/75-of-businesses-are-implementing-or-considering-bans-on-chatgpt/ 

Hugging Face Community. (n.d.). Home Page. Retrieved from https://huggingface.co/ 

GPT4ALL. manyoso (n.d.). Home Page. Retrieved from https://gpt4all.io/index.html 

Gerganov, G. (n.d.). llama.cpp. Retrieved from https://github.com/ggerganov/llama.cpp 

Jan.ai. (n.d.). Home Page. Retrieved from https://jan.ai & https://github.com/janhq/jan 

["okay, but I want GPT to perform 10x for my specific use case"]. (Year). YouTube. Retrieved from https://www.youtube.com/watch?v=Q9zv369Ggfk 

[What is Retrieval-Augmented Generation (RAG)?]. (Year). YouTube. Retrieved from https://www.youtube.com/watch?v=T-D1OfcDW1M 

  1. Une petite anecdote pour la fin?  

Je vous ai dit que j’utilisais mon LLM principalement pour palier à ma dyslexie, parfois j’ai l’impression d’être clair/cohérent mais pas du tout quand je vois les suggestions de mon LLM. Dans l’une de mes expérimentations j’ai tenté de lui apprendre à anonymiser mes inputs, pour voir si on pouvait avoir confiance sur un modèle pour rendre sûres des données sensibles etc... J’ai donc donné comme instruction de remplacer les prénoms, noms, lieux, par des informations imaginaires. Cela n’a pas marché, ce n’était pas concluant. J’ai laissé de côté pour y consacrer un peu plus de temps plus tard. Sauf que, j’ai oublié entre temps, et innocemment, je lance mon LLM pour qu’il me corrige un échange à destination d’un contact important, je n’étais pas sûr de ma formulation en anglais, qu’elle ait bien tout le sens voulu, mais j’avais le doute que sur une partie de mon texte... Vous sentez le truc venir? J’avais un prénom dans le texte, au début, là où je n’avais pas de doute, j’ai donc contrôlé seulement la partie qui m’intéressait : il était effectivement plus pertinent que moi, la génération avait plus de sens, je copie/colle et j’envoie. Réponse du contact : “Who is Toto ?”