Bâtir un pionnier de la vérification de documents d’identité
Christophe Lanternier, Head of Data chez Ubble, start-up de vérification de documents d’identité en ligne, est l’invité de l’épisode 41 de Data Driven 101.
Il nous raconte l’histoire du début, nous parle des défis techniques comme le manque de données et du développement des algorithmes en décomposant la pipeline algorithmique en détail, allant du cropping aux hologrammes en passant par la détection de visages.
Post-acquisition par Checkout.com, il nous parle également de l’amélioration de ses produits et des défis de l’international, en particulier la variété des documents internationaux.
Marc — 00:00 :
Aujourd’hui, je reçois Christophe Lanternier. Christophe a rejoint Ubble en tant que premier employé après un an chez BCG gamma, il est resté 4 ans Head of Research et maintenant Head of data. Depuis 2 ans, Ubble est une start-up de vérification d’identité en ligne. Rachetée il y a un an et demi par Checkout dot COM. Bonjour Christophe.
– Christophe — 00:16 :
Salut Marc, merci pour l’invitation.
– Marc — 00:18 :
Avec plaisir alors Christophe, est ce que tu peux nous parler d’un peu plus de Buzz? Bref.
– Christophe — 00:22 :
Donc Hubble comme tu le disais, c’est un service de vérification d’identité à distance qui a été créé. Donc en 2018 à l’heure actuelle on a 3 produits, un produit qui est historique et un produit vidéo. Ce qu’on appelle assez haut de gamme, c’est à dire qui va être très exigeant sur la fraude, un produit p vide qui lui est le produit le plus haut de gamme qu’on a, qui a été essentiel par l’Anssi en mars dernier et un produit automatique qui lui est le dernier né qui lui du coup va être comme son nom l’indique automatique, va permettre d’avoir une réponse très rapide mais qui du coup en contrepartie laissera passer certains cas de fraude O.
– Marc — 00:54 :
Kp vide, c’est quoi exactement?
– Christophe — 00:56 :
P vide, c’est prestataire de vérification d’identité à distance et donc c’est une certification qui a été créée par l’Anssi dans les dernières années, c’est à dire que le référentiel a dû sortir. Je sais pas vers le milieu de 2021 Et donc ça nous a permis nous de postuler, c’est à dire de briguer cette certification et donc on a été retenu. Puis donc on a reçu la certification en mars 2022 et donc ça nous donne accès à tout un nouveau panel d’use case qui vont être du coup réglementés. Je pense notamment aux établissements bancaires qui eux sont soumis à un certain nombre de régulations et les prestataires de confiance qui vont par exemple fournir des services comme de la signature électronique et donc on intervient aujourd’hui avec des clients comme docu sign et you sign. Sur de la signature d’actes notariés, et cetera, et cetera.
– Marc — 01:42 :
Ok alors pour en arriver là, Quel a été le cheminement?
– Christophe — 01:45 :
Alors donc, comme je disais, la boîte a été lancée en 2018 avec l’ambition d’apporter sur le marché un nouveau médium qui est la vidéo. C’est à dire que, avant la vérification d’identité à distance se faisait essentiellement par photo et grâce à cette vidéo de développer un produit automatique de haute qualité. Donc la différenciation clé passée par le médium vidéo et un streaming en temps réel. En fait, c’est à dire qu’on crée une connexion comme pendant un Call. Un mythe ou un hangout? Une connexion tornade avec l’utilisateur et on va vérifier si ces différents éléments, le visage, l’identité pendant ce streaming et donc l’axe qui a été abordé au début, c’était celui d’automatisation et donc de créer un un outil qui est capable de répondre vraiment juste avec des algo. Il s’est trouvé que relativement rapidement, on s’est aperçu que le marché était assez bouché. En fait, sur les produits auto qui correspondaient plutôt au bas de gamme du marché, c’est à dire des produits qui sont très rapides, peu chers et qui laissent du coup passer beaucoup de fraude. Ok en revanche, on était assez pertinents sur un segment un peu plus haut de gamme. Qui lui du coup, donc c’est des produits un peu plus chers mais qui laisse passer quasiment aucune fraude. Ok par contre pour arriver à faire ce genre de produit, en fait on pouvait pas s’appuyer uniquement sur des algo parce que les fraudes sont trop fines et la data en général pas suffisante pour détecter ce genre de fraude. Et donc c’est là qu’a été pris une décision qui a été vraiment un tournant pour l’entreprise qui a été de créer un pôle Ops et de partir sur une solution asynchrone. C’est à dire que donc l’utilisateur fait sa vérification d’identité et en fonction du contrat qu’on a avec le client, on lui répond en 5 minutes 15 minutes 24 heures et avec des vérifications du coup manuelles. Exactement, donc, avec un pôle d’experts qu’on a nous en interne et qui travaille sur une APP qu’on a développé nous aussi en interne et qui leur permet de répondre de manière efficace en se focalisant vraiment sur les tâches à haute valeur ajoutée, c’est à dire pas passer trop de temps sur l’o CR ou ce genre de choses vraiment se concentrer sur les tâches qui sont difficiles, à savoir vérifier que le document est authentique et vérifier que le visage correspond bien au document. Voilà et donc passage pas évident quand on a décidé de faire ce pivot. Enfin c’est par Alain pivot puisqu’on restait quand même essentiellement sur la même idée. Passage pas évident au moment où moi j’étais le data Scientist donc j’étais un peu responsable de l’automatisation et on m’annonce que Bah finalement le produit va pas être automatisé?
– Marc — 03:57 :
Y aura pas que toi dans l’histoire.
– Christophe — 03:59 :
Mais une petite anecdote marrante là-dessus c’était au moment où j’étais, j’étais en train de me marier, donc y avait mon e v g qui approchait. Et donc les founders étaient en train de réfléchir à ces décisions. Enfin, évidemment, on était dans le processus de décision. Ils convoquent un meeting comme ça, un peu au dépourvu, donc je suis un peu prédépourvu, pardon? Donc je me retrouve convoqué à un meeting auquel je m’attendais pas trop avec 2 des associés dans la salle. Qui m’annonce bon Christophe, on va arrêter l’automatisation, qu’est ce que t’en penses donc un petit peu de passif agressif donc je suis un peu pris au dépourvu. Je me dis Bah je pense qu’il y a quand même plein de choses à faire, et cetera, et cetera. Et donc ils enfoncent un peu le clou jusqu’au moment où ça devenait gênant, où quasiment ils allaient m’annoncer qu’ils me diraient là donc mes amis sont venus me chercher pour le VG j’ai compris, c’était une vanne. Quoi qu’il en soit, de toute façon, en fait, dans les faits, c’était assez vrai ce qui se passait, c’est on a arrêté cette stratégie 100 % automatique. Mais en fait malgré ça les algo ont gardé une place vraiment primordiale dans le produit parce qu’en faisant ce tournant vers isops, on voulait quand même rester très efficace, à savoir pas avoir des coups délirants et donc les algorithmes continuaient à être un un maillon essentiel dans la mesure où ils nous permettaient de faire 2 choses. Ils nous permettaient non seulement de mieux guider l’utilisateur pendant le la phase de streaming, lui dire par exemple Bah j’ai pas détecté ton document rapproche le éloignement, le retourne le c’est trop flou, c’est trop lumineux, enlève ton doigt, et cetera, donc tous ces algo nous permettent en fait d’obtenir de la data de meilleure qualité et derrière d’appliquer les algo qui vont permettre évidemment de faire gagner du temps aux opérateurs. Et donc tous ces algo là n’avaient rien d’évident. Donc il y a eu. Énormément de boulot sur cette partie là OK.
– Marc — 05:34 :
Alors peut être on, on reviendra un peu sur les algo, les algo eux-mêmes commencer à démarrer cette parce que tu es là depuis le le premier jour on va dire est ce que tu peux nous raconter le tout début?
– Christophe — 05:45 :
Ouais donc l’idée elle est née de surtout Juliette qui est une des associés qui travaillait chez Gemalto et qui en fait, essayait de développer ça en interne. Elle était pas satisfaite de la solution qui avait été développée en interne et et l’entreprise était pas prête à aller plus loin dans l’innovation. C’était une une solution photo et donc elle a elle est partie un peu de cette frustration. Elle elle voulait aller au bout du truc et vraiment résoudre ce problème. Et elle s’est dit qu’avec la vidéo, ça pouvait vraiment tout changer, donc c’est un peu de là qu’est partie l’idée. Elle a rencontré sur son chemin du coup François, le CEO qui lui sortait d’une d’une aventure entrepreneuriale et qui cherchait la suivante et Nicolas de Bernardy donc mon boss Depuis 6 ans maintenant, qui lui travaillait en data chez Criteo et qui du coup a apporté l’expertise algorithmique et tech qui a tenu lieu de CTO puis de CPO.
– Marc — 06:33 :
Alors quelle était la mise de départ en terme de data pour commencer à à travailler, à construire des algo comme.
– Christophe — 06:38 :
Cela, donc on est parti sur cette question avec un challenge qui comptait plusieurs aspects. Donc le premier album qu’il a fallu développer, c’est un algo qui permettait de croper donc ce qu’on appelle croper c’est détecter un document, le découper avec beaucoup de précision. Parce qu’en fait, ça va être la base de travail pour tout un tas d’algo ensuite, c’est à dire que à partir du moment où j’ai une une découpe très précise et remise à plat du document, c’est à dire que l’utilisateur il va toujours présenter un truc un peu sous forme trapézoïdale. Enfin pas forcément à plat, donc il faut le remettre à plat, le découper très bien et ça il faut que ça soit très précis parce qu’au-dessus de ça on va du coup appliquer 1OCR il va falloir trouver très précisément où est le prénom où est le nom, où est l’adresse, et cetera. Et donc pour ça.
– Marc — 07:18 :
On l’a R Optical caractère et cognition, donc pour transformer l’image en texte.
– Christophe — 07:22 :
Exactement, et donc si le crop est pas suffisamment précis, il y aura un décalage, peut être qu’il trouvera l’adresse à la place du prénom. Enfin donc ça va être un peu compliqué donc cet algo là le de Crooping est un peu là là là je veux dire la première Pierre à poser sur cet édifice finalement algorithmique, et donc il s’agissait de croper n’importe quel document dans un premier temps, pas se le cacher, c’était surtout des documents français en temps réel, on est sur une appli, comme je disais en streaming, en live et donc on a envie d’être capable d’informer l’utilisateur que ça se passe bien, c’est à dire qu’on est en train de cropper le document et qu’on l’a détecté, et cetera de manière très précise. Comme je disais, pour pouvoir appliquer 1ECR derrière et dans des conditions extrêmement variables. En fait, c’est ça sans doute le plus difficile, c’est qu’il y a énormément de device différents. Donc au début, on était aussi sur desktop et sur téléphone, maintenant on est plutôt sur enfin on a une redirection vers téléphone. Mais donc à l’époque on faisait les 2 donc beaucoup, beaucoup de caméras différentes, beaucoup, beaucoup de niveaux de connectivité différentes entre la 3G et la 4G le Wifi et beaucoup de conditions extérieures différentes. En fait, la luminosité, la façon dont l’utilisateur manipule le document. Donc il fallait un algo extrêmement robuste donc devant tous ces challenges dont on se dit bah ce qui serait top ce serait d’avoir plein de données et de faire du Deep learning mais. On n’a pas de données puisque donc on est en train de traiter des données extrêmement sensibles et qu’il y a évidemment pas de data SET public, de carte d’identité. Et donc bah on est un peu obligé de ressortir les vieux algo et donc là je me suis tourné vers des algo des années 90 et on a commencé à développer comme ça donc c’est à dire qu’on n’a pas fait de learning. On a développé un algo qui est fait du coup de de plusieurs de plusieurs étapes. C’est une espèce de cascade d’algo.. Mais on a fini par s’en sortir à sortir un poke avec ça et malgré tout pour améliorer cet algo on a réussi à constituer un dataset. Et ça, on y allait à la mano, C’est-à-dire qu’on on demandait à toutes les personnes de la boîte, donc une petite dizaine à l’époque, de prendre tous les documents d’identité qu’ils avaient sous la main, ce leur conjoint, leurs parents, et cetera de se mettre dans plein d’environnements variables. Et en faisant ça, comme c’était des vidéos, donc j’arrivais à extraire quand même plusieurs images suffisamment différentes pour que ce soit intéressant de d’une vidéo. Je pense qu’on a réussi à faire un petit data set de je dirais 5000 images qui nous permettait du coup d’évaluer l’algo de l’améliorer. Et on avait sorti un petit concept qui nous permettait d’avancer sereinement. C’était, on avait grosso modo un dataset de protection. C’est à dire c’était les les images sur lesquelles on était déjà bon, donc là on vérifiait qu’avec une nouvelle version d’algo on détériorait pas la performance et on avait un dataset d’improvement qui permettait de valider que l’algo était effectivement meilleur sur des nouvelles conditions, des nouveaux documents, et cetera. Et donc en faisant ça assez vite, on a on a eu un algo qui était je dirais dans un premier temps montrable à des premiers clients et à des premiers investisseurs. Et au fur à mesure du temps quelque chose qui était vraiment stable en production et cet algo là donc où il y a pas de learning dedans. Finalement on a en fait il est resté dans le produit pendant 6 ans et. Et il marche super bien à l’heure actuelle, on commence à avoir des challenges vis-à-vis de l’hétérogénéité. Des documents commencent à rencontrer parce que là on commence à aller aux US et cetera, et cetera. Donc là, il commence à marcher un peu moins bien parce qu’il y a quand même un un peu de fine tuning à faire pour les nouveaux documents et donc l’équipe là l’équipe actuelle de Research est en train de le remplacer par du Deep Learning. D’accord, mais il est encore très compétitif sur les documents français. Alors OK.
– Marc — 10:40 :
Ouais, c’est de la Computer Vision à la papa qui résout les problèmes finalement initiaux avec cette contrainte en moins que vous avez pas besoin d’un énorme data SET d’entraînement et vous avez quand même besoin d’un peu de data comme toujours pour la validation. Pour dire OK ça marche, ça marche pas, ça marche mieux, ça marche moins mais vous résolvez vos problèmes de de besoin de de data en utilisant des des méthodes déterministes d’algorithme déterministes.
– Christophe — 11:06 :
Cette famille d’algola s’appelle les Algod Feature Matching et l’autre avantage, c’est que quand on avait un nouveau document qui arrivait, en fait on avait juste besoin d’avoir une photo bien faite de ce document et on pouvait le traiter. Donc on s’est rendu compte avec le temps que cette photo là avait beaucoup d’influence sur la performance de l’ALGO. Donc on a passé du temps un peu à la mano à améliorer. Chaque photo de référence, mais donc finalement ça simplifiait pas mal l’ouverture de nouveaux pays, sachant qu’au début on ouvrait pas non plus des caisses de pays chaque année on a surtout travaillé pendant 5 ans sur l’Espagne, l’Italie, la Grande-Bretagne et l’argan quoi et la France du Nord?
– Marc — 11:36 :
Alors comment est ce qu’on découpe le problème que nous a déjà un petit peu dit avec avec le crooping? Est ce que tu peux nous découper davantage les toutes les différentes étapes de la validation d’un document? Donc les sous problèmes que vous avez dû résoudre un par un?
– Christophe — 11:49 :
Alors pour vérifier une identité, nous on voit. De la manière suivante, c’est à dire que dans un premier temps. Y a tout ce qui concerne l’extraction d’informations, donc ça c’est c’est ce qu’on va appeler des algo d’extraction et ensuite la vérification de ces informations. Et là on va développer du coup des algo de ce qu’on appelle des algo de sécurité. Donc dans l’extraction on a l’algo dont je viens de parler donc l’algo de Cropping donc il s’agit de cropper le document mais il s’agit aussi de cropper le visage donc ça c’est un algo qui nous a pris quand même un peu moins de temps parce que c’est beaucoup plus mainstream comme use case évidemment aussi l’algo d’extraction de texte. Pardon donc l’o CR qui est un point super important aussi de notre produit. Et donc, une fois que ces étapes sont franchies, on peut passer à la sécurité, donc là il s’agit de vérifier que les éléments sont les bons et donc qu’est ce qu’on va vérifier? On va vérifier que le visage est ce qu’on appelle live, c’est à dire que la personne est réellement derrière son device en train de faire la vérification d’identité. Pareil pour le document que c’est pas une photo d’un autre document que c’est pas un un film qui est en train d’être joué devant l’écran ce genre de chose. On va vérifier que le document correspond bien au visage et l’intégrité et la validité du texte. Donc il y a des checks qu’on peut faire à l’intérieur du texte, par exemple la Bande blanche qui est en bas des documents d’identité en général. Y a des checksum, donc on peut vérifier qu’elle a pas été altérée en vérifiant que les checks sommes correspondent bien, donc ça ça permet de vérifier que le texte a pas été altéré et ensuite bah y a des informations qu’on doit vérifier dans certains use cases. Par exemple si le l’utilisateur doit être majeur, Ben faut simplement vérifier que la date de naissance correspond bien. Et voilà un peu de façon assez macro, comment on découpe le problème de la vérification d’identité?
– Marc — 13:23 :
Ok d’accord. Ouais, oui, juste au niveau du texte pour être sûr qu’y ait pas de modification du texte, y a un chiffre sur les documents de l’identité qui permettent de vérifier qu’y a pas un seul caractère qui a été changé.
– Christophe — 13:34 :
Ouais.
– Marc — 13:35 :
Alors qu’est ce que les avancées technologiques dans l’intelligence artificielle en général, on va dire, ont changé pour vous? 2018 c’est pas hier, qu’est ce que ça a changé pour votre use case?
– Christophe — 13:46 :
Donc ça j’ai, j’en ai reparlé avec notre Head of Research actuelle parce que c’est un peu sorti de mon scope donc je le salue au passage. Merci Pierre. Alors pour ce que ça a changé. Alors il y a des choses que j’ai observées. Il y a des choses qui sont effectivement un peu plus récentes. Le plus gros changement, ou en tout cas le plus impactant pour nous, ça se passe surtout au niveau de la portabilité parce que j’entends par là c’est la facilité. De mettre un algo en production. Et la façon dont cet algo va se comporter en production donc en fait il y a 2 aspects, il y a un déjà la mise en production. C’est à dire que à l’époque enfin je dis à l’époque c’était pas il y a si longtemps que ça mais donc il y a il y a 2, 3 ans, quand on mettait les algorithmes en production, on avait toujours des tonnes de problèmes avec cuda CUDNN la version tenser flow, enfin tout un tas de librairies qui pouvaient entrer en conflit les unes avec les autres. C’était un peu un jeu d’équilibriste pour maintenir vraiment tous les différents acteurs au au bon niveau de de mise à jour, et cetera. Ça maintenant, ça a été vachement simplifié par. Un outil comme Onyx comment se dire qu’on prend un modèle? On on le traduit en Onyx et on peut le mettre en port directement. Il y aura pas de problème. Donc ça la mise en preuve vraiment purement au niveau de la PR et de la compatibilité est simplifiée et ensuite une fois qu’on est en production, on a eu un vrai gap vraiment monstrueux de performance entre quand on a commencé et maintenant. Mais même ça s’est opéré sur les 3 4 dernières années. C’est à dire que grâce aussi à des outils comme Onyx donc Onyx il va faire un certain nombre d’optimisation dans ton modèle qui vont permettre de de vraiment significativement diminuer le le temps de calcul. Donc parfois le diviser par 2 carrément et il y a aussi eu une tendance actuelle qui a été de sur des use cases connus et pratiquées depuis un certain nombre d’années dont je parlais du ping, Bah ça c’est un problème que beaucoup de gens essaient de résoudre la capacité de détecter un visage et donc en réalité ce problème il a été résolu y a 4 5 ans, c’est-à-dire qu’on a depuis 4 5 ans des algo très stables de détection de visage et donc y a beaucoup d’efforts qui ont été mis là sur les dernières années pour rendre ces algo de plus en plus légers. C’est-à-dire qu’on a par exemple un algorithme comme unet qui permet de faire ça, qui à l’heure actuelle a 75000 paramètres. Là où moi y a 2 3 ans j’ai jamais bossé sur des algo qui avaient moins de 1000000 de paramètres et donc évidemment en termes de temps de calcul ça fait une différence folle. Ouais et là où? Bah encore une fois il y a 2, 3 ans, on était assez gourmand en GPU ça nous prenait beaucoup de temps, on avait dû développer des infras particulières pour pouvoir faire tourner nos algo sur GPU l’o CR et cetera. Maintenant tout tourne sur CPU et on arrive même à en faire tourner 600 parallèles sur le CPU Donc vraiment on a complètement changé de paradigme aussi d’un point de vue temps de calcul et c’est assez intéressant d’observer ça dans la période actuelle parce qu’on a une espèce de polarisation entre un algo comme younette qui lui tend à faire une chose très très très très bien avec très très peu de paramètres. Comme je disais 75000 c’est ridicule. Mais il sait faire qu’une seule chose, c’est le facecropping et des Algo comme les LLM à l’heure actuelle, qui vont d’enfin ça démarre à 7 milliards quoi. Ouais ouais mais qui savent faire tout un tas de choses et sans entraînement. Donc on voit ces 2 tendances un peu surprendre, émerger, qui sont alors.
– Marc — 16:37 :
Sur l’o CR on va dire un un autre problème qui est bien bien résolu. Tu nous as parlé d’younet pour résoudre les problèmes de facecropping. Pour ce qui est de transformer l’image en texte, l’O CR et qu’est ce que tu tu conseilles à quelqu’un qui aborde un un nouveau sujet où il y a besoin d’extraire du texte d’une image?
– Christophe — 16:54 :
Ouais, l’o. Cr donc moi j’avais bossé dessus il y a 4 ans et franchement c’était un peu pénible pour un problème qui paraissait quand même bah oui, relativement mainstream donc on a fini par s’en sortir, mais on était finalement assez peu robuste, c’est à dire ça marchait très bien sur les documents français, mais on avait du mal à généraliser. Alors malheureusement je connais pas exactement les algo qu’on utilise maintenant parce que c’est un chantier assez frais mais en terme de performance. On a un data Scientist qui a bossé dessus pendant 6 mois, un an et c’est du délire. C’est à dire qu’on a réussi à à avoir une performance très homogène sur des centaines de documents. Là où avant on était vraiment spécialisé sur une petite dizaine donc y a un vrai progrès qui a été fait là-dessus aussi. Donc quelqu’un qui commencerait moi franchement je l’inviterais à regarder à fond les modèles les plus récents parce qu’en fait ça continue à bouger beaucoup OK et à s’appuyer là-dessus plutôt que sur des, des, des, des modèles un peu éprouvés et pluvieux. Je pense que vraiment c’est personnellement mis à jour ces trucs là.
– Marc — 17:44 :
D’accord, intéressant ça. Alors tu nous as parlé des modèles et tu disais. Qu’il y a d’autres avancées technologiques. Qui vous concerne.
– Christophe — 17:53 :
Ouais alors il y a dans un je veux dire quand même un moindre, il y a un moindre effet sur en terme d’impact chez nous, mais il y a quand même eu des gros changements depuis qu’on a commencé à bosser, notamment sur la tout un tas d’outils qui permettent de simplifier beaucoup l’expérimentation et la préparation d’un algo pour sa mise en prod, c’est à dire son amélioration, son training, son find chining, et cetera, avec des des gouts, des des outils comme ML Flow comme DVC On a quand même un une traçabilité bien meilleure. Sur les différentes versions d’un algo, les différentes expériences qui ont été faites là où quand on a commencé à bosser, c’était à nous de le faire de manière propre dans des documents. Enfin, donc c’était. Par exemple, c’était impossible de reproduire une expérience qu’on avait fait y a un an parce que le data SET avait échangé, on savait plus où était stocké, et cetera. Donc ça c’est quand même un bon changement, surtout dans une période comme on est à l’heure actuelle où, c’est-à-dire qu’on est en train d’essayer d’aller chercher des le % de performance en plus, qui va vraiment nous nous changer la vie alors qu’y a quelques années on est en train de passer d’on cherchait plutôt 10 points de performance et donc pour ça tu as besoin de faire des expériences un peu plus grossières et en général t’as pas besoin de ce niveau de finesse mais donc à l’heure actuelle où on est vraiment en train d’essayer de raffiner nos algo, ces outils là sont indispensables. Y a un dernier truc. Plutôt un concept que nous, on a toujours un peu appliqué, mais qui reste vrai malgré le l’amélioration assez. Fondamentale qui a été vu sur les algo ces dernières années. On continue à voir qu’en fait la Computer Vision classique, donc les petites astuces, les petits calculs, les je sais pas si ça parlera à tout le monde, mais les érosions dilatations toutes les petites opérations que tu peux faire à la mano sur les pixels, augmenter les contrastes, effacer certaines zones, toutes ces opérations qui paraissaient élémentaires sont toujours super utiles pour booster la la performance d’un algo. Ok là pour donner un exemple, en fait on est en train de développer un algo qui permet de lire les barcodes qui sont sur les documents américains. Et donc on a commencé par développer un réseau de neurones qui bah normalement aurait pu faire ça très bien, il le faisait ça il faisait ça pas mal et donc on est revenu un peu à ces fondamentaux qu’on a toujours appliqué à savoir. Bah est ce qu’il y aurait pas une petite couche de préprocessing quand même à appliquer pour faire ressortir la donnée et vraiment faire ressortir les éléments saillants d’un bar code? Et donc on a appliqué une petite brique comme ça de d’érosion dilatation, et là les perfs du du réseau de neurones sont vraiment plus rien à voir donc parfois ça ça reste vrai quand même, c’est faut quand même regarder la donnée qu’on est en train de traiter, se demander s’il y a pas des petites astuces ou des petites choses qui pourraient vraiment mettre en valeur l’élément qu’on est en train d’essayer de détecter. Et ça peut vraiment faire une différence de dingue en terme de perfs.
– Marc — 20:19 :
Alors tu es pas vraiment policier, mais tu cours quand même un peu après les fraudeurs, la course après les fraudeurs qui du coup Ben change de technique un peu en fonction de des technologies qui permettent de les attraper. À quoi ça ressemble?
– Christophe — 20:34 :
Alors on a nos Ops qui ont été entraînés par la police, donc c’est une une expertise que nous on valorise beaucoup parce que les c’est aussi ces personnes-là qui ont une expertise en termes de de faux documents qui envoient beaucoup passer, qui en confisquent, et cetera. Donc ça peut nous être très utile. On a même déjà été sollicité dans le cadre d’une enquête. Donc ça c’est pour le côté Obs nous évidemment. Côté algo, on a été beaucoup sollicités pour répondre à des fraudes qu’on appelle algorithmiques, donc des fraudes qui sont générées ou augmentées par ordinateur et donc en général la bonne réponse c’est aussi une réponse algorithmique. Mais donc pour te donner un exemple, quand on était en train de travailler avec l’anssi, donc on réfléchissait un peu à toutes les fraudes auxquelles on devrait faire face et on a reçu un moment une vidéo. Je sais plus d’où elle sortait, où on voyait quelqu’un qui faisait une vidéo d’un document qui était manifestement en papier, qui était bien fait, hein. C’était un une impression assez haute qualité. Le truc qui était bien découpé, et cetera. Donc il le mettait dans l’écran. On lui a dit Bon bah OK cette fraude elle est facile, c’est du papier, il y a pas d’ogramme et la personne activait un truc, il est appuyé sur un un bouton de son ordi, je sais pas et d’un coup. Il y avait l’hologramme. Qui apparaissait et la texture plastique d’un coup sur le document, on voyait apparaître en dynamique, c’est à dire que la personne le bougeait. On voyait l’hologramme se comportait de façon tout à fait naturelle et pareil, les reflets plastiques apparaissent également. Donc là on a vu ce truc là. On s’est dit, Ouah, ça c’est ça, c’est nouveau, on sait pas trop comment faire ça et donc en fait on avait aussi un peu la même problématique sur les Deep fake, c’est à dire qu’on voyait passer de de plus en plus de Deep fake de qualité et on savait pas encore vraiment comment répondre à ça et donc ce qu’on a fait c’est on sait tout simplement mis dans la peau des fraudeurs, c’est à dire qu’on s’est dit Bon bah OK on est une équipe de Computer Vision donc on a des compétences pour altérer des vidéos, on va se laisser un mois, 2 mois, 3 mois pour essayer de créer des fraudes et de comprendre un peu ce que ça veut dire de créer ces fraudes, quels moyens il faut déployer et si c’est très facile, trouver les moyens de la combattre ou si c’est très difficile, si par exemple Bah ça prend. Je sais pas, 10000€ de GPU une équipe de 7 chercheurs à temps plein pendant 6 mois, et cetera. On va dire que bon bah cette fraude elle est trop chère à développer donc ça va faire partie de ce qu’on appelle le risque résiduel. Et donc si quelqu’un essaie de développer une fraude qui coûte 1000000 pour à la fin en tirer 10000€ on se dit que ça vaut pas la peine et donc ça peut rester du risque résiduel. Bon il se trouve que heureusement on en a pas de ce rendu là et donc typiquement pour la fraude à l’hologramme dont on savait pas du tout comment on allait la générer. Donc on a travaillé sur le sujet-là aussi grâce à de la Computer Vision classique, on a réussi à la reproduire et en la reproduisant on a compris quels étaient ses points faibles, c’est à dire qu’en fait, on s’est rendu compte assez vite que si on demandait à l’utilisateur de pencher plus son document, c’est à dire de de ce qu’on appelait faire décrocher le crooping. Enfin, c’est à dire le le tourner suffisamment pour qu’il y ait plus assez d’éléments sur la vidéo pour qu’on puisse détecter le document. Là la fraude sautait et donc il y avait un élément complètement pas naturel qui apparaissait sur la vidéo et donc ça devenait facile pour un Ops. Donc un opérateur de notre côté de le détecter. Donc en fait, on n’a pas créé un algo de toutes pièces qui permettait de détecter cette vidéo parce que ça on a essayé, c’était vraiment super dur. Par contre on a créé les manipulations qui permettent de mettre en valeur la fraude pour un opérateur.
– Marc — 23:41 :
D’accord, Ouais, vous vous êtes rendu compte en essayant de reproduire la fraude que finalement c’était compliqué de faire cette fraude là cette de calquer cet hologramme là avec des angles importants. Et donc finalement ça vous a mis le doigt sur un moyen de contourner, enfin d’empêcher la fraude en changeant le protocole avec lequel on demande à l’utilisateur de se prendre en vidéo. Quoi.
– Christophe — 24:01 :
Et donc même chose pour les Deep fake, ça, ça a été vraiment complètement le même raisonnement. Sauf qu’on s’est en plus rendu compte que faire un Deep fake de vraiment haute qualité en temps réel parce que c’est aussi une des contraintes, c’est que comme on fait des détections d’injection, la vidéo, elle se passe forcément en temps réel, c’est à dire qu’on peut pas préparer une vidéo et nous l’injecter, parce qu’en fait il y a des éléments aléatoires qu’on demande à faire à l’utilisateur. Donc en fait ces éléments changent et donc si tu as préenregistré une vidéo ce sera plus la même séquence qu’on t’aura demandé, donc on pourra le détecter, d’accord et donc faire des de fake en temps réel en tout cas à l’époque où on avait regardé. Donc en 2020 c’était quasi impossible en tout cas de nous on n’a jamais réussi à en faire un vraiment crédible en temps réel. Et pareil les défauts sont vachement exagérés par des manipulations où tu tournes la tête, vraiment? À 90 ° vers un côté. Mais comme on pouvait le voir déjà à l’époque, c’est une technologie qui évolue extrêmement vite, donc on est obligé de surveiller de très près et donc la première mitigation qu’on a en place. Comme je disais, c’était le fait de tourner la tête. Ça on sait que ça rend le truc quand même vraiment difficile. Mais pour autant faut continuer à faire de la veille techno et s’assurer que d’un coup il y a pas une techno accessible à beaucoup de gens qui permet de faire des Deep fake en temps réel de manière très crédible.
– Marc — 25:06 :
Alors toutes les certifications donc de l’anssi, l’organisme étatique qui s’occupe de la sécurité informatique. Comment est ce que ça fonctionne se faire? Accréditer, se faire certifier par l’Anssi, comment ça marche?
– Christophe — 25:18 :
Dans notre cas, je pense, c’est dur de généraliser parce qu’en fait, on parle d’une certification qu’on a aidé à créer. C’est à dire que quand Hubble s’est lancé, il y avait pas de certification sur ce sujet-là et ça a été un travail pendant. Ouais, ça a été un travail de 4 ans pour arriver à voir émerger un référentiel donc c’est à dire l’anssi qui dit voilà pour être certifié il faut faire ça, ça ça a pris 4 ans donc en fait le processus il a été assez long parce que d’abord il a fallu convaincre l’anssi qu’on était un acteur sérieux. Donc il y avait pas non plus mille acteurs en France donc on était forcément privilégié pour leur parler et pour être sollicités en tant qu’expert. Il fallait quand même qu’on se crée une certaine crédibilité et d’ailleurs le travail sur la fraude, l’hologramme dont je parlais, ce genre de choses permettait aussi d’asseoir cette crédibilité, de dire qu’on était capable de reproduire ces fraudes qui sont assez complexes et de les combattre. Ça, ça nous a donné un peu de poids dans la conversation. Et donc une fois qu’on avait cette crédibilité, on était dans une position, je dirais un peu meilleure parce qu’on était sollicité en tant qu’expert pour la création de cette certification. C’est à dire que l’anssi a pas envie de créer une certification qui bloque complètement, qui rend le l’application inutilisable si la vérification d’identité est beaucoup trop sécurisée. En fait, personne n’arrivera à vérifier son identité. Et donc c’est pour ça qu’ils sollicitent des acteurs comme nous, c’est pour savoir en fait ce qui est acceptable d’un point de vue expérience utilisateur, tout en mettant l’accent sur la sécurité. C’est un équilibre à trouver entre les 2 en fait. Donc on a été sollicité par l’anssi. Ensuite, pendant que les ces discussions avaient lieu, il a fallu anticiper en fait, de notre côté, à quoi allait ressembler le référentiel, donc pour commencer à préparer le produit et pouvoir obtenir la certification le plus tôt possible. Typiquement assez tôt on a compris qu’il fallait s’appuyer sur un cloud provider français, donc on a assez vite fait le le switch donc voilà, il y a tout un tas d’anticipations qui ont pu être fait. Ensuite, là, on rentre plutôt dans le cadre, je dirais d’une certification un peu plus classique puisque. Le référentiel sort donc là, c’est une très longue check list à faire vérifier à son produit. Enfin, c’est à dire que quand ton produit doit remplir tous ces différents critères. Là-dessus typiquement y a ça a été encore un peu une discussion parce que. Y a certains critères qui étaient beaucoup trop violents en terme d’expérience utilisateur, typiquement y avait y avait un critère autour du nombre de FPS minimum autorisé, c’est-à-dire que si une vidéo avait pas une qualité suffisante et avait un nombre de FPS trop bas FPS c’est frame par seconde. On devait refuser l’identité. Or il se trouve que bah les connexions 5G 4G wifi, et cetera, bah ça fluctue pas mal au travers d’une vidéo donc les premiers critères qui étaient sortis en fait, ça faisait qu’on devait rejeter quasiment la moitié des utilisateurs, donc là-dessus on a, on a réussi à créer un échange et donc à faire baisser un peu la norme tout en justifiant le fait qu’en fait ça diminuait pas le le niveau de sécurité, il y avait pas de fraude qui passait grâce à à ce critère qui était un petit peu allégé donc il y a cet énorme check list qu’il faut valider. Ensuite on passe par des audits donc là c’est un cabinet extérieur qui va venir auditer notre solution, qui va le mettre à l’épreuve et donc là-dessus il a aussi il peut y avoir des itérations. Le cabinet d’audit peut dire Bon bah là il y a une fraude qui est passée. Expliquez nous ce qui s’est passé, et cetera. Nous ça s’est assez bien passé et quand tout ça s’est bien passé, bah à la fin on est certifié et nous dans le cas on était très content parce qu’on était les premiers sur le marché donc. On a eu. Une espèce de de monopole pendant les quelques derniers mois et là depuis un ou 2 mois, il y a un nouvel acteur qui a été certifié sur le marché français. Mais donc ça nous a quand même permis de de conquérir des nouveaux clients, ce qui était très chouette.
– Marc — 28:39 :
Alors, c’est quoi les principaux obstacles pour arriver à faire ce que vous avez fait?
– Christophe — 28:43 :
En fait, ils ont beaucoup changé au cours du temps, donc comme tu peux le deviner au début c’était surtout les algo hein. On était dans une position assez assez compliquée, on avait pas de data donc ça ça a été le gros challenge. Et ensuite bah chaque fois qu’on résolvait 1-1-1 problème, Ben on arrivait sur un nouveau le problème. Qui s’est posé après celui des algues, je dirais que c’est celui de la stabilité du streaming. Parce qu’on avait beaucoup de vidéos qui à la fin se retrouvaient en fait corrompues, c’est à dire que sans qu’on comprenne vraiment pourquoi, on recevait des images qui étaient complètement brouillées. Donc ça, ça a été un un gros challenge qui nous a pris donc beaucoup de temps au début et et sur lequel on a continué à travailler au cours du temps. Parce qu’en fait la la qualité des Assets est tellement essentielle pour la performance des algo que bah en fait dès qu’on mettait un peu d’effort là-dessus on était vraiment récompensé directement parce que ça se traduit directement en termes d’automatisation. Donc on a beaucoup travaillé dans un premier temps sur la stabilité du streaming. Une fois que ce ce ce challenge là a été, je dirais principalement résolu, même si on en a jamais complètement fait le tour, on en est arrivé à l’époque du coup dont je te parlais où on a décidé de tourner un peu le dos à l’automatisation complète et à passer un système asynchrone avec des Ops. Donc là il a fallu construire cette équipe Ops et surtout la construire dans une optique d’efficacité de se dire bon bah on va créer une app dédiée sur laquelle on va pouvoir concentrer leur temps sur les les tâches à à haute valeur ajoutée. On va leur développer une infra qui permet de faire tourner des algo de manière efficace pour leur faire gagner du temps donc. Une fois qu’on avait résolu ce problème là, je dirais qu’on a eu pas mal d’enjeux UX ça c’était un problème. Bah sur lequel on s’était pas penché trop jusqu’à maintenant parce qu’on avait les plus gros problèmes. Mais on a un parcours qui est très long et auquel un qu’un utilisateur doit parcourir sans encombre. Et il y a beaucoup d’étapes. Donc en fait l’u.. X la clarté des étapes, l’efficacité des feedbacks qu’on envoie aux utilisateurs, tout ça est hyper important. Ouais donc ça a été des gros gros chantiers qui étaient très intéressants en plus parce qu’on était vraiment à la croisée des chemins entre les algo et l’u.. X puisque c’est les algo qui génèrent les les feedbacks qu’on envoie aux utilisateurs. Et c’est lui qui permet de les rendre lisibles, activables, et cetera. Donc ça, ça a été un un gros challenge challenge encore une fois sur lequel on on bosse toujours hein, parce qu’on en a jamais fait le tour, mais on a vu des des très très grosses améliorations là-dessus Ensuite, on a eu le challenge du cloud français que je vais pas citer mais on a pas mal de problèmes de stabilité à cause de ça, c’est à dire que c’est pas une solution aussi aboutie KWS donc il y a eu beaucoup de de problèmes de ce côté-là Je dirais qu’après ça on a eu le challenge des sales, c’est à dire qu’on est arrivé à un point où. Il a fallu vendre là pareil, gros challenge, on a on a réalisé qu’en fait on avait des cycles de vente très long et que bah du coup c’était compliqué en tant que start-up d’exister dans des cycles sinon mais c’est un truc sur lequel on a beaucoup progressé aussi en parallèle de tout ça, on avait cette fameuse certif sur laquelle on avait décidé de miser quasiment toutes les ressources de la boîte. On s’est dit on veut cet article parce qu’on veut cette situation de monopole pour aller conquérir des nouveaux use case on pense que notre produit est vraiment parfait pour répondre à ça et donc il a fallu répondre à tous ces enjeux. En mode bridé, c’est-à-dire qu’y a vraiment beaucoup, beaucoup de ressources qui travaillaient sur artefacty certification et donc peu de ressources pour bosser en fait sur les vrais problèmes de la boîte donc tout ça a été un challenge en plus. Donc voilà je dirais un peu les grands jalons qu’ont dû être franchi. Et pour en revenir à aujourd’hui, je dirais que la question qui se pose à l’heure actuelle, c’est qu’on a été pendant très longtemps sur des acteurs principalement français. Là on commence à travailler avec des acteurs un peu plus internationaux et là on commence vraiment à se confronter à à des problèmes d’hétérogénéité de la data, donc des principalement des nouveaux documents en fait qu’on voit entrer sur lesquels on est nos Obs sont pas suffisamment formés sur lesquels on peut être un peu surpris. Et donc on entre un peu dans cette nouvelle ère, je dirais de vraiment d’homogénéisation de nos performances sur les différents documents, les différents pays, et cetera. C’est un peu le le problème actuel.
– Marc — 32:27 :
Qu’est ce que ça a changé de se faire racheter? Il y a un an et demi du coup?
– Christophe — 32:31 :
Si je prends un peu de recul sur cette période comparé aux aux quelques années qui ont précédé, je dirais qu’on a gagné en sérénité, c’est à dire que les premières années de la boîte, grosso modo tous les 6 mois, il y a un peu un challenge d’OK Bon Ben qu’est ce qu’on va faire dans 6 mois? Est ce qu’on sera encore là? Est ce qu’on va réussir à survivre, et cetera. Donc on travaille sur des cycles assez courts avec des priorités qui sont vraiment là aussi très court termistes donc on est un peu en mode sprint tout le temps à essayer d’atteindre des objectifs qui sont parfois très compliqués et souvent en étant un peu frileux à miser significativement sur certains aspects. C’est à dire qu’on va pas se lancer dans des projets de recherche qui vont durer 6 mois. Un an, c’est trop risqué ça. Ça a changé parce que donc maintenant on a quand même pas mal gagné en sérénité et on se lance vraiment volontiers dans des projets un peu plus longs. C’est à dire que nos roadmaps on les fait plus à 6 mois maintenant. C’est plutôt un ou 2 ans donc c’est quand même plus agréable pour tout le monde. Après évidemment Ben le revers de la médaille, c’est qu’on est un peu moins libre. C’est à dire que maintenant c’est gérer la direction générale de l’entreprise. Elle est décidée par par check out, même si on est quand même assez aligné, on a un peu ressenti les effets aussi de la lourdeur administrative d’un grand groupe, mais franchement, c’est quand même pas mal à la marge parce qu’ils sont quand même assez efficaces. Donc il y a du reporting en plus pour recruter, c’est un peu plus compliqué parce qu’il faut rentrer dans leur process donc ça peut être un peu frustrant quand tu as été dans une start-up pendant 4 ans et que c’était le recrutement, on pouvait creuser un profil en une semaine. Là c’est plutôt un mois. Mais quoi qu’il en soit, encore une fois, ça reste à la marge, c’est pas vraiment pénalisant et un avantage par contre c’est aussi le l’on a eu pas mal d’aides en terme de tooling, c’est à dire qu’une boîte qui a déjà eu typiquement quand on a décidé de refaire un peu notre stack data, on a eu beaucoup beaucoup d’aides et ça c’est vraiment chouette. Ça nous a permis de faire gagner beaucoup de temps et on garde une liberté d’exécution qui est quand même assez assez importante même enfin qui est totale. C’est à dire qu’une fois que les grands éléments de la roadmap sont décidés, là personne va venir nous dire faut faire comme ça va faire comme ça c’est en fait au sein de check out, on reste les experts de l’identité donc on exécute comme on veut et ça c’est ça reste du coup assez agréable.
– Marc — 34:27 :
Ok est ce que tu as une opinion à nous partager?
– Christophe — 34:29 :
Ben là, j’ai peur de dire, un peu comme tout le monde, mais je dirais que là geneï c’est le feu. Plus concrètement en ce moment, je travaille un peu sur un site Project autour de DBT où je pense vraiment que la GENAI peut apporter beaucoup tant en termes de d’expérience de dev. Je pense que sur DBT il y a beaucoup de de tâches répétitives mais je pense vraiment qu’on peut avec un outil à la copyote de github qu’on peut obtenir vraiment un gain de productivité significatif beaucoup plus significatif que ce que copilote fait sur du code classique. Parce que les tâches sont beaucoup plus normées sur sur des BT et.
– Marc — 35:00 :
Je suis pas actuellement copilote sur des sur.
– Christophe — 35:01 :
Du si, si Ben il est-il est pas spécialisé sur DVT en fait il veut juste te proposer un peu de SQL mais c’est pas.
– Marc — 35:06 :
D’accord.
– Christophe — 35:07 :
C’est pas si génial que ça, donc il y a la partie expérience de dev et je pense aussi la partie efficacité des modèles où là tu peux utiliser 1LLM pour améliorer les le temps de run de tes query où il peut te suggérer des querys du coup un peu mieux foutus. Ouais un peu ces 2 aspects-là donc optimisation du temps de run et amélioration de la l’expérience dev. Cool, voilà un peu le cette Project Side Project du moment.
– Marc — 35:34 :
On voudra en avoir. En savoir plus dans quelques temps. Alors le le projet global de Bell, si c’était à refaire, qu’est ce que tu changerais?
– Christophe — 35:43 :
En réalité, pas grand chose parce que franchement, ça a été, ça a été une super expérience. En prenant un peu de recul du coup, je pense que le truc qui m’a le plus pris de court c’est la partie recrutement. C’est-à-dire qu’en fait au bout d’un ou 2 ans, quand ça a commencé à marcher à peu près et qu’on a levé des fonds, il a fallu recruter beaucoup et je trouve qu’on a été un peu jetés dans cet exercice-là de façon. Très naturel, enfin, comme si c’était inné, c’est à dire? Et donc j’ai mis quand même pas mal de temps à à trouver un peu d’aisance dans cet exercice. Au début, je trouvais ça compliqué, je savais pas bien comment mener les interviews, quels critères appliquer? Et cetera. Donc je me suis formé sur le tas comme tout le monde hein, mais en en écoutant du coup d’autres interviews vers faire, et cetera, et cetera. Mais de ce point de vue là, j’aurais peut être bien aimé qu’on nous prépare un peu mieux, qu’on nous forme un peu plus. Je pense que d’une part nous on aurait été plus à l’aise et d’autre part on aurait peut être été plus efficace dans ce procès là de recrutement, OK.
– Marc — 36:35 :
C’est quoi les prochaines étapes de chez Hubble au sein de check out?
– Christophe — 36:40 :
Bah moi, d’un point de vue perso j’aimerais quand même comme je disais vraiment prolonger l’expérience de nai I et essayer de proposer quelques outils à l’équipe. Donc d’une part l’équipe data mais j’aimerais bien aussi bosser avec l’équipe sales. Typiquement je pense qu’il y a des gros gains de productivité à aller chercher de ce côté-là d’un point de vue plus Hubble au sens global. Nous on a des gros challenges sur le produit auto dont je parlais au tout début donc le le dernier né du coup de notre gamme de produits qui en est vraiment à ses débuts et du coup qui se veut pas? 100 % automatique et là on en a encore. Bah au début quoi, il faut encore bien améliorer les algo, ça c’est un gros challenge et comme je te disais un produit qui scale sur tous les pays, tous les continents, là à l’heure actuelle on a une performance qui est un peu trop hétérogène.
– Marc — 37:19 :
Quoi OK et alors qui est ce que tu voudrais entendre dans un prochain épisode de data driven One one?
– Christophe — 37:24 :
Et Ben je ne pourrais que recommander le grand Nicolas Drizzar, ami et beau frère qui crée son entreprise kinéo, qui cherche à matcher les labos pharmaceutiques avec les patients qui cherchent des essais cliniques. Et donc bah je trouve, c’est un très beau projet et ils vont avoir des gros enjeux IA et data. Dans les mois, années qui viennent.
– Marc — 37:47 :
Merci beaucoup Christophe, merci Marc. Vous venez d’entendre Christophe Lantarnier, Head of Data chez Hubble sur Data driven One on One.