Petite précision : en réalité, la matrice A n'est pas paramétrisée par x (contrairement à B et C, qui deviennent B(x) et C(x)). Les auteurs de Mamba se sont rendus compte que faire dépendre A de l'entrée x n'apportait pas plus de performances, donc ils ont abandonné l'idée pour A.
Explication très claire, merci ! C'est un contenu d'une grande qualité car 1) On ne brade pas sur la "complexité" du modèle à travers des explications par analogie ou métaphores, on rentre dans les maths et 2) Malgré ça tu donnes des explications claires avec un montage simple comme il faut qui transmet de bonnes représentations pour aider à la compréhension.
Frachement bravo ! Tellement bien expliqué, tres malin de parler de SSM à la toute fin, ca rend le tout bcp plus digeste. Petite question: tu passes sous le tapis la parametrisation des matrices A/B/C par x. Je nai pas reussi à comprendre cette partie dans leur papier. Pourrais tu expliquer brievement en commentaire comment ca marche ?
Merci pour le retour! A 4:15 j'explique la paramétrisation de A_barre(x), B_barre(x) et C(x), je ne sais pas si c'était ce que tu cherchais ? Dans le papier (et en réalité) c'est B(x) et C(x) qui sont paramétrisées par x. (ni A ni A_barre n'est paramétrisée par x en fait). On applique alors sur B(x) la discrétisation pour avoir B_barre(x). Mais sinon l'explication sur la paramétrisation est la même.
Effectivement A est indépendant de x Ma question portait davantage sur comment on calcule B(x). Je vois mal comment on rend B "dependante" en x. Pour le passage à B_barre(x) c'est OK.😊
@@diabolo19x ah d'accord ok je comprends mieux la question. pour calculer B(x) en fait c'est tout simple on fait passer x par une couche linéaire sans biais, c'est-à-dire B(x) = Wx où W est une matrice de poids avec les bonnes dimensions
Merci beaucoup pour cette vidéo, elle est très claire. Il y a cependant une chose que je n'arrive pas à comprendre. Normalement, dans tout modèle de Deep Learning, la dimension "batch_size" n'apparait pas dans la taille des matrices de poids et tous les échantillons du batch voit la même matrice durant l'entraînement. Ici, il y a une dimension "batch_size" pour les matrices B et C qui, si j'ai bien compris, correspond à la taille du batch utilisé pendant l'entraînement. Mais du coup pour l'inférence d'une unique séquence, quelle matrice B et quelle matrice C sont utilisées parmi les "batch_size" matrices disponible ?
Merci! Oui en effet c'est peu commun, B et C ont une dimension de batch car elles sont calculées à partir de x, qui lui regroupe un batch entier (dans la vidéo je les appelle Bbarre(x) et Cbarre(x)). En fait c'est pour ça que ce ne sont pas vraiment des paramètres. Ce qui est par contre un paramètre c'est la matrice qui fait passer de x à B(x). Ou alors on peut aussi se dire que c'est un paramètre qui dépend de l'entrée. Mais techniquement, ce n'est pas un paramètre. Du coup à l'inférence, la dimension batch de x vaut 1, et donc la dimension batch de B et C vaudra également 1. J'espère que ça t'aidera!
Petite précision : en réalité, la matrice A n'est pas paramétrisée par x (contrairement à B et C, qui deviennent B(x) et C(x)).
Les auteurs de Mamba se sont rendus compte que faire dépendre A de l'entrée x n'apportait pas plus de performances, donc ils ont abandonné l'idée pour A.
Très cool que ton implémentation sur github ait bien buzzé !
Yes en effet ça même été retweet par les auteurs de Mamba ! (dsl j'avais pas vu ton commentaire)
Merci du partage, on voit que tu connais bien ton sujet
Merci!
Clairement!
Découvert y a 3 mois, je ne saurais louper tes prochaines vidéos, merci pour ce taff de vulga =)
Explication très claire, merci ! C'est un contenu d'une grande qualité car 1) On ne brade pas sur la "complexité" du modèle à travers des explications par analogie ou métaphores, on rentre dans les maths et 2) Malgré ça tu donnes des explications claires avec un montage simple comme il faut qui transmet de bonnes représentations pour aider à la compréhension.
Merci pour ton retour!
@@alexandretl C'est moi qui te remercie pour le contenu de qualité que tu mets gratuitement à disposition 👏
Merci baucoup ! Très intéressé par avoir la série de vidéo sur Pytorch ! C'était très clair et très instructifs !
*Mamba je voulais dire !
Frachement bravo ! Tellement bien expliqué, tres malin de parler de SSM à la toute fin, ca rend le tout bcp plus digeste.
Petite question: tu passes sous le tapis la parametrisation des matrices A/B/C par x. Je nai pas reussi à comprendre cette partie dans leur papier. Pourrais tu expliquer brievement en commentaire comment ca marche ?
Merci pour le retour! A 4:15 j'explique la paramétrisation de A_barre(x), B_barre(x) et C(x), je ne sais pas si c'était ce que tu cherchais ?
Dans le papier (et en réalité) c'est B(x) et C(x) qui sont paramétrisées par x. (ni A ni A_barre n'est paramétrisée par x en fait). On applique alors sur B(x) la discrétisation pour avoir B_barre(x). Mais sinon l'explication sur la paramétrisation est la même.
Effectivement A est indépendant de x
Ma question portait davantage sur comment on calcule B(x).
Je vois mal comment on rend B "dependante" en x.
Pour le passage à B_barre(x) c'est OK.😊
J'en profite pour glisser quelques idées de vidéos : Mixture of depth (deepmind) ou les KAN Networks qui font pas mal parler depuis qqes jours 🎉
@@diabolo19x ah d'accord ok je comprends mieux la question. pour calculer B(x) en fait c'est tout simple on fait passer x par une couche linéaire sans biais, c'est-à-dire B(x) = Wx où W est une matrice de poids avec les bonnes dimensions
@@diabolo19x merci pour les idées! oui en plus il y a déjà quelques reproductions pour MoD et KAN donc ça peut être intéressant
Merci beaucoup pour cette vidéo, elle est très claire.
Il y a cependant une chose que je n'arrive pas à comprendre.
Normalement, dans tout modèle de Deep Learning, la dimension "batch_size" n'apparait pas dans la taille des matrices de poids et tous les échantillons du batch voit la même matrice durant l'entraînement.
Ici, il y a une dimension "batch_size" pour les matrices B et C qui, si j'ai bien compris, correspond à la taille du batch utilisé pendant l'entraînement.
Mais du coup pour l'inférence d'une unique séquence, quelle matrice B et quelle matrice C sont utilisées parmi les "batch_size" matrices disponible ?
Merci!
Oui en effet c'est peu commun, B et C ont une dimension de batch car elles sont calculées à partir de x, qui lui regroupe un batch entier (dans la vidéo je les appelle Bbarre(x) et Cbarre(x)).
En fait c'est pour ça que ce ne sont pas vraiment des paramètres. Ce qui est par contre un paramètre c'est la matrice qui fait passer de x à B(x).
Ou alors on peut aussi se dire que c'est un paramètre qui dépend de l'entrée. Mais techniquement, ce n'est pas un paramètre.
Du coup à l'inférence, la dimension batch de x vaut 1, et donc la dimension batch de B et C vaudra également 1.
J'espère que ça t'aidera!
Je veux les trois s’il vous plaît 😊
J'ai fait une vidéo sur Mamba plus récente, n'hésitez pas à aller la voir :)
in-context learning et mamba.