Python >> Tutoriel Python >  >> Python

Que disent les experts sur l'avenir de l'apprentissage automatique (et de Python) ?

Netflix l'utilise, Facebook l'utilise, les compagnies pharmaceutiques l'utilisent - la liste est longue. L'apprentissage automatique est si polyvalent et puissant qu'il s'agit de l'une des technologies les plus passionnantes de notre époque.

Mais, comme pour toutes les technologies à la mode, il existe de nombreuses idées fausses sur l'apprentissage automatique. Pour cet article, je voulais jouer à Mythbusters et traiter des plus grandes idées fausses entourant le ML. C'est pourquoi j'ai contacté des experts en machine learning pour leur poser quelques questions.

Lisez la suite pour en savoir plus sur :

  • les problèmes critiques auxquels les experts en machine learning sont confrontés aujourd'hui,
  • à quelle vitesse évolue le domaine du machine learning,
  • les applications les plus intéressantes pour le machine learning,
  • et si Python est vraiment le meilleur langage de programmation pour ce domaine.

Présentation de notre panel d'experts en machine learning

Josh Tobin

Dans sa description sur Twitter, Josh mentionne qu'il essaie de faire passer l'apprentissage automatique de la production d'un art à une discipline d'ingénierie. Avec huit articles scientifiques à son actif, il ne plaisante clairement pas sur son objectif. Vous pouvez explorer ses recherches sur le site personnel de Josh. Entre autres rôles dans son CV, Josh a passé trois ans chez OpenAI, où il a fait son doctorat. Il propose désormais un cours qui enseigne aux ingénieurs l'apprentissage en profondeur prêt pour la production.

Découvrez le cours de Josh : Apprentissage en profondeur de la pile complète .

John Langford

John est un génie de l'IA. Il est impliqué dans le domaine depuis plus de vingt ans et il a plus d'une centaine d'articles de recherche à son actif. Et cela ne fait qu'effleurer la surface du CV détaillé de John.

Il est docteur en apprentissage chez Microsoft Research à New York, où il travaille à faciliter l'application de l'apprentissage automatique pour résoudre des problèmes.

Jean fait partie de Conférence internationale sur l'apprentissage automatique . Il est également impliqué dans le Bibliothèque interactive d'apprentissage automatique Vowpal Wabbit .

Stylianos Kampakis

Stylianos est impliqué dans la science des données et l'IA depuis plus de dix ans, construisant une liste impressionnante de réalisations. Il est docteur en informatique, diplômé en IA, statistiques, psychologie et économie. Cette large formation scientifique lui permet de dispenser une formation de haut niveau sur les technologies de demain. Il utilise son expertise pour former les gens, pour résoudre des problèmes difficiles et aussi pour aider les entreprises à améliorer leur efficacité.

Stylianos crée beaucoup de contenu éducatif sur la science des données, la blockchain et l'IA sur son blog Le scientifique des données . Si vous recherchez une formation personnalisée dans les mêmes domaines, consultez Académie Tesseract .

Jakub Czakon

Senior data scientist qui se trouve également être un maître et entraîneur d'échecs, parmi ses nombreux autres talents. Jakub travaille dans le domaine de la science des données depuis plus de cinq ans et il a déjà travaillé sur plusieurs projets fascinants avec les principaux fournisseurs de solutions d'IA en Pologne. Il travaille actuellement sur un outil léger de gestion des expériences, permettant aux data scientists de collecter efficacement les résultats des expériences et de transformer ces résultats en une base de connaissances facile à partager.

Consulter Neptune.ai pour en savoir plus sur l'outil de gestion des expériences d'apprentissage automatique sur lequel travaille Jakub.

Tarek Amr

Tarek est impliqué dans le développement de logiciels depuis dix ans. Avant cela, il a passé du temps en tant que consultant en sécurité de l'information et responsable avant-vente.

En plus de son travail actuel de data scientist senior chez Ticketswap, Tarek blogue et écrit des livres sur l'apprentissage automatique. Il est également bénévole pour Global Voice Online et ambassadeur local de l'Open Knowledge Foundation en Égypte.

Découvrez le dernier livre de Tarek :" Apprentissage automatique pratique avec scikit-learn et Scientific Python Toolkits ." Pour plus d'informations sur le travail de Tarek, ses autres livres et ses recherches, consultez son site personnel : tarekamr.com .

Bartek Roszak

Bartek est un chercheur expérimenté en apprentissage profond qui a dirigé des équipes qui ont développé plusieurs solutions d'apprentissage automatique.

Leurs réalisations incluent la création d'un système d'IA conversationnel approfondi en polonais à partir de zéro et le développement de Payability Brain, un réseau neuronal multimodal qui combine plusieurs types de fonctionnalités.

Question 1 :Python est-il le meilleur langage pour le machine learning ?

Python est-il le meilleur langage pour l'apprentissage automatique ? Prévoyez-vous des changements majeurs dans la pile logicielle populaire de ML ?

Josh Tobin : En ce moment, oui. En ML, 90 % des idées que vous essayez échouent, la vitesse d'itération est donc essentielle. Python vous permet d'itérer plus rapidement (en ML) que n'importe quel autre langage. Je vois de nombreux changements dans la pile logicielle ML, en particulier du côté de l'infrastructure, et peut-être aussi du côté du framework (gardez un œil sur Jax), mais je ne vois pas Python détrôné de si tôt.

John Langford : Ça dépend. Si vous écrivez algorithmes qui seront largement utilisés, alors l'approche privilégiée est plus communément C ou C++ car cela peut atteindre une plus grande efficacité et essentiellement chaque langage peut se lier à des objets compilés C/C++.

D'un autre côté, si vous faites l'apprentissage automatique, alors Python est le langage par défaut, que je ne vois pas changer de si tôt car c'est un langage bien connu, adaptable, proprement lisible et facile à utiliser.

Stylianos Kampakis : Python est le choix numéro un, R prenant la deuxième place. Je ne pense pas qu'il y ait d'autres candidats. Certaines personnes aiment les langages comme Julia, mais je pense que Python s'est imposé comme l'acteur dominant.

Jakub Czakon : Je pense que Python continuera d'être le plus populaire et il y a des raisons à cela. Alors que ML passe de la recherche à la production, le besoin d'avoir une pile commune pour différentes parties du cycle de vie ML pousse les gens vers Python plus que R et d'autres alternatives. Cela dit, l'architecture et la conteneurisation des microservices (Docker, Kubernetes) vous rendent principalement indépendant du langage. Dans cet esprit, vous devez déterminer les bibliothèques d'algorithmes dont vous avez besoin, le langage qui les contient et les utiliser pour la tâche à accomplir. Mon préféré est Python, mais si vous travaillez sur des choses qui sont plus proches des statistiques (bio) comme les modèles de survie, alors R est probablement un meilleur choix.

En ce qui concerne la pile logicielle, je pense que nous verrons davantage d'adoption d'outils qui aident à la gestion et à la production de la modélisation ML. Des outils comme Kubeflow ou Streamlit, juste pour vous en donner quelques-uns.

Tarek Amr : Python est en effet la lingua franca de ML. Il est flexible, facile à lire et, en tant que langage non compilé, il convient aux itérations rapides. Il s'est également ancré plus profondément dans le domaine en raison de la présence de différents outils ML tels que Scikit-Learn, TensorFlow et Pytorch. De plus, TensorFlow et Pytorch ne sont pas que des outils :les grandes technologies, ou FAANG (Facebook, Apple, Amazon, Netflix et Google), publient des modèles pré-formés dans ces bibliothèques. Quiconque veut utiliser ces modèles va également privilégier Python.

Il est difficile de voir Python partir de sitôt. Je ne peux penser qu'à deux raisons pour lesquelles la popularité de Python déclinera lentement à l'avenir :Edge Machine Learning et Performance. Je peux voir les mérites pour le premier, mais pas pour le second. Les développeurs qui créent des applications mobiles peuvent choisir de décharger la logique et de l'exécuter sur l'appareil mobile. Ils peuvent le faire pour économiser le coût de leurs serveurs et pour utiliser des processeurs plus puissants livrés avec les téléphones mobiles de nos jours. Ensuite, ils peuvent utiliser Swift ou d'autres langues natives utilisées sur le système d'exploitation mobile. De toute évidence, pour des tâches bien définies, des entreprises comme Apple et Google publient également des modèles pré-formés à utiliser sur leurs téléphones mobiles.

Quant à l'argument de performance, je ne pense pas que cela affectera la popularité de Python. Les ingénieurs logiciels continueront d'être plus chers que les processeurs qu'ils utilisent, et donc, nous continuerons à favoriser Python en raison de ses avantages susmentionnés. Les ingénieurs logiciels trouveront un moyen d'accélérer Python, et même d'implémenter les parties coûteuses en calcul de leur code dans un langage plus puissant, mais cela sera caché sous le capot comme dans le cas de Numpy, Pandas, TensorFlow, Pytorch, etc. C'est pourquoi je ne vois pas vraiment Go, Rust et Julia rivaliser avec Python de sitôt.

Bartek Roszak : Python est définitivement le meilleur langage pour l'apprentissage automatique en termes de recherche et de modélisation. Si nous pensons à l'apprentissage automatique en termes plus larges, il existe d'autres langages utiles pour fournir des solutions de ML. Par exemple, vous pouvez utiliser C/C++ pour déployer un modèle, JS pour créer des tableaux de bord de surveillance du système ML et Scala pour créer des pipelines de données. Cependant, Python est le seul langage dans lequel vous pouvez créer tout ce dont le système a besoin et vous n'avez pas besoin de repartir de zéro. Les scientifiques des données ne sont souvent pas des programmeurs professionnels, ils ont donc besoin d'un langage simple et d'une communauté puissante. Python offre les deux.

Clé à emporter

Python est en effet le langage principal pour faire du ML en ce moment, R venant en deuxième position - à moins que vous n'écriviez des algorithmes qui seront utilisés par beaucoup de gens, alors C/C++ est préféré pour son efficacité et son universalité.

Python présente de nombreux avantages qui le rendent parfait pour le ML ; il est bien connu, adaptable, proprement lisible, facile à utiliser et il vous permet d'itérer plus rapidement que n'importe quel autre langage.

Question 2 :À quelle vitesse le machine learning évolue-t-il ?

À quelle vitesse le domaine de l'apprentissage automatique évolue-t-il ?

Josh Tobin : De nombreux domaines du ML (par exemple, le langage, les modèles génératifs) évoluent extrêmement rapidement. Certains des domaines qui ont enthousiasmé de nombreuses personnes à propos du ML en 2014-2015 semblent s'être un peu stabilisés.

John Langford : La vitesse d'un champ est difficile à quantifier. Certains articles de presse le font paraître dramatique alors que ce n'est pas le cas. D'autre part, il y a des progrès utiles significatifs et réguliers au fil du temps. Une façon de quantifier cela est via le service Microsoft Personalizer auquel j'ai participé.

Lorsque j'étais étudiant diplômé il y a 20 ans, l'apprentissage en ligne était théoriquement compris comme possible, mais pas utilisé et l'apprentissage par renforcement se faisait généralement sur des simulations super simplistes, les deux ne fonctionnant pas vraiment ensemble. Maintenant, nous avons une forme d'apprentissage par renforcement en ligne que tout le monde peut utiliser.

Stylianos Kampakis : Très vite! 6 mois en ML sont comme 6 ans dans d'autres domaines. Il est très difficile de tout suivre !

Jakub Czakon : À certains égards trop rapidement, à d'autres pas tellement. Je pense que la partie modélisation, les architectures réseaux, la recherche, mais aussi les outillages évoluent vraiment tous les jours. De nombreux outils que j'utilisais au départ, comme Theano, ne sont plus avec nous.

D'un autre côté, la compréhension des affaires parmi les gens de l'apprentissage automatique est à la traîne à mon avis. Le ML devrait finalement alimenter le produit, améliorer les processus de marketing ou de vente, faire quelque chose pour quelqu'un. Il ne s'agit pas de construire un modèle et de le mettre en production. En fin de compte, il y a quelqu'un quelque part qui est censé tirer parti de toutes les belles mathématiques derrière ces modèles. Je ne pense pas que ce soit assez bien compris dans la communauté. Tout le ML n'a pas d'importance si vous ne résolvez pas le bon problème, d'une manière que votre utilisateur/client comprend. Nous devons nous améliorer, mais ce n'est pas aussi brillant qu'un entraînement distribué d'un modèle de transformateur de paramètres 1,5 B.

Tarek Amr : Ça avance très vite en effet. Vous clignez des yeux une fois et tout à coup de nouveaux algorithmes sont créés, et de nouveaux modèles sont formés et publiés pour que tout le monde puisse les utiliser. Ceci est particulièrement vrai dans les domaines du traitement d'images et de texte. Les tâches dans ces domaines sont bien définies, ce qui signifie que des concepts tels que l'apprentissage par transfert y brillent. Nous avons tous entendu parler du GPT-2 d'Open AI, et quelques mois plus tard, le GPT-3 a repoussé les limites de ce qui est possible et a secoué l'ensemble d'Internet avec incrédulité.

Je peux attribuer les sauts de l'apprentissage automatique aux grandes entreprises technologiques (FAANG), et le plus grand impact est observé dans l'apprentissage par transfert. Ces modèles coûtent des millions de dollars à former, donc seules les grandes entreprises technologiques peuvent se le permettre et sont à la pointe du domaine, au lieu du milieu universitaire. En dehors de ces tâches bien définies, les choses avancent assez vite, mais pas au même rythme. Les entreprises travaillant sur des problèmes spécifiques tels que la détection des fraudes, l'automatisation des processus et la prédiction des séries chronologiques peuvent ne pas disposer de ces modèles spécifiques sur une plaque d'argent. Bien sûr, les outils dont ils ont besoin pour créer les modèles dont ils ont besoin progressent et s'améliorent, mais dans le monde actuel de l'apprentissage automatique, les sauts les plus importants proviennent de la taille des données et des machines plus grandes pour s'entraîner sur ces données. J'aime dire que l'accent est désormais davantage mis sur les machines que sur l'apprentissage.

La progression du machine learning en entreprise est également ralentie par son écosystème environnant. L'ingénierie des données n'avance pas aussi vite qu'elle le devrait. Il n'existe pas beaucoup de solutions abordables pour stocker et traiter les données en cours de création. Les entreprises sont capables de créer d'énormes quantités de données, mais ne sont généralement pas en mesure de stocker correctement ces données ou de les utiliser. Les chefs de produit trouvent également plus facile d'imaginer ce que les ingénieurs logiciels peuvent créer, mais ce qui est possible via l'apprentissage automatique n'est pas très clair pour quiconque en dehors du domaine restreint. Ce sont deux exemples de la raison pour laquelle les entreprises ne sont pas en mesure d'exploiter pleinement le potentiel de leurs équipes d'apprentissage automatique.

Bartek Roszak : Ça bouge extrêmement vite. Je me souviens quand nous avons construit un système d'IA conversationnel à partir de zéro dans la langue polonaise. J'avais l'impression que chaque mois, de nouveaux changeurs de jeu potentiels apparaissaient dans le domaine de la PNL, de la reconnaissance vocale et de la synthèse vocale. Nous devions prototyper quelque chose de nouveau chaque mois pour vérifier si nous pouvions obtenir de meilleurs résultats avec les nouvelles technologies. Même maintenant, de nombreux articles prometteurs dans des domaines tels que l'apprentissage multitâche ou l'optimisation des réseaux de neurones sont publiés régulièrement.

Clé à emporter

Les progrès de l'apprentissage automatique sont très rapides, en particulier dans des domaines comme le langage, les modèles génératifs, les architectures de réseau ou les outils utilisés par les spécialistes du ML.

Cependant, certaines zones de ML se sont stabilisées et ne progressent pas aussi rapidement. L'un des principaux domaines à la traîne semble être la compréhension de la manière de générer de la valeur commerciale avec le ML.

Question n° 3 :Votre plus grand défi actuel en matière de machine learning ?

Sur quoi travaillez-vous, et quel est le problème le plus brûlant à résoudre, ou la fonctionnalité à créer, qui vous préoccupe actuellement ?

Josh Tobin : Je travaille actuellement sur l'infrastructure pour aider les data scientists à passer de l'expérimentation à la production. À mon avis, le manque d'outils et de méthodologie autour du ML de production est le principal obstacle à l'impact réel du domaine.

John Langford : Les progrès consistent généralement à élargir le champ d'application de l'apprentissage automatique. Il y a beaucoup de questions ici, mais l'une des plus intéressantes pour moi est celle des algorithmes qui apprennent directement la structure causale du monde (selon Kinematic State Abstraction et Provably Efficient Rich-Observation Reinforcement Learning).

Si nous parvenons à développer pleinement cette capacité, cela ouvrira de toutes nouvelles fonctionnalités :imaginez un robot qui apprend à utiliser directement ses actionneurs, par exemple.

Stylianos Kampakis : Je travaille sur beaucoup de choses différentes, y compris un nouveau livre qui traite de l'histoire de l'apprentissage automatique ! De plus, je travaille sur un produit d'analyse augmentée appelé Datalyst. Je crois que l'avenir de l'apprentissage automatique réside dans AutoML et l'analyse augmentée, et j'essaie de pousser les choses dans cette direction.

Jakub Czakon : Nous avons créé un outil, Neptune, qui aide les spécialistes de l'apprentissage automatique à organiser leurs expérimentations. En discutant avec de nombreux praticiens et chercheurs en ML, je suis arrivé à la conclusion que cela dépend fortement :que vous fassiez partie d'une équipe qui a des modèles en production, ou que vous fassiez de la recherche, ou que vous fassiez partie d'un cabinet de conseil qui crée des POC pour les clients. s'il est logique d'y ajouter du ML.

Je pense que le besoin le plus pressant est conditionné par l'équipe dans laquelle vous travaillez. Il peut s'agir de gérer des expérimentations, de créer rapidement des démos, de surveiller des modèles de production ou de déployer efficacement des modèles sur des appareils périphériques ou des téléphones mobiles.

Tarek Amr : Je travaille dans un marché de billetterie d'occasion. La mission de l'entreprise est d'être un lieu sûr, pratique et équitable pour acheter et vendre des billets électroniques pour des concerts, des festivals, des événements sportifs, du théâtre et des excursions d'une journée. Cela signifie que mon équipe et moi travaillons à atténuer la fraude et à créer des algorithmes de recommandation pour personnaliser l'expérience utilisateur sur notre plateforme. Nous nous efforçons également de développer notre activité en automatisant les tâches fastidieuses et en créant des modèles pour prédire l'avenir. Nous créons des modèles pour prédire l'offre, la demande et la valeur vie client, afin d'aider nos collègues à mieux aider nos utilisateurs.

Bartek Roszak : La partie modélisation semble être la plus facile maintenant, mais construire toute l'infrastructure autour d'elle est un défi. Voici les défis qui apparaissent parallèlement à la partie modélisation :processus ETL et magasin de fonctionnalités, mise en œuvre d'une surveillance appropriée des performances du modèle et des dérives de données, création d'outils pour la vérification manuelle des erreurs et l'étiquetage des données personnalisées, garantie du contrôle de la version du modèle et des données, et fourniture aux scientifiques des données puissance de calcul flexible.

Ce sont tous des domaines que tout système d'apprentissage automatique mature doit implémenter correctement afin d'avoir un système d'apprentissage robuste. Néanmoins, le plus grand défi pour l'apprentissage automatique est d'orchestrer tous les systèmes pour qu'ils fonctionnent comme un seul.

Clé à emporter

Le manque d'outils et de méthodologie autour de la production de ML ainsi que la construction de l'ensemble de l'infrastructure sont quelques-uns des plus grands défis empêchant la technologie d'avoir un impact étendu sur le monde réel.

Surmonter les défis et élargir le champ d'application du ML permettrait de nombreuses nouvelles fonctionnalités de la technologie.

Question #4 :À quoi l'apprentissage automatique sera-t-il indispensable à l'avenir ?

Certaines personnes savent que l'apprentissage automatique est la chose qui personnalise leur flux Netflix, d'autres le savent grâce à la science, par exemple plusieurs nouveaux médicaments sont en cours de développement avec l'aide du ML. Ces applications sont intéressantes mais, selon vous, pour quel type de problèmes ou d'activités le ML va-t-il devenir indispensable à l'avenir ?

Josh Tobin : La robotique est l'application du ML qui me passionne le plus à long terme, mais nous sommes peut-être encore loin de l'omniprésence. La gestion des connaissances et la recherche sont l'une des applications les plus sous-estimées de l'apprentissage automatique. Les gens sous-estiment également la longue traîne des applications sur mesure du ML dans l'industrie.

John Langford : Je crois que l'apprentissage automatique interactif a un grand potentiel pour aider les humains à mieux interagir avec les appareils informatiques. Les signaux que nous utilisons pour contrôler les appareils de calcul sont généralement ambigus, donc si nous pouvons trouver les moyens appropriés/naturels de décoder cette ambiguïté, les choses fonctionneront beaucoup mieux. Nous n'en sommes pas encore là.

Je pense également que l'apprentissage automatique peut être extrêmement utile dans le domaine de la santé à bien des égards. Le nudging peut aider à soutenir des habitudes saines tandis que les tests du système immunitaire/du cancer peuvent aider à découvrir les bons choix d'immunothérapie pour guérir les gens.

Stylianos Kampakis : Tout type de personnalisation à coup sûr. Et cela peut signifier n'importe quoi, de la vente au détail (par exemple, les systèmes de recommandation) à la médecine de précision. Et aussi la robotique. Des choses comme les véhicules autonomes et les drones domineront une fois qu'ils seront sortis !

Jakub Czakon : Dépend du délai. Je pense que nous arriverons à l'automatisation de presque tout ce que nous faisons aujourd'hui, mais cela peut prendre beaucoup de temps. Surtout si nous affirmons que nous pouvons automatiser la médecine aujourd'hui, où les solutions à moitié cuites sont vouées à l'échec et donnent une mauvaise réputation au ML. À court/moyen terme, nous devrions privilégier l'aide plutôt que l'automatisation.

Pour en revenir à la question, je parie sur le transport commercial, la détection précoce des problèmes de santé courants et l'aide aux personnes âgées (à la fois physiquement et psychologiquement).

Tarek Amr : J'aime catégoriser les problèmes que le ML résout en prédictions, automatisation et personnalisation. Les prédictions sont les premiers exemples qui viennent à l'esprit lorsqu'on pense à l'apprentissage automatique. Pourtant, de nombreux praticiens peuvent se lancer dans des prédictions sans avoir de cas d'utilisation clair sur la manière dont les autres parties prenantes peuvent utiliser leurs prédictions.

L'automatisation est plus claire, d'autant plus que d'autres équipes (comme les chefs de projet et les ingénieurs logiciels) s'attaquent déjà quotidiennement à des problèmes similaires. Je crois que dans un monde post-COVID-19, le besoin d'automatisation augmentera. Toutes les entreprises qui ont été financièrement touchées pendant la pandémie commenceront à se tourner vers l'automatisation pour réduire les coûts. De plus, les progrès du traitement du langage naturel s'intègrent bien dans les tâches d'automatisation.

La personnalisation est un autre cas d'utilisation courant. Mais nous devons nous rappeler que la personnalisation est plus adaptée lorsqu'elle résout un problème. Les gens pensent au prix de Netflix pour construire un système de recommandation, comme si l'entreprise cherchait juste une fonctionnalité intéressante à ajouter à son produit, alors qu'en fait, elle cherchait à résoudre un problème existentiel pour son entreprise. Netflix, à l'époque du DVD, voulait amener ses utilisateurs à vouloir un mélange de titres chers et bon marché, sinon leur modèle commercial n'aurait pas bien évolué si tous leurs utilisateurs ne demandaient que des titres chers.

Bartek Roszak : L'apprentissage automatique d'aujourd'hui est indispensable dans de nombreux domaines tels que les systèmes de recommandation, les systèmes conversationnels et les systèmes de surveillance.

À l'avenir, je m'attends à ce que la race humaine essaie d'aller de l'avant avec l'exploration spatiale car il y a de plus en plus de raisons de le faire. Nous aurons besoin de robots plus intelligents pour remplacer les humains dans certaines conditions de travail, comme la gestion des radiations, et travailler de manière autonome sans intervention humaine. Pour établir une station dans l'espace lointain, sur la Lune ou sur Mars, nous aurons besoin de nombreux systèmes avancés d'apprentissage automatique capables de fonctionner sans notre intervention.

Clé à emporter

Certains des domaines les plus passionnants où le ML deviendra indispensable sont :

  • la robotique et l'interaction avec les machines
  • gestion des connaissances et recherche,
  • la personnalisation (de la vente au détail à la santé),
  • prédictions,
  • automatiser une grande partie du travail que les gens font aujourd'hui.

Question n° 5 :Le plus grand changement à venir pour le machine learning ?

Dans un podcast récent, David Patterson a déclaré que la loi de Moore s'est arrêtée et que les machines ne se développent plus à un rythme effréné (la même augmentation des performances qui se produisait auparavant sur quelques mois prendra désormais 10 à 20 ans ). Il poursuit en ajoutant que désormais, la principale augmentation des performances proviendra de l'accélération spécifique au domaine. D'autres experts ont averti que les modèles d'apprentissage automatique actuels sont trop inefficaces, gaspillant beaucoup d'énergie et de capacité de serveur, d'où l'introduction des métriques MLPerf. À la lumière de ces informations, selon vous, qu'est-ce qui changera le plus la donne dans le domaine du ML dans un avenir proche ?

Josh Tobin : Je ne parierais pas contre la capacité des chercheurs en ML à continuer à construire de meilleurs modèles principalement à grande échelle. Je pense que le goulot d'étranglement le plus probable est le coût des données étiquetées, c'est pourquoi l'apprentissage non supervisé et les données synthétiques sont des directions de recherche si passionnantes.

John Langford : Je m'attends à ce que les gains d'efficacité du ML apportent une certaine valeur. Cependant, ce qui change la donne dans mon esprit, ce sont les algorithmes d'apprentissage interactif. La majeure partie de l'apprentissage automatique est basée sur des approches d'apprentissage supervisé où vous connaissez la bonne réponse et implicitement toutes les mauvaises réponses, ainsi que leur degré d'erreur.

Les problèmes naturels du monde réel n'ont généralement pas cette structure. Au lieu de cela, ils ressemblent davantage à un apprentissage par renforcement. La maîtrise de ces domaines nécessite beaucoup plus de réflexion, de soin et de dispositifs algorithmiques, mais nous y arrivons vraiment.

Stylianos Kampakis : Tout cela est absolument correct. Je pense qu'un grand changement potentiel serait la création d'un nouvel ensemble d'algorithmes qui peuvent apprendre plus efficacement à partir des données. Les approches actuelles sont très gourmandes en données et lentes.

Les humains, en revanche, ne peuvent apprendre qu'à partir de quelques exemples. Nous avons donc besoin d'algorithmes "plus intelligents", qui n'ont pas besoin de 10 GPU et de 5 téraoctets de données pour fonctionner avec succès ! Je pense que nous pourrions voir un changement dans cette direction dans les prochaines années.

Jakub Czakon : Je pense que nous devrions d'abord revenir aux fondamentaux et nous assurer que nous construisons des choses qui ont de la valeur pour les gens, et pas seulement des technologies intéressantes. Je ne crois pas que la technologie soit intrinsèquement bonne ou mauvaise, il y a des asymétries.

Les deep fakes pour le texte/voix/image ou vidéo seront davantage utilisés par les mauvais acteurs. Le biais algorithmique dans les systèmes qui ont des boucles de rétroaction est un problème réel et énorme. Et pourtant, nous avons un parti pris en pensant qu'un algorithme est basé sur des données, il doit donc être juste.

Nous ne pouvons pas simplement dire "Ouais, ce n'est pas utilisé correctement" et continuer avec nos modèles de formation de jour et nos lectures d'articles. Parfois, la meilleure solution pour construire un modèle qui apporte de la valeur à la société est de ne pas le construire. Je ne pense donc pas que le problème que nous ayons réside dans la vitesse de construction, mais plutôt dans quoi nous construisons/recherchons.

J'aime cette expérience mentale avec une urne d'innovation (d'abord entendue par Nick Bostrom). Dites que chaque innovation est une balle. Le vert est clairement bon, le rouge est clairement mauvais et le jaune est quelque part au milieu. Tout au long de l'histoire, nous avons principalement trouvé des balles vertes, et nous avons donc accéléré le processus de retrait de nouvelles balles. Nous avons trouvé des bombes jaunes délicates comme l'énergie nucléaire mais, heureusement pour nous, produire une bombe nucléaire est très difficile. Mais disons qu'il y a une innovation que nous pouvons trouver qui peut causer autant de dégâts qu'une bombe nucléaire, mais qu'il faut une pomme de terre, de l'eau et un ordinateur portable à 400 $ pour la construire. Nous pourrions avoir des ennuis.

Nous devrions commencer à nous demander si retirer toutes les boules de l'urne d'innovation aussi vite que possible est la bonne voie à suivre. À un moment donné, surtout si nous n'y pensons pas, nous pouvons tomber sur une boule rouge sang.

Tarek Amr : Comme mentionné précédemment, l'apprentissage automatique a rompu avec le milieu universitaire pour épouser la grande technologie. Son avenir est clairement dans les grandes poches de FAANG compte tenu de sa dépendance à l'égard de données gigantesques et d'une puissance de traitement inabordable. Ainsi, il est clair que le changeur de jeu actuel est la capacité d'accumuler des données et l'offre de machines plus puissantes.

Cela changera-t-il à l'avenir ? Eh bien, les GPU se sont avérés utiles pour accélérer les temps de formation. Ils sont encore coûteux à utiliser, mais comme toute autre technologie, ils devraient devenir moins chers à l'avenir. L'autre goulot d'étranglement provient des algorithmes ML. De nombreux algorithmes largement utilisés de nos jours ne sont pas parallélisables. Lorsque nous avons atteint une limite de traitement, l'industrie est passée à la parallélisation, et les algorithmes d'apprentissage automatique doivent suivre cette tendance pour être évolutifs et abordables. Outre la puissance de traitement, les données sont le deuxième élément où la grande technologie excelle. Les entreprises doivent apprendre à partager leurs données pour correspondre à la richesse des données dont dispose FAANG. L'industrie doit également faire des sauts beaucoup plus importants sur le front du stockage des données, où les étapes de modernisation sont trop timides pour répondre aux besoins actuels.

Bartek Roszak : De mon point de vue, les réseaux de neurones multimodaux tirent parti de différents types de données comme les données structurées, les données textuelles, les données d'image ou même les données audio. Chaque entreprise collecte désormais autant de données que possible. Si une entreprise veut être véritablement axée sur les données, elle doit utiliser et combiner toutes les informations dont elle a besoin dans un seul modèle. C'est un domaine qui n'a pas été exploré dans une grande mesure, donc je m'attends à ce que nous y assistions à de nombreuses percées. La combinaison de toutes les données détenues par une entreprise dans un seul modèle a un grand potentiel pour changer la donne en matière d'apprentissage automatique.

Clé à emporter

Les plus grands changeurs de jeu pour le ML à l'avenir pourraient provenir de :

  • apprentissage non supervisé,
  • données synthétiques,
  • algorithmes pour l'apprentissage interactif,
  • déterminer les bons produits de ML à créer

Question n° 6 :Tout le monde devrait-il apprendre à programmer ?

Durant son mandat de dictateur bienveillant de Python, Guido van Rossum s'est toujours efforcé de rendre le langage aussi lisible et facile à apprendre que possible. Mais il a récemment déclaré qu'il ne croyait plus que la programmation était une compétence de base que tout le monde devrait apprendre. D'un autre côté, si toutes les industries doivent se numériser, l'un des rôles clés sera de programmer des robots/d'automatisation et de maintenir le code. Quelle est votre opinion ? La programmation peut-elle encore devenir une compétence de base ? L'IA rendra-t-elle la programmation encore plus obscure ?

Josh Tobin : Je pense que ce sera quelque part entre ces deux futurs. De nombreux emplois seront de la "programmation" dans le sens où ils impliquent de programmer un ordinateur pour effectuer une tâche à plusieurs reprises, mais la "programmation" dans le sens d'écrire du code explicite sera plus rare que d'interagir avec un système d'IA pour lui apprendre quelle tâche doit être résolu.

John Langford : Je crois que la programmation est une excellente compétence de base et j'ai travaillé pour enseigner à mes enfants à programmer. C'est une compétence à laquelle tout le monde devrait être exposé, car le point de vue algorithmique vous aide à décomposer des tâches complexes en tâches simples et à faire avancer les choses dans la vraie vie.

Et n'oublions pas le débogage :apprendre à déboguer votre propre code est une grande compétence de vie puisque vous apprenez également à déboguer votre propre pensée.

On the other hand, machine learning provides a new kind of programming—learning by demonstration is the crudest understanding of this, but it's more like “learning from experience” in general.

Tasks that can be solved by a human-readable language probably should be, so in the future I expect complex mixtures of learning and coding to be the norm. An example I’ve worked on in this direction is in this paper:A Credit Assignment Compiler for Joint Prediction.

Stylianos Kampakis: I think that learning how to code now is easier than ever. That being said, there is also a strong movement towards NoCode solutions. So, anyone can develop an app, without knowing how to code.

I think we will see more of that in the near future. While coding is more accessible than ever, it might also become less important, as NoCode solutions dominate the market.

Jakub Czakon: I think programming and software development are two different things but people often think they are the same.

Programming, which can be as simple as hacking something around, automating something that you hate doing will be valuable. I think everyone would be better off after reading “Automate the Boring Stuff with Python.” It’s like Excel, or email, or stats. If we all had a decent understanding of those things our society would be a tiny bit better, I believe.

Now software development is an entirely different thing. It takes understanding the system approach, tests, infrastructure, fail-checks and about a million other things. I don’t think we should all be software devs.

Tarek Amr: I remember once teaching Python to a classroom of 12-year old children. They must be in their early 20s now. I am sure most of them did not end up studying computer science. Maybe none of them does. But I am sure programming opens their minds to different ways of thinking the same way maths and even music does. That’s why I favor Guido van Rossum’s initial stance, that programming languages should be as readable and easy to learn as possible.

A couple of weeks ago, we saw people on the internet using GPT-3 to automate writing HTML code and SQL queries. Give it some time, and GPT-3 combined with AutoML will start building machine learning models based on the stakeholders’ problem description. A frontend developer, whose job is to build a web page exactly as outlined in a Jira story, should definitely worry lest his job be automated soon. Same for a machine learning practitioner who is waiting for other stakeholders to explain the solution needed, not the problem to be solved.

In reality, the job of a software engineer, like that of a machine learning engineer, is about solving problems and thinking of the bigger picture. It’s less about writing the code, and more about building the architecture, knowing where to find the data, deciding which solution scales better, and much more. These aspects are harder to automate at this moment. They may be automated in the future for sure, hard to tell, but not in the very near future at least. In brief, programming robots will not automate anyone’s job, but will make everyone's job more productive. And by the way, the phrase “making someone's job more productive” is a nicer way of saying “making companies rely on fewer employees.”

Key takeaway

Programming is an excellent skill because the algorithmic viewpoint helps you decompose complex tasks into simple ones and get things done in real life. Learning how to code is easier than ever and it has great benefits.

Not everyone has to become a software developer, with all of the additional knowledge and skills necessary for that job—but basic programming knowledge will be increasingly important.

As for the business side, NoCode solutions are already prominent and will only get better with ML, so building software by telling AI what kind of program you need is going to become the norm.

Wrapping up

That’s it for now, and I don’t know about you, but for me this journey into the ML world was very enlightening. Hope you enjoyed it as much as I did!

Thank you to Josh, John, Stylianos, Jakub, Tarek, and Bartek for providing us with rich insights into the fascinating domain of machine learning.

Further reading:

  • The Best Machine Learning Blogs and Resources
  • Machine Learning from the Woods:Exploring Tree-Based Ensemble Models in Python

If you need an expert team for a machine learning project, tell us about your project!