Rendre l' IA accessible à tous

Mois : novembre 2024

Perplexity, le moteur de recherche IA de nouvelle génération

Je voudrais vous parler aujourd’ hui d’ une application très utile des modèles de langage: Perplexity qui est un engin de recherche conversationnel accessible ici.

Les engins de recherche conversationnels sont basés sur un modèle de langage qui exploite un moteur de recherche internet comme source d’ informations. Le modèle de langage pilote la recherche : il définit les mots-clés, et exploite ensuite le résultat de la recherche pour construire sa propre réponse envers l’ utilisateur.

Ceci permet de combiner les avantages des modèles de langage (capacité de fournir une réponse articulée et cohérente) avec ceux des moteurs de recherche (accès direct et à jour de l’ ensemble des données publiquemeent disponibles sur internet).

Perplexity est un outil extrêmement convivial et efficace à utiliser.

J’ ai remplacé Google Search par Perplexity pour les recherches standard effectuées par mon navigateur. Cela demande un peu d’ adaptation vu nos habitudes bien ancrées, mais je ne regrette pas l’ effort…

1. Demandes navigationnelles et informationnelles

Démarrons par une observation importante : nous avons recours à des moteurs de recherche pour deux types de demandes bien distinctes : les demandes navigationnelles et les demandes informationnelles.

Les demandes navigationnelles correspondent à la recherche d’ un site. Vous ne tapez pas l’ URL en entier mais seulement un partie de celui-ci et éventuellement quelques mots-clés pour arriver sur le site désiré. Pour ce type de recherche, Perplexity fonctionne mais n’ apporte pas réellement de valeur ajoutée par rapport à un moteur de recherche classique, à part éventuellement une présentation plus dépouillée et moins chargée en publicités.

Les demandes informationnelles sont celles où vous recherchez une information ou une explication, à résoudre un problème ou comprendre un concept. Vous ne savez pas exactement où chercher mais vous avez une question. C’ est dans ce type de recherches que Perplexity brille par son efficacité, bien supérieure aux engins traditionnels qui vont vous envoyer vers différentes pages dans lesquelles vous devrez chercher vous-même l’ information. Perplexity va automatiser cette étape et directement fournir une réponse qui tente de répondre à votre besoin. Qui plus est, vous pouvez ensuite engager un dialogue avec Perplexity et demander des éclaircissements supplémentaires.

Il y a lieu de bien distinguer les deux types de recherche. Il m’ arrive encore de recourir à Google Search pour des demandes navigationnelles mais Perplexity est indiscutablement très supérieur pour les recherches informationnelles (et ce sont les plus intéressantes).

2. Interfaces de base et options de recherche

Voyons maintenant comment fonctionne Perplexity. L’ interface offre assez bien de possibilités intéressantes que nous allons passer en revue.

Figure 1 : Interface utilisateur de Perplexity

Outre l’ invite traditionnelle (Ask Anything), le champ Focus permet de préciser le type de recherche; les options possibles sont :

  • Web : le choix par défaut, la réponse est enrichie par les recherches du modèle sur Internet comme décrit plus haut;
  • Academic : le modèle concentrera ses recherches sur des documents académiques publiés;
  • Math : le modèle essaiera de trouver une réponse mathématique et/ou numérique;
  • Writing : plus proche de chatGPT, ce choix n’effectue pas de recherches internet mais se concentre sur la qualité de rédaction;
  • Video : oriente la recherche vers des vidéos répondant à la recherche;
  • Social : oriente la recherche vers les réseaux sociaux, vers des discussions et des opinions liées au sujet.
Figure 2 : Types de recherches possibles

Indépendamment du choix précédent, le bouton Attach permet d’ ajouter des fichiers que vous possédez et qui pourront supporter Perplexity dans sa recherche.

3. Recherches rapides et recherches pro

Il est également possible de choisir entre une recherche « Rapide » et une recherche « Pro » au moyen du commutateur se trouvant à droite de l’ invite.

La différence principale est que la recherche « Pro » ajoute une phase de raisonnement structurées par le modèle; les étapes intermédiaires du raisonnement dont présentées à l’ utilisateur ainsi que les recherches correspondant à chaque étape. Enfin, la dernière étape consiste en une synthèse des informations collectées.

Figure 3 : Bandeau de raisonnement structuré d’ une recherche « Pro »

Les recherches « Pro » sont limitées à un petit nombre par jour (actuellement 3) pour les utilisateurs gratuits de Perplexity ; elles sont pratiquement illimitées pour les utilisateurs payants.

En pratique je trouve les recherches « rapides » satisfaisantes la grande majorité du temps. De plus il vous est toujours possible de poser à nouveau la question en mode « pro » si la réponse rapide ne vous satisfait pas, comme nous allons le voir.

4. Exploitation des résultats

La présentation des résultats d’ une recherche est elle aussi intéressante. Je la trouve d’ une grande sobriété comparé par exemple à une recherche Google.

Voici la structure typique d’ une réponse donnée par Perplexity :

Figure 4 : Structure d’ une réponse typique

Le texte de la réponse se trouve en-dessous des sources et reprend des références numérotées aux différentes sources à différents endroits de la réponse. Vous pouvez voir l’ ensemble des sources en cliquant sur le bloc à droite des sources intitulé Show All.

Figure 5 : Liste des sources

Outre la lecture de la réponse, il est possible d’ entreprendre des actions supplémentaires. Tout d’ abord, les boutons dans la partie droite de l’ écran permettent de rechercher des images (Search Images ) ou des vidéos (Search Videos) en rapport avec la discussion. Les utilisateurs de l’ abonnement payant pourront aussi demander la génération d’ une image (Generate Image).

La partie inférieure de l’ écran permet de continuer le dialogue, par exemple en posant une nouvelle question ou en demandant un éclaircissement. La partie Related propose un série de questions complémentaires ayant trait au sujet, vous pouvez en choisir une ou rédiger une question à la main.

Figure 6 : Actions supplémentaires

Rewrite permet de demander au modèle une réécriture de la réponse, par exemple en passant d’une recherche rapide à une recherche « pro »; Share permet ensuite de partager un lien vers la recherche complète.

C’ est d’ ailleurs un autre avantage majeur de Perplexity : tous les dialogues de recherche précédents sont stockés dans la Library et vous pouvez à tout moment les relire voire continuer le dialogue. Ces dialogues peuvent également être partagés avec d’ autres utilisateurs en leur envoyant le lien correspondant, mais ces derniers ne peuvent pas les modifier: il s’ agit d’ un accès en lecture seule.

5. Autres fonctionnalités : Discover & Spaces

Pour terminer ce tour d’ horizon de Perplexity en étant complet, il faut encore citer les fonctionnalité Discover et Spaces.

Spaces permet de créer un espace partagé de collaboration dans lequel un ou plusieurs utilisateurs que vous invitez pourront dialoguer avec le modèle sur un sujet donné. Chaque dialogue entre un utilisateur et le modèle donnera lieu à un thread spécifique mais ces derniers seront accessibles en lecture par les autres utilisateurs. En fin de compte c’ est assez proche de la fonction de recherche sauf que vous pouvez regrouper plusieurs dialogues de plusieurs utilisateurs au sein d’ un même espace collaboratif.

Les Spaces que vous créez sont configurables en chargeant un ou plusieurs fichiers de référence et en introduisant une instruction qui va décrire le rôle de l’ espace et sa finalité.

Figure 7 : Les espaces collaboratifs de Perplexity

Il n’y a pas grand’ chose à dire sur Discover si ce n’est que ce sont des recherches conversationnelles publiques que Perplexity estime susceptibles de vous intéresser.

6. Pour conclure

Après quelques semaines d’ utilisation intensive de Perplexity, je suis un utilisateur convaincu; c’ est ce qui m’ a poussé à écrire cet article.

Le grand avantage se situe au niveau des recherches informationnelles pour lesquelles la combinaison modèle de langage et engin de recherche fait des merveilles. La possibilité de poser des questions supplémentaires en particulier permet de clarifier énormément de choses par la suite.

J’ aime aussi beaucoup la sobriété de l’ interface ainsi que la possibilité de revoir les dialogues passés et de les partager.

Il y a cependant un risque: celui de l’ affaibissement de l’ esprit critique. Si la réponse est convaincante il est tentant avec ce genre de modèle de ne pas vérifier les sources, ce qui veut dire devenir dépendant d’ une source unique d’ information avec tous les risques et biais que cela peut entraîner. C’ est peut-être l’ avantage un peu paradoxal des recherches « à l’ ancienne » : elles vous obligeaient à consulter plusieurs sites et à mettre en balance les différentes informations à l’ aune de la crédibilité des sources…

Un prix Nobel bien mérité pour AlphaFold 2

Le prix Nobel de chimie 2024 a été attribué à Demis Hassabis, PDG de Google Deepmind, conjointement avec le Dr. John Jumper également de Deepmind et le Professeur David Baker de l’Université de Washington.

Cette distinction a été attribuée pour leurs travaux sur le programme AlphaFold 2 développé par Google Deepmind, qui constitue une véritable révolution dans le domaine des sciences du vivant. Il s’ agit probablement de l’ application la plus prometteuse de l’ Intelligence Artificielle à ce jour. Le modèle, qui permet de prédire la structure tridimensionnelle des protéines à partir de leur séquence d’ acides aminés a résolu un problème de biochimie vieux de plus de cinquante ans. Le prix Nobel ne récompense pas seulement des années de recherches, mais démontre aussi comment l’ apprentissage machine et l’ IA influencent profondément notre compréhension des mécanismes du vivant.

Ce qui rend Alphafold aussi intéressant est sa capacité à faire des prédictions structurales précises de pratiquement n’ importe quelle protéine, une information exploitable par des milliers de chercheurs à travers le monde pour développer de nouveaux médicaments ou mieux comprendre des menaces sanitaires comme la résistance aux antibiotiques. De plus, l’ outil AlphaFold est librement accessible.

Les retombées potentielles d’ Alphafold sont certes nombreuses, mais comme il s’ agit d’ une application très spécifique, il faut se plonger dans le monde de la biologie moléculaire pour bien la comprendre…

Cet article s’ inscrit dans la continuité de mon article précédent intitulé « Les Machines Gracieuses » accessible ici. L’ essai de Dario Amodei, qui est docteur en neurosciences, imagine les transformations de notre société à moyen terme (5-10 ans) en se concentrant largement sur les progrès à attendre de l’ IA dans ses spécialités: la biologie et les neurosciences.

Présenter Alphafold est aussi une opportunité de sortir de l’ omniprésence médiatique des modèles de langage. L’ accessibilité et la popularité de l’ IA générative auprès du grand public a quelque peu éclipsé les progrès parallèles de l’ IA dite « prédictive » ces derniers temps. AlphaFold est une excellente occasion de rappeler que l’ IA prédictive, bien que plus spécialisée, recèle un potentiel énorme lui aussi.

1. Quelques mots de biochimie

Les protéines sont des molécules complexes qui sont responsables de la quasi-totalité des processus biologiques. Elles sont constituées de chaînes d’ acides aminés qui s’ emboîtent dans un ordre bien précis.

Ces chaînes pouvant être assez longues, le nombre de protéines théoriquement possibles est astronomique. Mais le mécanisme d’ assemblage n’ est pas aléatoire, loin de là : l’ être humain est constitué d’ environ 20.000 types de protéines, produites de manière calibrée en fonction de la cellule et de l’ organe.

L’ information décrivant la séquence de chaque protéine constituant nos protéines se trouve enregistrée dans notre ADN, sur lequel on retrouve environ 20.000 gènes, correspondant à nos 20.000 protéines, chaque gène encodant une protéine.

L’ ADN se compose d’ une longue suite de quatre bases différentes (dénommées en abrégé A,C, T et G). Un bloc de trois bases consécutives constitue un « codon », par exemple TTA, ATG etc… Chaque codon encode un acide aminé de la séquence formant la protéine. Un gène est donc une suite de bases ADN consécutives formant des codons qui seront ensuite traduits en une chaîne d’ acides aminés qui se replieront enfin pour former une protéine.

Petite complication, l’ ADN est d’ abord transcrit en ARN messager avant d’ être traduit en acides aminés, et la base T(hymine) est transformé en U(racile) au passsage. Par exemple, le codon TTA dans l’ ADN va devenir UUA dans l’ ARN messager qui encodera ensuite l’ acide aminé Leu(cine) dans le ribosome. La figure 2 montre comment passer du codon de l’ ARN messager à l’ acide aminé, en allant du centre vers l’ extérieur.

Figure 1 : De l’ ADN à la protéine, crédit : Nagwa
Figure 2: Table de traduction des codons de l’ ARN messager aux acides aminés, Credit : Mouagip

Il est fascinant de réaliser que ce mécanisme de transcription/traduction est identique -à quelques variations mineures près- pour l’ ensemble du vivant, depuis la bactérie jusqu’à l’ humain. La principale (la seule ?) distinction entre deux espèces provient de la différence entre les protéines produites et leur rôle.

Que ce mécanisme soit uniforme est un signe de l’ origine commune de l’ ensemble du vivant : si l’ on remonte suffisamment loin dans le temps, on aboutit à l’ organisme appelé LUCA, le dernier ancêtre commun universel à l’ ensemble de tous les êtres vivants actuels. Il est très probable que LUCA possédait déjà le mécanisme décrit ci-dessus expliquant son universalité. A noter que LUCA n’est en rien le premier organisme vivant, il résulte lui-même d’ un long processus évolutif sur la terre primitive. Mais tous les descendants des prédécesseurs de LUCA hormis ce dernier ont disparu…

Figure 3 : LUCA notre ancêtre commun (Last Universal Common Ancestor)

Les acides aminés étant les mêmes pour tous les organismes, l’ algorithme de prédiction de structure des protéines d’ Alphafold2 peut s’ appliquer à l’ ensemble du règne animal et végétal. Et l’ on retrouve d’ ailleurs d’ importantes similitudes entre les protéines à travers les espèces. Au plus les espèces sont proches au sens de la taxonomie, au plus les protéines sont semblables. Et l’ analyse des différences entre protéines jouant un rôle similaire à travers les espèces est une des sources d’ information utilisées par AlphaFold2 pour prédire la structure des protéines.

2. Le problème du repliement des protéines

Fort bien, nous savons maintenant comment sont stockées dans l’ ADN les séquences d’ acide aminé constituant les protéines. La découverte de ce code remonte au début des années 1960 et fait suite à la découverte de la structure en double hélice de l’ ADN en 1953.

Mais les chercheurs ont rapidement dû faire face à un autre problème : le rôle d’une protéine dépend de sa forme dans l’ espace. En effet, une fois créée dans le ribosome – la machine cellulaire qui transforme l’ ARN messager en séquence d’ acides aminés – la protéine va se replier selon un mécanisme extrêmment complexe faisant intervenir non seulement les attractions et/ou répulsions des atomes entre eux, mais aussi le rôle du milieu aqueux dans lequel plonge la chaîne d’ acide aminés, dont certaines parties sont hydrophiles et d’ autres hydrophobes. La protéine ne deviendra fonctionnelle qu’une fois son repliage achevé. Complication finale, certaines protéines s’ assemblent ensuite entre elles pour former des structures plus complexes appelées multimères. La figure 4 donne une idée des étapes du processus :

Figure 4 : Les étapes conceptuelles du pliage des protéines

Le problème du pliage des protéines est donc de savoir quelle forme géométrique finale adaptera une séquence donnée d’ acides aminés. Cela fait environ cinquante ans (depuis le début des années 1970) que les biochimistes butaient sur ce problème. Ce problème est tellement important qu ‘il a été appelé « la seconde moitié du code génétique » car sans cette information de structure, le rôle des protéines n’ est pas compréhensible.

En l’ absence d’une solution au problème du pliage des protéines, la seule alternative constituait à déterminer expérimentalement la forme de chaque protéine, une par une, par des techniques de cristallographie d’ abord et plus récemment de microscopie électronique. Mais cela restait un effort majeur, demandant plusieurs années de travail à un ou plusieurs chercheurs pour une seule protéine.

Au cours des cinquante dernières années, les laboratoires ont réussi à déterminer la structure d’ environ 220.000 protéines, qui sont regroupées dans la base de données mondiales des protéines PDB (Protein Databank) dont l’ instance européenne est accessible ici. Ce volume de données expérimentales laborieusement collecté au cours des dernières décennies a permis d’ entraîner AlphaFold.

3. Présentation d’ Alphafold

Alphafold utilise des techniques d’ intelligence artificielle pour prédire directement la structure finale (« pliée ») de la protéine à partir de la chaîne d’ acide aminés fournie en entrée. En d’ autres termes, AlphaFold2 ne s’ intéresse pas ni ne cherche à résoudre le processus de pliage sur lequel butaient les chercheurs. Il va au contraire, selon une approche typique du Machine Learning , chercher à prédire directement la forme finale de la protéine sur base de corrélation avec les structures connues qui lui sont présentées lors de l’entraînement du modèle, d’ où l’ importance de la base de données des 220.000 protéines existantes sans lequel rien n’ aurait été possible.

Une clarification : j’ ai parlé jusqu’ ici d’ Alphafold 2, publié en 2020, parce que c’ est ce modèle qui a reçu le prix Nobel 2024 mais Google Deepmind a publié en 2023 un nouveau modèle appelé AlphaFold3 qui est encore plus puissant et c’ est celui dont je vais vous présenter succinctement l’ architecture.

Lorsque l’ on présente une séquence d’ acides aminés à AlphaFold3, ce dernier va fonctionner en trois étapes. Il va tout d’ abord effectuer des recherches préparatoires pour localiser dans plusieurs bases de données la forme des protéines connues les plus proches ainsi que les séquences d’ acide aminés semblables dans d’ autres espèces. Ces données sont synthétisées sans deux ensembles distincts : la représentation par paire, qui décrit les positions et interactions relatives entre deux acides aminés de la chaîne, et la représentation d’ alignement multi-séquences (MSA) qui reprend un ensemble de séquences d’ acides aminés similaire à ce qui est recherché. Ces deux structures sont alors envoyées au second module.

Figure 5 : Architecture générale d’ Alphafold 3 (crédit : Eleana Simon & Jake Silberg)

Le second module contitue le coeur du système. Il s’ articule autour d’ un mécanisme d’ attention appelé « Pairformer » semblable à ce qui existe dans les modèles de langage. Ce mécanisme va enrichir l’ information en combinant les données contextuellement proches. Les deux structures (MSA et représentation par paires) sont retravaillées au cours de 48 étapes successives pour être finalement présentées à l’ entrée du module final.

Le module final va utiliser un algorithme de diffusion semblable aux générateurs d’ images pour itérer vers la structure géométrique finale sur base des informations fournies par le pairformer, la différence étant qu’ au lieu de générer des pixels que base d’ un texte, le modèle va générer une liste de positions tridimensionnelles pour chaque atome de la molécule sur base de la preprésentation par paires et de la MSA. Ce qui précède n’ est qu’ un très bref survol du mécanisme, si cela vous intéresse une description beaucoup plus détaillée mais restant accessible est disponible ici.

4. Potentiel pharmaceutique et thérapeutique

Répétons-le : le potentiel thérapeutique d’ Alphafold est très important. Google Deepmind ne s’y est pas trompé puisqu’il a lancé une spin-off appelée Isomorphic Labs qui travaille avec le secteur pharmaceutique pour développer de nouveaux médicaments.

La grande nouveauté d’ AlphaFold3 par rapport à Alphafold 2, c’ est qu’ il permet non seulement de prédire la structure des protéines, mais également leurs interactions avec d’ autres molécules comme l’ ADN ou de plus petites molécules appelées ligands. Or de nombreux médicaments ne sont rien d’ autre que des ligands qui vont modifier l’ action de certaines protéines en se liant avec elles. La possibilité de modéliser de telles interactions in silico devrait donc permettre d’ accélérer l’ identification de nouveaux médicaments potentiels.

Même logique pour les vaccins : pour créer un vaccin, il faut connaître la structure en 3D de l’ agent pathogène pour identifier les régions susceptibles d’ être reconnues par les anticorps de l’ organisme ce qui déclenchera le mécanisme de réponse immunitaire. Vacciner signifie introduire dans l’ organisme des molécules inoffensives présentant les mêmes structures moléculaires afin d’ apprendre au système immunitaire à les reconnaître à l’ avance. Or, avec Alphafold, il suffit de connaître la séquence génétique du virus (son code ADN) pour connaître sa forme tridimensionnelle, ce qui est nettement plus facile à déterminer.

Autre domaine d’ application: les maladies génétiques et les cancers. Il s’ agit cette fois de déterminer l’ impact d’ une variation dans la séquence d’ acides aminés sur la structure de la protéine et son fonctionnement. Cette protéine modifiée peut soit être héritée (maladie génétique) soit résulter de mutations (cancer) soit les deux. Il s’ agit d’ un domaine encore largement inexploré car la lourdeur des techniques traditionnelles rendait impossible l’ analyse du nombre énorme de variants possibles.

L’ idée est ici de prédire la dangerosité d’ un variant dont on connaît la séquence ADN (qui peut aisément être obtenue par séquencage). Pour ce faire, Google Deepmind développe un autre programme appelé AlphaMissense, une adaptation d’ Alphafold visant à catégoriser le risque introduit par un variant.

5. Le problème inverse : le design de protéines

Un point mérite d’ être soulevé ici : si Alphafold a largement résolu le problème « direct » de la prédiction de la structure des protéines à partir d’ une séquence d’ acides aminés, le problème inverse n’ est pas moins important. Le design de protéines consiste à partir d’ une structure spatiale désirée et à chercher la séquence d’ acides aminés correspondante afin de pouvoir la faire fabriquer en série par les cellules.

Résoudre le problème direct nous aide à comprendre le fonctionnement du vivant, mais résoudre le problème inverse ouvrirait une boîte de Pandore : la construction de virus pathogènes voire de cellules artificielles entrerait dans le champ du possible.

Le problème inverse n’ est pas résolu mais il existe une voie de contournement: utiliser un modèle direct comme Alphafold pour générer un très grand nombre de structures, les stocker, puis utiliser un système de recherche pour localiser la structure la plus proche de ce que l’ on cherche et en fournir la séquence.

C’est ce qu’a fait Google Deepmind en publiant les structures de 200 millions de protéines générées par Alphafold. En effet, si la prédiction de structure était difficile avant Aphafold, le problème du séquençage génétique est résolu depuis longtemps. Le nombre de séquences ADN connues est donc bien plus important que celui des structures de protéines. Google Deepmind a simplement utilisé son algorithme sur l’ensemble des séquences qui n’avaient pas encore été modélisées en 3D (soit 99.9% du total)….le résultat est accessible ici.

6. Risques

Alphafold 3 est accessible au public ici. Vous pouvez demander à visualiser la structure d’ une protéine après avoir fourni la séquence d’ acides aminés au format FASTA, et éventuellement ajouter d’ autres éléments en interaction : ADN, ARN, ligands…

Voici un exemple dans lequel j’ ai essayé de voir l’ interaction entre deux protéines, un segment d’ ARN et deux ions Zinc. Les couleurs correspondent au niveau de confiance du modèle comme indiqué sur la légende en haut de l’ image.

Figure 6 : Exemple d’ utilisation d’ Alphafold 3

Le modèle n’ est cependant pas open-source. Vous devez passer par les serveurs de Google Deepmind. Il y a une bonne raison à cela en plus de l’ impératif commercial : les virus sont eux aussi des assemblages de protéines. C’ est pourquoi le modèle bloque la prédiction structurales de certaines séquences suspectes.

Il existe cependant déjà un programme concurrent à Alphafold, appelé RoseTTAFold, qui est librement téléchargeable sur Github ici. Ses performance sont cependant inférieures à Alphafold.

Tant que ces modèles restent limités à la prédiction directe, le danger reste limité. Mais si le problème inverse venait à être résolu, le risque augmenterait considérablement…

7. Sources et références