Hello!
bon slrpnk.net a l’air d’être dans les choux alors je lance ce post avec mon compte de secours jlai.lu
Alors je lance cet AMA car ça fait un moment que je bouffe du machine learning à temps plein et pour suivre les news technique, je passe le plus clair de mon temps à lire de l’anglais. Et je trouve qu’en français, ben y a pas grand chose. C’est presque uniquement du discours dystopique mal informé.
Rien sur la recherche sur l’alignement, rien sur les modèles open source (condition sine qua non pour que ça se passe bien), rien sur les évolutions sociales positives que ça peut amener.
On parle juste de OpenAI, Google et Musk qui ne sont que quelques arbres malades d’une forêt bien plus grande.
Perso ça va faire 5 ans que je fais du deep learning professionnellement. J’ai travaillé pour Skymind, qui développait deeplearning4j. Ça vous dira rien, c’est un projet plus ou moins mort, mais c’était une tentative de faire un framework alternatif avant que tout le monde passe à pytorch. Puis je suis devenu principalement utilisateur des gros modèles entraînés par d’autres.
J’ai travaillé sur les modèles de vision au départ et maintenant presque exclusivement sur des modèles de langage. J’ai réussi à passer au 4/5e l’année dernière pour me consacrer aussi avec le fablab local à de la robotique open hardware (où bien sur j’utilise des modèles de deep learning pour la vision).
Ça fait plus de 20 ans que j’ai réalisé que l’IA a le potentiel de changer le monde pour le mieux, c’est pas par hasard que j’ai essayé de m’orienter le plus possible là dedans et ça me fait mal au cœur de voir tant de gens croire que notre seul but est d’aider Sam Altman à se faire quelques milliards de plus, qui ne voient pas les capacités de transformation de cette tech.
J’ai déjà donné quelques avis en anglais pour éviter le “doomism” dans des romans de SF (https://slrpnk.net/post/6100538) mais le faire dans ma langue natale ferait du bien!
Et, si, le titre est correct, ça me fait 6/5 de boulot, mais quand on aime on ne compte pas!
Voila, je préférerais qu’on reste sur ces thèmes mais AMA anyway!
Les modèles utilisés sont contraints par deux choses: les GPUs sont très optimisés pour les multiplications matricielles, et la fonction produite par ton modèle doit être dérivable vis à vis de tous ses paramètres.
En fait dans les modèles actuels, on ne pense pas en terme de neurones, mais plutôt de couches. Tu as une couche de neurones suivie d’une couche d’attention, suivie d’une couche de convolution, à laquelle tu ajoutes les entrées, etc.
On est très influencés par les opérations optimisées pour GPU, donc on va plutôt penser en terme de matrices. Deux couches de N neurones se suivant et où chaque neurone est connectée à tous ceux de la couche de N neurones suivante, c’est un “fully-connected layer” ou un perceptron. Ça s’exprime sous forme d’une matrice de poids: tu mets tes entrées sous forme de vecteur, tu multiplies par la matrice de poids et tu as généralement une “non linéarité”, c’est à dire une fonction de type RELU ajoutée après la multiplication.
L’autre façon de voir un modèle est de dire que ce que tu veux est une fonction continue prenant un vecteur de dimension N_i en entrée et N_o en sortie et dérivable selon chacun de ses millions de paramètres (typiquement, les paramètres sont les poids des synapses du réseau de neurones).
On parle vraiment peu de neurones. Les devs proches de l’optimisation parlent en terme de matrices, ceux proches de la théorie mathématique en terme de fonction, et un bon modèle doit prendre les deux points de vue en considération.
Tu peux tout à fait imaginer un modèle plus proche des neurones biologiques, mais avec ces deux contraintes: fonction continue et dérivable par rapport à chaque paramètre, et si tu veux que ce soit rapide, maximum de calcul parallèle sous forme de matrices (de tenseurs en fait, qui est le petit nom des matrices de dimension supérieure à 2)
AJA qu’on ne disait pas hyper-matrice.
AJA tout ce que tu as dit d’autres c’est vachement intéressant. Encore merci.
Alors à vérifier avec un mathématicien si je ne fais pas un anglicisme. Comme à son habitude sur les sujets mathématiques la wikipédia française est inutilement pédante et alambiquée, et dit que c’est un usage abusif du terme sans dire comment ça devrait s’appeler.