Avez-vous déjà songé à recruter un Chief Algo Officer ? (Partie 1)
Un Chief Algo Officier, pour quoi faire ?
L’idée d’un Chief Algo Officier paraît probablement saugrenue voire comique alors que beaucoup d’organisations n’entrent que progressivement dans une transformation plus ou moins assumée de leurs pratiques et relations avec leurs partenaires, fournisseurs ou clients.
Pour autant, les algorithmes sont de plus en plus nombreux autour de nous et sont présents dans de nombreuses sphères de nos vies : depuis les fameuses règles de gestion des solutions logicielles « incarnant » de plus en plus les règles des organisations et entreprises, les algorithmes de calcul permettant de donner droit à une aide ou non, calculer votre impôt, et enfin, le concept de “Smart Everything” visant à rendre « plus efficient » les villes (Smart Cities), les lieux de fabrication (Smart Factory) etc.
Demain, nos véhicules sans conducteurs seront pilotés par un système de pilotage que l'agence américaine des transports vient de reconnaître (ce Mardi 9/02 dans une lettre officielle à lire : ici) comme valable juridiquement. Autrement dit : Google’s robot just got its driver’s license.
Il y a donc un enjeu fondamental à comprendre les algorithmes, à s’intéresser à l’esprit de ces derniers, voire à quelles sociétés futures ils nous préparent.
Précision utile : nous utiliserons dans cet article le terme algorithme au sens large, que ce soit au sens formel ou au sens d’un programme informatique.
Cet article développe les idées suivantes : quelle est l’emprise des algorithmes dans nos organisations et notre société ? Existe-t-il une peur liée à la perte de maîtrise causée par cette emprise ? Quels sont les bénéfices apportés par les algorithmes dans notre vie de tous les jours ?
Un second article développera un exemple nous venant du monde de la finance illustrant la notion de “algo trading” et proposera ensuite les clefs d'une stratégie possible pour renforcer son contrôle, en résumé, déclarer et mettre en oeuvre un « ownership » de ses algorithmes.
Décryptage
Un algorithme est composé d’un ensemble d’instructions, qui produit une sortie selon une entrée. On le voit souvent défini comme quelque chose spécifiquement dédié à la résolution de problème, mais on peut très bien écrire un algorithme qui ne résout aucun problème (sauf si on considère que, par exemple, l’algorithme qui fait clignoter un écran de toutes les couleurs résout un problème en soi).
On peut ranger les algorithmes dans plusieurs grandes familles qui se recoupent les unes les autres:
- les algorithmes déterministes et stochastiques
- Déterministes: peu importe combien de fois vous exécuterez l’algorithme, si les données en entrée sont les mêmes à chaque fois, la sortie sera la même à chaque fois et donc prévisible. Comme par exemple un algorithme de tri auquel vous donnerez toujours les mêmes nombres, celui-ci sortira toujours ces nombres de manière ordonnée.
- Stochastiques: tout simplement l’inverse de déterministe, c’est-à-dire qu’à chaque exécution, même si l’entrée est identique, la sortie ne sera pas prévisible. Un simulateur de roulette de casino est un bon exemple.
- les algorithmes en-ligne et hors-ligne
- En ligne: l’entrée n’est connue par l’algorithme qu’au fur et à mesure de son exécution. Imaginez un robot qui a des capteurs infrarouges qui ont une portée réduite et qui doit trouver la sortie d’un labyrinthe: le robot ne connaît pas le plan complet du labyrinthe et réagit en fonction des obstacles qu’il va rencontrer.
- Hors-ligne: l’entrée est totalement connue de l’algorithme. Si on reprend l’exemple du robot dans le labyrinthe, c’est comme si celui-ci avait en mémoire la carte complète des lieux.
- les algorithmes exacts et approchés
- Exact: un algorithme exact, par rapport à un problème qu’il est sensé résoudre, donnera une solution exacte, comme par exemple l’algorithme de l’arbre couvrant de poids minimal: celui-ci permet de câbler une ville (électricité, téléphone, …) en utilisant exactement le minimum de câble nécessaire.
- Approché: quand il n’existe pas d’algorithme exact ou bien que le temps d’exécution n’est plus acceptable pour résoudre un problème, on fait à un algorithme qui résoudra le problème en donnant une solution approchée. Les tournées de transporteurs pour effectuer des livraisons se basent sur un algorithme approché qui essaye d’optimiser le parcours en ne faisant passer le véhicule qu’une fois par endroit, en un minimum de distance. La solution donnée à ce genre de problème est tout à fait acceptable, même si ce n’est pas la meilleure solution. On se posera souvent cette question: vaut-il mieux une solution approchée proche de l’optimal en un temps réduit que LA solution optimale dans un temps 1000 fois plus long ?
Il existe bien sûr tout un tas d’autres sous-catégories que nous ne détaillerons pas ici (algorithmes d’optimisation, génétiques, etc.). On peut mesurer ces algorithmes en fonction du temps d’exécution, de la taille mémoire dont ils ont besoin, mais aussi s’ils sont opérationnels par rapport à un métier. En effet, l’aspect métier jouera un rôle important dans la décision d’utiliser tel ou tel algorithme, car aussi bon soit-il, il faut qu’il puisse s’intégrer aux pratiques métier à tout niveau (contraintes, production, etc.).
A travers cette vision métier, nous rencontrons principalement trois usages de ces familles d'algorithmes :
- Les algorithmes issus de l’expertise humaine et intégrés dans des processus de gestion automatisés. Ce type d’algorithme se retrouve partout et nous intéragissons continuellement avec eux (automate bancaire, calcul de l’impôt sur le revenu, etc). Ils ont été spécifiés et programmés par des experts après un effort de formalisation.
- Les algorithmes de “scoring” auditables. Il s’agit ici d’extraire automatiquement des règles à partir d’une masse de données afin d’améliorer la décision humaine, faire des projections, etc. De la même façon nous rencontrons beaucoup ces algorithmes (attribution d’un prêt bancaire, calcul d’une prime d’assurance). Ces algorithmes sont des outils qui assistent l’Homme dans sa décision en utilisant les grandes tendances statistiques présentes dans les données. En général, ces algorithmes sont “auditables”, i.e. la décision de l’algorithme peut être expliquée à postériori. Pour certains types de modèles en banque / assurance c'est même une contrainte légale (ACPR, Bâle 3, etc).
- Les algorithmes de machine learning "non-linéaires" utilisant des patterns complexes pour établir leur prédiction. Ces modèles permettent très peu d’interprétation et sont souvent qualifiés de “boîte noire”. Ils sont en général bien plus performants que les modèles simples au détriment de l'interprétation.
**Un problème qui reste entier est qu'**ils apparaissent parfois comme des "boîtes noires" pour leurs utilisateurs finaux. De plus en plus, les algorithmes sont appréhendés par les utilisateurs non avertis comme des formules magiques qui recommandent des produits, vous conseillent des achats, vous autorisent ou non un crédit ou un investissement.
Ultron, AlphaGO et Google Car
Dans un des films de la série "The Avengers", Tony Stark crée Ultron, un système de défense (utilisant de l’Intelligence Artificielle) chargée de protéger la Terre. Mais Ultron interprète la tâche littéralement, concluant que la meilleure façon de sauver la Terre est de détruire tous les êtres humains. À bien des égards, Ultron se comporte comme un algorithme typique : Il fait exactement ce qu'il a dit et ignore toute autre considération.
Dans un autre registre, AlphaGO a récemment retenu toutes les attentions. "Le programme a regardé 30 millions de parties de différents jeux, ce qui lui a permis d'identifier les bonnes manières de jouer en fonction des situations", souligne à France 24 Raja Chatila, directeur de l’Institut des systèmes intelligents et robotiques (Isir). Les équipes de Google ont ensuite choisi d'en faire un tueur de champions de go parce que c’est le dernier jeu de plateau qui échappait au palmarès des machines.
En fait, comme expliqué dans le brillant livre « Deuxième âge de la machine », nous sommes entrés dans une ère où les progrès techniques et technologiques suivent une loi exponentielle qui accouche d’un monde nouveau tous les dix-huit mois.
Faut-il alors évoquer la Google Car qui est bien réelle. Une voiture autonome devra-t-elle parfois faire le choix de sacrifier ses propres occupants ? La voiture sans pilote pose forcément certaines questions de sécurité : après tout, c'est un robot qui conduit. En cas d'accident imminent, s'il n'y a pas le choix, faut-il opter pour le sacrifice du piéton ou celui du passager de la voiture ? Mais comment accepter le choix qui sera fait si les algorithmes ne sont pas ouverts, comment faire confiance si nous ne sommes pas sûrs de ce qui est programmé ?
L’emprise des algorithmes est-elle si importante ?
C’est précisément la thèse d’Eric Sadin avec son livre « Critique de la Raison Numérique ». Ce livre examine, en s’appuyant sur une multitude d’exemples, la quantification et la marchandisation intégrales de la vie qui s’instituent. Quelques extraits : « Vous dormez paisiblement .. La température ambiante s’élève à 12°C, c’est votre couette intelligente qui s’assure ici du relais de votre confort thermique », « Vous vous dirigez vers les toilettes, urinez; l’analyse comparative de vos fluides opérée sur les trente derniers jours ne signale aucune aggravation … », ou enfin « Arrivé chez vous, vous relevez que les courses du jour ont été livrées d’après l’état des stocks des différents produits via leurs puces RFID intégrées ». On découvre en fait dès les 3 pages d'introduction un excellent résumé de la promesse technique faite par notre société et qui embrasse .. déjà toute notre vie. Une ambiance un rien totalitaire et par la même finalement anxiogène !
La peur d’une perte de maîtrise !
Dans ce monde trop parfait dépeint avec lucidité, il y a des choses qui sont d’actualité aujourd’hui et d’autres qui le seront dans quelques semaines ou mois. Comment ne pas faire le lien avec avec la pensée de Jacques Ellul ? Si l'on en croit Wikipedia, ce dernier a posé le problème du changement de nature de la technique dans la société : d’outil permettant à l’homme de se dépasser, la technique est devenue un processus autonome auquel l’homme est assujetti. Est-ce le cas ? Est-ce que le numérique va exponentialiser cette idée et nous mettre sous le contrôle des algorithmes (bigre !) ? Comment garder le contrôle ?
Redécouvrons déjà la beauté des algorithmes
En réalité, les théories algorithmiques issues des mathématiques et de l’informatique nous ont apporté de nombreux bienfaits, en particulier dans la vie de tous les jours.
La théorie des files d'attente est une des théories utilisées massivement en informatique relevant du domaine des probabilités en mathématiques, qui étudie les solutions optimales de gestion des files d’attente, ou queues. Elle peut s’appliquer à différentes situations : gestion des avions au décollage ou à l’atterrissage, attente des clients et des administrés aux guichets, ou bien encore stockage des programmes informatiques avant leur traitement.
Dans le foyer, les robots prennent le pas sur nos bons vieux aspirateurs. Cependant, il ne faut pas croire que les robots aspirateurs qu’on vous vend embarque la pointe en terme d’algorithmique. En effet, les premiers modèles n’avait que pour algorithme un parcours aléatoire de la pièce… Même si mathématiquement, on sait que tout l’espace sera couvert en temps fini, cela ne veut pas dire que tous les recoins de la pièces seront faits quand vous rentrerez du travail ! Alors que la littérature regorge d’algorithme permettant d’explorer un espace en deux dimensions de manière efficace...
Pour citer Donald E. Knuth., auteur de “The Art of Computer Programming (TAOCP)'' (L'Art de la programmation informatique) : “Je trouve certains théorèmes et algorithmes beaux parce qu'ils ont de nombreuses applications différentes ; d'autres me plaisent parce qu'ils réussissent des trucs si puissants avec des ressources extrêmement limitées ; d'autres parce qu'ils impliquent des motifs esthétiques ; d'autres enfin parce qu'ils ont une pureté de concept véritablement poétique.”
Ni fascination ni peur
En guise de conclusion de ce premier article, les algorithmes (au sens large) sont de plus en la mémoire technique du savoir-faire métier dans les organisations et dont la maîtrise devient alors critique lors de migration de SI.
Dans le contexte d’accélération du numérique et des possibilités offertes par le Big Data et les Analytics que nous vivons, il est alors important d’en comprendre les enjeux et les limites pour :
- améliorer les pratiques algorithmiques des organisations et la qualité des implémentations mises en oeuvre,
- savoir entretenir une distance critique avec ces implémentations faites du métier pour pouvoir à tout moment en comprendre les cas aux limites et ne pas se laisser capturer par des compromis d’implémentations faits à un moment donné en raison d’une technologie donnée,
- démarrer le développement d’un rapport patrimonial avec son existant algorithmique pour anticiper les futures migrations ou changement générationnel.
Prochain article
Dans le prochain article, nous illustrerons ces points avec l'exemple, finalement assez ancien, du Robot-trading et des flash crack boursier et partagerons des pistes pour comprendre et maîtriser ce patrimoine algorithmique.