Je bosse au 4/5 sur les modèles de langage (LLM, parfois appelées IAs) et à 2/5 sur la robotique open hardware AMA
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!
Quelle est selon la meilleure approche pour approfondir des connaissances en IA une fois sortie du monde universitaire ?
Pour une meilleure compréhension des IA pour quelqu'un qui a déjà un bagage théorique sur le sujet le point de vue mathématiques/statistique est-il plus ou moins intéressant que le point de vue informatique ?
Ce qui manque souvent aux universitaire c'est la pratique. Bosser dans le domaine, c'est à 95% de la plomberie, et à 5% de la théorie. Apprend à utiliser les outils, git, jupyter, pip, vLLM (si c'est de LLMs dont tu parles), docker, pandas, numpy, les différents packages spécialisés, etc. (et je ne mentionne pas les libs bas niveau d'optimisation, si c'est ton sujet y en a pas mal aussi mais je connais moins)
Perso j'ai un biais pro-maths et pro-théorie: je trouve ça important de comprendre ce que le modèle fait pour l'utiliser bien mais plein de gens bossent dedans sans trop savoir. Mais ça aide de façon invisible. Exemple: Je me doutais qu'un LLM devenait plus intelligent si tu lui donnais une consignes, et que tu le forces à générer une centaine de symboles inutiles avant de commencer à te répondre. Ça choque même des gens du domaine, mais si t'as compris ce que les chain-of-thought provoquent tout est logique.
Je discutais avec une équipe internationale à Penang d'un truc qui m'intriguait: même en Asie je trouvais plein de francophones dans le domaine. Un Malaisien m'a dit "vous avez une meilleure culture mathématique, ça aide" et c'est peut être un peu prétentieux de le dire, mais j'ai l'impression que c'est vrai. On fait plus de théorie, ça nous aide dans des niches moins maitrisées par les devs capables de vite sauter d'une lib à l'autre sans savoir ce qu'elles font.
Quelles genre de pratique vises-tu ? Fine-tuner des modèles existants. Construire plein de mini-modèles from scratch pour classer les pétales d'iris et prédire les chiffres du transports aériens ? Autre ?
Ce qui t'intéresse le plus! Tu peux assembler un petit classifier et l'entrainer from scratch, fine-tuner un petit modèle existant ou bien juste utiliser des modèles.
MNIST, un classifieur d'images 24x24 de chiffres écrits à la main, est un bon exercice de départ.
Charger un modèle pré-entrainé et aller examiner ses représentations latentes est aussi rigolo.
Alors la théorie je l'ai beaucoup faite via des articles de blog de type <notion> explained. "Layer normalization explained", "BERT explained". Il y a quelques publis qui sont intéressantes à lire mais sur les technos qui ont plus d'un an, une bonne explication sur un blog aidera à aller au but et ajoutera en plus des infos sur l'utilisation actuelle de cette tech.
Les choses à comprendre:
La descente de gradient, c'est la base de tout
Le perceptron multicouche, le layer le plus simple
Le rôle des optimizers
Les différentes "couches":
Full connected layer (c'est la même chose qu'un perceptron)
Convolution
Softmax (techniquement une fonction d'activation mais elle est importante)
Normalisation
Dropout
Attention
Maxpool (ça s'utilise encore ça?)
Dans les LLMs, comprendre les tokenizers
Dans la génération de media, comprendre les modèles de diffusion et les GAN
Ah, et tu croiseras probablement des bayesiens à un moment dans cette exploration. Ils vont te parler de "priors" de fonction de distribution, tout exprimer sous forme de proba... Je blague un peu en disant que c'est une secte à part, mais c'est principalement une différence de vocabulaire: ils voient tout sous le prisme de la théorie bayesienne que (personnellement) je trouve qu'il font rentrer au chausse-pied en compliquant des notions simples. Mais je le dis pas trop fort, ça vire souvent à la guerre de religion sinon :-)
De mon humble position d'étudiant n'ayant pas compris la moitié de ce que m'ont expliqué mes profs, les bayésianistes et les fréquentistes disent la même chose mais le formulent différemment. Même si la formulation des bayésianistes fait apparaître des stat partout, ça revient au même à la fin et le conflit bayésianistes/fréquentistes et le même que pain-au-chocolat/chocolatine.
C'est pas complètement faux si tu t'en tiens aux probas, mais c'est quand même plus compliqué que ça, c'est pas juste un débat sémantique.
D'un point de vue statistique, y a une zone grise entre les deux points de vue, mais il y a aussi des approches exclusives à l'une ou l'autre perspective et cette différence d'algorithme explique aussi l'essor moderne des stats bayésiennes: le MCMC a permis de faire tourner des modèles très compliqués à faire converger en maximum de vraisemblance. L'ABC permet même de se passer de vraisemblance tout court!
D'un point de vue épistémique, c'est quand même deux points de vue très difficile à réconcilier, et ça a une importance sur comment on fait de la science (les statistiques, c'est un peu de l'épistémo pratique!).
J'ai retrouvé une playlist francophone sur le machine learning de @HugoLarochelle@YouTube.com qui m'avait bien aidé à l'époque. Il a fait apparemment aussi le traitement automatique du language.
Malheureusement, sa playlist sur les réseaux de neurones est dans la langue de Shakespeare.