Qu’est-ce qu’un modèle d’espace d’état ?

Qu’est-ce qu’un modèle d’espace d’état (SSM) ?

Les modèles d’espace d’état (State Space Models, ou SSM) sont une famille d’algorithmes de machine learning utilisés pour faire des prédictions sur des systèmes dynamiques en modélisant l’évolution de leur état interne au fil du temps à l’aide d’équations différentielles. Historiquement utilisés en ingénierie des systèmes de contrôle, les SSM constituent une plateforme mathématique extrêmement flexible, adaptable à la plupart des tâches de modélisation de séquences. Mamba, une architecture de réseau neuronal basée sur les SSM, rivalise avec les transformers en termes de performance pour la modélisation du langage.

Les modèles d’espace d’état trouvent leurs origines dans l’ingénierie des systèmes de contrôle, où ils ont joué un rôle déterminant dans les calculs de navigation du programme Apollo dans les années 1960.1 Ils sont également très utilisés en génie électrique, où ils sont fondamentaux pour le traitement du signal, la théorie du contrôle et la robotique. Mais ce qui fait sans doute leur plus grand atout, c’est leur polyvalence, en particulier pour les systèmes à entrées et sorties multiples (MIMO).

Les SSM reposent sur deux équations simples : l’une décrit les dynamiques internes d’un système, qui ne sont pas directement observables ; l’autre décrit la manière dont ces dynamiques internes se traduisent dans les résultats observables. Cette formulation simple et flexible s’adapte particulièrement bien à une grande variété de données de séries temporelles multivariées.

En économie, les SSM permettent de modéliser l’impact des tendances et de la saisonnalité sur les cours boursiers. En neurosciences, ils servent à établir des relations entre des signaux cérébraux mesurables (comme les IRMf) et l’activité neuronale sous-jacente. En écologie, ils servent à modéliser la dynamique des populations, les déplacements d’animaux ou encore les données de capture-recapture.2 On les utilise aussi dans les prévisions météorologiques et d’autres types d’analyses de séries temporelles.

Ces dernières années, la recherche sur les SSM s’est focalisée sur leurs applications en deep learning, en intégrant des réseaux de neurones comme paramètres des équations d’espace d’état. Plus récemment, cela a conduit à l’architecture Mamba pour les grands modèles de langage (LLM), qui a démontré des performances équivalentes à celles des transformers, tout en offrant une meilleure vitesse et efficacité.

Qu’est-ce qu’un espace d’état ?

L’état d’un système à un instant donné est déterminé par les valeurs spécifiques d’un certain nombre de variables du système. L’objectif, dans un bon modèle d’espace d’état, est d’identifier le plus petit sous-ensemble de variables nécessaire pour décrire complètement le système. On appelle ce sous-ensemble de variables de système les variables d’état. L’espace d’état est un espace de dimension n dont les axes (dimensions) sont ces variables d’état, et qui contient toutes les valeurs possibles de ces n variables.

Chaque variable d’état doit être linéairement indépendante : autrement dit, aucune variable ne doit pouvoir s’exprimer comme une combinaison (par addition ou soustraction) d’autres variables d’état.

L’état spécifique du système à un moment donné peut être représenté sous forme de vecteur d’état, où chaque élément du vecteur représente la valeur de la variable d’état correspondante. Le vecteur d’état possède donc le même nombre de dimensions que l’espace d’état. Un vecteur d’état donné peut être vu comme un ensemble de « coordonnées » dans l’espace d’état.

Exemples d’espaces d’état intuitifs

Imaginez une petite voiture se déplaçant sur une piste droite à vitesse constante. On peut modéliser l’espace d’état avec deux variables d’état : la position de la voiture (mesurée comme la distance depuis la ligne de départ) et sa vitesse. L’état du système à un instant t s’écrit donc comme un vecteur d’état à deux dimensions : [positiont, vitesset]. Dans ce système simple, si vous connaissez à un moment donné la position et la vitesse exactes de la voiture, c’est-à-dire son état actuel, vous pouvez prédire où elle sera au moment suivant.

La vitesse, en soi, combine deux variables de système : la rapidité et la direction. Mais comme la voiture avance et recule sur une ligne droite, on peut représenter un mouvement vers l’arrière par une vitesse négative, et vers l’avant par une vitesse positive. Il serait possible (bien que moins efficace) de remplacer la seule variable d’état « vitesse » par les deux variables « rapidité » et « direction ».

Si la petite voiture se déplaçait dans un champ ouvert au lieu d’une piste rectiligne, l’espace d’état deviendrait alors un espace à quatre dimensions : la position et le mouvement nécessiteraient chacun deux dimensions pour être décrits complètement.

En pratique, les « dimensions » d’un espace d’état ne correspondent que rarement aux dimensions physiques familières facilement visualisables. Prenons l’exemple d’un plateau de morpion. On pourrait traiter chacune des neuf cases comme une variable d’état, dont la valeur peut être « 0 » pour vide, « 1 » pour X et « 2 » pour O, dans un espace d’état à neuf dimensions. N’importe quelle configuration de la grille se représenterait alors par un vecteur d’état à neuf dimensions.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Comment fonctionnent les modèles d’espace d’état ?

Les modèles d’espace d’état cherchent à prédire à la fois comment les entrées d’un système se traduisent dans ses sorties, et comment l’état du système lui-même évolue au fil du temps et en réponse à ces entrées.

À chaque instant t, un SSM reçoit une séquence d’entrée x(t) et la mappe à la fois vers l’état courant h(t) et vers la séquence de sortie y(t). L’état h(t) est souvent appelé état latent car, contrairement à la sortie du système, il n’est pas directement observable : il est latent (caché).

La représentation en espace d’état d’un système s’obtient à l’aide de deux équations différentielles du premier ordre :

L’équation d’état, h(t)=A*h(t)+B*x(t) 
L’équation de sortie,
y(t)=C*h(t)+D*x(t)


Les paramètres clés d’un SSM sont A, B, C et D, qui prennent généralement la forme de matrices. Chaque élément de ces matrices représente la relation (exprimée comme dérivée de premier ordre) d’une variable d’état par rapport à une autre variable (entrée externe, autre variable d’état ou elle-même). L’utilisation de matrices fait des SSM un outil puissant et évolutif pour représenter des systèmes complexes à entrées multiples et sorties multiples (MIMO) sous une forme compacte et standardisée.

En théorie du contrôle et dans les disciplines connexes, ces matrices sont souvent définies directement : elles représentent les dynamiques d’un système existant, et le SSM sert alors à trouver les entrées x produisant les sorties y souhaitées ou un état h optimal.Dans les conceptions modernes des SSM, ces matrices sont elles-mêmes des paramètres à optimiser par machine learning pour refléter au mieux les schémas présents dans un jeu de données d’entraînement. Dans les modèles de deep learning, cette paramétrisation est représentée par les poids apprenables d’un réseau de neurones.

L’équation d’espace d’état

L’équation d’espace d’état (ou simplement équation d’état), comme son nom l’indique, décrit l’état du système à travers les matrices A et B. Dans cette notation, h(0) représente l’état initial du système, h(t) est l’état latent à l’instant t, et h’(t) (l’équation différentielle du premier ordre de h(t)) indique l’évolution de l’état à l’instant t.

Diagramme de l’équation d’espace d’état d’un SSM L’équation d’état. Illustration inspirée du guide « A Visual Guide to Mamba and State Space Models » de Maarten Grootendorst

Pour contextualiser ces notions abstraites d’équations différentielles et de matrices, on peut les explorer à travers un exemple simplifié et intuitif d’un système dynamique dans lequel les paramètres A, B, C et D sont déjà connus.

Imaginons un petit écosystème sur une île isolée, abritant une population de poissons et une population de pélicans qui se nourrissent de ces poissons. On peut représenter ce système à l’aide de deux variables d’état : F (le nombre de poissons) et P  (le nombre de pélicans). Notre objectif est de définir une fonction h(t) qui décrit comment l’état h(t), exprimé en tant que vecteur d’état [F(t),P(t)] , change à l’instant t.

La matrice A

La matrice A, également appelée matrice de transition, décrit comment l’écosystème de l’île (représenté par ces deux variables d’état) évolue dans le temps lorsqu’il n’est soumis à aucune influence externe. Plus précisément, elle décrit comment l’état courant h influence l’état futur.

Supposons que la dynamique des populations de poissons et de pélicans soit très simple et constante :

  • Sans influence externe, la population de poissons  F augmente de 50 %.
  • Sans influence externe, la population de pélicans  P diminue de 5 %.
  • Chaque pélican mange quatre poissons sur la même période.
  • Pour chaque tranche de dix poissons supplémentaires, l’écosystème peut accueillir un pélican en plus.

On peut exprimer chacune de ces dynamiques à l’aide d’équations simples, puis les regrouper dans une matrice de taille n × n, où n  = le nombre de variables d’état. Chaque colonne de notre matrice A 2x2 représente une variable d’état, et chaque ligne représente son taux de variation (dérivée du premier ordre) par rapport à chacune des variables d’état. Des annotations en italique ont été ajoutées pour plus de clarté.

 Fish(F)Pelicans(P)ChangestoFish0.5_-4_ChangestoPelicans0.1_-0.05_

Comme les taux de variation des populations sont constants dans ce scénario simplifié, les éléments de notre matrice A sont des constantes simples. Dans les scénarios réels, on a souvent davantage de variables d’état et des relations mathématiques plus complexes entre elles, mais la façon dont ces relations sont représentées dans la grille de la matrice de transition A correspondante reste la même.

En l’absence totale d’influences externes, h’(t) = A*h(t) suffit pour décrire comment l’état de l’écosystème évolue au fil du temps.

h(t)=A*h(t)

h(t)=[0.5-40.1-0.05]*h(t)

h(t)=[0.5-40.1-0.05]*[F(t)P(t)]  

Résoudre cette équation analytiquement implique de calculer les valeurs propres et les vecteurs propres de A, ce qui dépasse le cadre de cet article. Mais, sans intervention, cet écosystème n’est pas durable : les populations de poissons et de pélicans connaissent un cycle de croissance et d’effondrement de plus en plus extrême, qui finit par provoquer un effondrement catastrophique.

La matrice B

Que se passe-t-il si des facteurs externes influencent l’écosystème ? La matrice B, également appelée matrice d’entrée, correspond à l’autre moitié de l’équation d’état : elle décrit comment une entrée donnée affecte chaque variable d’état. Il s’agit d’une matrice de taille n × m, dans laquelle n = nombre de variables d’état et m = nombre de variables d’entrée. L’essence de la théorie du contrôle consiste justement à déterminer les entrées x(t) qui permettent d’atteindre un état ou un résultat souhaitable pour le système dans son ensemble.

Dans notre exemple d’écosystème insulaire, ajoutons une variable d’entrée : un largage de nourriture pour poissons x (en tonnes) à l’instant t. Supposons qu’une tonne larguée entraîne une augmentation supplémentaire de 30 % de la population de poissons, sans effet sur les pélicans.

Comme nous avons deux variables d’état et une variable d’entrée, la matrice B sera une matrice d’entrée 2×1. La première ligne de la matrice B correspond aux poissons (F), comme pour la matrice A.

 ChangetoFChangetoP   [0.30]

On peut maintenant modéliser l’état de l’écosystème de l’île à l’instant t à l’aide de l’équation d’état complète :

h(t)=A*h(t)+B*x(t)

h(t)=[0.5-40.1-0.05]h(t)+[0.30]x(t)

Dans ce cas, l’objectif serait d’identifier les règles optimales (généralement représentées par une autre matrice dont les éléments sont des fonctions des variables d’état) permettant d’ajouter des entrées x(t) lorsque la population de poissons s’effondre, afin de stabiliser l’écosystème.

L’équation de sortie

Comme mentionné plus haut, le but de l’équation d’état est de décrire « l’état caché » h, qui n’est pas directement observable. Les SSM supposent qu’il existe une réflexion partielle directement observable (quoique potentiellement bruitée ou incomplète) de cet état réel, et la modélisent via l’équation de sortie (ou équation d’observation).

Diagramme de l’équation de sortie d’un SSM L’équation de sortie. L’équation d’état. Illustration tirée du « Guide visuel des modèles Mamba et State Space » de Maarten Grootendorst.

C’est aussi le cas dans notre écosystème : en pratique, il est impossible de compter chaque poisson ou chaque oiseau de l’île individuellement. Une étude écologique utilisera plutôt des drones aériens et des caméras sous-marines pour observer une partie des populations de poissons et de pélicans, puis fera des hypothèses sur la façon dont ces mesures sont liées à l’état réel du système.

La matrice C

La matrice C (ou matrice de sortie) détermine la relation entre les variables d’état internes et la sortie y.La sortie est représentée par un vecteur dont chaque élément correspond à une valeur observée pour chacune des variables de sortie. Dans notre exemple, ajoutons quatre variables de sortie : deux caméras sous-marines pour observer les poissons et deux drones aériens pour observer les pélicans.

  • La caméra 1 est bien placée, dans des eaux claires. Elle peut enregistrer environ 20 % de la population réelle de poissons F (et aucun pélican).
  • La caméra 2 est placée dans des eaux troubles et ne voit qu’environ 5 % des poissons.
  • Le drone 1 est un nouveau drone de haute qualité. Il peut repérer environ 25 % de la population réelle de pélicans P, mais il vole trop haut pour voir les poissons.
  • Le drone 2 est plus ancien. Il ne peut repérer qu’environ 10 % de la population de pélicans.

On peut représenter ces variables de sortie dans une matrice C de dimension p × n, où n = nombre de variables d’état et p = nombre de signaux de sortie observables. Pour garder la cohérence avec nos matrices précédentes, la colonne de gauche correspond à la relation de chaque variable de sortie avec  F et la colonne de droite correspond à sa relation avec  P .

Camera1Camera2Drone1Drone2[.20.0500.250.10]

Corrélation des sorties avec l’état du système

On peut alors modéliser les sorties du système y à l’instant t comme suit :

 y(t)=C*h(t)=[.20.0500.250.10]*[F(t)P(t)]

En théorie, cela permettrait de déduire l’état réel h à partir des mesures de sortie y, en utilisant les équations d’état et de sortie.

En pratique, la relation exacte entre les mesures de sortie et l’état réel est rarement connue, et les mesures elles-mêmes sont souvent imparfaites et bruitées. Par exemple, il est irréaliste de supposer que le drone 1 repérera un jour exactement 25 % des pélicans de l’île. Le filtre de Kalman est une technique couramment utilisée pour produire l’estimation la plus probable de l’état réel à partir des sorties du système bruitées.

La matrice D

La matrice D décrit l’effet direct de l’entrée sur la sortie du système observée. Elle est souvent omise dans les schémas et les discussions, car elle contourne en quelque sorte le « vrai » modèle (n’ayant aucun lien direct avec l’état).

Par exemple, dans notre écosystème, si les courants marins font que la nourriture larguée a tendance à se concentrer près de la caméra 2, alors celle-ci pourrait enregistrer un pourcentage plus élevé de la population réelle de poissons que d’habitude chaque fois que les entrées du système augmentent (et inversement pour la caméra 1). La matrice D de dimension p × m permet de prendre en compte ce type d’effet direct sur chacune des variables de sortie.   

Dans certains cas, il n’existe aucun lien direct entre les entrées et les sorties : dans ce cas, la matrice D est purement et simplement supprimée du modèle.

AI Academy

Choisissez le modèle IA adapté à votre cas d’utilisation

Quand il s’agit de modèles IA, voir grand n’est pas toujours la meilleure idée. Découvrez comment trouver la solution adaptée aux besoins de votre entreprise. Téléchargez ensuite notre guide pour vous aider à passer à l’action.

Les SSM et le machine learning

L’utilisation d’un filtre de Kalman pour relier les sorties du système à son état réel nécessite que les paramètres A et B soient connus au préalable. Mais dans de nombreux cas, les dynamiques du système (c’est-à-dire les paramètres A, B et C) sont initialement inconnues. Il faut donc déterminer les paramètres corrects pour pouvoir utiliser un SSM et produire des prédictions pertinentes sur le système.

Plusieurs algorithmes de machine learning peuvent être utilisés pour dériver les valeurs de A, B et C à partir des entrées connues et des sorties correspondantes, à l’aide des deux équations interdépendantes qui décrivent leurs interactions. Si le modèle est linéaire invariant dans le temps (LTI), c’est-à-dire si ses dynamiques restent constantes dans le temps et que sa sortie varie proportionnellement à l’entrée, alors des algorithmes de maximisation de vraisemblance ou des méthodes de sous-espace de type N4SID peuvent permettre d’estimer efficacement les paramètres du modèle.

Les SSM et le deep learning

Ces dernières années, le deep learning est devenu un moyen de plus en plus courant pour l’apprentissage des paramètres SSM. Dans ce type d’approche, les matrices A, B et C sont représentées comme les poids d’un réseau de neurones. De façon itérative :

  • Le modèle reçoit des entrées issues des données d’entraînement et doit prédire les sorties du système.
  • Les sorties prédites sont comparées aux sorties réelles (« vérité terrain ») via une fonction de perte.
  • On applique la rétropropagation pour déterminer comment chaque paramètre du modèle (autrement dit, chaque élément des matrices A, B et C) a contribué à l’erreur mesurée.
  • On utilise la descente de gradient pour modifier les paramètres du modèle afin de réduire cette perte (inexactitude).
  • Ce processus est répété jusqu’à ce que les matrices du SSM convergent vers un ensemble de valeurs donnant des prédictions suffisamment précises.

Avec ce type d’apprentissage supervisé (ou auto-supervisé), le modèle apprend implicitement les dynamiques du système d’espace d’état. Bien que très efficace et polyvalente, cette méthode d’apprentissage des paramètres SSM optimaux nécessite beaucoup de données d’entraînement.

Contrairement à un SSM classique, un SSM basé sur un réseau de neurones n’est pas interprétable : les valeurs de ses matrices ne correspondent plus directement aux relations intuitives entre les variables d’état et les autres paramètres du modèle, comme dans notre exemple précédent. Il ne s’agit pas d’un défaut propre aux SSM profonds, mais plutôt d’une limitation des modèles de deep learning en général.

Modèles d’espace d’état discrets

Les SSM traditionnels sont des modèles en temps continu, conçus pour modéliser des séquences continues comme un signal électrique ou la trajectoire d’un objet en mouvement. Or, beaucoup de modalités de données traitées par les modèles de deep learning modernes (texte, structures moléculaires, comportements des utilisateurs, données de séries temporelles…) sont généralement des séquences discrètes. Utiliser un SSM pour modéliser une séquence discrète suppose qu’on représente ses pas de temps distincts et spécifiques comme faisant partie d’un signal continu.

Conceptuellement, la discrétisation revient à prendre des « instantanés » de la valeur d’une fonction continue à des moments précis. Cela introduit un nouveau paramètre, la taille de pas , qui détermine combien de temps on « maintient » cet instantané à chaque pas de temps discret t. Changer revient un peu à modifier la résolution des données (de séries temporelles), ou la fréquence d’images d’une vidéo. Parmi les méthodes courantes de discrétisation, citons la méthode bilinéaire, la méthode d’Euler, ou encore la méthode du maintien d’ordre zéro (ZOH) utilisée par la plupart des SSM modernes (dont Mamba).

Lien entre les SSM et les RNN

Alors qu’un SSM en temps continu associe une fonction x(t) à une fonction y(t), un SSM à temps discret est un modèle séquence-à-séquence. Mathématiquement, un SSM discrétisé est équivalent à un réseau neuronal récurrent (RNN), dans lequel l’état latent du système joue le rôle d’état caché d’un RNN.

Même si la notation varie selon les sources (dans certaines équations SSM, l’entrée est notée u et l’état est noté x), c’est justement ce lien conceptuel avec les RNN qui explique l’usage de h pour désigner l’état dans la plupart des contextes de machine learning. La relation avec les RNN est également ce qui a conduit au développement d’architectures modernes basées sur les SSM, comme Mamba.

Les équations et paramètres des SSM discrétisés sont généralement réécrits en utilisant la notation à indices propre aux RNN pour les distinguer de leurs équivalents en temps continu : Dans cette notation, ht représente l’espace d’état mis à jour que le modèle va générer et ht-1 représente l’état qui le précède, c’est-à-dire l’espace d’état actuel. Les matrices A, B et C sont alors notées dans leur forme discrète.

 ht=A¯ht-1+B¯xt 
 yt=C¯ht


Dans cette formulation discrète, l’état du système est mis à jour après chaque pas de temps t (à l’aide de l’équation d’état), ce qui permet ensuite à l’état mis à jour d’informer l’équation de sortie au pas suivant.

Modèles d’espace d’état structurés

Malgré leurs nombreux avantages, les SSM discrets standard ont les mêmes limites que les RNN. Deux inconvénients majeurs ont été corrigés par l’introduction de modèles de séquence d’espace d’état structuré (ou « modèles S4 » pour Structured State Space Sequence) par Albert Gu et al. en 2021 : leur incapacité à gérer les longues séquences et leur inefficacité inhérente lors de l’entraînement des modèles.

Le premier problème a été résolu via une stratégie particulière d’initialisation des paramètres du SSM avant l’entraînement. Le second via la découverte d’un lien important entre les SSM et les réseaux neuronaux convolutifs (CNN).

Initialisation HiPPO

Comme les RNN classiques, les SSM discrets conventionnels sont intrinsèquement peu performants pour la modélisation des dépendances à longue distance. En d’autres termes, ils ne sont pas capables de comprendre la relation entre les étapes d’une séquence très éloignées les unes des autres, comme les mots au début et à la fin d’un paragraphe, ce qui les rend incapables de modéliser de longues séquences (telles que des données textuelles).

Pour remédier à cela, Gu et al. ont proposé une technique appelée HiPPO (High-order Polynomial Projection Operators) pour définir le comportement des matrices A et B.

Les fonctions polynomiales combinent un ou plusieurs termes. Chaque terme est composé d’un coefficient et d’une fonction de base. Par exemple, 3x2 est un terme dont le coefficient est 3 et dont la base est x2. « L’ordre » d’un polynôme est déterminé par la puissance la plus élevée de l’une de ses bases : 3x2 + 5x est un « polynôme d’ordre 2 ». Plus l’ordre d’un polynôme est élevé, plus il peut capturer de détails complexes dans ses courbes.

Les polynômes orthogonaux sont des familles particulières de polynômes, couvrant plusieurs ordres, dans lesquelles chaque polynôme est mathématiquement indépendant des autres. Cela garantit qu’il n’y a pas de redondance ni de dépendance informationnelle entre eux. Ils sont également très robustes face aux petites erreurs d’arrondi, ce qui les rend utiles pour approximer des fonctions complexes. Les familles de polynômes orthogonaux sont générées à l’aide d’une formule de récurrence à trois termes. La méthode HiPPO utilise précisément ce type de formules pour construire les matrices A et B.

Concrètement, à chaque mise à jour de l’état ht via l’équation d’état A¯ht-1+B¯xt , les éléments du vecteur d’état ht servent de coefficients pour des polynômes qui approximent les entrées d’origine. Les entrées anciennes sont approximées à l’aide de polynômes d’ordre faible, qui capturent les grandes tendances et les composantes basse fréquence (long terme). Les entrées récentes sont approximées à l’aide de polynômes d’ordre élevé, qui capturent les détails fins, à haute fréquence (court terme). Comme les polynômes choisis sont orthogonaux, aucune information n’est répétée. Autrement dit, cette structure oblige l’espace d’état à « mémoriser » l’ensemble de l’historique des entrées en le « compressant » efficacement dans un vecteur de coefficients de taille fixe.

L’article S4 indique que « le simple fait de remplacer une matrice A aléatoire par [la matrice HiPPO] a permis de faire passer la performance sur le benchmark MNIST séquentiel de 60 % à 98 % », résolvant ainsi le problème de mémoire à long terme des SSM. Des variantes ultérieures des SSM structurés, comme DSS, S5 ou Mamba, utilisent d’autres schémas (souvent plus simples) d’initialisation pour A et B, tout en conservant les principes fondamentaux de la méthode HiPPO.

Lien entre les SSM et les CNN

Comme les RNN classiques, leurs équivalents SSM discrets sont extrêmement rapides en inférence autorégressive. L’inconvénient, comme pour les RNN, c’est qu’ils sont extrêmement lents à entraîner.

Heureusement, les SSM discrétisés possèdent une propriété qui les distingue des autres RNN : ils ne modélisent que des dépendances linéaires. En d’autres termes, il utilisent uniquement des additions et des multiplications simples. Comme le montre l’article S4, ces récurrences linéaires (simples, répétées et interdépendantes) peuvent être déroulées sous la forme d’un noyau de convolution à une dimension, qui mappe directement l’entrée x à la sortie y en une seule étape : Ce calcul peut être réalisé très efficacement grâce à la transformée de Fourier rapide (FFT).

La seule « limite », c’est que cela n’est possible que lorsque l’intégralité de la séquence d’entrée est connue. Or ce n’est pas le cas en inférence, puisque son objectif est d’utiliser le modèle de façon itérative pour prédire l’étape suivante (inconnue) d’une séquence. Mais pendant l’entraînement, lorsque le modèle reçoit des échantillons de séquences et qu’il est optimisé pour améliorer la précision de ses prédictions, l’intégralité de la séquence est connue.

Cela permet à un SSM structuré de profiter du meilleur des deux mondes : en entraînement, il fonctionne très efficacement comme un CNN ; en inférence, il fonctionne très efficacement comme un RNN.

Modèles Mamba

Mamba est une architecture de réseau neuronal construite sur une variante particulière de SSM structuré : le modèle d’espace d’état sélectif.Dans des tâches telles que la modélisation de langue autorégressive, les modèles Mamba ont montré qu’ils pouvaient égaler, voire dépasser les modèles transformer sur la plupart des benchmarks académiques, tout en étant bien plus rapides et moins gourmands en mémoire, à la fois en entraînement et en inférence.

Les SSM classiques sont conçus pour utiliser tout l’historique des entrées afin de produire une sortie.Cela peut être acceptable (voire souhaitable) pour certaines tâches de modélisation, mais constitue un handicap majeur pour les tâches avancées de modélisation du langage. Le modèle d’espace d’état sélectif confère à Mamba une capacité essentielle, jusque-là propre au mécanisme d’auto-attention des transformers : la capacité à se concentrer sur certaines parties de l’historique des entrées passées et à en ignorer d’autres, en fonction de leur pertinence actuelle.

Dans les conceptions de SSM plans anciennes, les paramètres A, B, C, D et ∆ sont fixes : une fois optimisés par entraînement du modèle, ils sont conservés quelle que soit l’entrée. Dans un SSM sélectif, ces paramètres deviennent dépendants de l’entrée : ils sont générés en multipliant (projetant) le vecteur d’entrée par une couche de poids du modèle (elle-même optimisée durant l’entraînement).

Cependant, comme les SSM sélectifs ne sont pas linéaires invariants dans le temps, ils ne peuvent pas être exécutés comme un CNN pendant l’entraînement. Les auteurs de Mamba ont contourné ce compromis avec un parallel scan optimisé matériellement, un algorithme qui organise les calculs dans la hiérarchie mémoire du GPU de manière à maximiser leur vitesse et leur efficacité.

Diagramme d’un modèle d’espace d’état sélectif SSM sélectif et allocation de RAM sur un GPU. Extrait de l’article original, « Mamba: Linear Time-Sequence Modeling with Selective State Spaces »
Solutions connexes
Modèles de fondation

Explorez la bibliothèque de modèles de fondation d’IBM dans le portefeuille watsonx pour déployer l’IA générative dans votre entreprise en toute confiance.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Explorez la bibliothèque de modèles de fondation d’IBM dans le portefeuille IBM watsonx pour déployer l’IA générative dans votre entreprise en toute confiance.

Découvrir watsonx.ai Découvrir les modèles d’IA IBM Granite
Notes de bas de page