 Bonsoir, Montréal-Piton. Good evening Montreal-Piton and welcome to Montreal-Piton 91 Exotic Viking. Bienvenue à Montréal-Piton 91 viking exotique. Ce soir, nous allons une soirée pas très chargée, ça nous laisse plus de temps pour le 5 à 7. Laissez-moi vous parler du programme pour la soirée. Mais avant tout, je dois vous mentionner qu'on a un code de conduite à Montréal-Piton. Et le code de conduite, c'est très simple. En gros, ça dit, soyez très canadiens. Soyez polis et courtois. Et si jamais il y a quelque chose que vous voyez pendant la discussion ou quoi que ce soit, qui vous semble pas polis et courtois, trouvez-moi Yannick ou Duc sur Slack. Et puis on va se faire un plaisir de régler ce problème-là. So before we go any further, I have to mention we have a code of conduct here at Montréal-Piton. It basically says that we should be all very Canadian. Polis and courtois. If you see something that doesn't feel polite or courtois to you, well find me Yannick or Duc. And we will do our best to resolve that problem. Our programme for tonight. Let me change my slide. Our programme for tonight is very simple because unfortunately, two of our speakers tonight could not attend that would be Yuri and Daniel. They will join us at a later meeting sometime later during this year. But tonight, Noah Gift is going to give us a presentation on ML Ops. And then we're going to have our virtual happy hour, which is basically just a video conferencing. You grab your favorite drink and we chat about whatever is exciting in our lives. Alors notre programme ce soir, car malheureusement, nous avons eu deux annulations de dernière minute. Ce sera simple. Il va avoir Noah qui va nous parler de ML Ops. Par la suite, on va avoir notre apéro virtuel sur JT, simplement une vidéo conférence. On va aller chercher notre rafraîchissement préféré et puis on va discuter des choses intéressantes dans notre vie. Yuri et Daniel, qui ne pourront pas présenter ce soir, vont présenter plus tard pendant l'année. On vous tient au courant de comment ça va se dérouler. Autre chose. Il va avoir une soirée programmation lundi prochain. Et donc nos soirées de programmation, si vous vous souvenez, c'est essentiellement des soirées de pair programming légèrement orientées et avec un sujet directeur. Donc on se retrouve ensemble, on ouvre un éditeur partagé et puis on se met à coder. La soirée de lundi prochain, ça va être les concepts de base, donc programmation assez rudimentaire avec Python. Et on va voir les choses de base, les types, les boucles, ce genre de choses. Donc si vous n'êtes pas super familier avec Python, eh bien joignez-vous à nous. Ça va être principalement en français, mais on accepte bien entendu les questions, les commentaires en anglais. Il va avoir Montréal-Python 92, Wi-Fi dentaire le mois prochain, le 21. Et une présentation qui est déjà confirmée va être Daniel, non, Guillaume Bélanger, qui va nous parler intéressant de gestion de réseau cellulaire avec Python. Ça me semble complètement fascinant qu'on puisse faire ce genre de choses-là avec Python. On a notre page Facebook, notre page LinkedIn. On a notre calendrier 2022 qui a été mis à jour. Je vous invite à le regarder. On va voir nos rencontres mensuelles. On va voir des soirées de programmation mensuellement. On va avoir un spring de traduction vers le mois d'avril. Et autre chose là, si vous voulez qu'on fasse d'autres choses, ça va nous prendre quelques bras additionnels. Donc on vous invite à amener vos doigts qui tapent vite avec vos claviers et à vous joindre à notre équipe. On a gravement besoin d'un nouveau trésorier Pierre qui était notre trésorier pendant plusieurs années doit malheureusement quitter son poste et puis ça nous prend quelqu'un pour payer nos factures. Je suis tout à fait pas qualifié pour faire ça. Alors si vous avez des aptitudes à payer les factures ou à partager ce que vous aimez faire en Python, bien, joignez-vous à notre équipe. Contactez-nous sur Slack ou notre adresse. Le courrier est posté un peu partout. Et on vous atteint à bras, grands oeuvres. OK, d'autres choses. La semaine prochaine, le mois d'avril, on va avoir une soirée de programmation. Donc notre soirée de programmation est, basically, une soirée de programmation légèrement directée. On va avoir un éditeur de texte et nous avons un sujet à chaque soirée. Et le mois d'avril, il va y avoir des concepts de Python. On va voir les types, les loops, des choses comme ça. Donc si vous êtes juste commencé en Python, la semaine prochaine, joignez-vous à nous et nous allons nous coller ensemble. Il sera surtout en français, mais nous avons toujours accepté des questions et des commentaires en anglais, bien sûr. Le mois d'avril, le 21er, on va avoir le Montero Python 92, le Dental Wi-Fi. Et une présentation est confirmée. Il va être... Guillaume Boulanger. Délanger. Je m'excuse, Guillaume. Et il va parler de management de un network salaire avec Python. On n'a pas d'idée qu'on pourrait faire ça. Donc ça va être très intéressant. Follow-us sur LinkedIn et Facebook et tous ces places. J'ai posté le lien sur notre calendrier 2022. On a beaucoup d'événements. Si vous voulez voir plus d'événements, nous avons besoin d'adhésion. Ouvrez vos fingers et vos keyboards et nous enjoins. Et nous aidez à mettre ces événements ensemble. Nous avons besoin d'un nouveau traiteur. Ce traiteur est très simple. C'est la personne payant nos bails. Je ne suis pas bien pour faire quelque chose comme ça. Si vous êtes particulièrement bien à payer les bails, nous enjoins. Ce serait bien. Et la dernière chose. Je voudrais remercier FGNR. FGNR est hosté sur notre plateforme de videoconference pour nos bonheurs. Et nous sommes très heureux qu'ils prennent ce service. Maintenant, en français, je reviens avec la langue de Molière. Ce soir, nous avons l'honneur de vous présenter un invité qui est un homme avec une coupe de cheveux absolument élégante. C'est l'autor de 3 livres sur la programmation et sur la machine-learning. C'est un professeur adjoint à l'Université de Dieu qui parle directement de Caroline du Nord. Aujourd'hui, nous sommes heureux de vous présenter un homme avec une coupe absolument élégante. C'est l'autor de 3 livres, un programme Python et un programme machine-learning. C'est un professeur adjoint à Duke University et il parle directement de nous de Nord Carolina. C'est un adjoint professeur de Duke University pour l'Université de Dieu. Tous ces livres sont improvisés par les ennemis de la situation de la France. Ces livres nous ont apporté de la pandémie d'une Lovely Leur de l'Université de Dieu en avec MLOps. Donc, je pense que ce qui est très intéressant sur MLOps est que, selon les autres topics, comme, je ne sais pas, les frameworks de web, les tools de commandes, les computing de cloud, etc., ce qui est très rapide. Ce qui est très rapide, c'est comme si vous êtes sur lave ou quelque chose. Il y a beaucoup de choses à faire avec MLOps. Je vais définitivement couvrir des concepts très intéressants, et puis faire un petit peu de coding aussi. Et puis, je suis heureux de parler d'une des nouvelles choses que je travaille sur avec MLOps. Je pense que c'est une très intéressante place pour les gens qui y sont. Excellent. Vous voulez parler d'autre chose avant de faire une présentation ou comment vous vouliez utiliser votre temps, comment vous le ressentez, c'est le meilleur pour communiquer votre excité sur les topics de MLOps. Je ne sais pas très bien comment, donc j'espère que vous pourrez nous donner une petite overview et nous prendre où vous voulez. Je vais juste partager mon écran très vite et je peux commencer avec quelques slides. Si quelqu'un veut interpréter je vais juste aller ici et nous allons commencer avec ceci. Vous devez voir cela parfait. Et puis je vais aller dans la mode de présentation. La idée avec MLOps est d'expliquer mon background un peu, parce que je pense que ça va aider à expliquer pourquoi MLOps est un bon format. Et donc c'est un format tout à fait d'autres aspects, d'autres aspects, d'autres aspects, d'autres aspects. Il y a desgiages tout à fait que le film est un peu plus d'abord, il y a des points mais ça peut être un peu plus sauvage. et je pense que si les entreprises veulent acheter un des meilleurs, je dirais des ingénieurs de date à l'heure, et qu'ils regardent des gens de film, parce que les gens de film ont été construits sur les pipelines de date en large scale, des clusters uniques pour un long temps. Et c'était vraiment une grande expérience pour moi de travailler à Disney, j'ai aussi ensuite travaillé à Sony ImageWorks, sur leur première pipeline de 3D animé, j'ai joué à basketball avec Adam Sandler à lunch, c'était assez drôle. Il est en fait un bon joueur de basketball. Et les dernières années, j'ai écrit beaucoup de livres pour Riley. Et puis, quand je suis allé au Bay Area, et c'était peut-être 2008, j'ai construit une compagnie social-média de scratch, il y avait une compagnie social-média des sports, et nous avons eu des millions d'utilisateurs. Il n'a finalement pas travaillé, mais ça m'a donné une perspective très bonne sur les MOops, parce qu'on a construit beaucoup de différents produits machine learning. C'était en 2013. Et nous avons mis ces products en production, nous avons utilisé Python, Lang, C-Sharp et R. Donc, nous avons eu beaucoup de langues, et évidemment, le JavaScript. Et après ça, en 2016, j'ai commencé à faire des consultations, et en 2016 à 2022, maintenant, j'ai fait des consultations à parler à plusieurs universités. Je suis currentement en N'Dcarolina, mais je suis sur un endroit, je me sens comme un citoyen global, je suis un fan de Europe, Canada, New Zealand, tout le monde, je pense qu'il y a beaucoup de places qui sont belles pour vivre. Et puis, j'ai récemment écrit le livre « Practical MLops » et je travaille sur un autre livre pour Riley sur C-Sharp, C'est mon bâtiment. Maintenant, on va parler un peu de l'imelops. La première chose que je vais faire c'est de l'imelops. Qu'est-ce que c'est le point de l'imelops ? Les cas de l'imelops vont faire un petit peu de code, et puis on va faire une Q&A. Et je ne peux même pas faire plus de code après ça. Mais pour commencer, je pense que l'imelops... Je pense que c'est une question très bonne. Je dirais qu'il y a peut-être 1 000 personnes, peut-être plus, en termes de science data. J'ai definitivement vu qu'il y a un besoin pour faire l'imelops. Et je pense que c'est une considération très importante. Et partie de cela, c'est que si vous regardez les choses comme la crise COVID-19, ça a réveillé le besoin pour pouvoir s'adapter rapidement. Donc, on va dire que dans le futur, j'espère que ça ne peut pas se passer, mais dans le futur, on va dire que dans 10 ans, il y a une nouvelle crise, on pourrait rapidement identifier les signes qui viennent et utiliser la machine-learning pour peut-être obtenir une meilleure handling des choses, pour obtenir une meilleure discovery de drogue. Je pense que c'est une des choses que je pense que la société peut avoir besoin de plus de tools et de meilleures capacités opérationnelles. Je pense que c'est partie de ce que l'imelops est. Et puis, comment vous commencez avec l'imelops ? Je pense que c'est une bonne question pour les gens. Et je dirais que la compétition fondationnelle est que vous devez avoir des devops. Et on va le faire dans un second, mais si vous n'avez pas des devops, vous ne pouvez pas faire de l'imelops. Vous devez avoir l'obligation de continuer de l'intégration et de continuer de la delivery. Et si vous avez ça, l'imelops, ça fait beaucoup de sens pour votre société et que vous avez déjà compris comment continuer d'improuver les choses à la scale. Et une des choses que j'ai mentionnée beaucoup aux étudiants, quand je l'imelops, c'est, comme je le disais, ou l'imelops, l'instrumentation, l'obligation, les pratiques opérationnelles, je dis que si vous êtes des étudiants, vous ne comprenez pas que les étudiants sont l'un des choses les plus importants pour faire des décisions. C'est tout le monde qui sait comment faire des décisions sur les données, c'est des étudiants. Donc, si vous mettez quelque chose en production et vous n'avez pas regardé les données, comment vous pouvez vous dire que vous êtes étudiants? Et donc, en un moment, vous pouvez penser à monétrier et à l'instrumentation comme des étudiants pour le software. Et nous allons parler un peu de l'imelops, les plateformes. Je pense que c'est un moment où il y a un très bon use case pour utiliser les choses que d'autres personnes ont créées dans le cas de AWS. Vous pouvez utiliser SageMaker, Azure, Azure ML Studio, Google, Vertex AI, d'autres plateformes 3rd party. Il y a une entreprise qui a été dealée avec Aguazio qui a un grand Imelops plateform. Il y a Databricks qui ont un Imelops plateform. Il y a beaucoup de plateformes. Je pense que la plateforme est probablement parce qu'il y a des features qui sont très difficiles d'être en train de retrainer dans le futur. D'accord, où sont les choses qui ont été ajoutées? Le journal Wall Street, Octobre 6, 2020 a dit qu'il y avait 775 000 jobs en cloud de 400 000 en 2019. 2022, qui sait? Le marché de travail est juste en train de s'occuper des gens. Et si vous regardez ce qui se passe, je pense que c'est très intéressant, c'est que vous voyez que la science data est en train de s'occuper et vous voyez que l'ingénieur machine est en train de s'occuper et vous voyez que le cloud est en train de s'occuper. Qu'est-ce qui se passe? Ça veut dire que la science data est en train de s'occuper des programmes de science data UC Davis, Northwestern, Duke. Je pense que c'est un grand degré, mais c'est juste d'être sûr que c'est dans le contexte d'un problème qu'on s'occupe. Et donc le cloud computing, l'ingénieur machine, l'ingénieur machine, je pense que c'est vraiment les zones où il y a juste de l'entraînement et ce que la science data peut s'occuper, c'est une capacité d'expertise domainique. Et je pense qu'il y a un grand demandat pour les gens de s'occuper d'une fonctionnalité de leur travail. Je pense que le travail est moins clair parce qu'il y a d'autres taux de travail qui sont là-bas, including l'ingénieur machine, l'ingénieur MLOPS personnel. Qu'est-ce que le DevOps et le MLOPS ? Comme je l'ai mentionné, si vous n'avez pas le DevOps, vous ne pouvez pas faire le MLOPS. Ce n'est pas possible. Il a fait des recherches sur comment vous devenez un humain actualisé et que vous vivez de votre potentiel. Vous devez avoir les basics qui sont de la nourriture, de la santé, ce genre de choses. Donc, avec le MLOPS, si vous n'avez pas des basics, les basics seraient des DevOps. Vous avez de l'intégration continue, vous avez de la delivery continue, vous avez des codes de qualité et d'improving votre leriture. Avec ce modèle, on dirait, qu'est-ce que vous avez des contacts, vous pouvez poursuivre le MLOPS ou vous pouvez faire un emplacement ? Vous pourrez s'appliquer du MLOPS, de eg NTG, et vous avez des contacts ou desflows. On va vousоляire dans la production de l'absence de MLOps. Alors, on parle d'une delivery continue en particulier. Je pense que la delivery continue est un intéressant, car la idée ici est que, grâce au Cloud et au Cloud qui a le concept de virtualisation complète, vous pouvez créer un nombre infinitaire d'environnements. Il n'y a pas de pénalité de créer des nouveaux environnements, c'est juste un file ou un file config, ou l'infrastructure et la code. Et donc, vous êtes un repository GitHub, vous pouvez avoir une branche principale, une branche de production, une branche de production. Vous allez dans, vous buildez votre code, vous déploiez automatiquement dans les branches. Et parce que vous utilisez l'infrastructure et la code, vous pouvez programmatiquement déployer les choses dans un moyen safe et important. Donc, vous savez que, no matter how many times you do the delivery, it will always have the same effect. Et c'est vraiment une capacité, c'est pas disponible, unless you're using the cloud. Et avec un data centre physique, le problème avec ça, c'est que, vous allez avoir à un certain niveau, ne pas pouvoir faire full virtualisation ou full abstraction, parce qu'à un moment, c'est du hardware physique. Et je pense que c'est vraiment l'une des choses claires qu'EmoLabs vous donne, c'est que, quand vous pouvez tirer sur les pratiques de cloud computing, vous pouvez faire beaucoup de choses très intéressantes. Donc, DataOps, je pense, est un concept très bon, pour penser à... Un moyen que j'aime décrire c'est que vous pensez dans la situation hypothétique où vous vouliez construire une ville de scratch. C'est-à-dire que vous vouliez construire une ville. Je pense que je l'ai entendu récemment, non, pas Tesla, les SpaceX, les gens, ils voulaient construire une ville en Texas et ils n'avaient pas d'eau. Il y a tous ces problèmes techniques avec construire une ville. Je pense que l'une des premières choses qu'il faut faire c'est que vous vouliez avoir d'eau. Et si vous pensez vraiment dans le problème, ce n'est pas juste que l'eau vienne, c'est aussi que l'eau vienne. Donc, vous devez avoir de l'eau sanitisée pour construire une ville. Vous devez aussi avoir un système de sewage pour traiter l'eau, pour que ça ne crée pas. Par exemple, si vous commencez à aller plus loin et dire que vous voulez avoir un dishwasher et que vous vouliez avoir une chouette et que vous vouliez avoir toutes ces choses modernes, vous devez avoir les ingrédients et les outils qui sont allés, où vous ne pouvez pas construire ces choses. Parfois, si vous allez au ML Ops, vous ne pouvez pas construire les systèmes de machine-learning. Si vos ingrédients et les outils ne sont pas automatisés et ont une qualité de qualité, des ingrédients sanitisés et la capacité de traiter les outils. Donc, si vous pensez du cloud computing, du data lake en particulier, ce qui est le concept d'infini-storage, où vous n'avez pas de risques de CPU et de disco, il doit être là. C'est comme l'eau. C'est comme l'eau-hook-up. Et quand vous avez ça, tout de suite, ces choses sont disponibles. Donc, vous pouvez faire une collection de data périodale. Vous pouvez faire un store de feature. Vous pouvez faire des ingrédients de service, des ingrédients ou des développements. Vous pouvez aussi faire des versions de modèle d'infini-storage, parce que votre système d'infini-storage est capable de faire des choses et de travailler sur elles en place dans le data lake. Et puis, quand c'est fait, créez le modèle et le mettez dans le data lake. Donc, vraiment, c'est une zone très rigolo que c'est facile de penser, « Oh, je n'ai pas vraiment besoin de ça, parce que je suis en train de regarder les notebooks, ou je suis en train de regarder le cagol, ou quelque chose comme ça. Mais je pense que le meilleur moyen de penser en concept, c'est que vous puissiez construire une ville qui avait des vêtements modernes, des vêtements, des vêtements et des vêtements, des choses comme ça. Si vous n'avez pas de vêtements d'infini-storage ou de vêtements d'infini-storage, non, vous ne pouvez pas. Donc, comment pouvez-vous peut-être construire les systèmes de machine learning si vous n'avez pas de données en et en ? Donc, la formation de plateforme est vraiment la prochaine étape, ce qui est, OK, c'est de l'assumer, on a tout ça en train de travailler. On a des DevOps, on a le data, on a tout ça en train de travailler. Mais maintenant, quel code j'ai vraiment envie de faire pour moi-même ? Et c'est juste, peut-être qu'on n'a pas besoin d'aller dans tous les détails sur chaque partie de ce graph, parce qu'il y a beaucoup de choses qui se passent. Mais si vous pensez à l'esprit traditionnel, nous avons l'ingestion, nous avons l'exploration du data analysis, vous avez l'ingestion de modélisation, et puis vous avez la conclusion. Et dans ce scénario, c'est un peu simple. C'est bien, j'ai juste l'ingestion de data, j'explore, je modèle, et je fais la conclusion. Mais en pratique, depending sur le size de votre data, il y a peut-être une orchestration de computing distribuée. Donc, dans le cas de SageMaker, et c'est en fait quelque chose que j'ai architecté d'un projet de SageMaker réel, vous allez au premier et vous portez le data de S3. Donc, au premier, vous devez avoir quelque chose qu'il n'est pas fort enough pour protéger tout votre data. Et au second, votre plateforme doit être able de communiquer semblablement avec le lieu où vous portez le data. Et donc, dans le cas de Amazon, SageMaker et S3, ils travaillent très bien ensemble, et ils peuvent contrôler ce throughput de repos. Puis, quand vous voulez faire l'exploration du data analysis, et vous voulez commencer à entraîner, on dirait, un component principal de l'analyse, ou un modèle de clustering qui signifie, ou les deux, et combinons-les ensemble, vous devez couper 3 machines, ou 6 machines, ou 10 machines, ou 12 machines, et vous voulez vraiment mettre tout ce code qui mérite tout ce genre de choses. Et, vous savez, quand le travail en train est terminé, vous devez apprendre à faire que les machines vont retourner. Donc, ce processus d'orchestration, de juste le train itself, devient quelque chose qu'il serait mieux si votre plateforme, elle-même, était capable d'en prendre. Et je pense que c'est une très importante chose pour penser. Et puis, quand vous êtes terminé, et vous voulez servir le modèle, si c'est un modèle en ligne, si vous voulez servir les prédictions en ligne, vous devez aussi avoir des endpoints, et ils vont avoir des servers, des load balancers, et ils vont avoir des machines virtuelles. Et vous voulez aussi mériter ce genre de choses. Donc, en fait, je pense que, si vous regardez quelque chose comme Caggle, ou Collab, ou Jupyter Notebook, oui, en fait, ils se souviennent d'autres problèmes. Dans le monde réel, vous ne devez pas faire ça. Vous ne devez pas juste regarder un notebook, vous devez avoir toute cette orchestration dans le fond, vous savez, en regardant les choses. Et donc, je pense que, pour la plupart des organisations, elles vont vraiment être bien servies pour choisir une plateforme qui fait la plupart du travail pour elles, parce que ce n'est vraiment pas dans votre best interest d'avoir écrit tout ce code. Et je pense que c'est une très bonne intuition pour penser à ce qu'il faut faire, c'est de faire le travail sur les choses qui différencient votre organisation. Ne fais pas le travail qui est vraiment un travail de façon throw-away. Et c'est là où les plateformes viennent. Et je n'ai pas nécessairement dit à quelqu'un quelle plateforme il faut utiliser, quelles plateformes vous avez pickées, juste utilisez la plateforme, n'avez pas nécessairement écrit le code complètement vous-même. Donc, maintenant, nous allons entrer dans l'équilibre pour MLOps. Et ce serait, vous savez, comment on peut faire quelque chose en production et répondre à ça. Et c'est là où je pense que les choses sont très intéressantes, qu'elles n'ont pas vraiment parlé en termes d'académique, de la science data, ou des projets Kaggle. Je pense que les gens neони que des gens n'ont pas vraiment tort à voir le bloc de l'eutropie. Ils veulent révolter les neutres et ne sont pas finis. Ce serait le début, après les neutres réformées, ils veulent retrouver la cause de ces années, les plus plateformes qui sont maintenant en Hotline, pour retirer de l'enfer, ne vous pouvez continuer à éloigner de nouvelles mottes. On peut dire que vous avez un meilleur hyperparamètre, ou tu as de la meilleure data ou quoi que ce soit, tu sais, peut-être qu'on y passe et rétrain le modèle, observe ce qui se passe, et puis, même, utilise des techniques comme data drift, qui est une technique d'émergence, où tu regardes le pourcentage de data qui a changé, et tu dis, oh, regarde, on a besoin de rétrain le modèle. La intuition derrière le data drift, je pense, est très suitable pour parler de la COVID-19. Donc, si nous regardons ce qui s'est passé dans les dernières années, les scientifiques brillants qui sont venus avec les vaccines COVID-19, c'est incroyable, c'est vraiment ce qu'ils ont fait. Mais ensuite, ils ont mis leur modèle, qui est la vaccine, ils l'ont mis en production, et puis, le virus COVID-19 n'a pas juste de rester là, il a muté. Et donc, maintenant, leur modèle est un peu différent. Et donc, je pense que c'est une bonne intuition, ce qui est comme dans le monde réel, les choses mutent, ils changent, et donc, tu dois être observé, comme, comment il change, est-ce qu'il y a, si je veux rétrain, si je veux redeployer. Et donc, je pense que le meilleur système MLOP sait que les choses changent, ils ne s'estent pas statiquement, ils mettent quelque chose dans la production, ils disent, OK, je suis prêt, et puis, ils marchent, c'est que le système doit être designé pour l'improvement continu. Et ce qui s'adresse à quelque chose que beaucoup de DevOps, que les gens connaissent, tu ne peux pas juste déployer le software dans la production, marcher, tu seras constatement en train d'obtenir. Donc, c'est très, très similaire, je pense, à ce que les gens sont probablement déjà familiarisés avec, en termes de DevOps, c'est que tu dois designer un système qui est dynamique et qui peut répondre à des changements et des réponses, pour que tu puisses constatement rétrainé le modèle. Un autre chose que je pense que c'est une très bonne capacité pour les organisations de penser avec MLOP, c'est ce concept de créer une fois et déployer beaucoup. Donc, beaucoup d'organisations probablement ont un app Android et un app iOS et un app Web. Et je pense que beaucoup de entreprises ont essayé de trouver des manières pour peut-être maintenir tous les logiciels coraux dans l'API ou faire des choses qui construisent les abstractures. Donc, je pense que la même chose qui s'adresse à machine learning est que beaucoup de les plateformes que tu vas utiliser sont plutôt bonnes en passant et en construisant le même type d'écosystème qui peut être déployé à tous ces différents endpoints. Donc, si tu utilises une machine learning plateforme la plus probable c'est de créer un modèle qui peut être déployé par l'API. Il peut aussi probablement être déployé par un container. Il peut aussi être déployé par un mobile native. Il peut aussi être déployé par un SDK javascript. Il peut aussi être déployé par un espace à l'aide de l'Edge. Comme, vous savez, c'est un TPU corollaire ici que je peux juste déployer un modèle, mettre ça en place et pouvoir le faire et mettre ça en production. Donc, pourquoi construire quelque chose d'une certaine chose pour utiliser une plateforme qui me permet de créer une fois et puis déployer beaucoup. Donc, je pense que c'est un concept très important pour être conscient. Donc, c'est quelque chose que j'ai vécu que je ne sais pas si d'autres gens ont dit la même chose mais c'est mon approche sur MLops c'est que j'ai entendu des gens dire que les choses sont data centraire ou que c'est machine learning centraire ou que c'est algorithmique centraire mais mon opinion c'est qu'il n'y a pas de bullet silver que c'est une combination c'est ma définition de DevOps c'est que 25% de DevOps vous devez avoir DevOps vous devez faire continuous integration et continuous delivery c'est aussi 25% de data si vous n'avez pas de data et que ce n'est pas clean ce n'est pas automatique alors que vous ne pouvez pas construire MLops d'ailleurs vous ne pouvez pas faire machine learning sans un modèle machine learning donc vous avez besoin d'un component et puis je pense que c'est la autre partie que c'est vraiment souvent c'est-à-dire pas taking people don't look at exclusively is that what is the business problem you're trying to solve if you haven't framed the problem in the in the proper way you may not be able to do MLops because your company doesn't know how to use the thing that you produced and so this is where the data scientist or the product manager or the ML engineer really needs to be very careful is that you could do everything right you could do the DevOps right you could do the data right you could do the model right and then it turns out you built the perfect machine learning model that nobody wants and so you also need to have the ability to frame the problem correctly and this is why I think MLops is so difficult is that each of these require very different people and a lot of times it's it's very difficult to find someone that understands all four and that's why if you look at things like the the Zillow house flipping issue it's like well not necessarily surprised because it sounds like they probably were very good technically but they may have had a problem on the business end because they could have framed the problem in a way that wasn't going to make them successful right if they frame the problem in a different way maybe they would have been successful and it's a very interesting problem and that's why there's a lot of money to be made with MLops because it isn't fully sorted out yet I think there's a lot of people that are working on ways to make it better and better okay so what about some MLops use cases well we know some of them I mean we've heard about many use cases autonomous vehicles I think is one of the more popular ones and I'll briefly talk about that because I got invited to go to Palo Alto a few months ago to visit Tesla and you know I'm definitely impressed with the Tesla people they're very intelligent motivated conscientious engineers working on all kinds of you know really great technology I think that one of the big issues with things like autonomous vehicles and I mentioned to this person what I said to them is that I think we're going to have some ethical issues where there is a way to train autonomous vehicles in a way that would not have negative externalities for people that have decided who have who haven't chosen to participate in the experiment so for example if you're a pedestrian and you're walking across the street you didn't sign a waiver that says you want to be part of Tesla's autonomous training you know system that's a negative externality you could phrase a problem and I did say this to them you could frame the problem in a different way that in my opinion would be more ethical which is you would build a dedicated road and only Tesla's could get on it and only the people that agreed to be part of the beta test could be on a dedicated road now it would be much more expensive and potentially would take longer to build you know the l5 level autonomous driving but I think this these are the kind of ethical things that people are going to have to deal with with the autonomous vehicles next use case would be implementing ML ops in production from zero I think this is a very interesting one in terms of that if your organization is hiring a bunch of expensive people in ML and data science this is really one of the use cases is that I think that people do need to have a sense of urgency and they do need to build something very very quickly so that they can show results and I think this is definitely a use case for ML ops is you know if you can't get something into production and deploy I would say maybe on a daily basis updates to your machine learning system then I would say you're not doing ML ops and you should rethink what you're doing next use case here is applied computer vision this is really a a dynamic area that is under rapid development and in terms of applied computer vision we're seeing things where there people are using even pre-trained models that are very very good that can do labeling and solve business problems and so I think we're going to see a lot of use cases for ML ops in this and that there may be some organizations that don't even care if they train the model themselves or maybe they're doing things like you know you know using other techniques where they can use a pre pre existing model and just tweak a little bit but in general I think computer vision is a great place for people to do ML ops and I think this concept of real world reliability versus you know the research environment mini academic environments are doing research or in research papers ultimately there are you know there's going to be a need for people to put things into production and this is where I think ML ops comes in as someone could take a lot of the research and then operationalize it so that there is some kind of ROI on that research okay so that's the background of ML ops so let me just show you a little bit of coding here for ML ops and so what I'm going to do is I'm going to go to a notebook here that's or a GitHub repo that's intentionally very very simple ML ops notebook and I'm going to just walk through it so let's see here we go ML ops cookbook here and so the idea with this cookbook isn't that it's an advanced ML ops example it's actually the most simple example I could possibly come up with with really toy examples to to you know basically illustrate the principles and so a few different things I'll point out here one in this particular repo which is no gift ML ops cookbook and GitHub that I have a GitHub actions set up here so this is where the continuous integration would be set up where I could do the installation of my software the linting of my software the testing of my software the formatting now I also and this is just an example of one of the things you could do is I also build out a container and I push that container somewhere now depending on what kind of system you have set up many continuous delivery systems will actually listen to the container registry and that's how the whole deployment process works in fact eWiz app runner works very well with that scenario as long as you push the container to to app runner it'll just it'll do the the deploy so so this is really one of the foundational pieces is some kind of build system that can deploy your code the other component that I think is almost always going to be involved in a especially a micro service based MLops deployment is you're most likely going to have some kind of a docker file again this is an intentionally very very simple docker file here we have you know a microservice it's copied in and then I have an endpoint that exposes this this microservice the other thing I think is obviously the microservice code right so here's an example where I have some Flask code and I create a very simple route again intentionally simple mais this is just a predict route I have a post so it takes a JSON payload the JSON payload comes in and I just do a machine learning prediction now in this example you see that I do MLlib what I do is I built a toy repo here inside of MLlib right here and this MLlib is is just a essentially a library that let's me do things like load the model off of disk or you know read some data now in some cases I think the framework is going to do all this for you and it's almost like too much code in a sense because I wrote all this from scratch I think many of the MLops frameworks that you're using from a platform do a lot of this stuff for you but you may have to retrain a model you may have to format the input scale the input most machine learning models require you to scale the data because machine learning really is about numerical data that's scaled for the most part there's a few machine learning techniques like decision trees that don't require scaling but for the most part it's going to be scaled numerical data so we scale it and then you go through maybe have some helper functions that you know convert things from from inches and feed you know to some other format makes human readable payloads but the the gist of the things here is that I can call all of this code just by going through here and in one line of code I just say predict so I mean that's really the essence of whatever it is you're doing with MLops is you have containerized micro service that continuously deploys and you got a library somewhere that imports and it does a prediction with the model so let's go ahead and check this thing out somewhere so what I would probably do is a good place to start is I'm going to go to code and I'm going to see SSH here I'm going to copy this and I really am a fan of cloud nine and what I like about cloud nine is that it is a a great environment for building services in the cloud because you're typically going to be deploying services in the cloud so why not build and deploy in the exact environment that ultimately your production deployment will go to so for me this is one of my favorite ones to use and I'll just show you how how simple it is to get started and why it adds a lot of advantages so you know what I would probably say to start with would be you go through here and I just do a you know get clone go through here pull out mlops great but the first thing I would set up locally here would be that I would probably create a python virtual environment we'll go through here and do that we'll just say python virtual environment there's venv we'll call this dot mlops once I do that then I just need to source it and then really it's it's pretty simple at this point because I use a make file it makes my life very easy I can just do a make all right because I have installation lintine testing let's go ahead and test it out if this doesn't work you're in trouble right something's something's broken if it does work there's a really good chance that everything will will work out pretty well so let's go ahead and take a look at this and this should install very quickly and here we go installation looks like it's almost done all right now I'm doing a lint I'm just testing my library my command line tool so my utility code 10 out of 10 great now I'm doing test coverage great we got everything working here looks pretty good so what I can do is actually first run my flask app in foreground mode so let's go ahead and do that we'll just go python python app here run foreground mode now this one not sure why that particular maybe it maybe I had a a change in the library that's always fun that's what that's what I get for not doing a probably a requirements I probably didn't pin my requirements no no that's weird I'm not sure why that doesn't work cannot important name jason from it's dangerous that's weird python huh or oh you know what it is I'm using the wrong python maybe no huh I'm not sure why that why that thing is actually having a bug but fortunately we can we can actually fix this because I built this earlier and there's a docker file so that's one of the advantages of docker is that we know it it was some point of work so I'm going to scroll down to where my docker file is and I'll just do a docker pull and we'll just we'll solve that problem the easy way which is let's just look for the word docker here docker docker there we go we'll just do docker pull right there let's do that and the beautiful thing about docker is at one point it did work right that's what I like about docker is that it it means that at one point you built something that worked and that's why you pushed it into a container so now if I do docker image ls we should be able to see this this docker container here which is this one right there so we should be able to say docker double check my command here I like to be lazy and just do the yeah we'll do this we'll do docker run and we'll just run the exact same command docker docker run and then this particular container with latest and there we go we we got it working so docker docker build us out here and now I can use the other stuff that I had which is I wrote a little test file here which is let's see here predicts right here so if we look at this predict this is something I like to do sometimes just build a very small you know prediction here that you know goes through and let's me do a smoke test for my machine learning model and so we go through here and we do a predicts just like that there we go we see it works if I look into foreground mode we see this is this is running so I think one big takeaway here is that the container itself is I think the ideal scenario for most machine learning models because you've kind of pre validated everything and it's just yet another solution that eliminates some of the bugs like I don't know no clue I don't even care about debugging that problem right now but a container is pré-baking both the runtime as well as the model itself and let me show you why that's so important is that some of the new you know environments in AWS have great support for that so one of them is something called AppRunner and this is becoming I think it looked really like an emerging technology for doing MLops or these kind of past platforms and let's just first look at what AppRunner is let's see if they give me like a it's a bummer they don't give me the overview page here anymore for AppRunner but anyway we can we can just create a new AppRunner project and notice what's really cool about it is that you can actually give it a container registry and so what's neat about this is that I can actually tell it some location where I pushed it into my Amazon container registry and then I could go through here and select it and we could just I'm just going to pick something I did recently like here we go there's a fast API application I built we scroll down here and you can select automatic and this is what's so great about this is if you have your build system going through and testing your code building all the package together taking the machine learning model machine learning model maybe the latest one that's been versioned slurping it all in pushing that into the Amazon container registry you then just go here click automatic then you select your role you go through here and you you call this you know mlops container or whatever you want to call this and the only thing you really need to configure is the container registry and then the port that's it and once you click this we go through here and we just say next and we just say create and deploy and now every time I push a new container to my container registry using the build system it'll automatically deploy my product into production and just to show you like what this looks like here's one I ran recently and you can see here this is just some toy app that I was building but basically you know you can you can build out these micro services and they're basically production quality micro services that are that have you know logging metrics configuration you can do custom domains and really the heart and soul of this is that I'm leveraging the AWS cloud plus I'm leveraging the concept of a container and so I think this is another big key takeaway is building on top of DevOps along with containers and high level services like AWS I think are the really the secrets to building MLops you know techniques that work in the real world okay so that's probably a good spot for me to stop and see if anybody has any questions and happy to do anything else from here thank you Noah and I'm going to bring Duke who's going to be our moderator for questions I'm going to remind everyone that you can ask your questions in the YouTube chat or on Slack if you're on Slack we are in channel meeting and we're going to really really them out loud to Noah okay okay all right thank you Noah très cool I have a a first question from Jean-Philippe Brochure is there a particular learning path you recommend to order to learn DevOps and MNR yeah I mean I think that the bias side of me would say read both of the books I just wrote because I did I did write a book called Python for DevOps and then right after that I wrote a book called Practical Emelaps so I think that actually would be a good order is go through both of those books but even if you don't read the books I would say that the order would be that from a high level I would say making sure you understand how to do DevOps which is continuous integration and continuous delivery with containers once you know that then you just need to know some data science and for data science I think the the key takeaways are that that you're you know there's a lot of tutorials for data science on the internet but you don't necessarily need to know all of it you just need to know that the idea behind machine learning as you're doing predictions and you need to to build those predictions into your your DevOps product so for Emelaps I think it is possible to not be an expert at data science and still be pretty effective very quickly so it's possible you could do Emelaps three to six months from zero I think it's very possible okay cool yeah but I think the mindset is pretty important too like you have to have like you want to automate everything so because me when I start to learn DevOps I have to have the mindset that I don't want to repeat the job and I just want to do everything automatically so yeah automation I agree automation and I would say that using the highest level tools available so like the platform as a service the containers and also build systems those are really critical for Emelaps and also I think AutoML I think is another one AutoML or pre-trained models I think many people should be using AutoML okay cool yeah okay I have another question just come in here does app does AppRunner take care of scaling your MN workload so AppRunner is just a platform as a service offering and so you can make it scale absolutely so if you want to configure your system to scale to a certain capacity it'll automatically scale up and down based on the traffic you give it so I think it's a very good service for building microservices because of the fact that literally you just give it a container and the container I think I mentioned this earlier I'm building a writing a book on C-Sharp right now it works very well with C-Sharp it works very well with Python anything that can run a container you just put it in there and then it uses all the AWS resources you know like load balancers and auto scale groups and all that stuff automatically for you so yes it absolutely can auto scale the request ok thank you yeah yeah I mean when I started to learn Docker I had a lot of of bad experience because in the days Docker was not really stable but now I mean you don't have a choice you know yeah if you want if you want you're your absolute you need to use Docker let me see if I have another question from the audience or if not I have you talk about your job at Disney what kind of data do because me the only data I know is just Jason and on kind of that but in in the film industry I think it's gonna be yeah so this was 2004 when I worked at Disney feature animation this was in Burbank California and they in the film industry they have big Linux clusters at least when I was working in the film industry Linux clusters everybody has network file system as well and so the data is actually images and so they have very large images and your your job is to actually convert those images into multiple kinds of formats and so so it is actually very similar to some of the things that people are doing now and so you write tools that will you know other people can can use to do their job as an animator or take a series of files and convert them into a movie or add some kind of effect to a file or you know copy the data automatically from one location to another location convert it to different formats so a lot of scripting automation happens in the film industry and I would say probably 90% of the code is Python I mean there's C and C++ and languages like that and maybe a little C sharp but really 90% is Python because people use it to scripts yeah okay thank you and also we talk a lot you talk a lot about the platform and all of that do you know any open source like M&Ops platform that we can yeah there is there's actually a company that I'm that I'm an advisor to called Aguazio and they build a a really interesting open source MLops platform actually called email run and if you're I'll put it into maybe like here so you can give it to other people but basically email run is built on top of Kubernetes and it's actually very interesting and I think that's one of the more interesting emerging MLops platforms is is ML run okay yep just let me see here okay just let me take a tour to see if I don't miss any questions but I think we are good to go to bring up Janika to come back thank you so much Noah will you be able to join us for the happy hour the videos for 5-10 minutes so we're going to open a different video conferencing platforms so that the attendees can join us in a more relaxed environment maybe ask you more questions or you can just tell us about your day that's always fun to do in a happy hour excellent so I will I will remove Noah from this live stream and just a closing word what do we have to tell our audience now yeah I think you already did we have all events are coming and yeah I think that's it I think you just invite everyone to Senka set and then we can get the new chat there so it seems like I didn't forget anything important in my intro speech everyone all the links that I mentioned in the intro speech are in the youtube description including the link to the happy hour it's called apéro virtuel en français on va se voir allez vous chercher un bière un café peu importe quel affraîchissement vous rend le plus joyeux et et bien je vous souhaite que cette semaine le serpent vous apporte beaucoup de gaieter dans votre code oui ça c'est cool tout ça à plus tard comment à plus tard merci bye bye