1 points par GN⁺ 2023-12-16 | 1 commentaires | Partager sur WhatsApp

La meilleure façon d’investir dans le développement de ses compétences en intelligence artificielle / machine learning

  • Question demandant des avis sur la meilleure manière d’investir son temps et son énergie lorsqu’on consacre environ 1 heure par jour au développement de ses compétences en intelligence artificielle (IA) / machine learning (ML).
  • Diverses approches sont proposées, avec une demande d’exemples concrets ou de recommandations pour chacune.
    • Construire de petits projets (que créer ?)
    • Lire des blogs / newsletters (lesquels lire ?)
    • Suivre des cours (lesquels suivre ?)
    • Lire des manuels (quels livres lire ?)
    • Participer à des compétitions Kaggle
    • Participer à des forums / communautés IA/ML
    • Une combinaison des éléments ci-dessus (si possible, partager une répartition du temps / des priorités)
  • Cette question est souvent posée pour aider les ingénieurs logiciel à développer leurs compétences dans le domaine du ML.

L’avis de GN⁺

  • Importance : l’intelligence artificielle et le machine learning font partie des domaines qui croissent le plus vite dans l’univers technologique actuel, et sont devenus des compétences essentielles pour les ingénieurs logiciel. Développer ses compétences dans ce domaine peut grandement aider à l’évolution de carrière.
  • Intérêt : l’IA/ML apporte des innovations dans de nombreux secteurs et cas d’usage, et l’apprentissage comme la pratique dans ce domaine offrent l’occasion de créer des projets à la fois créatifs et stimulants.
  • Diversité des méthodes d’apprentissage : les méthodes proposées peuvent être ajustées avec souplesse selon le style d’apprentissage et les objectifs de chacun, et cette diversité peut aider à trouver le parcours d’apprentissage optimal pour soi.

1 commentaires

 
GN⁺ 2023-12-16
Avis Hacker News
  • Partage d’expérience universitaire

    • A obtenu un master en ML (machine learning) dans une bonne université. Ce qui a été appris à l’école aurait aussi pu être appris seul, mais l’école apporte un niveau de concentration et de pression difficile à reproduire en autonomie.
    • L’implémentation d’articles de recherche a été l’expérience la plus formatrice. Les cours et les manuels ne sont que des mots ; la mise en pratique apporte une compréhension bien plus profonde.
    • On peut proposer différents cursus, mais une heure de résolution de problèmes en concentration totale reste ce qu’il y a de mieux.
    • Quelques idées de projets : entraîner un petit réseau de neurones pour apprendre une fonction simple, un classificateur de chiffres MNIST, faire du fine-tuning de GPT2 sur un corpus spécialisé, entraîner un réseau siamois pour mesurer la similarité visuelle, etc.
    • Conseil donné : ne pas perdre de temps à réécrire son propre réseau de neurones et la rétropropagation, mais apprendre à utiliser les outils de profiling et de débogage.
  • Conseils d’un chercheur en IA et fondateur technologique

    • En supposant qu’il s’agit de se tenir au courant des avancées récentes, il recommande de ne pas suivre un parcours trop linéaire. Suivre une formation et réaliser un petit projet, en se fixant une durée et en essayant d’aller jusqu’au bout.
    • Trouver un domaine de recherche intéressant, exécuter le code GitHub correspondant, puis chercher à l’améliorer ou à l’utiliser dans une application.
    • Recommande le cours fast.ai, les billets de blog de Karpathy, ainsi que les cours cs231n et cs234 de Stanford.
    • Trouver un projet qui suscite un réel intérêt et le faire tourner.
  • L’importance de la mise en pratique du ML

    • Beaucoup de commentaires vont insister sur les couches basses du ML, mais ce dont le ML a besoin aujourd’hui, ce sont des personnes intelligentes au niveau de l’implémentation.
    • Il est important et nécessaire de créer des logiciels utilisables par le grand public à partir des technologies LLM existantes.
    • La pratique quotidienne consiste à esquisser des applications, structurer des prompts et des appels de fonctions, apprendre à commercialiser ce que l’on crée, et construire des outils qui passent de zéro à un.
    • Exemples cités : appliquer à l’ère moderne des embeddings une technique de catalogage commune à l’époque d’Aristote, ou encore comprendre une spécification MD pure et y intégrer un modèle de génération en streaming.
  • Faire de l’IA/du ML son travail quotidien

    • Chercher à placer l’IA/le ML sur le chemin critique de son activité. Comme pour l’apprentissage d’une nouvelle langue, rien n’est aussi efficace qu’une immersion totale.
    • Si l’on n’a pas encore les bases suffisantes pour décrocher un poste dans le domaine, le mieux ensuite est de trouver un projet passion et de continuer à imaginer de nouvelles approches de résolution.
    • Enfin, envisager de retourner à l’école. Cela demande plus d’une heure par jour, mais permet d’obtenir des résultats bien plus rapides et concrets que la plupart des autres stratégies d’apprentissage.
  • Feuille de route typique d’un étudiant en ML/IA

    • Des prérequis en mathématiques, en informatique, etc. sont nécessaires. Cela inclut généralement le calcul différentiel et intégral, l’algèbre linéaire, les probabilités et statistiques, la programmation, la programmation orientée objet, les structures de données et les algorithmes.
    • Après un cours de base en ML, on aborde les fondements du DL (deep learning), un domaine qui évolue rapidement.
    • Deux voies se distinguent : l’ingénierie ML et la recherche en ML. L’ingénierie porte sur les aspects techniques liés aux pipelines ML ; la recherche se concentre sur la science elle-même.
    • Comme l’ont dit d’autres, utiliser des outils pour implémenter les choses est à la fois utile et motivant. Vouloir implémenter tous les modèles soi-même peut devenir extrêmement difficile.
    • En apprenant le ML « pratique », on cherche à implémenter des modèles de façon à pouvoir envoyer des données via une API et récupérer un résultat. Cela implique des défis en traitement de données, développement logiciel, hébergement et développement d’API.
  • Reconnaître les limites de l’IA/du ML

    • Ne pas laisser son imagination partir trop loin ni surestimer ce que l’IA/le ML peut réellement faire.
    • Après deux années sur des projets ML dans une grande entreprise, constat que les résultats n’étaient pas meilleurs que les méthodes statistiques existantes, et qu’en l’absence de compréhension de la « boîte noire » du ML, aucune amélioration concrète du processus n’avait été obtenue.
    • Une grande partie du travail en ML consistait à trouver un problème à une solution déjà prête.
    • Il est important de comprendre comment utiliser les bases de données (SQL et NoSQL). Pour utiliser efficacement le ML, il faut être excellent en programmation performante sur de grands volumes de données.
  • Comment étudier l’IA/le ML

    • Lire de bout en bout An Introduction to Statistical Learning with Applications in R/Python de Hastie et al., et bien comprendre les concepts, idées, nuances et subtilités présentés.
    • Garder à portée de main des livres de mathématiques/statistiques ; dès qu’une technique mathématique inconnue apparaît, s’y référer immédiatement ou regarder une courte vidéo YouTube pour en comprendre le concept et l’usage.
    • C’est la manière la plus simple et la plus directe d’étudier et de comprendre l’IA/le ML. Tout le reste mentionné dans ce fil devrait venir après cela.
  • La jonction entre ML et ingénierie

    • S’intéresser à l’interface entre le ML et l’ingénierie.
    • Examiner le ML ops, l’application de DevOps, les tests et le ci/cd dans l’univers ML, la manière d’entraîner sur plusieurs GPU, et surtout comment héberger des LLM à grande échelle et à faible coût.
    • Il existe des centaines de candidats issus du monde académique avec un excellent bagage théorique, mais très peu d’ingénieurs expérimentés capables de concrétiser leurs ambitions.
  • Mettre l’accent sur le deep learning

    • La plupart des LLM utilisent une architecture de type transformer. On peut l’apprendre de manière visuelle, via des billets de blog ou les articles et ressources d’Andrej Karpathy.
    • Pour rester à jour sur les articles publiés chaque semaine, lecture de résumés hebdomadaires chaque dimanche.
    • Pour approfondir les aspects ingénierie, on peut rejoindre le serveur Discord d’EleutherAI ou suivre les discussions GitHub de projets comme llama.cpp.
    • Le moyen de développement le plus efficace consiste probablement à réimplémenter les articles majeurs du domaine. Il y a un objectif clair, des signes clairs de réussite, et de nombreuses implémentations avec lesquelles vérifier, comparer et apprendre.
  • Quiz pour débutants sur les LLM

    • A récemment donné un cours d’introduction aux LLM à des étudiants de master hors informatique (biomédical). Souhaitait leur donner un quiz à faire à la maison, mais n’en a pas trouvé de bon, donc a créé un quiz à choix multiples. Le quiz est « diabolique » et il est facile de s’y faire piéger sans compréhension solide. Certaines questions comportent des nuances qui permettent d’apprendre en cherchant la bonne réponse. Il s’agit d’un formulaire Google qui ne collecte pas les adresses e-mail.