Slides : http://chilp.it/c14dbee
Lors de cette session, nous récapitulons les annonces faites quelques jours plus tôt à AWS re:Invent. Amazon Comprehend, Amazon Rekognition Video, Amazon Sagemaker, AWS Deeplens, Amazon Transcribe et Amazon Translate sont présentés.
✚ Retrouvez tous nos événements : https://aws.amazon.com/fr/events/
✚ Rendez-vous sur notre site internet : http://amzn.to/2ktrf5g
✚ Suivez-nous sur Twitter : https://twitter.com/aws_actus
Transcript
Bonjour, nous revoilà pour cette dernière journée de cette semaine Intelligence Artificielle sur AWS. Au programme cet après-midi, une première session où nous allons parler des nouveautés sorties à ReInvent, et où bien sûr je ferai quelques démos, et une deuxième session qui sera entièrement consacrée à l'un des services sortis à ReInvent, qui s'appelle Amazon SageMaker et qui est un service managé pour faire du machine learning de bout en bout. Je vais vous montrer les différentes façons dont on peut s'en servir. Ok ? Et bien allons-y.
Alors avant toute chose, notre objectif c'est vraiment de mettre le machine learning dans les mains de tous les développeurs et de tous les data scientists. On a parlé de beaucoup de sujets depuis le début de la semaine, certains très accessibles, d'autres beaucoup plus techniques et beaucoup plus pointus. Mais vraiment notre objectif c'est de fournir à nos clients une palette de services qui vont leur permettre d'intégrer du machine learning et du deep learning dans leurs applications, quel que soit leur niveau d'expertise. Et d'ailleurs, je vous ai donné au fil de la semaine un certain nombre d'exemples de clients qui font du machine learning et de l'IA sur AWS. Je pourrais peut-être en mentionner quelques autres. Est-ce que j'ai parlé de Syspan ? Non, je ne crois pas. Syspan, c'est la chaîne parlementaire aux États-Unis qui utilise Recognition pour retrouver dans ses archives vidéo, à quelle date un sénateur ou un député donné a parlé de tel ou tel sujet. Ils ont indexé comme ça toute leur base d'archives vidéo en ayant au préalable construit une collection contenant les visages de tous les speakers depuis des années et des années. Et au lieu de faire cet indexage manuellement, comme ils l'ont fait pendant des années, bien maintenant, ils peuvent automatiser, passer leur flux vidéo à travers Recognition et identifier très vite qui a parlé de quoi.
Voilà, j'ai déjà parlé de Fraude.net qui utilise Amazon Machine Learning, j'ai parlé de FINRA qui utilise jusqu'à 10 000 nœuds Hadoop pour faire du Machine Learning sur des données financières, etc. Si vous voulez en savoir plus sur l'un ou l'autre de ces cas, n'hésitez pas à aller sur notre site, vous trouverez les références de la page Machine Learning à la fin de la présentation et vous trouverez les détails sur ces différents use case. Bref, vous voyez, on a des quantités de clients qui font de la production sur du Machine Learning, sur du Deep Learning, que ce soit avec des services de bas niveau ou des services de haut niveau.
Et donc dans notre plateforme, on a aujourd'hui trois niveaux de services qui vous permettent d'intégrer du machine learning dans vos applications. On a le niveau le plus élevé, donc vraiment du niveau SaaS, comme Poly, Recognition, etc. Et on a annoncé un certain nombre de nouveaux services à ReInvent dont je vais parler aujourd'hui. Des services qui certes utilisent du Deep Learning, mais qui ne nécessitent aucune expertise et aucune connaissance en deep learning pour les utiliser. Donc vraiment des services de haut niveau, super faciles à utiliser, temps réel, appeler une API, récupérer un résultat et c'est tout. En dessous, on a une couche qu'on appelle la couche plateforme qui va vous permettre de construire, d'entraîner, de déployer vos services, vos propres modèles, on verra ça tout à l'heure avec SageMaker et on l'a vu cette semaine également quand on a entraîné des modèles sur AmixNet etc. Soit de déployer des modèles pré-entraînés donc d'aller récupérer sur étagère des modèles qui conviennent, qui sont suffisamment proches du problème business que vous voulez résoudre pour les utiliser directement. Et on l'a vu aussi, on a vu hier comment utiliser des modèles préentraînés pour de la classification d'image par exemple. Donc dans cette couche on va avoir un ensemble de services qui vont vous permettre de faire de l'entraînement, de la prédiction etc.
Et puis tout ça repose évidemment sur un socle d'infrastructure, donc des instances EC2 qui peuvent être des instances CPU, des instances GPU, des instances FPGA également. Et vous allez pouvoir profiter du socle d'infra, de calcul, de stockage, de base de données, etc. qu'offre AWS depuis des années. Et vous vous souvenez, on en a discuté en début de semaine, le machine learning, les algos, tout ça c'est très bien. Mais si en dessous de ça, vous n'avez pas une plateforme robuste, scalable, sécurisée, pour gérer vos données, les transformer, les préserver, etc., bon, mais finalement, ça ne vaut pas grand-chose. Donc ce socle d'infrastructure reste absolument essentiel.
On va commencer par parler de la couche application. C'est vraiment là qu'il y a eu le plus d'annonces à ReInvent. Et donc je vais commencer par les nouveautés annoncées sur Amazon Recognition, qui est un service qui avait été annoncé à ReInvent 2016. Et donc juste pour rappel, Recognition, c'est un service qui permet d'analyser du contenu visuel à partir d'images, d'extraire des objets, d'extraire des labels, de comprendre ce qui est présent dans l'image, de faire de la détection de visage, de faire de la comparaison de visage, de faire de la reconnaissance de célébrité, de faire de la modération de contenu. Tout ça existe depuis un an à peu près. Et récemment, on vient d'annoncer, en fait c'était juste avant ReInvent, mais vous avez peut-être raté l'annonce, donc je voulais profiter de cette occasion. On a rajouté quelques features, dont la reconnaissance de texte. On a fait des améliorations sur Recognition en général. La latence du service a été réduite d'un facteur 5 à 10 ce qui le rend encore plus rapide qu'avant, encore plus approprié à des contextes temps réel, et on maintient ce niveau de performance en particulier lorsqu'on fait de la reconnaissance de visage parmi des collections qui peuvent atteindre des dizaines de millions de visages. Donc même avec des très grandes collections, vous aurez des temps de réponse 5 à 10 fois plus rapide. Je pense que tout le monde appréciera cette accélération.
Deuxième fonctionnalité qui a été améliorée sur Recognition, c'est le nombre total de visages qu'on peut maintenant détecter. Avant, on avait fixé une limite arbitraire à 15 et désormais, vous pouvez détecter jusqu'à 100 visages dans la même photo. Et vous en voyez un exemple ici. Plus d'infos sur le blog qui est indiqué. Alors je le disais à l'instant, on a également rajouté une fonctionnalité supplémentaire dans Recognition, donc qui s'appelle Text in Image, qui va être capable maintenant de reconnaître des chaînes de caractères, d'extraire des chaînes de caractères contenues dans des images. Alors ça c'est un exemple que j'ai fait à la maison, j'ai littéralement pris un livre dans ma bibliothèque, un peu au hasard. Enfin, pas vraiment au hasard parce que c'était le Seigneur des Anneaux, mais bon, il se trouvait que cela était devant. Et vous voyez, j'ai pris une photo avec mon téléphone et vous voyez que la reconnaissance est quasiment parfaite. Il y a juste une toute petite erreur là sur l'ordre qui est liée sans doute à la forme un peu étrange et aléatoire, l'alignement un peu étrange du texte. Mais vous voyez que ça marche plutôt bien et on reconnaît du texte, y compris inclus dans des graphiques, etc. Donc voilà, une fonctionnalité assez rigolote.
Si on veut la tester dans la console, c'est tout simple, on peut jeter un œil. Voilà, hop. On va grandir ça un petit peu. Voilà. Donc voilà, ça s'est rajouté là, Text in Image. Et donc vous voyez, ici on a des petits exemples. On va aller isoler des zones de texte dans une image. Et lorsque vous appelez l'API, c'est comme d'habitude. Donc vous passez le nom de l'image et le nom du bucket dans lequel elle se trouve, et vous récupérez un document de JSON. On va prendre celui-là, il sera peut-être un petit peu plus lisible. Vous récupérez un document de JSON, où il y a le score de confiance sur le fait qu'une chaîne de caractères soit présente à cet endroit, le texte qui a été détecté, et puis, comme d'habitude, la bounding box, donc là, vous avez les positions relatives, les pourcentages de hauteur, de largeur, etc. Et puis, vous avez la bounding box elle-même, c'est-à-dire la position des pixels. Donc, c'est plutôt pas mal. C'est plutôt pas mal. Et c'est assez simple à utiliser. Donc, bien sûr, tout ça, ça s'appuie sur des modèles de reconnaissance d'image, du learning, etc. Mais comme d'habitude dans Recognition, vous vous contentez d'appeler une API et c'est tout.
On a fait une autre grande évolution dans Recognition, c'est la possibilité de traiter de la vidéo. C'est un service qui est GBA, donc generally available disponible pour tout le monde. Il est disponible dans quelques régions pour l'instant mais en tout cas il est accessible librement à tous. Alors recognition vidéo, comme son nom l'indique et comme on peut l'imaginer, c'est finalement étendre recognition sur des flux vidéo. Donc on va continuer à faire ce qu'on savait y faire, c'est-à-dire faire de la détection de scènes, de la détection d'objets, faire de la détection et de la reconnaissance de visage, mais aussi on va pouvoir faire, on va pouvoir comprendre du contexte plus riche, on va pouvoir faire du tracking de personnes, donc on va pouvoir suivre le déplacement d'une personne sur un flux vidéo, et puis on va pouvoir comprendre des activités, c'est-à-dire que quand on regarde une image fixe, c'est difficile de décider si quelqu'un est immobile, s'il marche, s'il court, bon c'est pas très clair forcément quand on regarde une séquence vidéo qu'on regarde un ensemble d'images bien là on va pouvoir comprendre encore mieux le contexte et donc c'est ce que c'est ce que recognition est capable de faire, recognition vidéo est capable de comprendre ce qui se passe dans la vidéo au-delà de ce qu'il y a dans chaque image.
Alors on va essayer de faire un petit test. Oui pardon, on va faire un petit test tout de suite. Puis on continuera à expliquer après. Donc on va revenir sur la console, vidéo analysis. Alors on a une vidéo de test avec Jeff Bezos et Werner. On va essayer peut-être autre chose sans leur manquer de respect évidemment. On va essayer ça par exemple. Dans la console, vous ne pouvez tester que des vidéos de moins d'une minute mais je vous montrerai après comment le faire en API et bien sûr on peut faire des choses plus longues. Donc ça c'est une minute du vieux trailer du Dernier Jedi, donc rassurez-vous vous n'allez pas vous faire spoiler, vous l'avez sans doute déjà vu. Donc là j'ai uploadé la vidéo, elle a été analysée et donc on voit que dans cette vidéo on a identifié une personne, on a identifié des célébrités, on va voir après qui il s'agit, et puis on a identifié un certain nombre de labels, d'images, etc. Donc là on a une vue synthétique de la chose, bien sûr tout ça est en fait contenu dans un document de JSON, comme d'habitude avec Recognition. Donc concentrons-nous peut-être sur les célébrités, alors on nous dit qu'il y a Daisy Ridley et Carrie. On voit en haut les barres qui indiquent à quel moment elle doit apparaître dans la vidéo. Donc effectivement c'est bien elle. Elle disparaît. Et elle réapparaît brièvement. La voilà à nouveau. Et après on ne la voit plus. Alors si on se demande où est Carrie Fisher, t'es à son âme. Ah là voilà. Donc on voit que là on est capable dans le flux de détecter, là c'est la détection de célébrité. Alors effectivement on détecte que là il y a une personne mais on ne reconnaît pas Mark Hamill, ce qui est quand même un scandale. Donc ok il n'y a aucun problème, il est dans l'image et il réapparaît. Il apparaît et réapparaît quelques secondes plus tard. On peut en conclure que dans le dataset de célébrité, il y a forcément Mark Hamill, mais il ne doit pas y avoir Mark Hamill avec sa barbe de vieux Jedi et puis sa capuche. Comme toujours, la limite de ces modèles de reconnaissance d'image, c'est le dataset. On aura rajouté des images à jour, et bien évidemment on le reconnaîtra.
On a également des activités, donc on pourrait se dire, tiens, alors qu'est-ce qu'on voit là-dedans ? On voit Fire, ok, donc est-ce qu'il y a du feu à cet endroit-là ? En avant, ah bah effectivement oui, ça va, vous voyez, et c'est intéressant parce que, voilà, c'est pas l'élément vraiment dominant de l'image, c'est dans l'arrière-plan et pourtant Rekognition l'a attrapé. Qu'est-ce qu'on pourrait essayer ? Alors logo, tiens, qu'est-ce qu'il a vu dans le logo ? Ah bah oui, c'est le logo de Lucasfilm, c'est logique. Cockpit, alors qu'est-ce qu'il y a en cockpit ? Voilà, ça c'est génial parce que c'est le cockpit du Faucon Millenium. On peut imaginer que dans le dataset de Rekognition il n'y a pas forcément le cockpit du Faucon Millenium. Il doit y avoir des cockpits d'avions évidemment, mais pas celui-là et pourtant il est reconnu. Donc ça veut bien dire que le modèle est capable de généraliser à des objets qu'il n'a pas forcément vu. On pourrait jouer. On va faire un deuxième exemple. On va chercher un peu... Alors qu'est-ce qu'il a reconnu ? Il a reconnu une célébrité et laquelle ? Donc Mike Muir, qui est le chanteur de Suicidal Tendencies, est correctement reconnu. Alors où est-ce qu'il est ? Il est un peu partout, c'est normal. Voilà, il est là, il est là, il est là. Donc, blague à part, ça vous montre aussi la profondeur de la base d'image d'Organism. Bon voilà, si vous n'êtes pas fan de Metal, Mike Muir ça ne vous dit rien. Il est connu dans le genre, mais c'est vrai qu'il n'est pas forcément connu du grand public. Donc on a une profondeur d'identification dans The Recognition qui est importante. Si on est capable de reconnaître ce gars-là, on est capable de reconnaître beaucoup de monde.
On va regarder un peu les activités. On va chercher un guitariste par exemple. Là on a bien un guitariste. On récupère un guitariste. C'est une basse, c'est comme une guitare. Il revient là et il revient là. Donc effectivement ça marche pas mal. On va chercher la batterie par exemple. Effectivement elle apparaît là, il n'y a aucun doute. On va chercher la full. Elle est là, elle est là, elle est là. Elle est là. Elle est là aussi. Donc vous voyez, on a, finalement, on a le... Alors dans la console, ici, on ne voit pas les informations de tracking. La console n'a pas tout à fait toutes les fonctionnalités. Mais on a quand même une idée globale du service. Allez, on sort mes 10 secondes pour plaisir. Voilà. Ah, Hugo, désapprouve. C'est pas grave. On sera censuré par YouTube. Bon, c'est pas grave. Voilà, donc voilà des petits exemples. Donc je vous invite à tester. Donc je vous rappelle, malheureusement, vous ne pouvez uploader que des vidéos de moins d'une minute. Donc si vous voulez voir où est Benedict Cumberbatch dans le trailer Avengers, c'est bien. Voilà. On peut jouer comme ça pendant des heures et comme d'habitude vous aurez tout ça dans un fichier de JSON. Il marche en mode archivage comme je vous l'ai montré là, c'est-à-dire sur des clips complètement enregistrés et disponibles. Et on peut aussi faire du streaming, je vais en parler juste après.
Donc pour résumer, Recognition, ça va vous permettre de faire tout ce que vous faisiez déjà sur Recognition avec des images fixes. Donc la reconnaissance de scène, etc. La reconnaissance, la détection de visage, la reconnaissance de visage. Et puis des nouvelles fonctionnalités liées au contexte vidéo comme la détection d'activités. On peut voir qu'une personne ne peut pas être en train de voir et puis on peut également faire du tracking. On a vu quelques exemples. L'API est plutôt simple. C'est un exemple de détection en mode archive. On passe une vidéo dans un bucket S3, on démarre la détection et on récupère un job ID qui va ensuite nous permettre de poler pour savoir si le job est terminé ou pas. Donc ça c'est le mode le plus simple. On peut aussi configurer une notification par SNS qui va être envoyée par Recognition lorsque le traitement du fichier est terminé. Donc vous vous associez à un topic SNS au moment où vous faites Start Label Detection et puis vous recevez la notification à la fin qui vous dit terminé. Évidemment c'est un mode bien plus pratique pour automatiser.
Alors on a déjà des clients bien sûr, à chaque fois qu'on lance un service il y a toujours des clients qui sont en production dessus depuis un moment. Alors les cas d'application assez évident c'est tout ce qui est application de sécurité. Donc on a un client qui s'appelle Butterfly qui fabrique une caméra de sécurité sans fil et bien évidemment un service comme Recognition Video les intéresse beaucoup, ce qui va leur permettre de traiter le flux en temps réel, le flux qui remonte de telle ou telle caméra et d'envoyer des alertes et de signaler ce qui pourrait être anormal. La police de la ville d'Orlando utilise Recognition Video. On peut imaginer effectivement pour les forces de l'ordre ou pour ne serait-ce qu'ils réguler le trafic routier ou des choses comme ça, on peut imaginer plein d'applications sur la voie publique, et bien la ville d'Orlando utilise Recognition Video pour différents cas d'usage. Puis le deuxième grand domaine d'application c'est évidemment le monde des médias au sens large. J'ai parlé tout à l'heure de Syspan qui faisait de l'identification de politiciens sur des vidéos. Bon, il le faisait à l'époque avec Recognition images puisqu'il n'avait pas le choix finalement. Il pouvait le faire que comme ça, image par image ou une image toutes les cinq secondes. Bon là maintenant, ils vont pouvoir le faire vraiment avec de la vidéo. Et puis une société comme Scripts Networks qui produit du contenu vidéo pour le web, la télé, etc. Elle aussi utilise Recognition pour indexer son contenu. Tout simplement, imaginez les montagnes d'archives vidéos dont disposent ces sociétés et elles ont besoin vite de retrouver une vidéo contenant tel sujet ou tel personnage, etc. On peut imaginer que toutes les chaînes de télé ont un grand besoin d'indexer ces archives et d'en extraire des métadonnées. Voilà, et ils vont maintenant pouvoir le faire vraiment facilement avec Recognition Video.
Alors j'ai mentionné tout à l'heure le streaming, donc on peut effectivement faire du streaming gratuit. On peut effectivement faire de la reconnaissance vidéo sur du streaming et on a annoncé un service qui est pas un service de machine learning en tant que tel mais qui est connexe qui s'appelle Kinesis Video Streams et qui vous connaissez sûrement Kinesis qui est une file de messages managée, hyper scalable, qui persiste le contenu, qui a très très faible latence etc etc et on a décliné Kinesis pour les flux vidéo. Donc maintenant avec Kinesis Video Streams, vous pouvez pousser de la vidéo sur un endpoint Kinesis et la faire traiter par tout type d'application. Donc ça pourrait être un recognition vidéo, ça pourrait être un modèle MXNet. On a vu hier avec DeepLens, on pourrait imaginer construire sa propre caméra comme ça avec un flux qui vient de l'extérieur, d'une caméra et puis le traiter, on pourrait le traiter avec des outils OpenCV ou des applications spécifiques. Voilà donc si vous utilisez déjà Kinesis pour faire du passage de messages à très très grande échelle, maintenant vous avez encore simplifié la vie, vous pouvez directement pousser de la vidéo et la traiter de votre côté donc un service qui va être intéressant certainement pour tous les broadcasters tous les gens dans le monde des médias.
Alors deuxième service dont je veux parler aujourd'hui qui est un là vraiment un service complètement nouveau s'appelle Amazon Translate. Il est en preview mais comme pour tous les services en preview vous pouvez évidemment demander l'accès alors il faut parfois patienter un petit peu mais généralement on finit par l'obtenir. Comme son nom l'indique, c'est un service qui va faire de la traduction. Ce qui est vraiment utile de l'expliquer, vous allez passer une chaîne de caractères dans une langue, on va voir lesquelles tout à l'heure, et puis en temps réel, vous allez récupérer une traduction. C'est toujours la même idée, comme Poly, comme Recognition, on fait un appel d'API, c'est du temps réel. Évidemment derrière il y a des modèles de deep learning. Il y a quelques temps AWS avait open sourcé un projet dont je crois que j'ai parlé cette semaine qui s'appelle Sockeye qui était une application de traduction automatique basée sur un modèle de deep learning et sur MXNet. Et bon, on peut imaginer qu'à Donc aujourd'hui on a 12 paires de langages, vous pouvez traduire de l'anglais vers l'arabe, le chinois simplifié, le français, l'allemand, le portugais ou l'espagnol et inversement. Donc soit de l'anglais vers l'une de ces 6 langues, soit de l'une de ces 6 langues vers l'anglais. Mais pour l'instant par exemple vous pouvez On ne peut pas faire français allemand ou portugais espagnol. Le service est encore en preview donc pas d'inquiétude. D'une part on continuera à ajouter des langues et d'autre part on va continuer à ajouter des paires de langues. Ce qu'il faut savoir c'est qu'à chaque fois qu'il y a une paire de langues, il y a un modèle particulier. Donc si on veut traduire de l'arabe au chinois, il faut un modèle spécifique qui va faire ça. Il faut que les modèles soient de bonne qualité, il faut que tout ça fonctionne bien. Je ne doute pas que quand la qualité sera correcte, on pourra sortir les modèles et continuer à ajouter des langages.
Le mode de fonctionnement est super simple, vous le voyez ici. En ligne de commande, on utilise l'API Translate Text, on passe le texte, on passe le langage de départ, on passe le langage d'arrivée et on récupère la traduction. C'est tout à fait ce qu'on s'imaginerait trouver. Alors voilà un exemple que j'ai fait tout à l'heure, un petit peu plus compliqué. J'ai pris littéralement, je crois que c'est le premier paragraphe de la phrase qui est sur la page produit d'Amazon Translate sur notre site. Je l'ai traduite en anglais ou en français. Je vous assure que je n'y ai pas retouché, c'est vraiment la traduction exacte et si on regarde la traduction française elle est très très correcte je pense que on aurait on n'aurait pas d'état d'âme on n'aurait pas d'état d'âme à prendre cette traduction française et à la mettre directement sur le site je pense qu'il n'y a pas grand chose à changer et bon j'ai fait pas mal de tests Par ailleurs, et vraiment j'ai été étonné de la qualité des traductions. Donc mon petit doigt me dit que c'est quelque chose qui doit exister en interne depuis bien longtemps, soit chez Amazon, soit chez AWS, soit les deux, parce qu'Amazon, évidemment, Amazon.com a besoin de traduire son site dans un certain nombre de langues à l'international, ainsi qu'AWS. Donc quelque chose, chose me dit que c'est un truc qui existait en interne depuis longtemps et qu'on a transformé en service. Parce qu'il a l'air d'une maturité assez élevée pour un service qui vient de sortir. Alors là aussi bien sûr on a des clients, donc on va retrouver les clients traditionnels, on va retrouver les gens qui gèrent des grosses bases documentaires, c'est le cas de Isencia, donc Isencia c'est une agence de Le média intelligence, c'est une agence qui va surveiller le contenu des médias pour le compte de ses clients qui sont des marques. Pour faire des revues de presse, pour mesurer l'impact de campagnes médias, etc. Et donc évidemment, ils ont besoin de surveiller les médias mondiaux et c'est bien difficile de... d'avoir des gens qui sont capables de lire tout ça et donc il faut l'automatiser et il faut le traduire automatiquement. Tous les gens qui ont des grosses bases documentaires, qui sont obligés de récupérer des grosses bases de contenu dans un grand nombre de langues et de le traduire automatiquement pour en comprendre le contenu, pour générer des rapports etc. vont être intéressés. Et puis évidemment il y a le monde du web et là on a le cas de Hotels.com Vous voyez ils ont 90 sites locaux dans 41 langues. On s'imagine bien, en plus vous imaginez le nombre de pages sur un site comme hotels.com. On se doute bien qu'on ne fait pas de traduction manuelle. Et donc un service comme Amazon Translate va leur permettre automatiquement de générer des traductions. Et si elles sont de très bonne qualité, ce qui a l'air d'être le cas, on peut certainement même les intégrer telles quelles. sans qu'il y ait une relecture humaine. Donc vraiment, c'est un service qui, je pense, va intéresser beaucoup de monde et qui ne fait que commencer.
Troisième service, encore un service texte, qui lui aussi est disponible pour tout le monde. Un service qui s'appelle Amazon Comprehend et qui va lui faire du traitement du langage naturel. Le but du jeu ici, c'est pas de faire de la traduction, c'est de comprendre le sens et d'extraire d'un texte ou d'un groupe de documents, d'extraire les entités, les phrases clés, le sentiment, etc. Donc c'est vraiment, là on va se concentrer sur le sens, la substance d'un texte ou d'une collection de textes et on va essayer d'en extraire ce qui est vraiment important. Donc c'est un petit peu comme Recognition finalement extrait ce qui est important d'une image ou d'une vidéo, Comprehend va extraire les entités, les phrases clés, le sentiment, etc. Alors il y a, donc on peut le faire sur un document, on va faire des exemples, on peut le faire sur un unique document ou un paragraphe et puis dire ok de quoi parle ce truc et on peut aussi le faire sur une collection je vais vous montrer donc là ça c'est assez intéressant parce que ce qu'on appelle le topic modeling on va pouvoir lui passer des milliers et des milliers de documents et donc il va non seulement comprendre ce qui se passe dans chacun de ces documents mais il va les regrouper par thème donc il va pouvoir associer à chaque grand thème présent dans la collection, il va pouvoir associer un ensemble de documents. Là aussi, si vous avez une grosse base de documents historiques, vous allez pouvoir les classer comme ça, extraire des métadonnées, les mettre dans une base de données quelque part, et puis très très facilement ensuite faire des recherches et retrouver le ou les documents pertinents pour... pour votre use case.
Alors on va jeter un œil dans la console. Alors Comprehend, le voilà. Alors aujourd'hui dans Comprehend, on supporte que l'anglais et l'espagnol. Mon grand désespoir, il n'y a pas le français. Mon petit déjeuner me dit qu'il est en pole position pour les prochaines sorties. Voilà, n'hésitez pas si vous avez des cas d'usage pour ce service en français, n'hésitez pas à m'envoyer un petit tweet ou un mail ou à pinguer sur LinkedIn. Toute l'eau que vous apporterez à mon moulin me permettra de pousser pour qu'on ait le français dans Comprehend. Bon alors ici on a une phrase de On va prendre une vraie phrase, donc on va aller chercher le Washington Post au hasard. On va prendre Porto Rico, un article au pif. Il veut que je paye ? Non, c'est pas vrai. Il y a un paywall ? Non, ça c'est pas gentil. On est vraiment live. Je vais prendre une page qui est là. Eh bien, qu'est-ce qu'on pourrait prendre ? On va prendre ça. Allez, hop ! Ah bah c'est sur la homepage, il n'y a aucune polémique. Alors... On va détecter que c'est de l'anglais, heureusement. On va l'analyser. On va sortir. On extrait les entités. On peut le voir de différentes façons. C'est peut-être un peu plus simple comme ça. On voit que ça parle d'une personne qui s'appelle Trump. Ça parle un peu de Poutine, mais plus bas. Donc, le sujet de l'article, c'est quand même plutôt Trump. Ça parle d'organisation, donc au sens large. Donc là, ça parle de la Russie, ça parle de la Maison-Blanche. Ça parle... Alors, il y a des informations sur les quantités. Tiens, on va tout afficher. Voilà. Ça parle d'endroits géographiques. Oui, voilà, on voit Poutine. Ça parle des États-Unis, ça parle de Moscou. Donc, finalement, si on indexait... ces quelques entités dans une base et qu'on disait plus tard, sors-moi les documents qui parlent de Trump, de Poutine et dans les 15 derniers jours, celui-là y est, il n'y a aucun doute. On voit que c'est le thème clé de l'article et il n'y a pas beaucoup de doute là-dessus.
Ensuite, on a les phrases clés. Donc les phrases clés, ce sont les phrases qui sont évidemment importantes dans cet article. Donc on voit que ça parle de Trump, il est présent deux fois. Ça parle de sa présidence. Ça parle d'un assaut sans précédent sur la démocratie américaine. On a comme ça, on peut aussi indexer des phrases qu'on aura envie de retrouver dans un moteur de recherche, etc. Bon, c'est de l'anglais, on n'a aucun doute là-dessus. Et le ton de l'article est plutôt neutre, avec un petit peu de négatif. On va essayer d'un autre exemple. On va essayer de prendre... Je vais quand même arriver à... Non, pas le paywall, non. Bon, alors on va essayer de trouver un truc plus rigolo sur la home. Qu'est-ce qu'il y a d'autre comme journal américain ? New York Times. New York Times, j'ai bien peur qu'il y ait un paywall aussi. Peut-être pas sur la homepage. Alors, qu'est-ce qu'on pourrait prendre complètement au pif ? Voilà, le rachat de Fox par Disney. On voit ce que ça donne. Alors, c'est de l'anglais. Ouais, c'est de l'anglais. Il a été autodétecté quand même. Voilà, OK, analyse. Et donc qu'est-ce qu'on voit ? Ça parle de Robert Murdoch, ça parle de ses fils que je n'ai pas le plaisir de connaître, il y a une date, etc. Ça parle de la 20th Century Fox, ça parle de Walt Disney, etc. National Journalism. géographique. Donc on voit toujours pareil, si on indexe ça, finalement on va avoir, c'est vraiment ça qu'on va utiliser après dans la recherche pour retrouver le contenu. Et là l'article est très neutre, très factuel.
Alors voilà la partie exploration. On peut également faire, comme j'ai dit tout à l'heure, du topic modeling. Donc envoyer une base de documents et lui demander de faire ce travail d'extraction et de regroupement des documents. Donc ici, j'ai utilisé un échantillon qui est là. Voilà. Voilà, donc le document. Alors, on peut passer, il y a deux façons de l'utiliser. Soit on passe un document par fichier, soit on passe un document par ligne. Et je crois que c'est le cas de ce document-là. Donc là, ici, on voit, on a un document par ligne. Et on a donc 606 documents. Voilà, d'accord. OK. Donc, on met ça dans... On aurait pu passer les 606 fichiers séparément. Ça marche aussi. Ici, l'exemple est fait comme ça. On lui passe ça dans S3. On lui demande d'analyser. Et c'est tout ce qu'on fait. On lui passe les données, on lui dit rien du tout. On ne fait que lui donner le dataset. Et puis, au bout de quelques minutes, il va me passer... passer les résultats dans un bucket S3. Je les ai déjà téléchargés. Je récupère ce fichier tar.gz qui contient deux choses. La liste des termes, la liste des sujets qui ont été identifiés dans l'ensemble de la base. Je vois que j'ai par exemple un premier topic. qui est numéroté 0, et dans lequel on trouve les mots, alors modèle, size, Chrysler, Chevrolet, Cadillac, Luxury, donc manifestement ça parle de voiture. J'ai un deuxième topic, Study, Human, Anthropology, Field, Social Research, donc ça manifestement ça parle effectivement de sciences humaines, d'anthropologie, etc. Ce flottant-là, c'est le poids du mot dans le topic. On va essayer de prendre un truc un petit peu au pif plus bas. Voilà, je vois ici, j'ai un autre topic, numéro 8, où ça parle de chimie, de composés, de réactions, d'atomes, etc. Donc là, manifestement, effectivement, on parle de science et on parle de chimie. Donc ça, c'est la liste des topics. Et je récupère aussi les topics associés au document. Donc ici, pour le document 27, qui est contenu dans mon sample.txt, mon document 27 parle essentiellement du topic numéro 8, 52% et du topic numéro 2 à 34%. Alors on va aller regarder, on va en faire qu'un, je vous rassure. Donc on va aller voir ce que c'est que le sample 27. Oh la vache, je ne suis pas tombé sur le plus simple. Alors ça parle de Gagic Schneider. Désolé, je ne connais pas, qui est donc un professeur de microélectronique à l'Université nationale polytechnique d'Arménie. Donc on a toute la bio de ce chercheur avec l'ensemble des sujets sur lesquels il a travaillé, etc. Donc c'est plutôt scientifique. Et donc... D'accord ? Et donc ce sample, il est associé au topic 8, 2 et 0. Alors si on va voir un peu ce que c'est que ces topics. Alors 8... Alors effectivement, 8 on est dans les molécules, la chimie, la physique, etc. Donc ça a l'air de correspondre assez à son domaine. Donc c'était celui-là qui était dominant. Et le deuxième, c'était donc deux qui étaient, voilà, on avait « research », « study », etc. Donc c'est pas... On sent que le poids est moins fort, mais c'est pas tout à fait idiot. Donc ce document, effectivement, il parle de science, de chimie, etc. et de « research ». Donc voilà un exemple rapide de ce qu'on peut faire avec Comprehend. Et une fois de plus, vous voyez que c'est un service qui est entièrement managé. Vous ne fournissez rien si ce n'est votre base de documents. Et il se débrouille tout seul pour en extraire les informations. Donc c'est plutôt sympa. Ok. Alors bien sûr, on peut faire de l'API aussi. Là, je vous ai montré la console. On pourrait faire « Detect Sentiment », « I love you », c'est 92% positif, c'est rassurant. Et on pourrait également démarrer automatiquement des analyses de batch, etc. On a évidemment là aussi des clients sur Comprehend. On va retrouver hotels.com, on va retrouver tous les gens qui ont du contenu qui veulent faire de l'analyse de sentiments sur du contenu utilisateur. Donc tous les sites web vont faire, vont utiliser ça pour faire des revues, enfin de l'analyse d'avis clients, de l'analyse de reviews, etc. Des gens comme le Washington Post et donc dans le monde des médias, évidemment on imagine qu'ils vont pouvoir archiver là aussi, processer des d'énormes bases documentaires pour aller extraire rapidement des documents qui existaient dans leurs archives, etc. Je pense que c'est vraiment toutes les entreprises qui ont des grosses bases de documents et qui ont besoin d'aller faire de l'indexation là-dessus et qui faisaient peut-être avant juste de la recherche full texte et des choses comme ça, là maintenant vont pouvoir améliorer grandement la pertinence des recherches puisque quand va se concentrer sur l'essence du document, les parties importantes et pas sur le full text.
Dans la couche en dessous, on a les services de plateforme. On a annoncé à reInvent un service vraiment majeur qui s'appelle SageMaker. Je ne vais pas parler maintenant, pour la bonne raison que je vais en parler dans le webinaire suivant. Je vais consacrer le webinaire suivant à SageMaker et à des démos sur SageMaker. En deux mots, SageMaker, ça va être un environnement managé dans lequel vous allez pouvoir gérer votre machine learning de bout en bout, du notebook jusqu'à l'entraînement, jusqu'à l'hébergement du modèle et au déploiement du modèle derrière des API. Donc, soit vous utilisez l'ensemble de la chaîne, soit vous utilisez chaque morceau de la chaîne et ce que je vais vous montrer tout à l'heure. DeepLens, je ne pouvais pas ne pas en reparler, on a joué avec hier, j'espère que vous avez vu ça, sinon le webinar est déjà en ligne grâce à la nouvelle technique de déploiement d'Hugo. Bravo Hugo, super rapide, donc n'hésitez pas à aller revoir ce webinar sur DeepLens si vous l'avez raté. C'est une caméra qui est destinée aux développeurs avec laquelle ils peuvent développer des applications vidéo, appliquer des modèles de machine learning, etc. Un joli jouet pour Noël. Voilà, on en a parlé hier. Il y a un dernier point que je voulais mentionner. On a parlé d'un service déjà qui s'appelait Greengrass. On en a d'ailleurs parlé pour DeepLens. Greengrass, c'est un service IoT qui permet d'exécuter du code lambda sur des devices IoT qui se connectent de manière épisodique au cloud pour se resynchroniser. Donc ça c'est un service qui existe déjà et c'est comme ça qu'on déploie du code sur une DeepLens. Il y a une évolution de Greengrass qui s'appelle Greengrass ML qui est encore en preview donc je vous montrerai une autre fois, je ne peux pas tout vous montrer aujourd'hui, mais qui va permettre depuis Greengrass de déployer des modèles de machine learning qui sont hébergés dans SageMaker. On pouvait le faire avant mais il fallait le faire manuellement, il fallait prendre le modèle, il fallait l'embarquer dans la fonction lambda, c'était faisable mais c'est vrai que c'était pas tout à fait industrialisé. Là maintenant on peut le faire de manière bonne dans la console Greengrass, on va associer au projet Greengrass un modèle qui est hébergé dans SageMaker et il va être poussé automatiquement vers le device. Donc c'est une grande simplification pour les gens qui veulent déployer des modèles de machine learning sur de l'IoT. On en reparlera une autre fois. Sachez que c'est sur le radar et c'est en preview. Donc si ça vous intéresse, vous pouvez demander l'accès.
Et puis tout en bas de la pile, on a donc l'infrastructure. On en a parlé déjà au cours de la semaine, mais je tenais à en redire deux mots. Donc on a annoncé en octobre une nouvelle famille d'instances qui s'appelle P3, qui dispose des derniers GPU Nvidia, donc ce fameux Volta V100. Et donc vous avez trois tailles d'instances avec un, quatre ou huit GPU et avec des niveaux de performance qui sont extrêmement améliorés par rapport à la génération d'instances antérieures, à la génération P2. Voilà, donc c'est vraiment le GPU le plus puissant aujourd'hui et il est disponible à la demande sur ces instances P3. Et puis bien sûr, on continue à maintenir notre Deep Learning AMI, qui est l'AMI qui est préinstallée avec tous les outils de développement de Deep Learning, toutes les librairies dont on a pu parler au cours de la semaine et même encore d'autres, les drivers Nvidia, etc. Elle est mise à jour très régulièrement, il y a une version Ubuntu et une version Amazon Linux. Donc n'hésitez pas si vous voulez tester ou même travailler sur du Deep Learning sur AWS, c'est vraiment le meilleur point de départ. Vous la trouverez dans la Marketplace AWS. Vous cherchez Deep Learning et AMI, vous allez trouver les différentes versions et vous la démarrez et vous vous connectez dessus et dès à peine connecté, vous pouvez travailler. Aucune installation à faire sur cette AMI.
Un tout dernier petit point qui n'est pas un service mais qui est une initiative intéressante et je voulais en parler, c'est ce qu'on appelle le Amazon ML Lab. Et le Amazon ML Lab, c'est une initiative qui part du constat que beaucoup de sociétés ont envie et besoin de faire du machine learning mais elles n'ont pas forcément, voire pas du tout l'expertise requise pour le faire. L'objectif du Amazon ML Lab, c'est justement de vous mettre en relation avec des experts d'Amazon et d'AWS qui vont connaître évidemment ces sujets-là sur le bout des doigts, qui l'auront implémenté au sein d'Amazon et aussi pour des clients d'AWS et donc qui pourront vous aider en fonction de votre cas d'application, qui pourront vous aider à structurer votre problème et à déterminer bien démarrer. C'est du conseil, de l'assistance, de l'aide à la modélisation, de la formation, etc. Plus d'informations sur l'URL qui est ici. N'hésitez pas, si vous avez envie de vous lancer mais que vous ne savez pas comment commencer et que vous n'avez pas vraiment l'expertise pour le faire, ce lab peut être une bonne solution pour vous aider à démarrer.
Voilà donc au final, voilà maintenant le portrait de famille de notre stack IA, donc des services de haut niveau, Recognition, Recognition Video, Poly, Transcribe, Lex, Translate, Comprehend, et on en rajoutera peut-être d'autres si besoin est, si les clients nous le demandent. En dessous, une plateforme de service avec essentiellement aujourd'hui SageMaker, EMR dont j'ai parlé pendant la semaine qui va, vous l'avez compris, se situer en amont des processus de machine learning et de deep learning pour faire l'agrégation de données, le nettoyage, etc. Ça reste un besoin essentiel quand on a des gros jeux de données. Et puis on a un device comme DeepLens qui vous permet d'expérimenter, de tester et de vous former. Et puis en dessous, eh bien le socle AWS traditionnel EC2, S3, etc. Et puis là, Deep Learning AMI qui est vraiment le meilleur point d'entrée pour commencer à travailler et à se former au Deep Learning sur AWS. Voilà donc les quelques ressources de très haut niveau sur le Machine Learning et l'IA chez AWS. N'hésitez pas à consulter ces URL, vous retrouverez des informations sur tous les services que j'ai mentionné aujourd'hui et sur les services qui étaient déjà sortis. Et puis bien sûr mon blog sur lequel vous trouverez régulièrement des articles sur le deep learning, sur ces services, sur AmixNet, etc. Et j'ai encore plein d'idées en tête. Donc on n'est pas du tout à court d'inspiration. Voilà, merci beaucoup de nous avoir suivis pour cet avant-dernier webinar. Je pense qu'Hugo va vous afficher le secondaire.
Alors, on a une question de Christelle. Est-ce que Comprehend peut analyser tout un bucket S3 ? Donc, il y a deux modes de fonctionnement dans Comprehend. Si c'est le mode API, on va avoir deux modes. On a le mode un seul document, donc là on va faire detect entities, detect key phrases, detect sentiment, etc. Comme j'ai fait avec le Washington Post, donc là on prend un fragment de texte, un document, on le passe à la moulinette et on récupère les informations. Donc là c'est vraiment un document, donc là on passe le texte, on passe le texte en tant que tel. Lorsqu'on fait du batch, donc là comme je l'ai fait avec ce gros fichier qui contenait les 600 et quelques documents, là on travaille à partir d'S3. Donc effectivement ici je n'avais qu'un seul fichier avec un document par ligne, mais j'aurais tout à fait pu avoir 10 000 fichiers dans un bucket S3 et il aurait bouffé les 10 000 fichiers et il m'aurait généré le même type de résultat. Donc oui, on peut tout à fait lui faire parcourir tous les fichiers qui sont dans un bucket S3. Absolument.
Alors, est-ce qu'on peut faire du recognition sur des objets externes non contenus dans un bucket S3 ? Exemple, un autre cloud provider comme BIP ? Non, bien sûr que non. Il faut que les données soient dans S3. Parce que c'est comme ça que le service marche. Et voilà. Donc, non. Désolé Bruno. Mais il suffirait que, bip, fasse un aussi beau service pour que le problème soit réglé. Et comme le... Voilà. Bref. C'est vendredi. Après, je me fais engueuler si je troll. Euh...
Alors, question de Bruno Ceznec. Mais je connais Bruno Ceznec, non ? C'est déjà croisé, Bruno. Le nom me dit quelque chose. Il me demande si c'est du LDA. C'est tout à fait ça. Bravo. Et d'ailleurs, merci de cette question magnifique. Il y a une excellente vidéo. Alors là, si vous voulez vous faire très très mal à la tête... Je vais vous la retrouver. Il y a une vidéo d'une de mes collègues qui explique... Ah, le voilà. Alors là... Là, voilà. Alors, on va essayer de vous la mettre en plein écran, juste pour que vous chopiez le titre. Donc, c'est MCL337. Donc, c'est Anima Anand Komar, qui est l'une de nos scientists deep learning aux US, qui doit avoir à peu près 250 de QI. Et donc, elle explique justement comment elle soulève le capot de Comprehend. Et donc, elle explique quels sont les algos qui sont utilisés. Donc, effectivement, c'est du LDA. Et elle explique comment on optimise le traitement de très très gros data sets avec des techniques qui sont extraterrestres. La première moitié de la vidéo est abordable, les deux premiers tiers. Je ne vous cache pas que sur le dernier tiers, j'ai décroché, c'est beaucoup trop scientifique pour moi. Mais voilà, s'il y en a parmi vous qui sont réellement scientifiques, math, computer science, etc. Alors là, faites-vous plaisir. C'est la première fois que je vois une vidéo comme ça à re-invent et c'est vraiment... J'en ai vu quelques-unes et c'est la plus hardcore que j'ai vue de tout re-invent pour l'instant. Voilà, MCL337. Faites-vous plaisir.
Ensuite, il y a beaucoup de commentaires gentils, merci, tout ça. Ça me fait très très plaisir, tous vos compliments. Et je pense que Hugo, derrière son air impassible, est très content aussi. C'est la dernière journée quand même. Je peux leur dire merci. Alors, qu'est-ce qu'on a comme question ? Quel est le mode de facturation de recognition vidéo ? On va aller regarder. Ouais, c'est sur le site, mais moi je connais pas la réponse. Ça y est pas ? C'est vrai ? Non ! Comment ça peut ne pas y être ? Forcément ça y est. Le service est disponible, pricing. Voilà, voilà. Recognition vidéo API pricing. Allez, on va regarder en Irlande. Voilà. Hugo, je vais t'apprendre à te servir d'internet. Tu m'as l'air un petit peu léger. Ah oui, d'accord, mais sur le site... On n'a qu'à utiliser Translate pour traduire tout le site. Ce n'est pas un bichard si je vais tout le temps sur le site américain. Donc là vous avez les prix, c'est 10 cents par minute de vidéo archivée et au prorata évidemment, et 12 cents par minute de vidéo live. Voilà pour le prix.
Encore une ? Allez, plus qu'une. Alors, qu'est-ce que... Une question de Jean-Emmanuel. Est-ce que Comprehend reconnaît les acronymes ? C'est difficile de répondre. On va essayer un petit truc. Ça, évidemment, ça doit passer. Donc, Analyze. Ouais, donc ça, ça marche. Qu'est-ce qu'on pourrait essayer comme acronyme ? Je pense que toutes les grandes entités... Toutes les grandes entités comme ça... vont y être. Après, c'est sûr que NASCAR, ça marche. Je pense que tout ce qui est courant va y être. Après, si c'est des abréviations ultra techniques, ultra spécifiques, je ne sais pas. Mais c'est une bonne question. Si vous avez des cas précis en tête, testez-les ou envoyez-les-moi. Et si vous avez des exemples qui devraient marcher et qui ne marchent pas, eh bien, ça m'intéresse. Donc, si vous tombez sur des acronymes qui vous paraissent relativement courants et qui ne sont pas reconnus en tant que tel, n'hésitez pas à me les envoyer. Je pense que si on reste effectivement sur des trucs très basiques, il n'y a pas de problème. Il comprend les acronymes. Voilà, je crois qu'on a plus de temps pour celui-ci. On va faire une petite pause de quelques minutes. Oui, on va refaire un petit coup de YouTube. Hugo va vous partager le lien dans le chat. Je vois que ça gigote là dans mon truc, donc ça doit être fait. Donc pour ceux qui n'étaient pas là-hier, je rappelle le principe, on est en train de tester la diffusion des webinars en live sur YouTube. Donc donc si vous voulez le tester et nous donner votre avis les avis étaient plutôt positifs hier l'avantage de youtube c'est qu'on est en multi caméra et puis c'est youtube vous n'avez pas à voir ce magnifique go to meeting qui tourne sur le poste donc essayez le vous pouvez tout à fait rester sur go to meeting où vous pouvez essayer sur youtube et n'hésitez pas à nous envoyer envoyer à hugo dans le chat, votre impression. Voilà, j'ai oublié quelque chose ? Non, c'est bon ? Ok, allez, on se retrouve dans 2-3 minutes ? 2-3 minutes, autant que je me refasse un petit thé. Et à tout de suite pour un deep dive sur SageMaker. Restez avec nous. Merci beaucoup.