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!

  • keepthepace_@jlai.lu
    hexagon
    ·
    7 months ago

    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.

    • pseudo@jlai.lu
      ·
      edit-2
      7 months ago

      Des ressources français, anglais ou autre pour développer ce côté math-théorie ? Pour le côte pratique, il y en a plein YouTube (^_^)

      Merci, tant que j'y suis, pour tes réponses. Je lis toutes même quand je ne répond pas forcément.

      • keepthepace_@jlai.lu
        hexagon
        ·
        7 months ago

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

        • pseudo@jlai.lu
          ·
          7 months ago

          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.

          Merci pour la liste, elle me sera très utile.

          • flyos@jlai.lu
            ·
            6 months ago

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

    • pseudo@jlai.lu
      ·
      7 months ago

      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 ?

      • keepthepace_@jlai.lu
        hexagon
        ·
        7 months ago

        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.

          • keepthepace_@jlai.lu
            hexagon
            ·
            6 months ago

            Est ce qu'il y a un domaine qui fait battre ton coeur sur lequel on peut récupérer des données facilement?

            Note qu'aujourd'hui avec des LLMs, même des données textuelles sont relativement faciles à analyser.