Je vais vous donner quatre raisons.
Pour faire de l’intelligence artificielle on a besoin de 3 composantes:
Elle est aujourd’hui largement disponible, facilement scalable et relativement pas cher avec le cloud et le GPU. Et la puissance de calcul se développe de manière exponentielle. Sur votre iPhone vous avez plus de puissance de calcul que tout le porgramme Apollo !
L’état est en gros disponible sur github grâce au publications de Google et Facebook. Vous pouvez aujourd’hui monter une stack de traduction qui embarque les dernières architectures Transformer de Google. Le développement de l’open source, bénéficiant de l’effet réseau d’internet, est aussi exponentiel. Les algorithmes de deep learning étant au passage toujours plus gourmand en donnée d’apprentissage.
Et il y a a beaucoup. Depuis la révolution numérique, à peu près tout l’information du monde est enregistrée au format numérique. Mais cette donnée, il faut l’annoter. C’est ce que fait Facebook aujourd’hui quand il vous propose de commenter une image ou d’identifier un ami sur une photo. Chaque jour on upload plus d’un milliard d’image sur Facebook et on l’annote. Nous produisons une base de donnée d’apprentissage énorme pour Facebook si bien qu’ils on pu développer des modèles capable d’identifier des personnes de dos. Mais dans la plupart des entreprises, la donnée est silotée et pas structurée.
C’est ce à quoi sert Kili Technology 🙂
Chez BNPP, pour résoudre ce problème de manque de donnée d’apprentissage, nous avons monté des interfaces d’annotations. Mais en faisant cela on a été confronté aux problématiques suivantes:
Par exemple un client du retail travaille sur un projet visant à proposer une expérience client similaire à celle d’Amazon Go. Pour faire cela, il faut annoter plus d’un million d’image et donc pour cela il faut pouvoir embarquer du monde et mesurer leur performance et la qualité du rendu. Et pour vous donner un ordre de grandeur, avec un outil de base pas très performant, 10k images, c’est 3 mois pour 1 personne. Donc pour un projet comme celui-là il faut beaucoup d’annotateurs et donc il faut les coordonner. Comment est-ce que je fais pour gérer des droits d’accès à la donnée ?
Même si on est bon sur les interfaces et la coordination des annotateurs, c’est quand même assez long. Et donc il faut l’accélérer de manière intelligente en tirant le meilleur de ce que peut faire l’homme et la machine. La machine étant très forte sur les tâches répétitives où l’homme se fatigue vite et l’homme étant bon pour distinguer et assimiler de nouvelles nuances.
On va typiquement vouloir faire du
C’est à dire commencer à faire apprendre un modèle en cours d’annotation pour préannoter la data
C’est à dire par quels assets commencer à annoter. Typiquement si vous faites du deep learning, vous voulez un maximum de diversité en dès le début de votre entraînement. Comment faire pour gérer une fil de priorisation optimale qui n’est à première vue pas forcément l’ordre alphabétique des fichiers à annoter ?
Comment faire pour utiliser des règles métiers pour pré annoter massivement ? Par exemple si je dois annoter des noms de produits dans du texte et que je peux par ailleurs extraire de mon référentiel produit un dictionnaire de noms?
Même si on arrive à produire un dataset annoté en quantité et en qualité suffisante pour entraîner un bon modèle et avoir des résultats acceptables, on n’obtient jamais 100% de performance.
En effet, tout cela permet de faire l’entraînement initial. On va extraire la donnée de vos systèmes et l’annoter pour créer le dataset.
Imaginez si vous faites de la saisie automatique d’ordres clients lus dans des mails directement dans le CRM et que cela lance la chaine de production d’une balle de métal de 12 tonnes…
Sur des emails de commande clients, par exemple on arrive bien à plus de 95% de performance sur la classification et plus de 80% de performance sur la reconnaissance d’entités nommées. Ce qui est déjà très bien. Mais pour ne saisir que de la donnée avec 100% de fiabilité dans les systèmes, afin de garantir l’intégrité des commandes, il est indispensable d’orchestrer la supervision humaine en production.
Il faut être capable de garder l’humain dans la boucle, de capturer le feedback pour continuer à faire apprendre les modèles en production grâce à de l’annotation.
Il est clef de garder les humains dans la boucle quand on veut mettre en prod de l’AI. #Human in the loop.