Apprentissage profond : traitement du langage appliqué aux protéines |
Lexique 1. L'apprentissage profond appliqué aux grands modèles de langage 2. Le modèle Transformer a. Structure du modèle Transformer 3. Les modèles de traitement du langage protéique ou pLM
|
d. Jeux d'entraînement des pLM 4. Plongement ou incorporation ou intégration ("embedding") 5. Génération de protéines artificielles a. Exemples de programmes de génération de protéines artificielles 6. La prédiction de la structure 3D des protéines 7. Liens Internet et références bibliographiques |
Voir un développement de l'intelligence artificielle appliquée à la biologie. |
Lexique | ||
Les représentations distribuées de mots |
|
|
"Skip-gram Word2Vec" |
|
|
"n-gram" |
Dans l'analyse des séqunces de protéines, c'est un "mot protéique" composé de n acides aminés (exemples : 3-grams à 6-grams) => voir la figure 1 de l'article Asgari & Mofrad (2015). |
|
Segmentation des séquences en acides aminés | Si on définit un "mot protéique" comme un n-gramme, le nombre total de n-grammes possibles est de 20n puisqu'il y a 20 acides aminés. Pour n = 1, un résidu d'acide aminé est donc traité comme un mot et une séquence protéique comme une phrase. |
|
pLM | Les modèles de traitement du langage protéique ("protein Language Models"). | |
Sémantique | "Etude du sens des unités linguistiques et de leurs combinaisons" (déf. Larousse). |
|
Technique dite d'attention | Processus qui permet aux modèles de traitement du langage naturel de pondérer les données d'entrée pour accorder plus d'importance aux données les plus pertinentes tout en ignorant d'autres. |
|
Encodeur - décodeur | Un autoencodeur est un réseau de neurones pour l'apprentissage non supervisé, c'est-à-dire l'apprentissage automatique de données non étiquetées. Un autoencodeur est composé d'un encodeur qui associe le message à un code et d'un décodeur qui reconstruit le message à partir du code. |
|
Principaux types de codage positionnel |
|
|
Jetons ("token") |
Source : Zhang et al. (2024) |
|
Notion de contexte |
Un vecteur d'intégration ("plongement") contextualisé pour un jeton ("token") inclue son contexte environnant : en conséquence, 2 jetons identiques n'ont pas forcément le même vecteur d'intégration contextualisé. | |
Encodage "one-hot" |
En traitement du langage naturel :
0 (décimal) = 00000001 ("one-hot"); 1 = 00000010; 2 = 00000100; ... ; 7 = 10000000 |
|
Inconvénient de l'encodage "one-hot" |
Soit un corpus de 1000 mots : l'encodage "one-hot" de chaque mot génère un vecteur de dimension 1000 (uniquement des 0 sauf à la position unique correspondant au mot, où la valeur = 1). Cet encodage présente l'inconvénient d'une dimensionnalité très élevée si le corpus est étendu. |
1. L'apprentissage profond et les grands modèles de langage ("Large Language Models" - LLM) En 2013, des chercheurs de Google ont développé la technique "word2vec" qui utilise des réseaux de neurones superficiels pour associer des mots uniques à des représentations distribuées de mots (voir le lexique ci-dessous). Exemples de modèles parmi les plus performants (et connus) dans le domaine du traitement du langage naturel :
|
Classement des modèles par architecture selon leurs types de tâches |
|
Encodeur seul (bidirectionnel) | Prédiction des jetons masqués à partir de tous les autres jetons, généralement utilisé pour les tâches de compréhension/classification du langage (exemples : BERT, XLNet, ELECTRA). |
Décodeur seul | Modèles unidirectionnel (de gauche à droite ou inversement) : prédiction du jeton suivant à partir des jetons précédents, généralement utilisé pour les tâches de génération de langage (exemple : GPT). |
Encodeur-décodeur | Modèles "séquence à séquence" : génération de séquences de sortie à partir de séquences d'entrée masquées, utilisable à la fois pour les tâches de compréhension et de génération du langage (exemples : T5, BART). |
Source : Ran Ding - 1 To (T : Téra) = 1012 octets |
En 2017, le modèle Transformer (Google) a permis d'obtenir des résultats révolutionnaires dans le traitement des séquences protéiques.
Transformer se compose :
Source : Zhang et al. (2024) |
a. Structure du modèle Transformer L'encodeur et le décodeur contiennent chacun 1 couche d'intégration (plongement) ("Embedding layer") et 1 couche de codage positionnel ("Position Encoding layer") (en bas de la figure ci-dessous).
|
||
Encodeur | Modèle "Transformer" | Décodeur |
La pile d'encodeurs (figure ci-contre, à gauche) contient plusieurs encodeurs dont chacun contient :
|
![]() Source : "Transformers Explained Visually" |
La pile de décodeurs (à droite) contient plusieurs décodeurs dont chacun contient :
La sortie ("output " - en haut à droite) contient :
|
b. Les couches d'attention du modèle Transformer Chaque couche d'attention est caractérisée par 3 matrices de poids apprises par le transformeur : poids de la requête ("Query" - Q), poids de la clé ("Key" - K) et poids de la valeur ("Value" - V) (figure ci-dessous). Le vecteur d'intégration (représentation) de chaque mot de la phrase d'entrée est multiplié par chacune de ces 3 matrices afin de générer 3 vecteurs (de requête, de clé et de valeur, respectivement). |
||
Couche d'auto-attention de l'encodeur ("Encoder Self-Attention layer") | Modèle "Transformer" | Couche d'auto-attention du décodeur ("Decoder Self-Attention") |
La représentation codée de chaque mot de la phrase d'entrée ("input sequence" - figure ci-contre) est transmise aux 3 matrices de poids d'entrée de la couche d'auto-attention du 1er encodeur, qui génère une nouvelle représentation codée de chaque mot de la phrase d'entrée en y intégrant les scores d'attention de chaque mot. Le traitement par plusieurs couches d'auto-attention permet d'ajouter de multiples scores d'attention à la représentation de chaque mot. |
![]() Source : "Transformers Explained Visually" |
La représentation codée de chaque mot de la phrase cible ("target sequence") est transmise aux 3 matrices de poids de la couche d'auto-attention du 1er décodeur, qui génère une nouvelle représentation codée de chaque mot de la phrase cible en y intégrant les scores d'attention de chaque mot. Après avoir traversé la couche de normalisation ("Norm Out"), cette représentation améliorée est transmise au vecteur "requête" de la couche d'attention encodeur-décodeur ("Encoder-Decoder Attention") du 1er décodeur. |
La normalisation a pour but de modifier les données afin que leur moyenne = 0 et leur écart-type = 1 pour obtenir une distribution standard des données. Voir la fonction "Normalize()" du module "transforms" de la bibliothèque PyTorch. Formule du calcul d'attention : |
||
Les modèles de transformeurs (et les modèles d'apprentissage profond de manière générale), sont des objets complexes du point de vue mathématique et informatique. Voir par exemple : "The Transformer Model in Equations : precise mathematical definition of the transformer model" Thickstun J. |
3. Les modèles de traitement du langage protéique ("protein Language Models") ou pLM Les premiers modèles de traitement du langage ont permis de développer l'emploi des réseaux neuronaux pour la représentation des caractéristiques des protéines : ils ont ouvert la voie aux modèles de traitement du langage protéique ou pLM. Les séquences d'acides aminés sont considérées comme les phrases d'un langage du vivant. De manière analogue à l'analyse sémantique et syntaxique du langage naturel, certains pLM interprètent les séquences protéiques comme du texte brut et utilisent des techniques d'inférence autorégressive avec des mécanismes d'auto-attention (voir le lexique). Ces mécanismes, qui analysent notamment le "contexte à plus ou moins longue portée" de chaque acide aminé dans des millions de séquences protéiques ("amino acid level long-short-range interactions"), révèlent des interdépendances "cachées" entre acides aminés qui sont relatives aux relations [séquence-structure] et [structure-fonction] des protéines. Source : Wang et al. (2025)
Le modèle BioVec (Asgari & Mofrad, 2015)
|
b. Les pLM basés sur des transformeurs Les pLM (modèles de traitement du langage protéique) utilisent donc de plus en plus des modèles de type Transformer, BERT ou GPT fortement paramétrés comme architecture de base. Voir un tableau récapitulatif. Source : Wang et al. (2025) |
c. Caractéristiques de quelques pLM Voir le tableau 5 Zhang et al. (2024). |
|
Encodeur seul | ESM-2nv ("Evolutionary Scale Modeling") comporte 36 couches, 40 têtes d'attention ("attention heads"), un espace caché de dimension 2560 et contient 3 millards de paramètres. |
Décodeur seul | ProtGPT2 |
Encodeur - décodeur | ProstT5 ("Protein structure-sequence T5") traduit la séquence d'une protéine en sa structure (Heinzinger et al., 2024). |
|
|
Le modèle ProT-VAE ("Protein Transformer Variational AutoEncoder"). Le modèle S-PLM : pour une protéine donnée, ce pLM prédit son ontologie (termes GO), sa classification selon la réaction enzymatique catalysée et son numéro "Enzyme Commission" (EC), ses structures secondaires et son repliement 3D. |
Illustration de ProtGPT2
Dans les modèles autorégressifs, la probabilité d'un acide aminé (wi) dans une séquence dépend uniquement de son contexte, à savoir des acides aminés précédents dans la séquence. La probabilité totale d'une séquence (W) est la combinaison des probabilités individuelles de chaque acide aminé : Exemple d'entraînement du pLM en minimisant la valeur du log(vraisemblance négative) sur l'ensemble des séquences : le modèle doit apprendre les relations entre un acide aminé et tous les précédents de la séquence pour chaque séquence k de l'ensemble de données D : |
Illustration de ProteinBERT (pLM inspiré de l'architecture de BERT)
Les séquences protéiques ont été codées sous forme de séquences de jetons entiers avec 26 jetons uniques représentant :
Source : Wang et al. (2025) Pour chaque séquence protéique, les jetons START et END ont été ajoutés avant et après le dernier acide aminé, respectivement. Les annotations GO associées à chaque séquence ont été codées sous forme de vecteur binaire de taille fixe (8943) : toutes les entrées sont des 0, à l'exception de celles correspondant à l'annotation GO associée à la protéine. |
e. Exemples d'application des pLM en biologie | ||
Génotype - phénotype | Prédiction des conséquences phénotypiques à partir des millions d'effets possibles des variants faux-sens dans le génome humain. | |
Nouveaux médicaments | Modèles de langage chimique à partir des bibliothèques de composés chimiques pour prédire des petites molécules médicaments capables de cibler des protéines impliquées dans des maladies. |
|
Structure des protéines | Prédiction de la fonction et de la structure des protéines. |
|
Nouvelles protéines | ||
Lutte antivirale | Guider l'évolution en laboratoire des variants d'anticorps neutralisant des virus (exemples : Ebola, SARS-CoV-2, ...). | |
Antibiorésistance | ARG-BERT : pLM qui utilise l'architecture de ProteinBERT pour la prédiction des mécanismes de résistance aux antibiotiques ("Antibiotic Resistance Genes" - ARG). |
|
Single-cell | Transformeur scBERT ("single cell BERT") pour annoter avec précision les types de cellules à partir de données "single cell" - scRNAseq. | |
Réseaux de gènes | Prédiction de la dynamique des réseaux de gènes pour la découverte de régulateurs clés de réseaux et de cibles thérapeutiques. | |
Ontologie | GOProFormer : méthode de transformation multimodale pour la prédiction de l'ontologie de la fonction des protéines (annotation). | |
Evolution des protéines |
EVOLVEpro : méthode d'apprentissage permettant d'améliorer in silico l'évolution dirigée des protéines ("directed evolution of proteins") grâce à une combinaison de pLM et de prédicteurs de la fonction des protéines. | |
Anticorps | AntiBERTy : pLM spécifique des anticorps, pré-entraîné avec 558 millions de séquences d'anticorps naturels. | |
Modifications post-traductionnelles | PTG-PLM : pLM pour la prédiction des sites de glycosylation et de glycation. pLMSNOSite et LMSuccSite : pLM pour la prédiction des sites de S-nitrosylation et de succinylation des protéines, respectivement |
|
Voir un développement très détaillé : Zhang et al. (2024). |
Un très grand nombre de pLM sont écrits en Python, utilisant :
Il existe des outils de développement ("Jupyter notebooks" sur un ordinateur personnel, "Google Colab notebooks" sur le "cloud", ...). Exemple de script ProtGPT2 pour la génération de protéines de novo. ProtGPT2 génère des séquences les plus probables suivant l'acide aminé "M" selon l'entrée. from transformers import pipeline |
Le modèle de plongement lexical "skip-gram"
Source : "Plongement lexical" (Wikipédia)
|
Illustration du plongement
Source : "Word Embedding Demo : Tutorial" Le plongement (ou représentation) sous forme de vecteurs permet un très grand nombre de calculs et d'opérations. Par exemple, l'analogie par arithmétique vectorielle (figure ci-dessous) : le mot "man" est à "king" ce que le mot "woman" est à "king – man + woman" = "queen". Source : "Word Embedding Demo : Tutorial" Illustration avec les séquences d'acides aminés
Source : Liam Bai |
Exemple de tâche à accomplir Soit la séquence protéique suivante dont les acides aminés à certaines positions sont masqués : L T [?] A A L Y [?] D C a. L'encodeur traduit une séquence d'acides aminés en un ensemble de vecteurs d'intégration (plongement). Figure adaptée de : "How to represent a protein sequence" (L. Bai) b. Pour générer un vecteur décrivant la séquence entière, on moyenne les valeurs des vecteurs des acides aminés de cette séquence. Figure adaptée de : "How to represent a protein sequence" (L. Bai) c. Chaque séquence protéique connue constitue un exemple d'apprentissage étiqueté (apprentissage auto-supervisé). Si le modèle prédit efficacement un acide aminé masqué, il apprend des informations significatives sur la séquence de la protéine. Figure adaptée de : "How to represent a protein sequence" (L. Bai) |
5. Génération de protéines artificielles Les pLM sont des outils trés performants pour générer artificiellement des protéines fonctionnelles aux propriétés inédites : c'est un moyen puissant de trouver des solutions thérapeutiques et environnementales. a. Exemples de programmes de génération de protéines artificielles pLM entraîné à prédire le prochain acide aminé avec plus de 280 millions de séquences protéiques issues de milliers de familles de protéines PFAM. Des protéines artificielles générées par ce pLM liées à 5 familles distinctes de lysozymes antibactériens ont été ainsi générées et leurs propriétés structurales et enzymatiques analysées :
|
b. Génération de protéines artificielles et évolution La capacité des pLM à générer des protéines artificielles raccourcit de manière spectaculaire l'évolution extrêmement lente des séquences des protéines par pression de sélection naturelle. Le programme de prédiction - génération de structures de protéines de novo ESM3 ("Evolutionary Scale Modeling") est un multi-transformeur qui raisonne conjointement sur la séquence, la structure et la fonction ddes protéines. Ce programme est entraîné avec 3,15 milliards de séquences protéiques et 236 millions de structures, soit 98 milliards de paramètres. |
Source : EvolutionaryScale |
|
Le programme ESM3 a généré une nouvelle protéine fluorescente verte ("Green Fluorescent Protein" - GFP), dénommée esmGFP, qui possède 58 % de similarité avec la plus proche GFP "naturelle" similaire (Hayes et al., 2025). La génération par apprentissage profond de cette structure en quelques heures revient (selon les auteurs) à simuler 500 millions d'années d'évolution. Source : EvolutionaryScale |
a. Démarche générale de prédiction de la structure 3D des protéines Voir un développement sur la comparaison et prédiction des structures par apprentissage profond. Etapes générales de la démarche de prédiction de la structure des protéines sans "modèle" ("template-free protein structure prediction pipeline") :
Source : Pakhrin et al. (2022) |
b. Les programmes Alphafold & Rosetta : prix Nobel de chimie 2024 Conceptuellement, AlphaFold était à l'origine un réseau de neurones pour prédire les distances probables entre les paires d'acides aminés et les angles de chaque liaison peptidique reliant les résidus d'acides aminés. Ces 2 prédictions ont ensuite été intégrées à un score avec le "score2" du logiciel de modélisation Rosetta. AlphaFold utilise la distribution entière des distances 2 à 2 entre résidus d'acides aminés comme une fonction potentielle statistique (spécifique de la protéine) qui est directement minimisée par la descente de gradient pour obtenir le repliement de la protéine. Le programme AlphaFold est au coeur de la base de données (système de prédiction) AlphaFold DB.
Le prix Nobel de Chimie 2024 a été attribué à D. Baker "for computational protein design" (programme Rosetta) et à D. Hassabis & J. Jumper "for protein structure prediction" (programme AlphaFold). |
7. Liens Internet et références bibliographiques | |
pLM et transformeurs pLM de UNIPROT ProtNLM ("Protein Natural Language Model") de UNIPROT Transformers : architecture et code. Listes de transformeurs The Illustrated Transformer "BERT détaillé" |
|
Plongement - intégration - incorporation ("embedding") The Illustrated Word2vec Protvec : Amino Acid Embedding Representation for Machine Learning Features bio_embeddings : python package & pipeline for embedding generation bio-embeddings library 0.2.2 (Python) Application en ligne : "Incorporations de mots à l'aide d'un modèle Keras simple" - TensorFlow (Google) Exercices pratique "embedding" |
|
BioNeMo (NVIDIA) Fonctions d'activation |
Lin et al. (2002) "Amino acid encoding schemes from protein structure alignments: multi-dimensional vectors to describe residue types" J. Theor. Biol. 216, 361 - 365 Mei et al. (2005) "A new set of amino acid descriptors and its application in peptide QSARs" Biopolymers 80, 775 - 786 |
Mikolov et al. (2013) "Efficient Estimation of Word Representations in Vector Space" arXiv:1301.3781 Asgari & Mofrad (2015) "Continuous Distributed Representation of Biological Sequences for Deep Proteomics and Genomics" PLoS One 10, e0141287 |
|
Transformer : "Nous proposons une nouvelle architecture de réseau simple, le Transformer, basée uniquement sur des mécanismes d'attention, se passant entièrement de récurrence et de convolutions." |
|
ElAbd et al. (2020) "Amino acid encoding for deep learning applications" BMC Bioinformatics 21, 235 Colin Raffel et al. (2020) "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer" J. Mach. Learn. Res 21, 1 - 67 |
|
Jumper et al. (2021) "Highly accurate protein structure prediction with AlphaFold" Nature 596, 583 - 589 Rives et al. (2021) "Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences" Proc. Natl. Acad. Sci. USA 118, e2016239118 Dallago et al. (2021) "Learned Embeddings from Deep Learning to Visualize and Predict Protein Sets" Curr. Protocols in Bioinformatics 10.1002/cpz1.113 |
|
Baek et al. (2022) "Accurate prediction of protein structures and interactions using a 3-track neural network" Science 373, 871 - 876 Elnaggar et al. (2022) "ProtTrans: Toward Understanding the Language of Life Through Self-Supervised Learning" IEEE Trans. Pattern Anal. Mach. Intell. 44, 7112 - 7127 Pakhrin et al. (2022) "Deep Learning-Based Advances in Protein Structure Prediction" Int. J. Mol. Sci. 22, 5553 Elnaggar et al. (2022) "ProtTrans: Toward Understanding the Language of Life Through Self-Supervised Learning" IEEE Trans. Pattern Anal. Mach. Intell. 44, 7112 - 7127 Bandyopadhyay et al. (2022) "Interactive Visualizations of Word Embeddings for K-12 Students" EAAI-22 Ferruz et al. (2022) "ProtGPT2 is a deep unsupervised language model for protein design" Nat. Commun. 13, 4348 Brandes et al. (2022) "ProteinBERT: a universal deep-learning model of protein sequence and function" Bioinformatics 38, 2102 - 2110 |
|
Kaminski et al. (2023) "pLM-BLAST: distant homology detection based on direct comparison of sequence representations from protein language models" Bioinformatics 39, btad579 Madani et al. (2023) "Large language models generate functional protein sequences across diverse families" Nat. Biotechnol. 41, 1099 - 1106 Lin et al. (2023) "Evolutionary-scale prediction of atomic level protein structure with a language model" Science 379, 6637 Pokharel et al. (2023) "Integrating Embeddings from Multiple Protein Language Models to Improve Protein O-GlcNAc Site Prediction" Int. J. Mol. Sci. 24, 16000 Lin et al. (2023) "Evolutionary-scale prediction of atomic-level protein structure with a language model" Science 379, 1123 - 1130 Elnaggar et al. (2023) "Ankh : optimized protein language model unlocks general-purpose modelling" bioRxiv doi: 10.1101/2023.01.16.524265 |
|
Heinzinger et al. (2024) "Bilingual language model for protein sequence and structure" NAR Genom. Bioinform. 6, lqae150 Zhang et al. (2024) "Scientific Large Language Models: A Survey on Biological & Chemical Domains" arXiv:2401.14656 |
|
Hayes et al. (2025) "Simulating 500 million years of evolution with a language model" Science 387, 850 - 858 Wang et al. (2025) "A Comprehensive Review of Protein Language Models" arXiv, 2502.06881v1 |