Charles Cohen

333

Bodyguard

Charles Cohen

Coder contre la haine

L'avenir, c'est la complémentarité des IA.
Suivre IFTTD =>

Le D.E.V. de la semaine est Charles Cohen, fondateur de Bodyguard. Charles raconte à Bruno son parcours et les défis de modérer les contenus en ligne et contrer le cyberharcèlement. Ayant débuté la programmation à 10 ans, il crée Bodyguard à 21 ans, inspiré par la situation tragique d'une adolescente harcelée sur internet. L'intelligence artificielle de Bodyguard ne se limite pas à identifier les mots-clés insultants : elle analyse le contexte et mesure la gravité des messages. L'approche combinée de modèles symboliques et de deep learning offre une analyse plus fine des contenus. Charles souligne l'effet bénéfique de sa technologie sur le bien-être des utilisateurs les plus vulnérables et rappelle l'importance de suivre les avancées de l'IA. Une discussion qui ouvre la voie vers un futur numérique plus respectueux.

Chapitrages

00:00:56 : Introduction à la modération en ligne

00:02:53 : Parcours de Charles Cohen

00:05:23 : Naissance de Bodyguard

00:15:43 : Fonctionnement de l'application Bodyguard

00:18:48 : Technologies et IA symbolique

00:27:49 : Machine learning et ses limitations

00:34:30 : Intégration des LLM chez Bodyguard

00:42:53 : Évolution des technologies et défis

00:57:43 : Santé mentale face à la haine en ligne

01:01:56 : Conclusion et conseils pour les auditeurs

Cet épisode n'a pas encore été compilé !
Un épisode est généralement refactoré 3 ans après sa diffusion !

Un peu de patience ...
Pas d'extraits disponible :(
Bruno:
À la cantine du collège, il y avait toujours un pion un peu fatigué pour calmer les embrouilles que vous pouviez avoir avec Kevin. Sur Internet, il n'y a personne, ou plutôt il y a les plateformes qui régulent, modèrent, interdisent, mais pas toujours assez vite, ni forcément assez bien. Entre les failles techniques, les zones grises et les nouveaux types de toxicité qui émergent chaque jour, la haine en ligne reste un terrain glissant. Mais alors, peut-on vraiment modérer la haine avec du code « Faut-il tout construire maison » ou simplement « Faint-Tuner un LLM » Et surtout, comment garder sa santé mentale quand son taf, c'est de lire les pires horreurs du web. Pour répondre à ces questions modérées, je ne reçois pas Chris Poul, mais il s'y connaît en commentaire qui dérape. Charles, bonjour.

Charles:
Salut Bruno.

Bruno:
Alors Charles, est-ce que tu peux te présenter pour les quelques personnes qui ne te connaîtraient peut-être pas ?

Charles:
Ah oui, à mon avis, il y a beaucoup de personnes qui ne me connaissent pas. Mais du coup, je m'appelle Charles Cohen, j'ai 29 ans, 30 ans dans un mois, terrible. Et je suis du coup président et fondateur de Bodyguard que j'ai fondé j'avais à peu près 21 ans donc c'était maintenant il y a 8 ans un peu plus de 8 ans, et j'ai un parcours un petit peu différent dans le sens où j'ai commencé la programmation à 10 ans dans ma chambre tout seul, enfin en lisant un livre programmé en java, et spoiler alert, la technologie Bodyguard d'IA symbolique dont on parlera après est toujours codée en java, et donc je commence la programmation à 10 ans et très vite je ne suis pas du tout intéressé par les études donc j'arrive quand même à avoir mon bac, S avec 10,02 de moyenne, quelque chose comme ça, j'essaie de faire un an un an d'école d'ingénieur où je termine dernier je fais un an de fac où je termine dernier de fac informatique où je termine dernier sauf en informatique où je termine premier, donc là je me dis bon bah c'est pas pour moi donc je fais 2-3 projets techniques à droite à gauche je ne fais rien de sérieux et à 20 ans, 21 ans je commence à travailler sur Bodyguard.

Bruno:
Donc voilà je suis en train de me demander est-ce que tu nous présentes en premier ce qui est Bodyguard ou comment est-ce que tu en es venu à cette idée là ? Peut-être que c'est l'occasion de les deux.

Charles:
Je peux le faire les deux, du coup je pense qu'il faut revenir un peu plus en arrière sur mon éducation, j'ai reçu une éducation de mes parents qui est une éducation où on m'a toujours appris à lutter contre l'injustice. Donc j'ai toujours eu cette volonté de lutter contre l'injustice et de protéger les gens qui sont potentiellement vulnérables, dans la vraie vie, mais également sur Internet. J'ai aussi grandi avec Internet. Je suis une génération où, en fait, on a grandi avec Internet. À 10 ans, c'est là où ça a commencé un petit peu à exploser. Donc nous, on s'est construits avec Internet. Donc on a vu ce qui était magnifique avec Internet, mais on a aussi vu ce qui était moins bien avec internet. J'ai 20 ans, 21 ans, 20 ans, c'était j'avais 20 ans, je ne savais pas trop quoi faire de ma vie, j'étais chez mes parents, dans ma chambre en pyjama, sans diplôme, sans formation, sans expérience professionnelle, je savais à peu près coder, enfin je savais coder, je n'étais pas un génie de la programmation, mais j'étais assez généraliste, donc je savais bien coder dans front, bac, base de données, tout ça, je m'en sortais bien.

Bruno:
C'était aussi une époque où on pouvait effectivement maîtriser aussi bien le front et le back, parce qu'il y avait moins de techno, c'est que les choses étaient d'une certaine manière moins complexes.

Charles:
Exactement, donc j'ai commencé avec Java sur le bac, Java, PHP, j'ai fait PostgreSQL, donc du SQL sur les bases de données, et en front c'était HTML, CSS, JavaScript. Point final, c'était les technologies du moment, simple, c'était du JavaScript, du vanilla JavaScript, avec jQuery quand même, on pourra en reparler, mais c'était la mode et ça fonctionnait bien. Et là j'ai 20 ans et un soir je lis en fait un article d'une jeune fille de 11 ans qui s'est pendue dans sa chambre à cause du cyber harcèlement qu'elle recevait. Je sais pas si on réalise en fait la dinguerie du truc. C'est une fille de 11 ans qui est dans sa chambre près partout, s'est pendue à cause de la haine en ligne qu'elle recevait sur les réseaux sociaux. Et là je me dis bon en plus de tout ce que j'ai vu par le passé sur ces problématiques de toxicité je me dis bah je vais essayer de faire quelque chose j'ai rien à faire, j'ai rien à faire c'est inacceptable ce qui est en train de se passer, je vais essayer de faire quelque chose et donc je commence. Par modérer à la main peut-être, je scrappe, Peut-être les dix vidéos, les dix plus gros youtubeurs du moment, je scrappe tout l'espace commentaire. Donc je me retrouve en fait avec à peu près deux millions de commentaires. Et je me dis, en fait, je vais commencer par, pour faire quelque chose de bien, il faut comprendre le problème. Donc je vais commencer par modérer la main, c'est-à-dire que je me tape à la main deux millions de commentaires. J'ai modéré en tout, j'avais calculé à peu près deux millions de commentaires pour essayer de comprendre. Quand je détectais qu'un commentaire était haineux qu'est-ce qui se passait dans mon cerveau ? qu'est-ce que je me disais dans mon cerveau pour arriver au résultat qu'un commentaire est problématique ? Et de là je me dis bon, il y a des patterns qui reviennent quand même donc on peut commencer à essayer à faire quelque chose et donc je commence à développer une technologie dite d'IA symbolique et je pense qu'on reviendra sur l'IA de manière générale parce que pour moi il y a trois types d'IA il y a l'IA symbolique qui est en fait du code de l'algorithmie, des moteurs de règles, il y a du machine learning et après il y a eu du deep learning donc l'LLM est du deep learning sous stéroïde donc pour moi il y a eu ces trois évolutions majeures. Et donc je commence parce qu'on est en 2017 en 2017 le machine learning c'était à peu près la mode depuis 2015 mais c'était encore au balbutiement, c'était vraiment encore au tout début et donc je me dis, moi je vais coder un algorithme en java, un dia symbolique, donc je crée un moteur de règle en java qui est pour l'histoire encore utilisé maintenant sur l'analyse de milliards de contenus tous les mois et qui est encore maintenant plus performant que du LLM. On reviendra là-dessus pourquoi. Je commence à coder ça et donc je lis les commentaires, je modère les commentaires en parallèle et je code à la fois l'algorithme et je code la plateforme qui me permet d'alimenter la technologie. Pourquoi ? Il y a deux choses. La modération, c'est à la fois un jeu du chat et de la souris. Et ça, c'est important de l'avoir en tête. C'est-à-dire que la modération, il y a tous les jours des nouvelles formes de toxicité, des nouvelles façons de cyberharceler quelqu'un, des nouvelles expressions de nouveaux emojis, de nouveaux mots. Ça, c'est la souris. L'internaute, il est très rapide. Il comprend très vite comment faire évoluer les choses pour créer une nouvelle tendance et pour bypasser, donc éviter les filtres mis en place par les plateformes. Donc le chat le problème c'est que la souris il est très rapide le chat c'est les plateformes, les réseaux sociaux le chat il est un peu trop gros et le chat de par sa taille, parce que Facebook, parce que Meta c'est énorme il y a 50 000 employés il est un peu trop gros, pour pouvoir suivre les nouvelles tendances donc je comprends dès le début que la modération c'est un jeu du chat de la souris où la technologie il faut qu'elle puisse être mise à jour très rapidement donc je crée la technologie l'algorithme qui va recevoir les règles linguistiques. Et je crée tout le back-office pour les linguistes pour pouvoir alimenter la technologie le plus rapidement possible ça c'est la première base que je me dis sur la compréhension du problème pour l'IA symbolique et dans la modération, la modération c'est quoi ? La modération c'est pas juste de la détection de mots-clés parce que je vais utiliser un exemple ça te va si je donne quelques exemples pas haineux mais c'est dans le cadre pour donner du contexte, par exemple le mot peau, c'est pas un mot qui est problématique Si quelqu'un dit t'as une belle peau, c'est très gentil. Si quelqu'un dit j'aurai ta peau, c'est une menace de mort. Le mot pédale, il n'est pas homophobe en soi. Si on parle d'une pédale de vélo, il n'y a aucun problème. Si on dit par exemple t'es une sale pédale, là c'est totalement différent. Donc le premier truc que je comprends, c'est que les mots-clés, la détection de mots-clés, ça ne va pas marcher. Ce que font les plateformes à cette époque-là, en 2017, c'est uniquement du mot-clé. Il faut une expérience linguistique, il y a des combinaisons énormes. Tu peux l'écrire PEAU mais tu peux l'écrire PAUX tu peux l'écrire PO donc le mot clé ça va pas fonctionner. Donc, il faut... Ok, c'est bien beau de détecter un mot ou un ensemble de mots, peau, mais en fait, il faut du contexte. Le contexte, c'est ce qui se passe avant ou après dans la phrase. Quelqu'un qui dit... Désolé pour l'insulte, mais quelqu'un qui dit le mot connard. Le mot connard, c'est une insulte. Quelqu'un qui vient te voir et qui vient poster un commentaire en disant t'es un connard, ça c'est une insulte. Il faut retirer le commentaire. Quelqu'un qui vient te voir et qui dit Bruno j'étais dans la rue, je marche tranquillement et là on m'a traité de connard alors oui il y a, l'insulte mais il ne faut pas le retirer ce commentaire sinon c'est de la censure, donc je comprends que c'est bien beau de détecter les mots mais il faut comprendre ce qui se passe avant et après donc les règles linguistiques ce n'est pas uniquement les mots problématiques, c'est ce qui se passe avant et après pour à la fois valider dans quel contexte le mot est utilisé et comprendre envers qui c'est destiné donc ça c'est la première chose, il ne faut pas que des mots clés il faut comprendre envers qui c'est destiné, dans quel contexte les mots sont utilisés.

Bruno:
J'ai pas d'exemple aussi qui me vient d'en tête, mais j'imagine que le contenu sur lequel tu poses le message il va y avoir des contextes aussi où t'as des propos qui selon la vidéo à laquelle la personne commente la même phrase peut être problématique ou pas.

Charles:
A l'époque Bodyguard ont protégé Bilal Hassani Bilal Hassani qui est un chanteur, transsexuel et homosexuel, Bilal Hassani il a fait plusieurs vidéos et on avait aussi beaucoup de créateurs de contenu qui faisaient des vidéos de coming out, quelqu'un qui vient poster sous la vidéo je fais mon coming out en emoji qui vomit ça c'est de l'homophobie quelqu'un qui vient poster un commentaire emoji qui vomit sous des créateurs de contenu qui vont faire des expériences avec de la nourriture, c'est un commentaire qui est tout à fait neutre donc je comprends aussi autre chose c'est que le même commentaire en fonction de quel sujet il est posté il peut avoir une signification totalement différente, quelqu'un qui va dire je suis content pour lui si on parle de youtubeur qui a dépassé le million d'abonnés c'est très gentil comme commentaire si je suis content pour lui on parle de quelqu'un qui s'est suicidé ou qui est mort ça c'est un contenu qui est illégal donc l'importance du sujet, c'est quelque chose de clé donc ça aussi je le comprends très vite encore une fois on est là où des plateformes étaient toujours avec des mots-clés toujours avec des mots-clés, et on parlera après du machine learning pour montrer aussi la limitation du machine learning, c'est un sujet qui est important peut-être que je donne beaucoup d'informations à nos concurrents d'ailleurs mais c'est très bien si ça peut faire avancer la science et donc je comprends ça, ensuite je comprends une autre chose c'est que. Donc, il y a le sujet de la vidéo, de l'article, il y a à qui c'est destiné, dans quel contexte c'est utilisé. Je comprends aussi que les anxiotes n'ont pas la même gravité. Et que protéger un youtubeur de 40 ans qui fait des vidéos un peu marrantes sur GTA V, c'est pas la même chose que protéger une petite fille qui présente les jouets qu'elle a eus à Noël quand elle a 10 ans. L'impact n'est pas le même. et donc je comprends que c'est bien de classifier un commentaire comme une insulte mais en fait il faut comprendre, la sévérité et la gravité de l'insulte parce que c'est pas la même chose quelqu'un qui va dire t'es con si c'est posté sous le, youtubeur de 40 ans qui fait des vidéos gaming il faut le laisser sinon c'est de la censure quelqu'un qui va dire t'es con si on parle à un enfant de 9 ans, qui se lance sur internet l'impact il est pas du tout le même donc je comprends qu'il faut en plus de ça, il faut pouvoir classifier les contenus mais il faut aussi pouvoir associer à chaque ring linguistique une notion de sévérité parce que pas tout le monde a la même sensibilité la même notion de protection, et c'est comme ça qu'on arrive avec une technologie qui permet à la fois d'avoir plusieurs détections de classification des insultes, de l'homophobie etc des niveaux de sévérité différents comprendre à qui c'est destiné et comprendre la langue pour pouvoir traiter dans plusieurs langues et donc la modération c'est ça la modération effective et ce qui se passe dans ton cerveau en tant qu'humain quand tu fais de la modération ou quand tu te poses la question de si c'est un contenu problématique ou pas, c'est ça. Et il y a une dernière couche qui est, je comprends très vite aussi, que quelqu'un qui va dire « t'es nul » à quelqu'un d'autre. C'est pas grave « t'es nul ». Quelqu'un te dit « t'es nul » sur Internet, on va s'en remettre, ça fait partie du jeu. Si par contre le « t'es nul », tu le reçois 500 fois par jour... Là, ça devient du harcèlement moral. Là, ça devient du harcèlement moral qui aura la même gravité que quelqu'un qui va te dire « mets fin à tes jours ». Et donc, je comprends qu'il faut aussi faire une technologie d'analyse sur le comportement des auteurs pour justement gérer ces cas-là. Et donc, Bodyguard, Dolia Symbolic, c'est ça. C'est tout ce que je vous dis depuis le début. Et donc, j'arrive à développer cette technologie-là, qui fonctionne assez bien parce que je passe vraiment un an sur le développement de ça. À la fois, je continue de modérer à la main des commentaires, alimenter les règles linguistiques, voir si c'est détecté faire du benchmark etc mais j'arrive à développer une technologie on est en 2018-2017 fin 2017 où j'ai cette technologie là, qui détecte très bien en français uniquement si un contenu est haineux ou pas avec un niveau de granularité qui me permet de faire quoi ? Qui me permet de répondre à la mission de Bodyguard c'est de protéger le plus de monde possible des contenus haineux donc qu'est-ce que je fais avec cette technologie là ? Il se trouve qu'à ce moment là j'ai aussi des compétences en développement sur Android parce que c'était du Java. Et j'apprends très vite l'objectif C pas du Swift, l'objectif C pour développer sur iOS je fais une application en natif grosse erreur, j'aurais du faire un truc hybride mais bon ça c'est pas grave je développe une application mobile qui s'appelle Bodyguard, qui s'appelle Bodyguard et qui a pour but d'aider les créateurs de contenu peu importe leur âge, peu importe le nombre de followers qu'ils ont, à pouvoir se protéger du cyber harcèlement et des contenus haineux sur Youtube et sur Twitter à l'époque, application gratuite sans publicité, avec une promesse, tu télécharges l'application tu connectes tes réseaux sociaux, tu personnalises ta modération, donc je te laisse la main sur tu veux être protégé des insultes, ok jusqu'à quelle sévérité tu veux être protégé, en donnant des exemples précis tu personnalises ça, Tu quittes l'application et tu vis ta vie. Bodyguard, application mobile, ça récupère en temps réel les commentaires qui sont pochetés sous tes vidéos YouTube, tes posts sur Twitter, etc. C'est analysé avec la technologie. La technologie renvoie toute une classification détaillée. On va récupérer après ça les règles de modération de la personne qui est protégée. Et s'il y a un match, on retire le contenu en temps réel de la plateforme. Le début de Bodyguard, c'est ça. C'est une application mobile gratuite, sans publicité, destiné aux créateurs de contenu ou aux gens qui ont une présence sur Internet et qui ont besoin d'être protégés en temps réel du cyber-harcèlement en français sur ces plateformes-là. Ça, c'est le tout début.

Bruno:
Belle mission. Beau projet.

Charles:
Belle mission.

Bruno:
Je reviens du coup au démarrage où tu nous parles dans cette première création d'IA Symbolique. En toute sincérité, à l'époque, quand tu commences à créer ça, est-ce que tu savais déjà que tu étais en train de créer une IA Symbolique ou est-ce que tu l'as fait sans savoir ? Parce qu'en fait tu faisais ton moteur de règles sans savoir que vraiment tu étais en train de faire une IA symbolique mais c'est au bout d'un moment à force de confronter le truc je.

Charles:
Le savais pas du tout pour moi je le savais pas du tout j'étais vraiment, je savais pas du tout que j'étais en train de créer une IA symbolique le terme IA symbolique je l'ai appris que vraiment à la maturité du machine learning et à l'arrivée encore récente de l'intelligence artificielle, mais ce terme là pour moi c'était juste je veux créer une technologie qui va résoudre d'un problème précis que je connais parfaitement. Et donc, je vais créer une technologie qui va le faire. C'était uniquement ça.

Bruno:
Qu'est-ce qui fait la différence entre une succession de if et cette idée de dia-symbolique ? C'est quoi ? À quel moment, en fait, tu fais le...

Charles:
En fait, techniquement, c'est à peu près la même chose. On parle de if, mais c'est beaucoup de boucles wild et des for et des for each. Mais techniquement, c'est ça, quoi. Il y a de ce qu'on appelle du one-hot en coding, c'est-à-dire que quand on reçoit un commentaire textuel, on va séparer les mots on va convertir les mots en entiers et donc en fait on va travailler avec des listes d'entiers plutôt que de faire de la recherche dans des strings dans du texte qui coûte beaucoup plus cher d'en preuve du ressource et d'un point de vue de temps donc il y a du pré-processing poussé, il y a du one-hot en coding et ensuite c'est l'algorithmie, avec des if, avec des for each avec des statistiques, avec tout ça, mais c'est quelque chose qui est un algorithme qui peut être. Transparent, on peut comprendre ce qui se passe, on peut le mettre à jour, on peut l'améliorer, etc. Et maintenant, on est 8 ans plus tard, mes benchmarks montrent que la technologie bodyguard d'IA symbolique dont je parle là, qui est maintenant alimentée par une équipe de 8 linguistes depuis maintenant 6 ans, c'est une IA qui est beaucoup plus performante que la plupart des modèles de machine learning ou que de certains LLM aussi. Donc voilà, et là on est encore au tout début, on est en 2017. Après on pourra faire la comparaison avec du machine learning, avec du LLM qui sont des technologies qu'on utilise, Mais ça doit dépendre des cas. Et en fait, moi, c'est ce que je veux aussi expliquer lors de ce podcast. C'est cet esprit critique qui est important à avoir sur ne pas foncer tête baissée sur du LLM en disant que c'est la solution à tout. Spoiler alert, la solution à tout, pour moi, c'est une complémentarité de technologie. Mais pour ça, il faut comprendre les limites de chacune des technologies. Et il faut surtout parfaitement comprendre la problématique qu'on veut résoudre.

Bruno:
Je reviens du coup sur cette idée d'IA symbolique. Je ne connaissais pas ce concept de one-hot encoding.

Charles:
C'est la conversion de texte en entier.

Bruno:
Comment est-ce que tu en es venu à cette technique-là ? Tu l'as vu dans la littérature ?

Charles:
Au tout début, l'IA symbolique que j'avais faite en Java, au tout début, c'était quand je devais détecter des mots. Parce qu'en fait ça commence par la détection de combinaisons de mots, ensuite c'est de l'analyse des mots qui sont avant et après pour faire cette analyse contextuelle dont je parlais, cette détection là c'était de la recherche de texte dans du texte et je me rends compte très vite que plus j'ajoute de règles plus ça met du temps à répondre, et plus ça coûte cher en CPU et donc je comprends aussi très vite que de la recherche, rechercher dans un texte de 300 caractère, s'il y a le mot connard. Ça met beaucoup plus de temps que de rechercher un entier dans une liste d'entiers, et en fait donc je code ça naturellement en me disant bah c'est logique ça va être beaucoup plus rapide de chercher un entier dans une liste d'entiers plutôt que de chercher un string dans un string très long. Et je me rends compte par la suite parce que pour la petite histoire il y a Jean-Louis qui est le fondateur de gladia.io et qui était à l'époque, le directeur de l'IA chez OVH qui avait investi dans Bodyguard au début Et puis, c'est lui qui me parle de ça en premier, qui me dit, en fait, là, ce que tu as codé là, c'est du one-hot en coding. Et je me rends compte aussi par la suite que, de façon tout à fait naturelle, j'ai codé des tests de non-régression. Et ça aussi ouvre un autre sujet sur, on parlait des tests techniques pour un entretien d'embauche, mais aussi les tests unitaires dans un code, ils vont être chamboulés avec l'arrivée de l'IA. Parce que les hallucinations du LLM ou le fait que, parfois, du LLM peut répondre différemment pour le même prompt, fait que tes tests unitaires parfois peuvent marcher ou pas marcher donc il faut allouer une certaine marge de manœuvre dans tes tests unitaires et je trouve que c'est quelque chose que j'avais fait dès le début avec Bodyguard et Lya Symbolique c'est que dès que je codais, j'ai très vite ajouté les tests de non-régression qui sont en fait des commentaires, des commentaires haineux qui sont classifiés comme ça qui ont été validés par un humain et donc je sais que ce commentaire là, t'es un connard ça doit être classifié en tant qu'insulte et donc ça c'est mes tests de non-régression que j'ajoute pour que dès que je fasse une modification, que ce soit sur les règles linguistiques ou sur l'algorithme de l'IA symbolique, je m'assure de rien casser. Parce que moi, si maintenant, du jour au lendemain, je dis n'importe quoi, mais le mot bateau, il se met à être haineux parce qu'on a merdé sur une règle, linguistique, en fait, moi, je perds tous mes clients. Je bosse avec des Louis Vuitton, des Ubisoft, etc. Si je me mets à supprimer le mot bateau dans les commentaires, je perds tous mes clients du jour au lendemain. Donc, c'est pour ça que là, on a peut-être 200 000 tests de non-régression qui permet à chaque modification de l'algorithme ou chaque modification linguistique de s'assurer qu'on ne casse rien et qu'il n'y a pas de contenu deal breaker qui soit retiré par la technologie. Donc, ça, pareil. Ça, c'est quelque chose qu'on ne m'avait jamais appris, mais c'est la logique. C'est la logique pourquoi ? parce que quand j'ai codé l'algorithme, il y a eu un moment donné, j'ai dû coder à 4h du matin un truc qui a tout cassé, et je me suis dit « Waouh, en fait, je suis en train de faire n'importe quoi. » Et je n'ai pas moyen de tester. Donc, j'allais tout de suite, naturellement, vers des tests unitaires. Tests unitaires, quand tu n'as pas fait de formation, quand tu n'as pas eu d'expérience professionnelle, ce n'est pas un truc qui devient naturellement à l'esprit.

Bruno:
Sauf effectivement avec l'expérience, où il y a un moment où tu pètes tout, et tu te dis « Attends, je n'aurais plus, j'aurais dû le voir. » Et comment je fais pour capter ça après ? Donc, en fait, tu n'as pas suivi de formation, on va dire, académique.

Charles:
Ah, zéro.

Bruno:
Mais sur le terrain, tu as appris les best practices, au final, à la dure.

Charles:
En faisant que des erreurs. En faisant que des erreurs.

Bruno:
Mais de toute façon, les bonnes pratiques, c'est comme ça qu'elles sont créées.

Charles:
Ah, bien sûr. Et d'ailleurs, en en parlant, ça lance le débat sur l'avenir des tests unitaires, avec l'arrivée du LLM.

Bruno:
Je reviens sur ce one-hot encoding pour essayer de... Parce que je trouve le sujet intéressant. Donc, autant creuser un peu la partie technique. Est-ce que ça veut dire que, en gros, tu attribues un chiffre à un ensemble de mots et que ça te permet notamment d'attribuer le même chiffre à la version au singulier et au pluriel, à toutes les conjugaisons possibles et imaginables ?

Charles:
Exactement. Donc, en gros, j'ai un Redis. J'ai un Redis avec une base de mots où j'ai des dictionnaires de mots. Donc, j'ai à peu près 3 millions de mots dans un Redis, dans un HMAP exactement, pour parler en Java, où j'ai la valeur du mot en texte, Avec un pré-processing qui est effectué, le mot, par exemple, le mot épée, une épée, c'est et accent, P et accent, E. Le pré-processing de Bodyguard, il va retirer les doubles lettres, il va retirer les accents. Donc moi, épée, ça s'écrit E-E-P-E dans ma base donnée de mots. Et au mot épée, j'ai un entier unique et associé. donc quand je reçois un commentaire je vais faire du pré-processing, j'ai aussi tout de suite compris l'importance du pré-processing parce qu'il y a des gens qui vont écrire connard avec deux n, il y en a qui vont en mettre huit il y en a qui vont en mettre un seul il y en a qui vont écrire c-a-u-n-a-r sans le dire, mais des façons d'écrire des insultes, il y en a plein il y a des gens qui vont mettre une astérix à la place du o dans le mot donc il y a des possibilités infinies donc comment on traite ça ? On traite ça avec du pré-processing pour pouvoir gérer justement toutes les entrées donc quand je reçois le commentaire je fais du pre-processing en retirant en gros dans les grandes lignes, les doubles lettres dans les mots les accents, je remplace les emojis par des valeurs textuelles je retire la ponctuation à certains endroits je retire les mots similaires consécutifs, très très très très très je le remets en 1 ensuite je, fais un split par espace aussi simple que ça, je fais un split par espace donc j'ai tout en minuscule, tout rétréci j'ai du coup ma liste de textes et ensuite pour chacun des textes en gros je vais voir dans ma base de données si le texte existe et je le remplace par l'entier.

Bruno:
Est-ce que c'est assez proche ça semble assez proche de la conversion aussi en token dans les LLM aujourd'hui ?

Charles:
En fait c'est ça c'est une conversion matrice c'est pas une matrice en sortie mais c'est la même idée et ça en fait je le fais en 2017 sans vraiment le Sans.

Bruno:
Le savoir qu'il y a des gens.

Charles:
Du bout du monde qui sont en train de faire. Exactement. Et je le fais juste naturellement. Parce que c'est comme ça qu'on résout le problème. Parce que j'avais vu que les gens, ils écrivaient des insultes de façon totalement différente. J'avais vu que des gens, ils mettaient beaucoup de mots répétition. Donc en fait, on enlevait tout ce bruit-là. Et ça permettait de travailler de façon beaucoup plus scalable sur la création de règles. Du coup, moi maintenant, j'ai des linguistes qui... Bon, c'est plus le cas maintenant. Mais j'ai des linguistes qui ont juste à ajouter le mot C-O-N-A-R-D. Et pas de se soucier de toutes les combinaisons possibles donc en fait c'est très rapide très scalable et on revient sur le truc des mots clés, À ce moment-là, les réseaux sociaux, il n'y a pas ce système-là. Donc, si t'écrivais une insulte avec une étoile ou en doublant le haut, en mettant de haut, c'était pas détecté par la technologie de mots-clés. On en était là à cette époque-là.

Bruno:
Avant d'en arriver à ces mécaniques-là, à quel point t'as poussé l'expertise sur les regex ? Est-ce que t'as commencé avec juste des regex au début ? Et du coup, t'as eu une expertise, tu te dis, en fait, c'est pas le bon chemin.

Charles:
Au début, ça a aussi commencé avec des regex. Mais le regex, il te consomme un CPU de dingue, il te prend un temps fou. C'est-à-dire que si tu as 10 000 règles de regex et que ton commentaire fait 400 caractères, ta réponse, ça va prendre 3 secondes, elle va saturer ton CPU. Bodyguard, c'est plusieurs milliards de commentaires par mois, et on doit répondre en 20 millisecondes, une analyse. Donc, ce n'était plus possible. Et le regex peut être très facilement bypassé aussi, et peut très vite amener des erreurs.

Bruno:
Parce que ton objectif c'est pas uniquement de supprimer le commentaire c'est de s'assurer que le créateur de contenu ou la créatrice de contenu ne le voit pas.

Charles:
Et le regex comment tu c'est un peu comme le sujet du commentaire dans le code, le regex comment tu le transmets dans une équipe de linguistes tu vois l'enfer du truc le regex comment tu l'expliques comment tu le transmets, comment t'expliques une décision comment tu le corriges c'était dans un enfer fou donc en fait j'ai très vite éliminé cette option pour aller vers un système de, en gros en système de liste.

Bruno:
Ok comment est-ce que t'en es venu du coup donc tu nous avais parlé donc c'était symbolique après tu as ajouté machine learning et après les LLM, Comment t'en es venu à vouloir ajouter du machine learning ? Ça a été quoi ? En fait, la question, même au-delà de ça, ce serait, est-ce qu'il y a un moment où tu t'es dit, OK, là, il faut qu'on fasse du machine learning, et puis en fait, c'était pas le bon moment, pour un ensemble de raisons, en fait, c'était pas le bon problème ou pas le bon moment. Et à quel moment, ou sur quel problème, tu t'es dit, en fait, t'as vu que c'était la bonne solution ?

Charles:
Alors, le machine learning, la problématique du machine learning, c'est que c'est pas contextuel. C'est-à-dire que tu peux pas... Tu peux pas lui donner le contexte du commentaire l'entrée généralement c'est un texte à la sortie c'est une classification ou une liste de classification, tu peux lui donner que le commentaire pas forcément l'industrie dans laquelle le créateur du contenu opère pas forcément le sujet du poste en question.

Bruno:
On pourrait imaginer que de cette manière t'ajoutes le contexte au commentaire et que du coup tu classifies ça tu classifies et le contexte mais.

Charles:
Ça nécessite une quantité de données qui est énorme avec beaucoup de duplicats, donc on est à ce moment là où déjà je me rends compte que déjà t'as ça, la problématique, deuxième problématique dont je me rends compte c'est que en sortie t'as qu'une classification avec une probabilité un pourcentage, qu'est-ce que je fais moi si le commentaire enfin c'est pas un score de confidence c'est une probabilité qu'est-ce que je fais moi si le commentaire il est à 69% NE et pas 70 où est-ce que je mets la barre de retrait comment je trouve à qui c'est destiné, c'est parce que tu essayes avec du machine learning encore maintenant, si il te dit on m'a traité de connard il va te dire que c'est haineux, Ça peut être rénu dans certains cas, mais sur les réseaux sociaux, ça n'a pas à être retiré. Comment je fais pour la granularité, de la sévérité ? Comment je fais pour savoir si l'insulte est sévère ou pas sévère ? Ça, je n'ai pas ces informations-là. Comment je fais pour corriger la technologie aussi rapidement ? Parce qu'entraîner un modèle de machine learning, ça nécessite de reclassifier ton dataset, donc collecter les données, les classifier, re-entraîner ton modèle, faire les tests sur ton modèle, le mettre en production. Il s'est passé deux semaines, le mal est déjà fait depuis deux semaines. Entre une semaine et deux semaines. Bref, mais tu vois, minimum ça.

Bruno:
C'est plusieurs jours.

Charles:
C'est plusieurs jours. Comment je fais pour le mettre à jour, pour expliquer une décision, pour le corriger, pour comprendre quelles sont les règles de modération qui ont été appliquées ? Donc là, je me dis tout de suite, ok, le machine learning, ça ne va pas être adapté pour de la modération automatisée sur des contenus haineux. Ça va l'être sur des classifications qui ne changent pas, donc en fait je crée les premiers modèles de machine learning sur la détection de spam, la détection de contenu positif, où là ça marche bien et c'est pas des choses qui évoluent, quand quelqu'un dit à une autre personne t'es belle, il va pas mettre une étoile à la place du E de belle, tu vois, pour contourner le truc généralement les gens écrivent bien normalement donc ça évolue pas tant que ça. Et la notion de sévérité, de à qui c'est destiné elle est un peu moins importante, donc je l'utilise sur des classifications qui ne changent pas, qui ne sont pas amenées à faire tout le temps la modération donc c'est principalement du positif et du spam, mais je me rends compte très vite du coup des limitations de ça parce qu'il y a aussi, ça coûte cher en CPU le temps de réponse il est long des modèles de ML et donc voilà on a ces problématiques là donc je comprends, bon alors déjà c'est une complémentarité, et donc c'est là où je me dis ça va être une complémentarité de technologie qu'on doit mettre en place je comprends aussi qu'on doit mettre en place du machine learning sur toute la partie revue humaine que je veux mettre en place. Il y a certains de nos clients, et bon après je te parlerai de comment on a fait évoluer Bodyguard dans un modèle B2B, mais il y a certains de nos clients qui nous disent « moi j'aimerais avoir une revue humaine ». Ou alors j'utilise du machine learning pour savoir si on doit faire une revue humaine sur le contenu et j'utilise du machine learning aussi pour du contrôle qualité. Donc quand ma technologie dit asymbolique et dit que ce n'est pas haineux et que le machine learning dit que c'est haineux, j'envoie ça à une revue humaine, qui va revoir le commentaire et me dire lequel des deux s'est trompé. Retirer le commentaire si c'est le cas échéant, etc.

Bruno:
T'as pas moyen de masquer le commentaire le temps que cette décision soit prise ?

Charles:
Si. Et d'ailleurs, on le fait pour les cas les plus extrêmes.

Bruno:
Et donc, aujourd'hui, le machiner, tu nous as dit, il est utilisé, en fait, c'est quoi ? C'est un pré-filtre qui va dire ça, c'est gentil, ça, c'est du spam ?

Charles:
Il est utilisé pour la classification sur les contenus positifs et sur les contenus de type spam.

Bruno:
Mais comment tu fais pour savoir qu'un... Le but, c'est de classifier si un commentaire est gentil, spam ou autre chose. Ou tu le... Tu vois, j'essaie de comprendre ce que tu entends par... Parce que je vois pas l'intérêt de classifier des commentaires que tu sais comme étant déjà gentils.

Charles:
En fait, je sais pas forcément qui sont gentils.

Bruno:
D'accord, donc le machine learning va le classifier.

Charles:
J'utilise des modèles entraînés sur des contenus positifs pour justement le classifier. Et je l'analyse aussi avec la technologie bodyguard de IA symbolique et capable de le dire. Et s'il y a un match, c'est parfait. Et en gros, je prends la meilleure décision des deux.

Bruno:
Mais donc en gros, c'est un pré-filtre qui va retirer pour ton IA symbolique, pour l'alléger la charge, et laisser que des choses entre guillemets, plus officieuses.

Charles:
J'autorise le machine learning à prendre la décision quand un contenu est positif, quoi. Sur ces classifications-là. Et je l'utilise aussi comme contrôle qualité. Donc quand l'IA symbolique de Bodyguard dit que c'est pas haineux, ou positif, et que mon machine learning dit que c'est un contenu haineux, bah là, il y a une contradiction de décision. Et donc dans ce cas-là, j'envoie ça à une revue humaine. Elon Musk parlait de la même chose avec le conflit entre les capteurs visuels et les capteurs à ultrasons qui a raison.

Bruno:
Et donc ça aujourd'hui c'est quoi le... avant de passer à cette question là, aujourd'hui c'est utilisé exclusivement pour ça ou il y a d'autres contextes dans lesquels tu vas utiliser machine learning ?

Charles:
C'est pour le moment exclusivement utilisé pour ça c'est ça, c'est classification positive et les classifications qui n'évoluent pas trop, Et, genre, géopolitique et politique, tu vois. Il n'y a pas de nouveaux présidents qui arrivent toutes les semaines. Donc, en gros, c'est des modèles qu'on peut rentraîner tous les mois. C'est ça va, tu vois. Et si on fait une erreur, ce n'est pas très grave parce qu'on ne retire pas. Donc, toutes les classifications pas très graves sur lesquelles on ne retire pas les choses, c'est utilisé là-dessus. Et plus sur la partie contrôle qualité pour la modération plus humaine. Quand nos clients nous demandent un contrôle qualité supplémentaire.

Bruno:
Ça reste des modèles que vous avez créés in-house ou c'est du fine-tuning ?

Charles:
C'est des modèles créés in-house qui utilisent des technologies BERT qui sont vraiment les premières technologies transformers qui sont arrivées. On utilise des modèles comme ça. On va sûrement parler de l'LM, je suppose qu'ils soient en fait des modèles de transformers type technologies BERT sous stéroïdes. On retrouve les mêmes problématiques dont je t'ai un peu parlé. Pas toutes, mais certaines. Ok.

Bruno:
Justement, effectivement, la question d'après, c'était à quel moment et sur quoi est-ce que les LLM sont arrivés dans ta stack ?

Charles:
Et alors ça, c'est en novembre 2022, après la sortie de GPT 3.5. Où il y a Tchad GPT qui sort, GPT 3.5 qui sort, il commence à proposer ça via API. Et là, je fais une réunion de crise chez Bodyguard, qu'on appelle une agora spéciale. Je réune toute la boîte, 40 personnes où je dis bon maintenant l'intégration de l'IA chez Bodyguard ça va être une question de vie ou de mort pour Bodyguard, j'utilise ces termes là je dis l'intégration de l'IA chez Bodyguard ça va être une question de vie ou de mort, et l'intégration de Bodyguard c'est une intégration à 3 niveaux une intégration technologique dans la technologie Bodyguard de modération et de classification donc pour le moment on avait l'IA symbolique plus du machine learning mais on avait pas du LLM, l'intégration de l'IA chez Bodyguard c'est l'intégration, dans le produit Bodyguard le produit, le dashboard qu'utilisent maintenant les entreprises pour voir ce qui se passe sur leur plateforme, et l'intégration de l'IA chez Bodyguard, et c'est un des sujets les plus importants, c'est l'intégration d'outils d'IA en interne pour améliorer la productivité de toute la boîte. Et donc c'est pour ça que je lance un plan on part en mode guerre, je lance un plan d'urgence sur ces trois piliers là, intégration dans la tech intégration dans le produit, intégration en interne sur des outils d'IA et ça passe, par beaucoup de veilles, beaucoup de formations et donc c'est voilà, on est en fin 2022 et là je lance ce plan d'intégration à 3 niveaux chez Bodyguard.

Bruno:
Ça a été quoi le premier succès c'est lequel des 3 premiers piliers qui a été successful.

Charles:
Le premier c'est l'intégration c'est une bonne question c'était il y a 3 ans, premier je dirais que c'est l'intégration de l'IA, dans la technologie bodyguard on intègre dans un tout premier temps l'IA pour je parlais de l'importance de comprendre le contexte, style le sujet de la vidéo, je donnais cet exemple tout à l'heure sur le sujet de la vidéo qui peut en fait avoir un impact fort sur la décision que tu vas prendre sur tel ou tel commentaire, je donne l'exemple de l'emoji qui vomissait, en fait on utilise très rapidement l'IA pour classifier le contenu, du post le contenu de la publication sous laquelle les commentaires sont postés, texte, image, vidéo on arrive à comprendre en fait ce qui se passe et ce qui se dit dans l'article dans la publication et.

Bruno:
Puis ça t'as besoin de le faire qu'une fois même si t'as 2 millions de commentaires tu le fais une.

Charles:
Fois donc c'est très scalable, ça coûte pas très cher c'est plutôt qualitatif et on parle de modèles de GPT 3.5 qui sont intégrés à l'époque, et donc c'est ça notre premier succès c'est dans la technologie bodyguard ensuite il y a eu une intégration dans le produit Bodyguard. Avec l'intégration sur une nouvelle feature qui va venir faire évoluer la valeur de proposition de Bodyguard, où Bodyguard ce n'est plus que de la modération, Bodyguard c'est aussi de la compréhension de ce qui se passe sur tes plateformes donc on sort une fonctionnalité qu'on appelle Audience Intelligence, qui permet en fait de fournir des rapports détaillés et temps réels. À nos entreprises en fonction de ce qui s'est passé sur leur plateforme exemple Louis Vuitton a un défilé le Paris Saint-Germain signe un nouveau un nouveau joueur, Ils peuvent en temps réel, via notre solution, générer un rapport de qu'est-ce qui se dit autour de Kylian Mbappé, qu'est-ce qui dit autour de Lionel Messi, qu'est-ce qui dit autour de tel sac, autour de tel événement, autour du dernier maillot qu'on a présenté. Et en fait, on va venir agréger tous les commentaires qu'on a présélectionnés, les envoyer dans du LLM et fournir un rapport très détaillé par rapport à cette question-là. Donc en fait c'est ça le deuxième succès majeur dans le produit, c'est celui-là. Et ensuite en interne, très vite on va utiliser des licences copilot pour nos développeurs, des licences anthropiques, parce que Cloud n'était pas disponible dans GitHub Copilot à l'époque, donc maintenant c'est bon, on utilise uniquement Copilot avec principalement les modèles d'entropique qui sont les meilleurs en code pour le moment. Il y a de l'utilisation en interne au niveau des équipes marketing au niveau de mes équipes produits sur Lovible, Canva tous ces outils là qui permettent à mes UI UX designers de pouvoir créer maintenant quasiment des maquettes qui sont utilisables par mes développeurs c'est à dire que maintenant mon UX designer il code avec Canva avec du prompt Canva, il arrive à générer le visuel, et derrière, en fait, c'est du code React qui est généré pour générer le visuel.

Bruno:
Avec Canva ?

Charles:
Avec Canva.

Bruno:
Je savais que ça existait avec Figma, mais je ne savais pas avec Figma.

Charles:
Ok, voilà, c'est toi qui es juste là.

Bruno:
D'accord. Canva, ça m'étonnait.

Charles:
Je me disais Canva, c'était pas, même si ça ne doit pas être très loin, mais c'était avec Figma, pardon. Avec Figma.

Bruno:
J'ai reçu les gens de Figma où, du coup, on a parlé effectivement de ce plugin. Moi, le truc qui m'a le plus bluffé sur la conversion de Figma code, c'est qu'en fait, il te crée un lien symbolique entre ta maquette et les composants React qui sont générés. Et si tes devs font un changement sur le composant React, le changement se répercute sur la maquette dans Figma.

Charles:
C'est magnifique.

Bruno:
La synchro est dans les deux sens. Je trouve ça génial.

Charles:
C'est magnifique. Maintenant, j'ai ma nuaille UX-designeuse, qui l'appelle Sarah, qui... Qui fait des trucs fantastiques, qui améliore grandement le delivery. Je trouve ça génial. Donc j'ai ça, j'utilise Notion AI parce que pour mon équipe produit, sur la partie spécification, ça les aide énormément. Tout le monde a des licences quasiment Gemini Pro dans la boîte. On a plein de solutions comme ça intégrées à droite, à gauche, qui permettent de booster la productivité de chacune des personnes pour faire plus et mieux.

Bruno:
Ok. Alors déjà, je note que dans ton exemple de rapport généré par les clients, tu trouves plus facilement des exemples de joueurs du PSG que de sac à main Louis Vuitton. C'est peut-être juste une question d'intérêt personnel. Mais juste, ce que je trouve aussi intéressant, je ne pense pas qu'en 2022, il y ait tant, de fondateurs de startups qui aient vu le potentiel de l'IA dans la, dans l'aspect technique et produit je pense que beaucoup ont vu, les gains en productivité et au final toi tu l'as cité comme troisième pilier et ça permet effectivement de gagner la productivité mais c'est pas non plus, enfin je pense pas que ce soit là où tu gagnes le plus de valeur, en utilisant correctement des outils comme différents LLM divers et variés.

Charles:
Je le comprends tout de suite parce que j'ai une expertise en fait en NLP en naturel language processing, en compréhension de ce qui se passe sur... Je connais quasiment toutes les technologies qui existent à ce moment-là et je me rends compte que le LLM en fait, peut déjà remplacer l'IA symbolique. C'est-à-dire que à la différence du machine learning, le LLM tu peux lui donner le commentaire mais tu peux lui donner aussi le sujet de l'article. Tu peux lui demander en sortie d'avoir une liste de classification mais également qu'il te dise envers qui le commentaire est destiné. Tu peux aussi lui demander une notion de sévérité si c'est low, medium, High, Critical, d'un point de vue sévérité sur les classifications qu'il a trouvées, tu peux adapter tout ça en fonction du client et donc en fait il a toute cette contextualité plus fonctionne en 45 langues, même plus et donc je me rends compte très vite et même on est à GPT 3.5 à l'époque et c'est le tout début de GPT 4, Et surtout, en fait, je me souviens très bien d'avoir mesuré la différence de qualité entre 3.5 et GPT-4, où je me suis dit, ok, bon, là, le progrès, il va être très vite. Le progrès, il va être très, très rapide sur l'amélioration de cette technologie-là, vu la différence de qualité entre GPT-4 et GPT-3.5. Donc, je comprends extrêmement vite le danger, enfin, l'opportunité de ce genre de technologie, mais le danger, si on n'est pas à la page, et qu'on n'intègre pas ça. Là, c'était jeté en mode, soit tu marches, soit tu crèves. et c'est pour ça que j'ai dit c'est une question de vie ou de mort pour bodyguard, l'intégration de l'IA.

Bruno:
Sur le progrès justement, si on prend cet exemple j'entends qu'effectivement je pense que, clairement l'LLM c'est idéal, tu leur balances une photo tu leur demandes c'est quoi le contenu de la photo donc effectivement toi pour comprendre le contexte du poste, j'imagine que c'est un no-brainer par rapport à ce que vous pouviez faire avant, ma question elle serait double c'était du coup déjà comment vous faisiez avant pour comprendre le contexte sur des éléments C'était des modèles.

Charles:
De machine learning c'était des modèles de machine learning et des modèles des règles linguistiques aussi en fait.

Bruno:
Sur une photo.

Charles:
Sur une photo c'était des modèles de machine learning qu'on utilisait.

Bruno:
Ma question c'est sur un truc au final aussi ciblé de, parce que j'imagine que quand tu lui demandes de t'expliquer le contexte d'une vidéo d'une photo ou d'un post d'un article, en fait tu lui demandes de te raconter une version c'est très synthétique, c'est genre une phrase en quelques mots pour que ce soit simple, est-ce que tu as perçu un progrès réel sur ce travail très précis là, entre un GPT 3.5 et ce qu'on a aujourd'hui avec un GPT 5 où je ne sais pas ce qu'on utilise aujourd'hui.

Charles:
C'était énorme. La progression, elle est énorme. Mais ça fait sur quoi.

Bruno:
Sur la qualité, la rapidité, c'est quoi ?

Charles:
Qualité, rapidité, et surtout qualité, rapidité. Mais la rapidité, je m'en fichais un peu, c'était plus la qualité. Et surtout le coût, et c'était la possibilité qu'on ne pouvait pas faire avec du machine learning, c'était de poser des questions clés, en fait. Quand tu reçois un article, c'est bien beau d'avoir un résumé de l'article, mais c'est aussi important de pouvoir avoir un extrait gison à certaines questions clés, On utilise du LLM pour comprendre l'article et surtout avoir des réponses à des questions très précises. Est-ce que l'article parle de gens qui ont été tués ? Est-ce que l'article parle d'un objet ? Est-ce que l'article parle uniquement d'un objet ou parle d'un humain ? Quelle est la couleur de peau de la personne qui est sur l'article ? Sur la photo ? Et ça, en fait, du machine learning avait plus de mal à répondre. Le machine learning, il te répondait, ça c'est un article politique, ça c'est un article géopolitique, ça c'est un article sur la technologie on avait des grandes classifications mais on n'avait pas des réponses précises à des questions, et c'est ça qui nous permet c'est la réponse précise à ces questions là qui nous permet d'avoir une vraie granularité, sur la modération qui est effectuée avec l'IA symbolique parce qu'on peut créer des règles linguistiques dans les règles linguistiques qui sont créées on peut dire que telle règle par exemple l'emoji qui vomit, l'emoji qui vomit c'est de l'homophobie si le sujet de l'article ça parle, c'est un article en faveur de la communauté LGBT. On est capable de créer des règles comme ça. Un commentaire qui dirait elle est dégueulasse, ou il est trop moche. En fait, il est trop moche, c'est de la critique négative si l'article c'est uniquement un objet, mais c'est du body shaming, donc une moquerie sur le physique, si en fait c'est un humain qui est sur la photo. C'est la différence si c'est le dernier iPhone 17 qui a été présenté hier, ou si c'est un humain. Et ça, on n'avait pas cette granularité-là avec du machine learning. Et on l'a avec du LLM. C'est pour ça que c'est la première intégration technique.

Bruno:
Ça se pose aussi de ce que je comprends aussi, ton IAssembly, on est sur du build 100%. Ton machine learning, on est sur un peu un entre-deux avec un peu de buy, mais quand même beaucoup de custom.

Charles:
Nos données, mais on utilise un modèle open source qui est BERT proposé par Google.

Bruno:
Et sur le LLM, vous êtes sur du buy 100% ?

Charles:
Et sur le LLM, on est sur des modèles fine-tunés qui sont des modèles fine-tunés. Alors sur du texte, on est sur des modèles fine-tunés et c'est sur du buy parce qu'on utilise principalement du Gemini actuellement. Et pourquoi on utilise du Gemini ? Parce que je pense que c'est Google qui va gagner la guerre de l'IA. Parce qu'ils ont les meilleurs talents, le plus de données. Et parce que aussi Bodyguard est hébergé chez Google Cloud. Et donc, c'était plus simple pour nous d'un point de vue confidentialité, de dire aux clients qu'en gros la donnée des clients ne sort pas du data center et n'est pas réutilisée pour l'entraînement de modèles et donc ça c'est quelque chose de clé sur la raison pour laquelle on utilise Gemini qui sont les modèles les plus qualitatifs qui sont les modèles qui vont gagner pour moi la guerre de l'IA, pour des raisons évidentes et on pourra en discuter après, et derrière pour des raisons de confidentialité donc sur la partie modération, compréhension du contenu sur du texte, on utilise Gemini sur la partie modération parce qu'on utilise aussi des modèles de LLM. Je disais au début du podcast que l'avenir de la modération, c'est la complémentarité de technologie. On utilise aussi du LLM pour faire de la modération, classification et des prises d'action, de décision, notamment dans la gestion de crise. On essaie Gemini sur la modération d'images qu'on a sorti il y a 3 mois, on utilise des modèles d'embedding open source donc là c'est du build on fait du build nous même donc on fine tune des modèles d'embedding open source pour faire ça mais voilà à peu près est-ce qu'aujourd'hui.

Bruno:
Vous faites dans plusieurs langues aussi.

Charles:
45 langues.

Bruno:
50 langues et ça c'était possible grâce au LLM qui t'a permis justement de comprendre plus de choses ou déjà avant l'LLM vous avez déjà intégré d'autres langues ?

Charles:
Alors déjà avant on couvrait 8 langues parce qu'on a en fait une équipe de 8 linguistes un linguiste expert dans une langue donc qui est expert dans la culture de la langue et des pays dans lesquels on travaille et expert de la langue, c'est aussi super important, ensuite on a utilisé Google Translate pour faire la traduction des 35 langues qu'on n'avait pas du coup de la langue vers l'anglais et on analyse le commentaire avec notre technologie en anglais et ensuite le LLM est arrivé et quand on fait de la modération via LLM pour nos clients, on utilise ici directement du coup toutes les langues disponibles directement via le LL.

Bruno:
C'est intéressant que tu vois l'IA comme étant un comment dire, un adversaire potentiel un risque potentiel pour Bodyguard mais qu'à aucun moment tu es envisagé que les plateformes elles-mêmes puissent aussi te remplacer et te.

Charles:
Rendre obsolète il y a deux gros risques pour Bodyguard, c'est aussi pour ça que je parlais d'améliorer la valeur de proposition de Bodyguard pour la faire évoluer avec toute la partie audience intelligence dont je te parlais sur la partie compréhension c'est parce qu'il y a des risques, avec l'arrivée de l'IA comme tous les sas si demain des métas, des youtube se mettent à utiliser du LLM pour faire de la modération sur la plateforme, potentiellement on aurait moins besoin de bodyguard et on le voit le deuxième risque c'est qu'on le voit de plus en plus avec nos clients, de type API parce qu'on ne bosse pas uniquement avec des clients on ne bosse pas uniquement avec des marques ou avec des clubs de foot sur les réseaux sociaux on bosse aussi avec des boîtes comme Ubisoft qui intègrent nos technologies dans leurs propres serveurs dans leurs propres jeux vidéo, mais ces clients là on en voit de plus en plus qui nous disent ah mais moi je peux faire la même chose avec du LLM en fait, j'ai pas besoin de bodyguard je peux le faire avec du LLM donc en fait on rentre dans un, on a ce risque là du LLM qui va, qui peut potentiellement remplacer bodyguard si rien n'est expliqué ou rien n'est fait donc c'est pour ça qu'on explique par exemple à du Ubisoft en disant. Très bien, mais votre LLM va mettre 2 secondes et demie à vous donner une réponse. Est-ce que votre joueur peut attendre 2 secondes et demie dans le chat avant que ce soit possible ? Ah non, ça c'est pas possible. Très bien. Mais par contre, votre LLM va vous coûter plusieurs dizaines de milliers d'euros par mois. Bodyguard, c'est moins cher. Ah bah oui, en effet, c'est vrai. Votre LLM, comment vous allez gérer les cas d'hallucination ? Et comment vous allez faire le jour où votre LLM se trompe ? Comment vous allez expliquer la décision ? Ou comment vous allez lui apprendre à ne plus se tromper ? Ah bah il faut modifier le prompt Si mon LLM se trompe sur une décision Il faut que je modifie le prompt pour lui donner plus d'exemples Ok mais au bout du 10 000ème exemple, Bah ton prompt il fait 150 000 tokens Il te coûte une fortune Il te coûte une fortune Il est encore moins précis et il est encore plus lent Donc comment tu fais pour gérer Les particularités et l'évolution, Et comment tu fais ton LLM pour lui expliquer, Bah Que Bayrou il a démissionné il y a deux jours Et que du coup c'est peut-être utilisé comme une façon de se moquer parce que ton LLM il a du contexte jusqu'en 2024, et donc tous les arguments que je donne là, c'est les arguments du build versus buy qu'on donne nous à nos clients pour leur expliquer via notre site internet ou directement quand on parle avec eux que le LLM ne peut pas remplacer bodyguard dans certains cas, et il y a toujours besoin d'IA symbolique dans plein de cas et c'est pour ça que je dis que l'avenir est à la complémentarité de technologie du LLM ça peut être utile sur les réseaux sociaux. Mais Et pour faire de la modération sur les réseaux sociaux avec du LLM, il faut cette expertise-là aussi en prompt que nos clients n'ont pas. Le secret de la modération dans du B2B, c'est aussi la granularité et la customisation par client. On a une expertise que nos clients n'ont pas. C'est pour ça qu'ils font appel à nous. Nous, on met à jour la technologie pour notre client, pour leur industrie, pour leur dernière tendance, pour leur dernière crise, pour les accompagner là-dessus. Parce qu'ils n'ont pas cette expertise-là, c'est la nôtre. Donc voilà, c'est toute cette suite de questions qui sont des questions parfois philosophiques, mais qui sont extrêmement importantes à prendre en compte. Donc maintenant, on est là avec une solution B2B. je pense que tu l'as compris qui s'adresse à des marques qui s'adresse à des créateurs de jeux vidéo qui s'adresse à des applications indépendantes qui ne sont pas forcément les applications des réseaux sociaux qu'on connait tous donc d'importe quelle plateforme avec de l'UGC donc de User Generated Content, utilise Bodyguard en plusieurs langues sur du texte, de l'image, de la vidéo etc et ce qu'il y a derrière tout ça en fait c'est un produit complémentaire qui répond à un problème qui est très bien connu par toute la boîte et quand on parle de, danger ou de vie ou de mort pour une boîte, je pense que c'est aussi bien de valoriser l'expertise de tes équipes sur du LLM et c'est aussi pour ça que j'ai passé beaucoup de temps, avec mes équipes à faire des agora, des réunions pour les tenir au courant des dernières nouveautés pour leur expliquer utiliser tel ou tel outil ou comment construire un prompt parce que l'expertise de ton équipe pour moi, c'est ce que je dis depuis 2022. Maintenant et encore plus dans les prochaines années la première ligne de compétence qui va être vendée sur un CV c'est de savoir utiliser du prompt savoir faire un prompt etc et donc ça nécessite cette expertise là et donc je dis à mes équipes mais là vous ne vous rendez pas compte à quel point vous êtes en train de renforcer votre CV pour les années à venir, parce que vous êtes dans une boîte qui a pris le pli d'innovation, qui veut rester à la page et qui veut prendre ce mouvement là à tous les piliers dont j'ai parlé ?

Bruno:
Si je comprends bien aussi dans ta solution au final aujourd'hui les LLM et le machine learning t'ont permis d'améliorer sur différents leviers ta solution, mais en fait le coeur de ta solution c'est encore cette IA symbolique codée en Java, qui est encore du coup un moteur historique exactement.

Charles:
Et qui a des meilleurs benchmarks le machine learning qu'on a est meilleur benchmark que certains LLM, et donc c'est une technologie qui ne coûte pas très cher qui répond extrêmement rapidement qui est modulable, qui sert du temps à être alimenté et traduit, mais ça fait 8 ans qu'on le fait, qui est transparente qui permet de comprendre une décision la modifier rapidement, et ça fait très très bien le taf le techno-contextuel, derrière on a du machine learning derrière on a du LLM, quand il faut mettre du LLM genre quand on a une marque et une crise, suite à telle ou telle chose, en fait la crise elle est très spécifique à la marque, donc en fait on utilise du LLM pour faire de la modération active, avec un prompt et un contexte spécifique en disant, bah voilà, telle marque, retire les commentaires qui parlent de ça, ça, ça, ça et ça, et donc on veut utiliser du LLM sur une courte période de temps pour répondre à cette problématique là, donc voilà c'est une complémentarité, et on a certains clients qui, où on met du LLM sur de la modération, sur leur page Facebook, parce qu'en fait c'est pas grave si on retire le commentaire 3 secondes après et pas 20 millisecondes après, voilà c'est cette complémentarité là complémentarité là qui part d'une expertise du problème de la modération et qui part aussi d'une expertise des avantages et des inconvénients de chacune des technologies.

Bruno:
Est-ce que la force que vous avez aussi à que le cœur de votre activité soit encore portée par cet IA symbolique ? Est-ce qu'il n'y a pas aussi le fait que ton IA symbolique, au final, tu peux faire 12 déploiements par jour, tu peux faire 12 mises à jour par jour, alors que ton LLM, il faut modifier ton prompt et tu ne sais pas trop les... Ton machine learning, c'est de l'entraînement, on t'en apporte 7 jours d'entraînement derrière. Donc, il y a peut-être ça qui joue aussi dans cette...

Charles:
Énormément. Ce fameux jeu du chat et de la souris. La rapidité de mise à jour de la technologie c'est quelque chose de clé et c'est pour ça que, t'as l'impression que sur les réseaux sociaux rien n'est fait et que la aide en ligne explose mais en fait les plateformes ils essaient de faire des choses mais c'est juste que ce jeu du chat et de la souris où le chat c'est l'internaute qui est rapide qui comprend très vite comment modifier son commentaire, pour derrière bypass, les filtres mis en place par les plateformes les technologies mis en place par les plateformes lui il est très rapide cette souris et le problème c'est le chat derrière la plateforme qui est un peu trop gros et qui met trop de temps à suivre ces tendances là, et donc c'est ce que tu observes tu observes exactement ça sur les réseaux sociaux c'est ça qui te donne cette impression là, et c'est parce que c'est pas aussi l'expertise des plateformes de savoir faire de la modération c'est pas leur métier elles vont proposer des technologies dites généralistes pour retirer les contenus illégaux mais qu'est-ce qu'un contenu illégal qu'est-ce qu'un contenu illégal.

Bruno:
Ça change d'un pays à l'autre.

Charles:
Ça change d'un pays à l'autre, c'est une question de perception la modération, ça dépend du contexte ça dépend de qui tu protèges, dans quelle temporalité dans quel pays, de comment se sent la personne ça dépend de plein de choses ton LLM, moi si demain là demain il y a une nouvelle guerre, La plupart des LLM, ils ne vont pas être au courant. Alors, ils ont ce qu'on appelle des outils de ground search, qui leur permet de chercher sur Internet pour avoir l'information. Mais le ground search, ça augmente encore plus la durée de ta réponse, et ça coûte encore plus cher. Donc, tu ne peux pas utiliser du search.

Bruno:
Et puis surtout, il le fait à chaque réponse. C'est-à-dire que tu lui refais une autre conversation derrière, il ne saura pas qu'il a répondu à la question avant.

Charles:
Et donc, tu ne peux pas utiliser ça dans du LLM pour faire de la modération. Tu ne peux pas utiliser du search à chaque request. Donc, en fait, demain, tu as une guerre. Comment tu te mets à gérer les contenus géopolitiques qui sont liés à cette guerre là bonne chance donc il faut une technologie complémentaire.

Bruno:
Pour terminer je l'évoquais en introduction et je sais que je t'avais posé aussi la question en préparation, comment on fait mentalement pour tenir pendant 8 ans quand on est justement confronté à tout le pire de la haine que l'humain est capable de générer ?

Charles:
Je pense que c'est une question c'est une question c'est une question d'éducation dans le sens où il y a un côté très altruiste à Bodyguard, c'est à dire que quand on retire un commentaire avec Bodyguard, déjà on évite à la personne, au destinataire de voir ce contenu haineux et potentiellement on évite aussi à des millions de gens de le voir parce que la protection contre la modération c'est pas uniquement protéger aux gens de recevoir des contenus haineux c'est aussi les protéger de voir des contenus haineux ou les protéger d'envoyer des contenus haineux parce que, les réseaux sociaux sont anxiogènes pour la plupart des gens, pas parce que vous recevez des contenus haineux mais parce que vous en voyez, donc aussi protéger, c'est aussi les protéger de le voir donc quand on retire un commentaire on protège une personne ou des milliers de personnes ou des millions de personnes de voir des contenus abjects et donc il y a un côté assez altruiste à ça et assez. Assez bénéfique de se dire qu'en fait bah là en retirant ça, ok on s'est peut-être un petit peu de mal à nous, mais c'est très vite compensé par le bien-être que ça t'amène de dire qu'en fait tu protèges des gens et il y a ce sentiment de, correction d'injustice qui est génial, c'est-à-dire que tu te dis qu'en protégeant une fille de 15 ans qui est vulnérable et qui est attaquée par des gens lâches tu te dis putain, je ramène justice à ça et ça, ça te fait effacer en fait tous les effets néfastes, de lire constamment et d'avoir lu constamment des contenus haineux. Donc voilà, il y a ce côté un petit peu éducationnel, il y a ce côté un petit peu altruiste, il y a ce côté bienfaiteur où tu te dis que bon, c'est un mal pour un très grand bien.

Bruno:
Ok, je vois. Écoute, top, c'était merci beaucoup, en tout cas, Charles, pour cette discussion. J'aurais deux dernières questions pour toi qui sont les questions rituelles de ce podcast. La première, c'est est-ce qu'il y a un contenu que tu souhaiterais partager avec l'ensemble des auditoristes ?

Charles:
Le problème, c'est que je ne suis pas le genre de mec à donner des conseils ou des contenus. En fait, je n'aime pas... Je trouve que les podcasts, généralement, on donne des conseils en mode, il faut absolument faire ça, alors qu'en fait, c'est des choses qui vont marcher pour une personne à un instant T.

Bruno:
Ça peut être vraiment ce que tu veux. Ça peut être un jeu vidéo, une chaîne YouTube.

Charles:
Je n'ai pas de contenu à proposer, mais j'ai envie de dire, il y a de très bons comptes sur Twitter, donc sur X qui parlent des tendances d'IA et de très bonnes newsletters qui parlent des nouvelles tendances d'IA et des avancées d'IA. Mon conseil à tout le monde et à tous ceux qui écoutent ça, peu importe votre domaine d'activité, allez voir un petit peu ces comptes-là, allez faire vos recherches, je trouve qu'une newsletter c'est très personnel comme choix, allez trouver et faites maintenant l'effort de trouver une bonne newsletter pour être tenu au courant de ce qui se passe dans le monde de l'IA parce qu'il faut rester à la page. Donc mon conseil il est là, restez à la page ça demande de l'énergie mais vous allez tellement vous allez prendre tellement d'avance, d'ici quelques années sur le reste des gens qui ne l'auront pas fait que vous remercierez les gens qui vous ont conseillé de faire ça.

Bruno:
Je suis complètement d'accord très bon conseil en effet et dernière question la plus importante de ce podcast Charles tu es plutôt espace ou tabulation.

Charles:
? bon alors je suis tabulation j'ai réfléchi depuis le début du podcast c'était parce que Bruno m'avait posé la question avant le podcast j'ai trouvé la question géniale je suis tabulation et j'ai besoin Bruno que tu me dises qu'est-ce que ça veut dire sur moi je pense que ça veut dire.

Bruno:
Je préfère pas juger.

Charles:
Moi je.

Bruno:
Prends pas position j'ai eu quelques podcasts où j'ai été invité où on m'a posé la même question mais j'ai jamais clairement affiché ma position dans ce podcast.

Charles:
Ah t'as jamais dit si t'étais ah là là mais c'est terrible Mais du coup.

Bruno:
Ça incite les gens à aller m'écouter sur d'autres plateformes. Mais non, je ne sais pas si ça veut dire grand-chose de particulier sur les gens. Je pense que c'est chacun assez lubi. J'ai eu pas mal de différents types de réponses. On verra si on continue à poser la question plus tard que les années avant.

Charles:
Parce que moi, je suis team Java et PHP, donc je suis peut-être un ovni. Mais il y a aussi une autre question que tu dois poser. Est-ce que tu es team Accolade après le IF ou en dessous du IF ?

Bruno:
Alors en fait j'avais envisagé pendant un moment de me dire est-ce qu'il y avait d'autres questions à poser pour changer tes espaces tabulations et effectivement avec une partie de la commu sur Discord on avait cherché on avait pensé à celle là mais le, le delta qu'on a en fait c'est que t'as un certain langage comme Python ou tout t'as pas la collage t'as.

Charles:
Que des tabulations sur Python.

Bruno:
T'as besoin d'espace non plus on avait aussi envisagé est-ce que t'es plutôt, Imax ou Vim mais en fait pareil il y a de plus en plus de gens qui passent sur Cursor sur Winsurf et autres vous êtes.

Charles:
Trop niche je.

Bruno:
Ne peux pas lister l'ensemble des IDE donc du coup pour le moment on reste sur espace ou tabulation tant qu'on continue à taper des lignes de code la question encore un peu.

Charles:
De temps je répondrai que je suis tabulation et que je suis accolade après le IF et surtout pas en dessous parce que je milite pour un code propre.

Bruno:
Et lisible merci beaucoup Charles merci.

Charles:
Bruno c'était super sympa.

Bruno:
Et merci à tous d'avoir suivi cette discussion forcément hyper intéressante on a évoqué plein de sujets différents on en a appris beaucoup sur l'IA je pense qu'effectivement ce dernier conseil donné par Charles était essentiel, allez vous renseigner, cherchez une newsletter, des comptes Twitter, TikTok, quelle que soit la plateforme sur laquelle vous êtes il y a forcément des créateurs de contenu qui diffusent beaucoup de choses autour de l'IA parce que c'est un truc qui bouge énormément vous pouvez aussi aller checker le site ifttd et voir la playlist des épisodes qui parlent d'IA, il y en a beaucoup je vous garantis que si vous allez écouter le premier épisode. Du podcast qui parle d'IA j'y connais absolument rien je pose des questions très cons mais à mesure que vous faites les épisodes je pense que vous avez l'occasion de progresser avec moi, je pense que je pose un peu moins de questions cons maintenant sur l'IA je suis pas encore au top mais en tout cas on progresse donc n'hésitez pas à aller faire un tour là-dessus, et surtout comme toujours je vous remercie de partager ce podcast autour de vous je vous souhaite une très bonne fin de semaine je vous dis à la semaine prochaine et d'ici là, codez bien.

Restez compliant !

Cet épisode est soutenu par Vanta, la plateforme de Trust Management qui aide les entreprises à automatiser leur sécurité et leur conformité. Avec Vanta, se mettre en conformité avec des standards comme SOC 2, ISO 27001 ou HIPAA devient plus rapide, plus simple, et surtout durable. Plus de 10 000 entreprises dans le monde utilisent déjà Vanta pour transformer leurs obligations de sécurité en véritable moteur de croissance. 👉 Découvrez-en plus et réservez votre démo gratuite sur vanta.com/IFTTD