Apprentissage profond : traitement du langage appliqué aux protéines

Lexique

1. L'apprentissage profond appliqué aux grands modèles de langage

a. Présentation générale
b. Puissance de calculs nécessaire et coûts de l'entraînement des LLM
c. Nombre croissant des modèles d'apprentissage automatique appliqués à la biologie

2. Le modèle Transformer

a. Les couches de l'encodeur et du décodeur
b. Fonctionnement du modèle Transformer
c. Les couches d'attention du modèle Transformer : matrices et vecteurs Q, K et V
d. Séquence d'entrée de l'encodeur, séquence cible du décodeur et sortie du modèle

3. Plongement ou incorporation ou intégration ("embedding")

a. Définition
 
b. Les modèle de plongement lexicaux CBOW et "skip-gram"
c. Illustration du plongement ou représentation

4. Les modèles de traitement du langage protéique ou pLM

a. Introduction
b. Caractéristiques de quelques pLM
c. Jeux d'entraînement des pLM
d. Exemples d'application des pLM en biologie
e. pLM et Python

5. Génération de protéines artificielles

a. Exemples de programmes de génération de protéines artificielles
b. Génération de protéines artificielles et évolution

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

Dans ce cours, une phrase ou une séquence ont le sens "phrase d'un texte littéraire ou séquence de mots" ou le sens "séquences d'acides aminés".

Les n-grammes Un n-gramme ("n-gram") est une sous-séquence de n éléments adjacents dans un ordre particulier de la phrase ou de la séquence entrée.

Elle peut, par exemple, être une sous-séquence de n acides aminés consécutifs d'une séquence protéique.
Exemples de 3-grammes (trigramme) de la séquence "YFDKCWHL" : "YFD", "FDK", "DKC", "KCW"....

Segmentation des séquences en acides aminés Pour une valeur n donnée, le nombre total de n-grammes possibles est 20n puisqu'il y a 20 acides aminés.

Pour n = 1 (appelé unigramme), un résidu d'acide aminé est donc traité comme un mot et une séquence protéique comme une phrase.

Le découpage des phrases en jetons (ou "tokenization") Les jetons ("tokens") ou unités de reconnaissance ("units of recognition") correspondent à des quantités variables de la phrase ou de la séquence en entrée.

La phrase ou séquence en entrée est "découpée en jetons" : (i) caractère par caractère (exemple : le code à 1 lettre des acides aminés); (ii) par morceaux de mots; (iii) mot par mot.

Exemples de découpage en jetons de différents types de données :

intelligence artificielle token jeton apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej
Source : Zhang et al. (2024)

Exemple d'algorithme de "tokenization" L'un des premiers algorithmes, BPE ("Byte Pair Encoding" - codage des paires d'octets) identifie les paires de caractères adjacents les plus fréquentes dans une séquence et les remplace toutes par un caractère absent de la séquence entrée.

Le processus est répété jusqu'à ce qu'aucune compression supplémentaire ne soit possible (soit il n'y a plus de paires de caractères fréquentes, soit il n'y a plus de caractères non utilisés pour représenter ces paires).

  • Exemple de séquence entrée : EY EY L EY L N
  • Compression de la paire EY avec un caractère X non utilisé : X XL XL N
  • Compression de la paire XL avec un caractère Z non utilisé : XZZD
BPE est utilisé pour le pré-entraînement de nombreux modèles de type Transformer (exemples : GPT2 et BART).
Encodage "one-hot" En traitement du langage naturel :
  • Un vecteur "one-hot" est une matrice de (1 × N) vecteurs utilisée pour distinguer chaque mot d'un vocabulaire de tous les autres mots de ce vocabulaire.
  • Le vecteur est constitué de 0 dans toutes les cases, à l'exception d'un seul 1 dans une case unique pour identifier le mot considéré.
  • Un groupe de bits "one-hot" est un groupe au sein duquel les combinaisons de valeurs ne possèdent qu'un bit à 1 et tous les autres à 0.
Exemples du codage des chiffres : 0 (décimal) = 00000001 ("one-hot"); 1 (décimal) = 00000010; 2 (décimal) = 00000100; ... ; 7 (décimal) = 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 donc l'inconvénient d'une dimensionnalité très élevée si le corpus est étendu.
Encodeur - décodeur Un autoencodeur est un réseau de neurones pour l'apprentissage automatique non supervisé.
Un autoencodeur est composé d'un encodeur qui encode une phrase d'entrée et d'un décodeur qui reconstruit cette phrase à partir du code.
  • Le modèle reconstruit les entrées en prédisant une valeur cible V' la plus proche de la valeur de l'entrée V.
  • Une fonction de coût essaye de minimiser la distance entre V et V'.
  • L'erreur est rétropropagée de la dernière à la première couche afin d'ajuster les poids de chaque neurone : ceux qui contribuent le plus à l'erreur sont davantage modifiés.
  • Cette démarche permet d'entraîner le réseau de neurones du modèle d'apprentissage.
Les modèles [encodeurs-décodeurs] ne sont pas tous des auto-encodeurs.
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.

Principaux types de codage positionnel

Le codage de position absolue est très utilisé en raison de sa simplicité et de son efficacité de calcul.
  • Cependant, dans le cas d'une séquence polypeptidique, ce type de codage nécessite d'encoder chaque position d'acide aminé, ce qui limite la capacité d'un modèle de traitement du langage protéique (pLM) à gérer des séquences protéiques de longueurs variables et sa capacité d'extrapolation.
  • Le codage de position absolue appris conduit souvent à de meilleures performances en aval d'un pLM (exemple : ESM-1b).
Le codage de position relative est insensible à la longueur totale de la séquence, ce qui le rend plus adapté à la gestion de séquences de longueurs arbitraires et à la capture d'informations de structure.
Les représentations distribuées de mots En traitement du langage naturel, elles désignent une manière de représenter des mots ou des phrases sous forme de vecteurs continus dans un espace vectoriel de grande dimension.
Elles aident les algorithmes d'apprentissage en regroupant les mots similaires.
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é.
Technique "word2vec" Développée en 2013 par des chercheurs de Google : elle utilise des réseaux de neurones superficiels pour associer des mots uniques à des représentations distribuées de mots.
"Skip-gram Word2Vec" C'est une architecture qui permet de calculer des représentations de mots ("word embeddings").
Au lieu d'utiliser les mots environnants pour prédire le mot central, "Skip-gram" utilise le mot central pour prédire les mots environnants.
Sémantique "Etude du sens des unités linguistiques et de leurs combinaisons" (déf. Larousse).
Les termes similaires sur le plan sémantique sont plus susceptibles d'avoir des plongements ("word embeddings") proches.
pLM Les modèles de traitement du langage protéique ("protein Language Models").

biochimej Retour haut de page

1. L'apprentissage profond et les grands modèles de langage ("Large Language Models" - LLM)

a. Présentation générale

Les LLM sont des modèles d'apprentissage automatique conçus pour des tâches de traitement du langage naturel.

  • Ce sont des modèles de langage avec de nombreux paramètres, entraînés par apprentissage auto-supervisé sur des corpus de données textuelles extrêmement volumineux.
  • Ils en apprennent ainsi le vocabulaire, la structure grammaticale et les contextes des mots au sein des phrases.
Ils sont utilisés pour une grande variété de tâches : la reconnaissance vocale, la traduction automatique, la génération de texte proche du langage de l'être humain, la reconnaissance optique de caractères et de l'écriture manuscrite, ...

  • Il existe nombreux types de LLM (architectures, tâches effectuées, jeux d'entraînement, "open source" ou propriétaires, ...).
  • Voir une liste des principaux LLM, de leurs caractéristiques et des entreprises qui les développent.

Un très grand nombre de LLM repose sur une architecture particulière : les transformeurs en remplacement des modèles récurrents basés sur les réseaux neuronaux ("Recurrent Neural Networks" - RNN).

intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model LLM apprentissage autosupervise transformeur transformer encoder decoder BERT GPT biochimej

Source : Transformer models: an introduction and catalog

Classement de certains LLM selon leurs types de tâches
Architecture Exemples Caractéristiques principales

Les modèles d'auto-encodage

Encodeur seul

BERT ("Bidirectional Encoder Representations from Transformers" (Google 2018), XLNet, ELECTRA.
  • Ils saisissent le contexte des mots d'une phrase en prédisant les mots masqués.
  • Performants dans la compréhension approfondie du contexte et de la sémantique.

Les modèles autorégressifs

Décodeur seul

La famille des modèles GPT (GPT-3.5 à GPT5 - "Generative Pretrained Transformer", OpenAI).
  • Modèle unidirectionnel qui prédit le jeton ("mot") suivant d'une séquence en fonction de tous les jetons qui précèdent (prédiction de gauche à droite) en conservant l'ordre d'origine des jetons.
  • Ces modèles sont performants dans la génération de texte.
  • Ces modèles sont performants dans la génération de texte.

Les modèles séquence à séquence (Seq2Seq)

Encodeur-décodeur

T5 ("Text-To-Text Transfer Transformer"), BART.
  • Conçus pour les tâches où l'entrée et la sortie sont des séquences.
  • Génération de séquences de sortie à partir de séquences d'entrée masquées.
  • Ces modèles sont performants dans la transformation d'un type de texte en un autre (traduction de langues, conversion de longs textes en résumés).

biochimej Retour haut de page

b. Puissance de calculs nécessaire à l'entraînement des LLM et coûts de l'entraînement des LLM

Un LLM est entraîné sur un système composé de milliers de processeurs graphiques ("Graphics Processing Unit" - GPU) capable de traiter de nombreuses tâches en parallèle.

La puissance de calcul pour entraîner un LLM se mesure en pétaFOPS (1 pFLOPS = 1015 FLOPS).

FLOPS ("Floating-Point Operations Per Second") : nombre d'opérations en virgule flottante par seconde.

Entraînement de "Transformer" (Google - 2017) : ≈ 104 pFLOPs.

Entraînement de Gemini Ultra (Deepmind - 2023) : ≈ 1011 pFLOPs.

Le nombre de paramètres des modèles (figure ci-dessous), leurs coûts d'entraînement (figure ci-contre) et la débauche énergétique qu'ils génèrent s'emballent.

Voir un calculateur de prix d'utilisation de différents LLM.

intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model LLM apprentissage autosupervise transformeur transformer BERT GPT biochimej

Source : Ran Ding - 1 To (T : Téra) = 1012 octets

Le modèle WuDao 2 (2021 - 1,75 1012 paramètres), outre sa capacité à générer du texte, prédit la structure 3D de protéines à partir des séquences en acides aminés comme AlphaFold.

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model LLM apprentissage autosupervise transformeur transformer GPT biochimej

Source : Voronoi

biochimej Retour haut de page

c. Nombre croissant des modèles d'apprentissage automatique appliqués à la biologie

On assiste à une augmentation spectaculaire des publications de ces modèles ayant pour but de décrypter des processus biologiques (généraux ou spécifiques).

En voici quelques exemples :

Transcription et régulation de processus ARN-dépendants Annotation de la structure topologique (données issues de la technique d'analyse du génome Hi-C) pour capturer la conformation de la chromatine.
Prédiction (et amélioration de l'interprétabilité de cette prédiction) des sites de liaison des facteurs de transcription.
Modélisation de l'élongation de la transcription.
Prédiction des événements d'épissage alternatif sans données de référence.
Prédiction de la localisation multicompartimentale des ARN et de la localisation subcellulaire des ARNm.
Identification des sites de liaison [ARN circulaire - protéine de liaison à l'ARN] ou [lncRNA - protéine de liaison à l'ARN].
Prédiction des interactions [miRNA - lncRNA] de végétaux.
Découverte de régions pré-miRNA dans les génomes de végétaux.
Système CRISPR/Cas9 Prédiction de l'activité cible de l'ARN guide unique.
Utilisation des informations de séquence pour prédire l'activité hors cible de CRISPR-Cas9.
Prédiction de la spécificité hors cible et de l'aptitude cellulaire du système CRISPR-Cas.
Prédiction de l'efficacité et de la spécificité du clivage de l'ARN guide unique.
Protéines et ligands Identification de la localisation sub-mitochondriale des protéines mitochondriales.
Détection des séquences signal dans les peptides d'adressage.
Prédiction de l'effet des variants sur les protéines multidomaines.
Prédiction des résidus d'acides aminés impliqués dans la fixation de diverses classes de ligands.
Structure des protéines Prédiction du repliement des protéines, de la topologie des protéines transmembranaires α-hélicoïdales, du nombre de sous-unités dans les complexes protéiques homo-oligomériques, de la structure quaternaire des protéines, ...
Single-cell Analyse de données RNAseq unicellulaires.
Déduction de réseaux de régulation des gènes à partir de données transcriptomiques unicellulaires.
Identification du type cellulaire à partir de données RNAseq unicellulaires.
Maladies et cancers Prédiction de la corrélation [lncRNA - maladie], de la corrélation [miRNA - maladie].
Méthode d'intégration multi-omique pour la classification des données biomédicales.
Prédiction des interactions médicamenteuses.
Prédiction des régulateurs de la méthylation de l'ADN dans le cerveau humain et analyse de la génétique des troubles psychiatriques.
Réponses médicamenteuses dans certains cancers.
Prédiction de la sensibilité aux anticancéreux.
Prédiction et classification des sous-types de cancer du sein.
Géographie Utilisation des terres et classification de l'occupation des sols.
Transfert intercontinental d'un modèle de cartographie du riz.
Source : Choi & Lee (2023).

biochimej Retour haut de page

2. Le modèle Transformer

En 2017, le modèle Transformer (Google) a permis d'obtenir des avancées remarquables.

Transformer est un modèle d'apprentissage automatique pour le traitement du langage naturel qui traite les séquences d'entrée en parallèle.

Ses caractéristiques essentielles sont :

a. Le mécanisme d'auto-attention ("self-attention" - voir le lexique) :

  • Cela lui confère donc la capacité de capturer différentes relations sémantiques selon différents poids d'attention ("various attention weights" - voir le lexique).
  • Appliqué aux séquences d'acides aminés, ce mécanisme permet au modèle d'ajuster dynamiquement l'importance des informations provenant de différentes positions des acides aminés lors du traitement de chaque position de la séquence d'entrée, permettant ainsi au modèle de mieux capturer les dépendances globales.

b. Le codage positionnel :

  • Le transformeur génère des vecteurs de plongement de mots à 512 dimensions (512 éléments) : le vecteur de codage positionnel comporte donc également 512 éléments. Ces 2 vecteurs sont additionnés élément par élément.
  • Voir un site très explicatif des formules du calcul avec un programme Python pour visualiser le codage positionnel.

c. La capacité à gérer les dépendances à longue portée des données en permettant à tous les éléments de la séquence d'entrée d'interagir simultanément.

  • Cette propriété est particulièrement intéressante pour capturer les dépendances entre tous les résidus d'acides aminés au sein des séquences et, mieux encore, au sein des structures des protéines.

biochimej Retour haut de page

a. Les couches de l'encodeur et du décodeur

La pile de 6 encodeurs identiques ("Encoder Block x N") de Transformer extrait les intégrations (plongements) de la séquence d'entrée.

La pile de 6 décodeurs identiques ("Decoder Block x N") inclue les 2 sous-couches de chaque couche de l'encodeur.

fonction protein codage one-hot semantic semantique embedding integration plongement token jeton intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Source : Zhang et al. (2024)

Chaque encodeur est constituée de 2 sous-couches (figure ci-dessus) :
  • Un mécanisme d'auto-attention multi-têtes ("Multi-Head Attention").
  • Un réseau simple entièrement connecté à propagation avant ("Feed-Forward Neural Network").

La sortie de chaque sous-couche est LayerNorm[x + Sublayer(x)]Sublayer(x)Sublayer(x) est la fonction implémentée par la sous-couche elle-même.

Toutes les sous-couches du modèle et les couches d'intégration génèrent des sorties de dimension 512.
Ces décodeurs utilisent la représentation en sortie de l'encodeur pour reconstruire la séquence cible étape par étape.

Cependant, il contient une sous-couche d'attention multi-têtes masquée ("Masked Multi-Head Self-Attention") afin d'empêcher chaque position de se concentrer sur la position suivante.

Ce processus de masquage, combiné au décalage de 1 position des plongements de sortie ("Output"), garantit que la prédiction du modèle pour la position i ne dépend que des sorties connues aux positions qui précédent i.

biochimej Retour haut de page

b. Fonctionnement du modèle Transformer

L'encodeur et le décodeur contiennent chacun 1 couche d'intégration (plongement) ("Input Embedding" et "Output Embedding") et 1 couche d'encodage positionnel ("Positional Encoding") (en bas de la figure ci-dessous).

  • La séquence d'entrée ("Input Embedding") et la séquence cible ("Output Embedding") sont transmises à la couche d'intégration et à la couche de codage positionnel de l'encodeur et du décodeur, respectivement.
  • Ces 2 couches génèrent une représentation codée de chaque mot de ces séquences (symbole croix dans un rond).
  • Cette représentation capture le sens et la position de chaque mot.
Pile d'encodeurs Structure du modèle Transformer Pile de décodeurs

Chaque encodeur (figure ci-contre, à gauche) contient :

  • 1 couche d'attention multi-têtes ("Multi-Head Attention") : cette couche est composée de 3 matrices de poids (Q, K et V).
  • 1 couche de propagation avant ("Feed-forward").
  • La sortie de l'encodeur est la représentation la plus compressée (qui a la plus petite dimension) de la séquence d'entrée.

fonction protein attention self-attention layer couche vecteur matrice codage one-hot semantic semantique embedding integration plongement token jeton intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Source : Choi & Lee (2023)

Chaque décodeur (à droite) contient :

  • Une sous-couche d'attention multi-têtes masquée ("Masked Multi-Head Attention") qui contourne la sortie de la pile d'encodeurs afin d'empêcher chaque position de se concentrer sur la position suivante.
  • 1 couche de rétropropagation ("back-propagation")

La sortie ("Output " - en haut à droite) contient :

  • 1 couche linéaire
  • 1 couche Softmax

La pile de décodeurs traite donc en parallèle :

  • La représentation encodée issue de la pile d'encodeurs (à gauche, figure ci-dessus).
  • La représentation encodée de la séquence cible (à droite).
  • Ce mécanisme permet de générer une représentation encodée de la séquence cible que la couche de sortie convertit en séquence de sortie ("Output").

Le but est que le modèle apprenne à générer avec exactitude la séquence cible décodée ("Output Embedding" & "Output") en utilisant la séquence d'entrée [encodée-décodée] ("Input Embedding") et la séquence cible ("Output Embedding") décalée.

Une fonction de perte ("Loss function") compare la séquence cible à la séquence de sortie issue de l'apprentissage.

biochimej Retour haut de page

c. Les couches d'attention du modèle Transformer : matrices et vecteurs Q, K et V

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).

Les matrices Q, K et V permettent au modèle de se concentrer sur certains aspects de la séquence d'entrée afin d'en discerner les informations essentielles pour son encodage.

La matrice Q de requête La matrice K de clé La matrice V de valeur

Elle représente l'information traitée du mot courant.

Elle facilite le processus de notation et permet d'évaluer la pertinence des autres mots par rapport au mot courant.

Elle représente l'information traitée de tous les mots de la phrase, y compris le mot courant.

Elle permet de calculer un score qui représente la relation entre les différents mots de la phrase.

Elle représente l'information brute de tous les mots de la phrase, y compris le mot courant.

Une fois les scores calculés entre les différents mots de la phrase, ces scores pondèrent la matrice de valeurs qui fournit une représentation agrégée des mots dans leur contexte.

Au début de l'apprentissage, ces matrices de pondération sont initialisées avec des valeurs aléatoires.

biochimej Retour haut de page

Le vecteur d'intégration (représentation) de chaque mot de la phrase d'entrée est multiplié par chacune de ces 3 matrices apprises afin de générer 3 vecteurs.

Le vecteur Q de requête Le vecteur K de clé

Le mécanisme d'auto-attention calcule un score d'attention d'une paire de vecteurs [requête-clé].

Ce score est le produit scalaire de Q et K.

Le vecteur V de valeur
C'est le mot courant dont le modèle calcule la représentation (intégration - "embedding"). Ce sont les éléments auxquels est comparée la requête pour déterminer les pondérations.
  • Les scores sont multipliés par la matrice V.
  • Le vecteur de valeur est donc l'élément pondéré par le score d'attention.
On peut faire une analogie entre le concept [requête/clé/valeur] et un moteur de recherche : celui-ci compare la requête effectuée à un ensemble de clés associées aux résultats "potentiels" de sa base de données, puis renvoie les valeurs (les résultats) les plus pertinentes.

Le modèle génère ainsi un encodage du contexte de chaque mot de la séquence analysée : le contexte est l'ensemble des mots, le mot considéré inclu.

En d'autres termes, chaque mot d'une séquence "communique" avec tous les autres mots, y compris lui-même.

biochimej Retour haut de page

Cet encodage contextuel constitue l'entrée de la couche suivante du modèle.

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 séquence d'entrée ("Input Embedding" - figure ci-contre) est transmise aux 3 matrices de poids d'entrée de la couche d'auto-attention du 1er encodeur.

Cette couche génère une nouvelle représentation codée de chaque mot de la séquence d'entrée en y intégrant le score d'attention associé à chaque mot.

Le traitement par plusieurs couches d'auto-attention permet d'ajouter de multiples scores d'attention à la représentation de chaque mot.

Cette représentation améliorée est transmise aux vecteurs requête et clé qui sont traités par la couche d'attention du 1er décodeur ("Encoder-Decoder Attention").

fonction protein attention self-attention layer couche vecteur matrice codage one-hot semantic semantique embedding integration plongement token jeton intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Source : "Transformers Explained Visually"

La représentation contextuelle codée de chaque mot de la séquence cible ("Output Embedding") est transmise aux 3 matrices de poids de la couche d'auto-attention du 1er décodeur ("Self-Attention").

Cette couche 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 ("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 :fonction protein attention self-attention layer couche vecteur matrice softmax query key value requete cle valeur intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

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.

biochimej Retour haut de page

d. Séquence d'entrée ("Input") de l'encodeur, séquence cible ("Target") du décodeur et sortie ("Output")

  • La séquence cible soumise au décodeur correspond à la séquence d'entrée soumise à l'encodeur décalée de 1 position vers la droite en insérant un jeton (SOS) en 1ère position.
  • Un jeton (EOS) est également inséré en dernière position pour signaler au modèle la fin de la séquence.

Le but de ce décalage des deux séquences est que le modèle n'ait pas accès immédiatement à la "réponse correcte" et qu'il apprenne en s'entraînant pour la prédire correctement.

En effet, le système transmet en même temps [la sortie de l'encodeur et la phrase cible décalée] au décodeur qui génère la sortie.

fonction protein attention self-attention layer couche vecteur matrice codage one-hot semantic semantique embedding integration plongement token jeton intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

biochimej Retour haut de page

Illustration : optimisation de molécules chimiques

But de l'étude : étant donnés une molécule de départ ("Source molecule" dans la figure ci-dessous) et des changements de propriétés souhaités, les modèles Seq2Seq et Transformer doivent générer une molécule ("Target molecule") avec des propriétés souhaitées et de structure similaire à la molécule de départ.

fonction protein attention self-attention layer couche vecteur matrice codage one-hot semantic semantique embedding integration plongement token jeton intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Source : He et al. (2021)
Exemple de séquences d'entrée et cible soumises à l'entraînement des 2 modèles testés.

La séquence d'entrée ("Source molecule") correspond aux informations textuelles concaténées :

  • Des propriétés physicochimiques de la molécule.
  • De sa structure traduite dans le langage de description des molécules SMILES (Simplified Molecular Input Line Entry System).
  • Les changement de propriétés entre la molécule source et la molécule cible.

La séquence cible ("Target molecule") correspond à la représentation SMILES de la molécule cible aux propriétés souhaitées.

Voir le code Python de ce programme d'optimisation de molécules chimiques.

biochimej Retour haut de page

3. Plongement ou incorporation ou intégration ou représentation ("embedding")

a. Définition

Le terme "sentence or word embedding" est traduit en français, selon les sources, par "plongement lexical ou sémantique", "incorporation de phrase ou de mot", "intégration de phrase ou de mot".

En traitement du langage naturel, c'est une méthode d'apprentissage qui encode les informations sémantiques (voir le lexique) significatives d'un mot sous la forme d'un vecteur de nombres réels (avec une table de correspondance, "lookup table") dans un espace vectoriel pouvant compter des milliers de dimensions.

Les plongements de mots modélisent la probabilité d'un mot wi, compte-tenu de son contexte wci, selon une distribution conditionnelle p(wi|wci), où le contexte est l'ensemble des mots wj autour de wi dans une fenêtre de taille ci.

Si la distribution conditionnelle suit la loi de Bernoulli, la probabilité s'écrit :

fonction protein attention self-attention layer couche vecteur matrice softmax query key value requete cle valeur intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Chaque mot est codé par un vecteur de plongementwi) et un vecteur de contextewj), tous deux de dimension k et σ est la fonction logistique.

biochimej Retour haut de page

b. Les modèle de plongement lexicaux CBOW et "skip-gram"

  • L'architecture CBOW ("Continuous Bag Of Words") prédit le mot courant w(t) en fonction des 2 mots précédents [w(t-2) et w(t-1)] et des 2 mots suivants [w(t+1) et w(t+2)].
  • L'architecture "Skip-gram" prédit les 2 mots précédents et les 2 mots suivants à partir du mot courant (figure ci-contre).

Source : Mikolov et al. (2013)

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

biochimej Retour haut de page

Principe de "skip-gram"

  • Un ensemble de mots d'un vocabulaire de taille V est projeté dans un espace vectoriel dont les vecteurs, qui représentent ces mots, ont une taille N petite.
  • La méthode emploie des réseaux de neurones pour construire les vecteurs et les modèles sont entraînés avec des corpus lexicaux extrêmement volumineux. Le but est de prédire un mot à partir de son contexte ou inversement.
  • Le réseau de neurones a une couche d'entrée X et une couche de sortie Y (vecteurs binaires de dimension V) avec une couche cachée à N dimensions intercalée.
  • L'entraînement de ce réseau génère une matrice W de taille (V × N) : à la fin de l'étape d'apprentissage, la matrice W contient les plongements ou incorporations de tous les mots du vocabulaire d'entrée.

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

Source : "Plongement lexical" (Wikipédia)

biochimej Retour haut de page

c. Illustration du plongement ou représentation

Le plongement encode les informations sémantiques (voir le lexique) significatives d'une phrase ou d'un mot sous la forme d'un vecteur de nombres réels (avec une table de correspondance, "lookup table") dans un espace vectoriel pouvant compter des milliers de dimensions.

  • Considérons les intégrations (plongements) à 3 dimensions des mots similaires "apple" = [1,40, 0,02, -0,36] et "orange" = [1,52, 0,16, -0,11]. Les deux intégrations ont une valeur positive en 1ère position.
  • Considérons les intégrations des mots similaires "apple" = [2,24, -0,03, -2,18] et "microsoft" = [-0,62, -0,38, -1,53]. Les deux ont une valeur négative en 3è position.

Par ailleurs, la manipulation (opérations arithmétiques, calculs matriciel, ...) de ces vecteurs permet de mieux évaluer la proximité des mots encodés.

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

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".

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

Source : "Word Embedding Demo : Tutorial"

biochimej Retour haut de page

Exemple de représentation des acides aminés

a. L'encodeur traduit chaque acide aminé en un vecteur d'intégration ou plongement (ci-dessous à gauche).

b. Pour générer le vecteur qui décrit la séquence entière, le modèle calcule la moyenne des valeurs des vecteurs d'intégration des acides aminés de cette séquence (ci-dessous à droite).

fonction protein amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer plongement embedding integration encodage vecteur biochimej

Figures adaptées de : "How to represent a protein sequence"

fonction protein amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer plongement embedding integration encodage vecteur biochimej

Figure ci-contre : les vecteurs générés par le transformeur UniRep ("Unified Representation" - Alley et al., 2019) capturent les propriétés biochimiques des acides aminés dans des séquences provenant de différents organismes.

Voir un développement.

 

Source : "How to represent a protein sequence" (L. Bai)

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

biochimej Retour haut de page

4. 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.

a. Introduction

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.

fonction protein amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Source : Wang et al. (2025)

  • Les modèles de traitement du langage protéique ou pLM sont construits par pré-apprentissage sur la base d'un très vaste corpus de séquences protéiques (généralement des centaines de millions, voire davantage) non étiquetées (c'est-à-dire, sans indication ("tag") particulière).
  • Les pLM sont affinés pour un type d'analyse particulier avec des données (généralement moins nombreuses) étiquetées (par exemple, une liste de séquences d'anticorps indiquant les cibles spécifiques auxquelles ils se lient).
  • Les premiers modèles (Word2Vec, GloVe, ...) apprenaient l'intégration (plongement) des mots de manière "statique" : chaque mot était représenté d'une manière indépendendante du contexte de la phrase dans lequel il était employé.
  • Les pLM apprennent la sémantique des acides aminés (les "mots") selon leur contexte dans la séquence (la "phrase").

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer biochimej

Le modèle BioVec (Asgari & Mofrad, 2015)

  • ProtVec et GeneVec ont été les premiers modèles à appliquer des méthodes de représentation de mots à des séquences de protéines et d'acides nucléiques, respectivement, sous forme de vecteurs (représentation sous forme de "n-gram" (voir la figure 1 - Asgari & Mofrad, 2015).
  • ProtVec traite les triplets d'acides aminés comme des mots, puis applique le modèle "skip-gram" de word2vec (voir le lexique) à l'ensemble de données Swiss-Prot, générant ainsi des représentations des protéines à 100 dimensions.

biochimej Retour haut de page

b. Caractéristiques de quelques pLM

Voir le tableau 5 de 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).
  • Aller au serveur "PredictProtein" (Elnaggar et al., 2022).
  • Aller au serveur pLM-BLAST (Kaminski et al., 2023).
  • Voir le modèle ProT-VAE ("Protein Transformer Variational AutoEncoder").
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.

biochimej Retour haut de page

Illustration de ProteinBERT - pLM inspiré de l'architecture de BERT

  • Ce pLM est pré-entraîné sur environ 106 millions de protéines issues de UniRef90.
  • Il est testé sur 9 ensembles de séquences représentant les principales caractéristiques des protéines (structure, modifications post-traductionnelles et peptide signal, propriétés biophysiques (fluorescence et stabilité)).

Les séquences protéiques ont été codées sous forme de séquences de jetons entiers avec 26 jetons uniques représentant :

  • Les 20 acides aminés standards
  • La sélénocystéine (U), un acide aminé indéfini (X) et un autre acide aminé ("OTHER")
  • 3 jetons supplémentaires ("START", "END" et "PAD").

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

Source : Wang et al. (2025)

Pour chaque séquence protéique, les jetons"START" et "END" sont 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.

biochimej Retour haut de page

c. Jeux d'entraînement des pLM
SwissProtCLAP Jeu de données qui comprend 441.000 paires [texte - séquence protéique]. Il est construit à partir des données de la base de données SwissProt.
ProteinDT cadre de conception de protéines guidé par le texte, entraîné avec SwissProtCLAP.
ProtDescribe Jeu de données qui comprend 553.052 paires [séquences protéiques alignées - descriptions de leurs propriétés] (construit à partir des données de la base de données SwissProt).
UniProtQA Jeu de données dérivé d'UniProt pour l'entraînement du pLM "OpenBioMed". Il comprend des protéines et des requêtes textuelles qui englobent 4 propriétés de ces protéines (caractéristiques fonctionnelles, nomenclature officielle, familles de protéines, localisation subcellulaire).
InstructProtein Jeu de données pour l'entraînement du pLM "OntoProtein" pour la génération bidirectionnelle entre le langage humain et le langage protéique.
ProteinKG25 Jeu de données de graphes de connaissances ("Knowledge Graph" - KG) à grande échelle. ProteinKG25 contient ≈ 5 millions de corrélations [protéines - termes GO] et [termes GO - termes GO] et 31 relations.
ProteinLMBench 1er jeu de référence pour l'évaluation des capacités de compréhension des pLM, notamment 944 questions à choix multiples soigneusement sélectionnées couvrant un large éventail de tâches liées aux protéines (voir l'article).

biochimej Retour haut de page

d. 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 Génération de nouvelles protéines artificielles.
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).

biochimej Retour haut de page

e. pLM et Python

Un très grand nombre de pLM sont écrits en Python, utilisant :

  • Des bibliothèques de gestion des données (Pandas, NumPy, ...).
  • Des bibliothèques logicielles spécifiques pour l'apprentissage profond (Pytorch, TensorFlow, Keras, ...).

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
protgpt2 = pipeline('text-generation', model="nferruz/ProtGPT2")
# longueur exprimée en jetons ("token"), où chaque jeton a une longueur moyenne de 4 acides aminés.
sequences = protgpt2("<|endoftext|>", max_length=100, do_sample=True, top_k=950, repetition_penalty=1.2, num_return_sequences=10, eos_token_id=0)
for seq in sequences:
print(seq):
{'texte généré': 'MINDLLDISRIISGKMTLDRAEVNLTAIARQVVEEQRQAIEYIREWKTTKGG'}
{'texte généré': 'MQGDSSISSSNRMFTLCKPLTVANETSTLSTTSPTP'}
{'texte généré': 'MSTHVSLENTLASLQATFFSLEARHTALESTQS'}
{'texte généré': 'MVLLSTGPLPILFLGPSLAELNQKYQVVSDTLLRFTNTV\TFNTLKFLGSDS'}

Retour haut de page

Exemple de capture de la structure quaternaire des protéines par un pLM

Un vecteur de plongement a été généré pour chaque protéine d'un jeu de protéines (constituées de 1 à 60 sous-unités) avec la moyenne des vecteurs de plongement des résidus d'acides aminés de chaque séquence protéique.

Le pLM "QUEEN" capture les structures quaternaires comme l'indiquent :

  • Le regroupement des protéines de chaque groupe (monomères, dimères, ... - code couleur à droite de la figure ci-contre).
  • La séparation nette de ces groupes.

Extrait du code Python du modèle QUEEN

import esm #ESM : Evolutionary Scale Modeling
from transformers import EsmTokenizer, EsmForSequenceClassification
tokenizer = EsmTokenizer.from_pretrained("facebook/esm2_t6_8M_UR50D")
model = EsmForSequenceClassification.from_pretrained("facebook/esm2_t6_8M_UR50D")
model,alphabet = esm.pretrained.esm2_t33_650M_UR50D() #Modèle esm2_t33_650M_UR50D

Voir également le modèle "DeepSub".

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer GPT biochimej

Source : Avraham et al. (2023)

biochimej Retour haut de page

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

ProGen

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 :

  • Elles ont des activités catalytiques similaires aux lysozymes naturels malgré un taux d'identité de seulement 31%.
  • Elles adoptent le même repliement et conservent la même position des résidus d'acides aminés du site actif des protéines naturelles.

ProtGPT2

  • ProtGPT2 (Ferruz et al., 2022) est un modèle "Transformer" uniquement décodeur, basé sur l'architecture "GPT2 Transformer".
  • Il contient 36 couches avec une dimensionnalité de modèle de 1280, pour un total de 738 millions de paramètres.
  • C'est un pLM non supervisé et pré-entraîné sur la base de données de protéines UniRef50 (séquences brutes sans en-têtes FASTA).

Retour haut de page

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.

  • Aller au site ESM Metagenomic Atlas : atlas ouvert de preque 800 millions de structures protéiques prédites.
  • F. Arnold - Prix Nobel de chimie 2018 "for the directed evolution of enzymes".

Source : EvolutionaryScale

biochimej Retour haut de page

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.

fonction protein amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel pLM Large Language Model transformeur transformer plongement embedding integration encodage vecteur biochimej

Source : EvolutionaryScale

Retour haut de page

6. La prédiction de la structure 3D des protéines

Les algorithmes d'apprentissage automatique pour la prédiction de la fonction des protéines incluent généralement 4 étapes :

  • L'extraction de caractéristiques des séquences d'acides aminés (notamment composition, fréquence, position, ordre et propriétés physico-chimiques, existence de domaines structuraux).
  • La sélection de caractéristiques correspond à la réduction du "bruit" et de la redondance des caractéristiques extraites précédemment afin d'augmenter l'efficacité de l'étape suivante d'entraînement du modèle et, en conséquence, la précision de la prédiction de ce modèle.
  • L'étape d'entraînement du modèle est basée sur l'ensemble des caractéristiques précédemment sélectionnées. Elle utilise des algorithmes d'apprentissage automatique spécifiques (exemples : algorithme génétique, méthode "K-Nearest Neighbor" (KNN), méthode "Support Vector Machine" (SVM)) pour construire le modèle de classification.
  • La prédiction de classification introduit les caractéristiques de la séquence à tester dans le modèle lors de la phase de formation. Elle utilise le modèle pour déterminer si la séquence à tester appartient à la même classe qu'une séquence protéique avec une fonction spécifique.

biochimej Retour haut de page

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") :

  • (i) Génération d'alignements de séquences multiples ("Multiple Sequence Alignment" - MSA).
  • (ii) Prédiction de cartes de contacts ("contact maps"), de distogrammes ou de distances à valeur réelle.
  • (iii) Assemblage de [structures/fragments].
  • (iv) Assurance qualité & affinement des structures prédites ("refinement").

fonction protein structure function amino acid primary sequence acice amine intelligence artificielle apprentissage profond automatique deep learning traitement langage naturel alphafold rosetta transformeur transformer GPT biochimej

Source : Pakhrin et al. (2022)

biochimej Retour haut de page

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.

  • AlphaFold prédit la structure de plus de 98% des protéines du protéome humain avec une très haute précision.
  • AlphaFold DB (DeepMind - Uniprot) contient plus de 200 millions de structures de protéines issues de centaines de milliers d'espèces.

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

"BERT détaillé"

Code du Transformer - "Notebook Pytorch" (transformer.ipynb)

 

pLM de UNIPROT

ProtNLM

Transformers

Voir la liste

Aller au site

Notebook

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"

Word2vec

Protvec

package

library

Application en ligne

Exercices en ligne

BioNeMo (NVIDIA)

Fonctions d'activation

Application en ligne "Tokenizers - BPE" (Python)

BioNeMo

Applet Java

Tokenizers

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

Article

Article

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

Article

Article

Article du modèle"Transformer" : Vaswani et al. (2017) "Attention Is All You Need" arXiv:1706.03762
Extrait de l'article : "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."

"Transformer's Encoder-Decoder" : site très explicatif des notions liées au "Transformer" et à l'apprentissage (beaucoup de scripts Python)

Article

 

KiKaBeN

Krstovski & Blei (2018) "Equation Embeddings arXiv:1803.09123

ElAbd et al. (2020) "Amino acid encoding for deep learning applications" BMC Bioinformatics 21, 235

Raffel et al. (2020) "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer" J. Mach. Learn. Res 21, 1 - 67

Article

Article

Article

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

He et al. (2021) "Molecular optimization by capturing chemist's intuition using deep neural networks" J. Cheminform. 13, 26

Article

Article

Article

Article

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

Article

Article

Article

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

Article

Article

Article

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

Pokharel et al. (2023) "Integrating Embeddings from Multiple Protein Language Models to Improve Protein O-GlcNAc Site Prediction" Int. J. Mol. Sci. 24, 16000

Article

Article

Article

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

Avraham et al. (2023) "Protein language models can capture protein quaternary state" BMC Bioinformatics 24, 433

Choi & Lee (2023) "Transformer Architecture and Attention Mechanisms in Genome Data Analysis: A Comprehensive Review" Biology (Basel) 12, 1033

Article

Article

Article

Article

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

Article

Article

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

Article

Article

Retour haut de page