SlideShare una empresa de Scribd logo
#GlobalAIOnTour
Monterrey – México
13-25 Abril, 2020
#GlobalAIOnTour
Inteligencia Artificial in-house:
Servicios Cognitivos + Docker
Luis Beltrán
#GlobalAIOnTour
Comparte tu experiencia:
#GlobalAICommunity #OnTour #GlobalAIMTY #MSFTStudentPartner
GLOBAL AI ON TOUR
MTY 2020
Evento virtual • Abril 13-25, 2020
#GlobalAIOnTour
• Investigador en Tomas Bata University in Zlín, República Checa.
• Docente en Tecnológico Nacional de México en Celaya, Mexico.
• Xamarin, Azure e Inteligencia Artificial
@darkicebeam
luis@luisbeltran.mx
luisbeltran.mx
#GlobalAIOnTourPresentación disponible en https://bit.ly/LuisGlobalAIMty
#GlobalAIOnTour
Agenda
Servicios Cognitivos de Azure
Contenedores Docker
Servicios Cognitivos en contenedores Docker
Demo
Presentación disponible en https://bit.ly/LuisGlobalAIMty
#GlobalAIOnTour
Clasificación de Imágenes
• Es la identificación del contenido
visual en una imagen.
• Tema de interés en el área de
Visión de Computadora.
• Una tarea trivial para los seres
humanos… todo un reto para las
aplicaciones informáticas
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
Servicios Cognitivos de Azure
#GlobalAIOnTour
Servicios Cognitivos de Azure
Computer Vision
Face/Emotion Recognition
OCR/Handwriting
Custom Vision
Video Indexer
Text-to-Speech
Speech-to-Text
Translator
Custom Speech
Language Understanding
Text Translator
Text Analytics
QnA Maker
Bing Custom Search
Bing Visual Search
Bing Autosuggest
Bing Image Search
Bing News Search
microsoft.com/cognitive
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
Face
Un servicio de IA que analiza rostros en imágenes
Detección de rostros
• Detecta rostros humanos en una imagen
y sus atributos: edad, emoción, género,
pose, sonrisa y vello facial, además de 27
puntos de referencia (face landmarks).
Reconocimiento de rostros
• Verifica la probabilidad de que dos caras
pertenezcan a la misma persona; también
muestra el puntaje de confianza.
• Devuelve una lista de rostros similares a
una cara.
• Agrupa rostros en base a su similitud.
• Identifica una persona a partir de su
rostro.
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
Una variedad de aplicaciones
Vision Speech Language
Natural Language Processing
Intent: PlayCall
Knowledge
Here are the top results:
The purpose of Customer Life-cycle Management (CLM)
is to maximize both customer retention and .... Predictive
trend analysis provides business visibility.
Oct 28, 2015 – Here are FIVE key trends in 2014 that
would help marketers in rolling ... Of late, marketers are
looking at customer lifecycle management(CLM)
Jan 5, 2016 – The top 10 customer service trends for
2016 that .... North American Consumer
Search
Here is what I found:
It also investigates the top three expected
Fraud Detection and Prevention programs, in
terms of demand in key markets…
First, let’s point out that there is not one
absolute answer—there are “pros” and “cons” to
each. Those who favor in-house…
Michael heads fraud prevention tool. Online
and mobile shopping are expected to continue
growing apace…
#GlobalAIOnTour
Contenedores Docker
#GlobalAIOnTour
En la mayoría de las empresas, el desarrollo, despliegue y entrega de
software es un proceso con varios pasos bien diferenciados:
#GlobalAIOnTour
La computadora donde los usuarios finales
acceden a la aplicación requiere tener
instaladas ciertas dependencias para su
correcta ejecución, por ejemplo:
• Cierta versión de Java o .NET Framework instalada
• Un servidor de aplicaciones (Apache Server, IIS)
• Versiones específicas de librerías o ensamblados
(.dll) instalados
• Inclusive, un sistema operativo específico.
#GlobalAIOnTour
Una solución al problema anterior es la
virtualización:
• El cliente cuenta con un equipo host, que
consta de su propio hardware y un sistema
operativo instalado.
• Al host se le instala un hypervisor, donde se
crea una imagen de máquina virtual, a la cual
se le asignan:
• recursos virtuales (descontados de los recursos del
host)
• un sistema operativo determinado
• Finalmente, se comienza a instalar y configurar
el entorno virtual para que la aplicación
objetivo pueda existir dentro de la imagen y
cumplir su función.
#GlobalAIOnTour
El “problema” con la virtualización es que puede derivar
en una gran cantidad de recursos desperdiciados.
Por ejemplo, una empresa que requiere levantar:
• 10 máquinas virtuales,
• cada una con 4 GB de RAM,
• 10 GB de espacio en disco duro para levantar un
servidor Linux
• y 2 núcleos de procesador…
Necesitaría un total de 40 GB de memoria, 100 GB de
disco y 20 cores que debería obtener del host.
Son muchos recursos desperdiciados de forma
innecesaria.
#GlobalAIOnTour
La alternativa son los contenedores: entornos ligeros en
tiempo de ejecución que proporcionan a las aplicaciones los
recursos necesarios (archivos, bibliotecas, …) para ser
ejecutadas, maximizando su portabilidad.
A diferencia de las máquinas virtuales, los contenedores
utilizan el sistema operativo del host en vez de proporcionar
uno propio, siendo rápidos y fáciles de instalar. Esta
eficiencia permite que se implementen en clústeres, con
contenedores individuales que encapsulan componentes
únicos de aplicaciones complejas.
En resumen, los contenedores son un enfoque de
distribución de software en el que una aplicación o servicio
se empaqueta como una imagen junto con sus
dependencias y configuración.
#GlobalAIOnTour
Docker es la tecnología por excelencia en
cuanto a contenedores se refiere. Docker es
una herramienta para iniciar, detener y
gestionar contenedores mediante
comandos. Es una tecnología open-source
cuyo engine (motor) aprovecha el Sistema
Operativo sobre el cual se ejecuta a fin de
que todas las virtualizaciones de
contenedores compartan el Kernel del Host.
Docker permite crear entornos de ejecución
aislados e independientes para lanzamiento
y despliegue de aplicaciones.
¡Con Docker, se eliminan los problemas de
dependencia o compilación!
#GlobalAIOnTour
¿Por qué usar Docker como desarrollador?
• Docker es rápido.
• Docker es multiplataforma.
• Los contenedores se pueden construir y
destruir más rápido que una máquina
virtual.
• No más dificultades para configurar un
entorno de trabajo. Es portable
• Mantiene su espacio de trabajo limpio,
pues cada entorno estará aislado.
• Será más fácil implementar su proyecto
en su servidor para ponerlo en línea.
#GlobalAIOnTour
Docker Hub es un repositorio donde los usuarios de Docker pueden
compartir las imágenes (contenedores) que han creado con otros
usuarios. La descarga desde el Docker Hub se realiza mediante
comandos y se ejecuta en el propio sistema.
#GlobalAIOnTour
#GlobalAIOnTour
Servicios Cognitivos en contenedores Docker
#GlobalAIOnTour
#GlobalAIOnTour
Consideraciones al implementar Servicios
Cognitivos en una solución informática
• ¿Qué sucede si no puede cargar una
imagen o texto a la nube debido a
limitaciones en ancho de banda o el
acceso a Internet?
• ¿Qué procede si el envío de datos fuera de
la red de la empresa está sujeto a políticas
regulatorias, de confidencialidad o de
privacidad?
Si pudiera analizar los datos en un contexto
local, seguramente la aplicación podría
beneficiarse de una menor latencia y ancho
de banda…
#GlobalAIOnTour
#GlobalAIOnTour
¡Ahora, varias de las API de Azure Cognitive Services
están disponibles como contenedores Docker!
• Puedes descargar y ejecutar un contenedor que
proporciona la misma funcionalidad que los servicios
basados en la nube.
• Los datos se procesan directamente en el contenedor,
nunca se envían a la nube.
• Se requiere una conexión a Azure solo para la
facturación (sólo en el servidor) al mismo costo (incluye
free tier).
• El soporte de contenedores en Azure Cognitive Services
permite a los desarrolladores implementar soluciones
de IA y brinda flexibilidad hacia dónde implementar y
hospedar los servicios que vienen con los contenedores
Docker.
#GlobalAIOnTour
Características y beneficios
• Infraestructura inmutable
• Control sobre los datos
• Control sobre las actualizaciones de los modelos
• Arquitectura portable
• Alto rendimiento y baja latencia
• Escalabilidad
#GlobalAIOnTour
¿Qué servicios están disponibles como
contenedores?
Actualmente hay un subconjunto de Servicios Cognitivos de Azure
disponibles como contenedores Docker, incluyendo partes de:
• Anomaly Detector
• Computer Vision
• Face
• Form Recognizer
• Language Understanding (LUIS)
• Speech Service
• Text Analytics
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
Requerimientos
• Docker Engine: Docker proporciona paquetes que configuran el entorno
Docker en macOS, Linux y Windows.
En Windows, Docker debe estar configurado para admitir contenedores de
Linux. Los contenedores Docker también pueden implementarse de forma
directa en Azure Kubernetes o en las instancias de Azure Container.
• Recurso de Servicio Cognitivo creado en Azure: Docker debe estar
configurado para permitir a los contenedores establecer una conexión con
Azure y enviar datos de facturación.
#GlobalAIOnTour
• Cada contenedor tiene sus propios requisitos de memoria y núcleos
de procesamiento:
Contenedor Asignación mínima Asignación recomendada QPS / TPS
Anomaly Detector 4 cores, 1-GB memoria 8 cores, 2-GB memoria 10
Anomaly Detector 8 cores, 2-GB memoria 16 cores, 4-GB memoria 20
Face 1 core, 2-GB memoria 1 core, 4-GB memoria 10 (mín), 20 (máx)
Computer Vision 1 core, 8-GB memoria 8 cores, 16-GB memoria 0.24 (mín), 1.17 (máx)
Form Recognizer 2 cores, 4-GB memoria 4 cores, 8-GB memoria
Recognize Text 1 core, 8-GB memoria 2 cores, 8-GB memoria
LUIS 1 core, 2-GB memoria 1 core, 4-GB memoria 20 (mín), 40 (máx)
Speech-to-text,
Custom Speech-to-text
2 cores, 2-GB memoria 4 cores, 4-GB memoria
Text-to-speech,
Custom text-to-speech
1 core, 2-GB memoria 2 cores, 3-GB memoria
Key Phrase Extraction,
Language Detection,
Sentiment Analysis
1 core, 2-GB memoria 1 core, 4-GB memoria 15 (mín), 30 (máx)
#GlobalAIOnTour
https://docs.docker.com/toolbox/toolbox_install_windows/
docker-machine stop
docker-machine rm default
docker-machine create -d virtualbox --virtualbox-cpu-count=2 --virtualbox-memory=2048 default
#GlobalAIOnTour
• Descargar la imagen del contenedor del Servicio Cognitivo respectivo
desde el Microsoft Container Registry.
Contenedor Repositorio
Anomaly Detector containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector:latest
Face containerpreview.azurecr.io/microsoft/cognitive-services-face:latest
Computer Vision containerpreview.azurecr.io/microsoft/cognitive-services-read:latest
Form Recognizer containerpreview.azurecr.io/microsoft/cognitive-services-form-recognizer:latest
Recognize Text containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text:latest
LUIS mcr.microsoft.com/azure-cognitive-services/luis:latest
Speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest
Custom Speech-to-text
containerpreview.azurecr.io/microsoft/cognitive-services-custom-speech-to-text:latest
Text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech:latest
Custom text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-custom-text-to-speech:latest
Key Phrase Extraction mcr.microsoft.com/azure-cognitive-services/keyphrase
Language Detection mcr.microsoft.com/azure-cognitive-services/language
Sentiment Analysis mcr.microsoft.com/azure-cognitive-services/sentiment
#GlobalAIOnTour
Demo: Servicios Cognitivos ejecutándose en un contenedor Docker
Esta demonstración consta de dos partes:
• La configuración del contenedor Docker que montará un servicio disponible en la red local
• La aplicación móvil que consume el servicio local de Inteligencia Artificial
La aplicación móvil es un proyecto open-source disponible en https://github.com/icebeam7/LocalFaceApiDemo
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
https://github.com/icebeam7/ReviewsAnalyzerApp
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
#GlobalAIOnTour
Expón el puerto:
https://stackoverflow.com/a/36458215
O agrega una excepción para vpnkit desde el firewall (Windows):
https://mlhale.github.io/nebraska-gencyber-modules/intro_to_firewalls/advanced/
#GlobalAIOnTour
#GlobalAIOnTour
Call to Action
Cognitive Services
• https://microsoft.com/cognitive
Soporte a contenedores en Azure Cognitive Services
• https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-
container-support
• https://azure.microsoft.com/en-us/resources/videos/containers-support-of-
cognitive-services/
• https://azure.microsoft.com/en-us/blog/running-cognitive-service-containers/
#GlobalAIOnTour
Call to Action
Imágenes de Azure Cognitive Services en DockerHub
• https://hub.docker.com/_/microsoft-azure-cognitive-services
Cognitive Services ejecutándose en contenedores
• https://github.com/Azure-Samples/cognitive-services-containers-samples
• https://docs.microsoft.com/es-es/azure/cognitive-services/face/face-how-to-
install-containers
• https://docs.microsoft.com/es-es/azure/cognitive-services/text-analytics/how-
tos/text-analytics-how-to-install-containers
#GlobalAIOnTour
Q & A
#GlobalAIOnTour
Invitación
Comunidad Xamarin en Español
https://www.facebook.com/groups/xamarindiplomadoitc
Global Azure Latinoamérica (Online)
23 – 25 de Abril
#GlobalAzureLatam
https://ti.to/comunidad-xamarin-en-espanol/global-azure-latinoamerica-2020
#GlobalAIOnTour
Patrocinadores y Colaboradores
#GlobalAIOnTour
#GlobalAIOnTour
Inteligencia Artificial in-house:
Servicios Cognitivos + Docker
Luis Beltrán
¡Gracias por tu atención!
@darkicebeam
luis@luisbeltran.mx
luisbeltran.mx

Más contenido relacionado

PPTX
Global AI Night 2021 -Desarrollando un chatbot de WhatsApp serverless.pptx
PPTX
Gira Online Latinoamerica Chatbots y Reconocimiento de Imágenes en WhatsApp ...
PPTX
Global AI on Tour - Desarrollando un bot de WhatsApp serverless.pptx
PPTX
Global Azure 2021 Spain -Desarrollando un chatbot de WhatsApp serverless.pptx
PPTX
UNACH - INNOVATECH Empoderando con Immersive Reader.pptx
PPTX
ATG Puebla - El cementerio de Microsoft.pptx
PDF
Construye un bot para Microsoft Teams sin saber programar
PPTX
Colombia Bootcamp Azure Key Vault.pptx
Global AI Night 2021 -Desarrollando un chatbot de WhatsApp serverless.pptx
Gira Online Latinoamerica Chatbots y Reconocimiento de Imágenes en WhatsApp ...
Global AI on Tour - Desarrollando un bot de WhatsApp serverless.pptx
Global Azure 2021 Spain -Desarrollando un chatbot de WhatsApp serverless.pptx
UNACH - INNOVATECH Empoderando con Immersive Reader.pptx
ATG Puebla - El cementerio de Microsoft.pptx
Construye un bot para Microsoft Teams sin saber programar
Colombia Bootcamp Azure Key Vault.pptx

La actualidad más candente (20)

PPTX
EvoluTion - Chatbots y reconocimiento de imágenes en WhatsApp con Azure AI.pptx
PPTX
Inteligencia Artificial con Azure.pptx
PPTX
WarmiInTech Speech Cognitive Service.pptx
PPTX
Computo en la Nube con Azure - AI Gaming Panama.pptx
PPTX
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
PPTX
Hablemos de .NET 6 y .NET MAUI
PPTX
Azure Personalizer - Global AI Night Latam Template.pptx
PPTX
Global Azure Ica Azure Video Indexer.pptx
PPTX
Azure Cognitive Services
PPTX
GAIBT LaPaz - Serverless Machine Learning.pptx
PPTX
Introducción a AI con Microsoft Parte 3.pptx
PPTX
Bots en Teams M365 Party.pptx
PPTX
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
PPTX
CONGRESO MICROSOFT 2021 Desarrollo multiproposito con NET.pptx
PPTX
WarmiInTech Personalizer.pptx
PPTX
Azure Video Analyzer - Guadalajara Connect.pptx
PPTX
Code Camp Week - Desarrollo multipropósito con .NET- web, móvil y machine l...
PPTX
04 GlobalAI Speaker Latam Biometria de voz Reconocimiento por voz en nuestr...
PPTX
Global Azure Ecuador 2021 Ofreciendo experiencias de valor inteligentes y a l...
PPTX
TERASOFT Preparandote para la vida profesional.pptx
EvoluTion - Chatbots y reconocimiento de imágenes en WhatsApp con Azure AI.pptx
Inteligencia Artificial con Azure.pptx
WarmiInTech Speech Cognitive Service.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
Azure Tech Frogs La vida despues de Xamarin NET MAUI y el desarrollo de apps....
Hablemos de .NET 6 y .NET MAUI
Azure Personalizer - Global AI Night Latam Template.pptx
Global Azure Ica Azure Video Indexer.pptx
Azure Cognitive Services
GAIBT LaPaz - Serverless Machine Learning.pptx
Introducción a AI con Microsoft Parte 3.pptx
Bots en Teams M365 Party.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
CONGRESO MICROSOFT 2021 Desarrollo multiproposito con NET.pptx
WarmiInTech Personalizer.pptx
Azure Video Analyzer - Guadalajara Connect.pptx
Code Camp Week - Desarrollo multipropósito con .NET- web, móvil y machine l...
04 GlobalAI Speaker Latam Biometria de voz Reconocimiento por voz en nuestr...
Global Azure Ecuador 2021 Ofreciendo experiencias de valor inteligentes y a l...
TERASOFT Preparandote para la vida profesional.pptx
Publicidad

Similar a Inteligencia artificial in house con servicios cognitivos y docker (20)

PPTX
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
PDF
Azure cognitive services using containers
PPTX
Plug&play:deploying big data_solutions
PPTX
Devops episodio 1. devOpsTnf
PPTX
M4-C1- Big Data.pptx asdasdasdasdasdasdasd
PPTX
Introduccion a SQL Server 2017 en Docker
PDF
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
PDF
Offering Cloud Solutions
PPTX
Web App Container
 
PDF
docker.pdf
PDF
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
PDF
Containers - Hablemos de Docker
PPTX
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
PPTX
Docker para desarrolladores .NET
PPTX
Docker para Dummies
PDF
Docker: la revolución en virtualización
PDF
Big data para desarrolladores utilizando hadoop y openstack
PDF
Big Data para desarrolladores utilizando Hadoop y OpenStack
PDF
Cloud Computing: una perspectiva tecnológica
PDF
Contenedores como Servicio con Docker
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure cognitive services using containers
Plug&play:deploying big data_solutions
Devops episodio 1. devOpsTnf
M4-C1- Big Data.pptx asdasdasdasdasdasdasd
Introduccion a SQL Server 2017 en Docker
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
Offering Cloud Solutions
Web App Container
 
docker.pdf
Implementación de Cloud Computing con Software Libre y medidas de seguridad p...
Containers - Hablemos de Docker
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Docker para desarrolladores .NET
Docker para Dummies
Docker: la revolución en virtualización
Big data para desarrolladores utilizando hadoop y openstack
Big Data para desarrolladores utilizando Hadoop y OpenStack
Cloud Computing: una perspectiva tecnológica
Contenedores como Servicio con Docker
Publicidad

Más de Luis Beltran (20)

PPTX
AI for Accessibility.pptx
PPTX
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
PPTX
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
PPTX
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
PDF
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
PPTX
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
PPTX
ACW - Azure Speaker Recognition Biometria de Voz.pptx
PPTX
UNICABA - Azure Machine Learning.pptx
PPTX
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
PPTX
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
PPTX
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
PPTX
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
PPTX
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
PPTX
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
PPTX
Real NET Docs Show - Serverless Machine Learning v3.pptx
PPTX
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
PPTX
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
PPTX
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
PPTX
GAIBT Pune - Future of AI.pptx
PPTX
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
AI for Accessibility.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
UNICABA - Azure Machine Learning.pptx
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Real NET Docs Show - Serverless Machine Learning v3.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
GAIBT Pune - Future of AI.pptx
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...

Último (20)

PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
Distribucion de frecuencia exel (1).pdf
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPT
Protocolos de seguridad y mecanismos encriptación
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Estrategia de Apoyo de Daylin Castaño (5).pdf
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Distribucion de frecuencia exel (1).pdf
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Power Point Nicolás Carrasco (disertación Roblox).pptx
Protocolos de seguridad y mecanismos encriptación
MANUAL de recursos humanos para ODOO.pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Mecanismos-de-Propagacion de ondas electromagneticas
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Guía 5. Test de orientación Vocacional 2.docx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
historia_web de la creacion de un navegador_presentacion.pptx
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
capacitación de aire acondicionado Bgh r 410
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx

Inteligencia artificial in house con servicios cognitivos y docker

  • 3. #GlobalAIOnTour Comparte tu experiencia: #GlobalAICommunity #OnTour #GlobalAIMTY #MSFTStudentPartner GLOBAL AI ON TOUR MTY 2020 Evento virtual • Abril 13-25, 2020
  • 4. #GlobalAIOnTour • Investigador en Tomas Bata University in Zlín, República Checa. • Docente en Tecnológico Nacional de México en Celaya, Mexico. • Xamarin, Azure e Inteligencia Artificial @darkicebeam luis@luisbeltran.mx luisbeltran.mx
  • 5. #GlobalAIOnTourPresentación disponible en https://bit.ly/LuisGlobalAIMty
  • 6. #GlobalAIOnTour Agenda Servicios Cognitivos de Azure Contenedores Docker Servicios Cognitivos en contenedores Docker Demo Presentación disponible en https://bit.ly/LuisGlobalAIMty
  • 7. #GlobalAIOnTour Clasificación de Imágenes • Es la identificación del contenido visual en una imagen. • Tema de interés en el área de Visión de Computadora. • Una tarea trivial para los seres humanos… todo un reto para las aplicaciones informáticas
  • 11. #GlobalAIOnTour Servicios Cognitivos de Azure Computer Vision Face/Emotion Recognition OCR/Handwriting Custom Vision Video Indexer Text-to-Speech Speech-to-Text Translator Custom Speech Language Understanding Text Translator Text Analytics QnA Maker Bing Custom Search Bing Visual Search Bing Autosuggest Bing Image Search Bing News Search microsoft.com/cognitive
  • 16. #GlobalAIOnTour Face Un servicio de IA que analiza rostros en imágenes Detección de rostros • Detecta rostros humanos en una imagen y sus atributos: edad, emoción, género, pose, sonrisa y vello facial, además de 27 puntos de referencia (face landmarks). Reconocimiento de rostros • Verifica la probabilidad de que dos caras pertenezcan a la misma persona; también muestra el puntaje de confianza. • Devuelve una lista de rostros similares a una cara. • Agrupa rostros en base a su similitud. • Identifica una persona a partir de su rostro.
  • 19. #GlobalAIOnTour Una variedad de aplicaciones Vision Speech Language Natural Language Processing Intent: PlayCall Knowledge Here are the top results: The purpose of Customer Life-cycle Management (CLM) is to maximize both customer retention and .... Predictive trend analysis provides business visibility. Oct 28, 2015 – Here are FIVE key trends in 2014 that would help marketers in rolling ... Of late, marketers are looking at customer lifecycle management(CLM) Jan 5, 2016 – The top 10 customer service trends for 2016 that .... North American Consumer Search Here is what I found: It also investigates the top three expected Fraud Detection and Prevention programs, in terms of demand in key markets… First, let’s point out that there is not one absolute answer—there are “pros” and “cons” to each. Those who favor in-house… Michael heads fraud prevention tool. Online and mobile shopping are expected to continue growing apace…
  • 21. #GlobalAIOnTour En la mayoría de las empresas, el desarrollo, despliegue y entrega de software es un proceso con varios pasos bien diferenciados:
  • 22. #GlobalAIOnTour La computadora donde los usuarios finales acceden a la aplicación requiere tener instaladas ciertas dependencias para su correcta ejecución, por ejemplo: • Cierta versión de Java o .NET Framework instalada • Un servidor de aplicaciones (Apache Server, IIS) • Versiones específicas de librerías o ensamblados (.dll) instalados • Inclusive, un sistema operativo específico.
  • 23. #GlobalAIOnTour Una solución al problema anterior es la virtualización: • El cliente cuenta con un equipo host, que consta de su propio hardware y un sistema operativo instalado. • Al host se le instala un hypervisor, donde se crea una imagen de máquina virtual, a la cual se le asignan: • recursos virtuales (descontados de los recursos del host) • un sistema operativo determinado • Finalmente, se comienza a instalar y configurar el entorno virtual para que la aplicación objetivo pueda existir dentro de la imagen y cumplir su función.
  • 24. #GlobalAIOnTour El “problema” con la virtualización es que puede derivar en una gran cantidad de recursos desperdiciados. Por ejemplo, una empresa que requiere levantar: • 10 máquinas virtuales, • cada una con 4 GB de RAM, • 10 GB de espacio en disco duro para levantar un servidor Linux • y 2 núcleos de procesador… Necesitaría un total de 40 GB de memoria, 100 GB de disco y 20 cores que debería obtener del host. Son muchos recursos desperdiciados de forma innecesaria.
  • 25. #GlobalAIOnTour La alternativa son los contenedores: entornos ligeros en tiempo de ejecución que proporcionan a las aplicaciones los recursos necesarios (archivos, bibliotecas, …) para ser ejecutadas, maximizando su portabilidad. A diferencia de las máquinas virtuales, los contenedores utilizan el sistema operativo del host en vez de proporcionar uno propio, siendo rápidos y fáciles de instalar. Esta eficiencia permite que se implementen en clústeres, con contenedores individuales que encapsulan componentes únicos de aplicaciones complejas. En resumen, los contenedores son un enfoque de distribución de software en el que una aplicación o servicio se empaqueta como una imagen junto con sus dependencias y configuración.
  • 26. #GlobalAIOnTour Docker es la tecnología por excelencia en cuanto a contenedores se refiere. Docker es una herramienta para iniciar, detener y gestionar contenedores mediante comandos. Es una tecnología open-source cuyo engine (motor) aprovecha el Sistema Operativo sobre el cual se ejecuta a fin de que todas las virtualizaciones de contenedores compartan el Kernel del Host. Docker permite crear entornos de ejecución aislados e independientes para lanzamiento y despliegue de aplicaciones. ¡Con Docker, se eliminan los problemas de dependencia o compilación!
  • 27. #GlobalAIOnTour ¿Por qué usar Docker como desarrollador? • Docker es rápido. • Docker es multiplataforma. • Los contenedores se pueden construir y destruir más rápido que una máquina virtual. • No más dificultades para configurar un entorno de trabajo. Es portable • Mantiene su espacio de trabajo limpio, pues cada entorno estará aislado. • Será más fácil implementar su proyecto en su servidor para ponerlo en línea.
  • 28. #GlobalAIOnTour Docker Hub es un repositorio donde los usuarios de Docker pueden compartir las imágenes (contenedores) que han creado con otros usuarios. La descarga desde el Docker Hub se realiza mediante comandos y se ejecuta en el propio sistema.
  • 32. #GlobalAIOnTour Consideraciones al implementar Servicios Cognitivos en una solución informática • ¿Qué sucede si no puede cargar una imagen o texto a la nube debido a limitaciones en ancho de banda o el acceso a Internet? • ¿Qué procede si el envío de datos fuera de la red de la empresa está sujeto a políticas regulatorias, de confidencialidad o de privacidad? Si pudiera analizar los datos en un contexto local, seguramente la aplicación podría beneficiarse de una menor latencia y ancho de banda…
  • 34. #GlobalAIOnTour ¡Ahora, varias de las API de Azure Cognitive Services están disponibles como contenedores Docker! • Puedes descargar y ejecutar un contenedor que proporciona la misma funcionalidad que los servicios basados en la nube. • Los datos se procesan directamente en el contenedor, nunca se envían a la nube. • Se requiere una conexión a Azure solo para la facturación (sólo en el servidor) al mismo costo (incluye free tier). • El soporte de contenedores en Azure Cognitive Services permite a los desarrolladores implementar soluciones de IA y brinda flexibilidad hacia dónde implementar y hospedar los servicios que vienen con los contenedores Docker.
  • 35. #GlobalAIOnTour Características y beneficios • Infraestructura inmutable • Control sobre los datos • Control sobre las actualizaciones de los modelos • Arquitectura portable • Alto rendimiento y baja latencia • Escalabilidad
  • 36. #GlobalAIOnTour ¿Qué servicios están disponibles como contenedores? Actualmente hay un subconjunto de Servicios Cognitivos de Azure disponibles como contenedores Docker, incluyendo partes de: • Anomaly Detector • Computer Vision • Face • Form Recognizer • Language Understanding (LUIS) • Speech Service • Text Analytics
  • 40. #GlobalAIOnTour Requerimientos • Docker Engine: Docker proporciona paquetes que configuran el entorno Docker en macOS, Linux y Windows. En Windows, Docker debe estar configurado para admitir contenedores de Linux. Los contenedores Docker también pueden implementarse de forma directa en Azure Kubernetes o en las instancias de Azure Container. • Recurso de Servicio Cognitivo creado en Azure: Docker debe estar configurado para permitir a los contenedores establecer una conexión con Azure y enviar datos de facturación.
  • 41. #GlobalAIOnTour • Cada contenedor tiene sus propios requisitos de memoria y núcleos de procesamiento: Contenedor Asignación mínima Asignación recomendada QPS / TPS Anomaly Detector 4 cores, 1-GB memoria 8 cores, 2-GB memoria 10 Anomaly Detector 8 cores, 2-GB memoria 16 cores, 4-GB memoria 20 Face 1 core, 2-GB memoria 1 core, 4-GB memoria 10 (mín), 20 (máx) Computer Vision 1 core, 8-GB memoria 8 cores, 16-GB memoria 0.24 (mín), 1.17 (máx) Form Recognizer 2 cores, 4-GB memoria 4 cores, 8-GB memoria Recognize Text 1 core, 8-GB memoria 2 cores, 8-GB memoria LUIS 1 core, 2-GB memoria 1 core, 4-GB memoria 20 (mín), 40 (máx) Speech-to-text, Custom Speech-to-text 2 cores, 2-GB memoria 4 cores, 4-GB memoria Text-to-speech, Custom text-to-speech 1 core, 2-GB memoria 2 cores, 3-GB memoria Key Phrase Extraction, Language Detection, Sentiment Analysis 1 core, 2-GB memoria 1 core, 4-GB memoria 15 (mín), 30 (máx)
  • 42. #GlobalAIOnTour https://docs.docker.com/toolbox/toolbox_install_windows/ docker-machine stop docker-machine rm default docker-machine create -d virtualbox --virtualbox-cpu-count=2 --virtualbox-memory=2048 default
  • 43. #GlobalAIOnTour • Descargar la imagen del contenedor del Servicio Cognitivo respectivo desde el Microsoft Container Registry. Contenedor Repositorio Anomaly Detector containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector:latest Face containerpreview.azurecr.io/microsoft/cognitive-services-face:latest Computer Vision containerpreview.azurecr.io/microsoft/cognitive-services-read:latest Form Recognizer containerpreview.azurecr.io/microsoft/cognitive-services-form-recognizer:latest Recognize Text containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text:latest LUIS mcr.microsoft.com/azure-cognitive-services/luis:latest Speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest Custom Speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-custom-speech-to-text:latest Text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech:latest Custom text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-custom-text-to-speech:latest Key Phrase Extraction mcr.microsoft.com/azure-cognitive-services/keyphrase Language Detection mcr.microsoft.com/azure-cognitive-services/language Sentiment Analysis mcr.microsoft.com/azure-cognitive-services/sentiment
  • 44. #GlobalAIOnTour Demo: Servicios Cognitivos ejecutándose en un contenedor Docker Esta demonstración consta de dos partes: • La configuración del contenedor Docker que montará un servicio disponible en la red local • La aplicación móvil que consume el servicio local de Inteligencia Artificial La aplicación móvil es un proyecto open-source disponible en https://github.com/icebeam7/LocalFaceApiDemo
  • 59. #GlobalAIOnTour Expón el puerto: https://stackoverflow.com/a/36458215 O agrega una excepción para vpnkit desde el firewall (Windows): https://mlhale.github.io/nebraska-gencyber-modules/intro_to_firewalls/advanced/
  • 61. #GlobalAIOnTour Call to Action Cognitive Services • https://microsoft.com/cognitive Soporte a contenedores en Azure Cognitive Services • https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services- container-support • https://azure.microsoft.com/en-us/resources/videos/containers-support-of- cognitive-services/ • https://azure.microsoft.com/en-us/blog/running-cognitive-service-containers/
  • 62. #GlobalAIOnTour Call to Action Imágenes de Azure Cognitive Services en DockerHub • https://hub.docker.com/_/microsoft-azure-cognitive-services Cognitive Services ejecutándose en contenedores • https://github.com/Azure-Samples/cognitive-services-containers-samples • https://docs.microsoft.com/es-es/azure/cognitive-services/face/face-how-to- install-containers • https://docs.microsoft.com/es-es/azure/cognitive-services/text-analytics/how- tos/text-analytics-how-to-install-containers
  • 64. #GlobalAIOnTour Invitación Comunidad Xamarin en Español https://www.facebook.com/groups/xamarindiplomadoitc Global Azure Latinoamérica (Online) 23 – 25 de Abril #GlobalAzureLatam https://ti.to/comunidad-xamarin-en-espanol/global-azure-latinoamerica-2020
  • 67. #GlobalAIOnTour Inteligencia Artificial in-house: Servicios Cognitivos + Docker Luis Beltrán ¡Gracias por tu atención! @darkicebeam luis@luisbeltran.mx luisbeltran.mx