28 marzo, 2019

Azure AI Platform

Sharing is caring!

Hoy en día, muchas compañías de tecnologías de información (TI´s) están en la constante lucha de ofrecer servicios computacionales novedosos, eficaces y eficientes. Dentro de estos servicios se encuentran aquellos que se derivan de inteligencia artificial, debido a su gran campo de implementación para resolver una gran cantidad de problemas en la industria. Además, muchas compañías que ofrecen servicios computacionales en la nube derivados de esta disciplina, están listas para usarse o implementarse evitando el largo y costoso proceso de desarrollo e implementación, lo cual, ofrece un gran valor agregado para los clientes o desarrolladores al ahorrar tiempo y costos.

Derivado de esta situación, muchos servicios pueden parecer muy similares o iguales. Sin embargo, cada uno tiene u ofrece características diferentes dependiendo de la plataforma de elección, por lo cual, es recomendable conocer sus características individuales para realizar una selección adecuada. En el caso particular de la plataforma de servicios en la nube de Azure por parte de Microsoft, aparte de ofrecer servicios o herramientas de inteligencia artificial, propone un conjunto de servicios e información que se complementan con los servicios principales para poder utilizarlos de una mejor manera.

El objetivo del presente documento es comentar y resaltar aspectos importantes acerca de esta plataforma y su propuesta. El usuario interesado puede consultar la liga: https://azure.microsoft.com/en-us/overview/ai-platform/?v=17.42w para revisar la fuente original.

¿POR QUÉ AZURE AI?

En esta sección se comentan las razones o características que ofrece la plataforma de servicios en la nube. Tales características son:

  • Herramientas de inteligencia artificial poderosas. Ofrece tres formas diferentes de  usar o implementar. La primera manera de usar los servicios  pueden usar de forma pre-configurada para que el usuario solo ingrese la información mínima, la herramienta realice el proceso y se obtengan los resultados. Una segunda forma y con dificultad media, es mediante el entrenamiento de aprendizaje máquina (Machine Learning o ML) de forma personalizada para resolver necesidades específicas. La tercera forma y más compleja, es implementar servicios de aprendizaje profundo (Deep Learning) para resolver problemas con mayor grado de complejidad que requieren gran cantidad de procesamiento y capacidad computacional.
  • Capacidad de implementación. Debido a la misma naturaleza de los servicios ofrecidos a los usuarios, estos deben tener la capacidad de poder implementarse en diferentes escenarios, los cuales pueden ser: en la nube o Web, dentro de la misma empresa (on-premises),  en el mismo dispositivo (on the edge), o también, mediante contenedores para evitar problemas de implementación.
  • Plataforma abierta y flexible. Tiene la capacidad de poder trabajar con diferentes entornos de desarrollo (IDE) y lenguajes de programación, con el fin de brindar una amplia gama de opciones para desarrollar. Algunos de los lenguajes de desarrollo en esta plataforma son JavaPython y C#, por solo mencionar algunos de los más empleados. Inclusive, algunas herramientas pueden ser desarrolladas en C++.
  • Aprovechar años de investigación. Gracias su experiencia en productos como Office y Xbox por solo mencionar dos casos, que hacen uso de herramientas computacionales e inteligencia artificial, ha permitido crear modelos pre-construidos con calidad para su uso e implementación rápida en aplicaciones, permitiendo el re-uso de software, ahorrar tiempo, reducir costos e incrementar la calidad en el producto desarrollado.
  • Calidad de los servicios. Algunas empresas, debido a sus políticas de trabajo o normatividad, requieren que empresas proveedoras de servicios cumplan lineamientos o posean certificaciones de nivel internacional reconocidas, como requisito para poder colaborar. Por su parte, Microsoft documenta en su plataforma un alto cumplimiento de estándares en seguridad, respaldo e infraestructura. Algunos de estas certificaciones son: ISO 27001, HIPAA, FedRAMP, y SOC Rigorous.
  • Innovación de procesamiento. En los últimos años, varios dispositivos de cómputo han sido beneficiados con unidades de procesamiento para incrementar su calidad de trabajo. Un caso a manera de ejemplo de esta situación, son las tarjetas de video y su unidad de procesamiento gráfico (GPU). Debido a esta nueva situación, muchos desarrolladores trabajan de forma paralela con dichos procesadores, logrando procesamiento independiente en un solo equipo de cómputo para obtener resultados de forma más rápida. Por su parte, Azure tiene la posibilidad de trabajar de esta misma forma para construir y ejecutar modelos en gran escala ya sea mediante GPU´s hasta la posibilidad de programar FPGA´s(Field Programmable Gate Array) para procesar información.

POSIBLES IMPLEMENTACIONES

En las secciones anteriores se comentó el uso de la inteligencia artificial, su importancia, así como algunas de las características. Sin embargo, la gente nueva en este ramo puede tener ideas erróneas o quizás necesite guía para saber qué se puede hacer con esta herramienta y el proceso a seguir.

La sección de Demystifying AI ayuda a esta situación al documentar tres ejemplos de lo que se puede hacer mediante esta herramienta, los cuales son:

  • Mantenimiento predictivo. La mayoría de empresas usan máquinas acorde a sus necesidades para ofrecer bienes o servicios. Toda máquina que realiza un trabajo se desgasta, por lo cual, tiene un tiempo de vida finito. Por su parte, el mantenimiento predictivo ayuda a prolongar su tiempo de vida y eficiencia de las máquinas. Sin embargo, pueden surgir fallas inesperadas no previstas debido a diferentes causas no identificadas. El poder monitorear constantemente el comportamiento de una máquina para saber si su funcionamiento es el correcto no, ayuda a tener una producción eficiente y confiable. También, en caso de presentar anomalías, se puede tomar acciones remediales oportunas para evitar paros en la producción y los efectos que se originen debido a esto, como pueden ser los altos costos de reparación y pérdidas en la producción, por solo mencionar dos ejemplos.
  • Detección de errores mediante análisis de imagen.  En una línea de producción, uno o varios componentes pueden tener la necesidad de ser inspeccionados visualmente, ya sea para seguir estándares de calidad de funcionamiento, o inclusive, para tener una correcta presentación al cliente. Dicho proceso de inspección y clasificación de los productos lo puede realizar una persona de forma visual. Sin embargo, pueden surgir errores en este proceso, ya sea por cansancio de la persona o debido al corto tiempo que se tiene detectar un producto defectuoso, por solo mencionar dos factores. Una solución a esta situación, es el implementar un proceso de clasificación automática en la línea de producción, delegando a la persona aquellos productos o materias primas que requieren un proceso de clasificación minuciosa, logrando una mayor eficiencia y calidad en la línea de producción.
  • Extracción de entidades específicas mediante análisis de texto. La herramienta de procesamiento de lenguaje natural es de gran utilidad hoy en día, debido a su capacidad de poder procesar información no estructurada. Los medios más comunes que poseen información valiosa en este formato se encuentran principalmente en las redes sociales y multimedia. Mediante esta herramienta se puede determinar los temas importantes que están hablando, o también, su sentir acerca de un tema de forma escrita. Con esta información, las empresas pueden tomar acciones apropiadas con base en un análisis eficaz y eficiente de toda esta información. Solo para dar una idea de la cantidad de información que existe en este formato, diversas compañías de TI´s comentan que del total de información, 80% es no estructurada en promedio, aunado su rápido y constante ritmo de crecimiento.

PREPARAR, CONSTRUIR-ENTRENAR, E IMPLEMENTAR

Una parte importante y acertada por parte de Azure, es la remarcación del cómo construir aplicaciones basadas en inteligencia artificial. Por su parte, para usuario experimentado puede ser un proceso natural y obvio. Sin embargo, para aquellas personas nuevas en este tema,  sirve como una guía sólida para poder construir dichas aplicaciones.

¿Por qué es importante estos tres pasos? Una característica importante de estas herramientas derivadas de la  inteligencia artificial es que no se programan, se entrenan. Si se les enseña mal, aprenderán mal. Por lo cual, la preparación, construcción e implementación son los pasos a seguir para el desarrollo de este tipo de herramientas. Por su parte, a esta situación de entrenar dispositivos computacionales mediante ejemplos se le llama aprendizaje automático, aprendizaje máquina o machine learning (ML).

En esta sección se comentará el primer ejemplo de los casos anteriormente descritos junto con estas tres etapas desarrolladas para mostrar al lector su importancia del seguimiento de este proceso.

  • Mantenimiento predictivo. Su objetivo es predecir cuándo una máquina va a fallar para evitar retrasos en la producción y altos costos de reparación.
  • Preparación. Los datos a utilizar requieren que contengan ejemplos de cuando una máquina está funcionando correctamente y cuando no. Por lo cual, se  requiere que dicha información este depurada. Mientras más cantidad de ejemplos se tenga, mejor será su desempeño.
  • Construcción y Entrenamiento. Una vez terminado el proceso de selección y depuración de información, se procede a construir y entrenar el modelo. Por la parte de construcción, se trabaja con el número de redes neuronales y su estructura para su correcta clasificación. Una vez logrado esto, se procede al entrenamiento para medir la eficiencia del modelo usando  un subconjunto de datos de la información original. Ese proceso a menudo es repetitivo hasta encontrar el modelo más apropiado.
  • Implementación. En esta etapa, el modelo se deja como un servicio en la nube. Posteriormente, se emplea una arquitectura orientada a servicios para el desarrollo de la aplicación a implementar. Finalmente, se implementa la aplicación y llaman los servicios del modelo desarrollado mediante la  Web mediante sus recursos (REST endpoint).

De la misma forma, los casos de clasificación de imágenes y análisis de texto se desarrollan mediante estas tres etapas. El lector interesado  puede consultar la liga descrita al inicio del documento para mayor información.

SERVICIOS DE IA QUE OFRECE

Debido al número de posibles servicios y posibles combinaciones que se pueden usar, Azure divide sus servicios de inteligencia artificial en cuatro principales categorías que son: pre-construidos, personalizados, de conversación,  y ciencia de datos mediante máquinas virtuales. A continuación se ofrece una introducción de cada subcategoría para que el usuario los identifique y comprenda su función principal.

  1. Pre-construidos. Dentro de esta categoría se encuentran los servicios dispuestos de listos para ser utilizados por los usuarios. Tales servicios son:
    • Visual Studio Code Tools for AI. Este servicio es una extensión para diferentes plataformas de desarrollo, la cual, está enfocado en desarrollar aprendizaje máquina de tipo profundo. Tiene compatibilidad con Pytjon, C, C++, C# BrainScript. Cuenta con ejemplos para facilitar su aprendizaje. Puede escalar su capacidad de procesamiento de forma horizontal. Tiene la posibilidad de trabajar con máquinas virtuales en caso de requerirlo. Orientado a realizar implementaciones Web. Puede crear modelos de aprendizaje personalizados, y también, tiene la capacidad de poder trabajar con herramientas de Tensor Board.
    • Azure Machine Learning Packages. Este servicio lo componen tras paquetes. El primero es Azure Machine Learning services el cual está orientado a implementar aplicaciones en la nube que requieren inteligencia artificial, así como brindar la infraestructura para lograr este objetivo. El segundo paquete es Azure Machine Learnign Studio se enfoca en pruebas y puesta en marcha de aplicaciones experimentales de forma rápida. Finalmente, el tercer paquete es Data Science Virtual Machine el cual brinda herramientas de procesamiento como GPU´s y máquinas virtuales, con el fin de desarrollar ciencia de datos mediante inteligencia artificial.
    • Machine Learning Studio. Este servicio solo necesita un navegador para poder trabajar. No es necesario codificar. Permite la posibilidad de pasar de una idea, a su implementación de forma rápida. Puede realizar modelos de análisis predictivo. No se requieren grandes bases o conocimientos en  ML para manejarlo. Provee ejemplos para una mayor comprensión. Y también, puede usar Python para su desarrollo.
    • AI Toolkit for Azure IoT Edge. Contiene un aparatado en el repositorio de software Github el cual contiene documentación, uso de herramientas y ejemplos, para desarrollar aplicaciones que usen aprendizaje máquina e inteligencia artificial para procesar datos en la nube, aun cuando se tenga acceso a Internet de forma intermitente.
    • MLNET. Contiene los servicios de Azure Machine Learning Packages en la plataforma abierta .Net.
    • MMLSpark. Permite usar los servicios de Azure Machine Learning Packages en Apache Spark.
  2. Marcos de trabajo. Un framework o marco de trabajo permite la modificación de estructuras genéricas para crear aplicaciones o subsistemas específicos,  permitiendo ahorrar tiempo y esfuerzo. Por su parte, Azure puede trabajar con los siguientes frameworks:
    • TensorFlow. Es una extensión creada por Google. Se puede emplear en diferentes dispositivos computacionales tales como: computadoras de escritorio, servidores, o en dispositivos móviles. Los cálculos se representan de forma gráfica mediante nodos. Los datos se representan en arreglos llamados tensores.
    • Onmx. Este framework permite el intercambio de modelos de inteligencia artificial incluyendo aquellos que sean de mayor complejidad como los de aprendizaje profundo. También, permite el intercambio de información (interoperabilidad) entre marcos de trabajo como: Caffe2, Microsoft Cognitive Toolkit, Mxnet, Pytorch, por solo mencionar algunos. Finalmente, facilita el procesamiento al optimizar el hardware del equipo del equipo de cómputo.
    • Azure Cognitive Toolkit. Se le conoce por las siglas CNTK. Es rápido y permite el incremento de su capacidad de procesamiento mediante un GPU hasta varios. Es compatible con  C++ Python. Tiene ejemplos como apoyo para el desarrollador. Posee recursos en el repositorio de software de Guthub. Y también, usarse para implementar aplicaciones de forma eficiente.
    • Caffe2. Está enfocado en desarrollo móvil. Puede emplear GPU´s para incrementar la capacidad de procesamiento. Cuenta como material de apoyo recursos en Github, tutoriales y quickstarts. Tiene compatibilidad con diferentes sistemas operativos (Windows, Ubuntu Mac). Se puede apoyar de contenedores Docker para no presentar problemas de implementación en cualquier entorno. Y también, puede desarrollarse en Visual Studio, Android Studio Xcode.
    • Pytorch. Este framework está hecho con base en el lenguaje de programación de Python. Está orientado hacia la experimentación de aplicaciones o modelos de inteligencia artificial cuyo funcionamiento está basado en redes neuronales.  Puede trabajar con GPU´s para cubrir alta demanda en procesamiento. Y también, tiene compatibilidad con los sistemas operativos de Linux, MacOS y Windows.
    • MxNet. Se basa en el entorno de operación de Apache. Posee una rápida curva de aprendizaje. Ofrece ejemplos y tutoriales para ayudar a su comprensión. Tiene compatibilidad con el lenguaje de desarrollo Scala.Finalmente, tiene a disposición del usuario modelos pre-entrenados para ser usados de forma fácil.
    • Scikit-learn. Es un framework open source de aprendizaje máquina construido en Python. Ofrece herramientas eficientes para minado y análisis de datos. Puede usarse  junto con las librerías: NumPy, SciPy Matplotlib para aumentar la funcionalidad al realizar cómputo científico. Algunas de las herramientas de inteligencia artificial a su disposición son: clasificación, regresión, agrupamiento (clustering), reducción dimensional, selección de modelos y pre-procesamiento, por mencionar algunos casos. Tiene compatibilidad con los sistemas operativos de Windows, MacOS Linux.
    • Chainer. Este marco de trabajo se distingue por ser el primero en su clase de definirse al ejecutarse. Es una herramienta flexible e intuitiva. Está orientado hacia el reconocimiento y procesamiento visual. Posee herramientas de desarrollo como redes neuronales (entrenamiento y evaluación) y aprendizaje profundo. Tiene recursos en el repositorio de Github, así como, quickstarts para facilitar su aprendizaje. Puede desarrollarse en Jupyter para aplicaciones Web. Y finalmente, puede optimizarse para trabajar con procesadores Intel.
  3. Infraestructura. Esta categoría se encuentran los servicios más utilizados o principales que pueden servir de apoyo para las herramientas de inteligencia artificial usadas en las aplicaciones o sistemas desarrollados. Estos servicios de infraestructura de manera general, pueden proveer funcionalidad importante como lo pueden ser: respaldo, seguridad, y transformación de datos, por solo mencionar tres casos. A continuación se ofrece una brece descripción de estos:
    • Azure Databricks. Es un servicio basado en la plataforma de Apache para poder integrar servicios y aplicaciones de forma eficaz. Uno de sus distintivos principales es el asignar a la gente permisos (roles) de acceso a la información para poder llevar una correcta seguridad y administración de los recursos.
    • Azure Kubernetes Service. Permite incrementar o reducir eficaz y eficientemente la capacidad de carga de trabajo de una aplicación sin reducir su calidad, lo cual, cubre la necesidad para aquellas empresas que necesitan invertir o ajustar su infraestructura computacional para cubrir la demanda cambiante de algún servicio. También,  permite implementar actualizaciones fácilmente. Sin embargo, para manejar dicho servicio se requiere que el usuario conozca acerca de contenedores y sus características. Su manejo se puede realizar mediante la interfaz de línea de comandos CLI o mediante la plataforma.
    • Azure Cosmos DB. Este servicio de base de datos es uno de los más importantes de Azure. Está disponible a nivel mundial. Es multi-plataforma para evitar incompatibilidades entre los diferentes sistemas operativos hoy en día. Es multi-esquema para información estructurada y no estructurada (SQL NoSQL respectivamente), por lo cual, existe una esquema de base de datos que se ajuste correctamente a la aplicación usada. Se puede implementar para  IoT´s¸personalización de algún servicio, comercio al menudeo, comercio electrónico (e-commerce) y videojuegos. También, es eficiente para sistemas críticos donde está en riesgo la salud e integridad de las personas debido a su baja latencia y alta seguridad.  Cabe mencionar, que este servicio ganó el premio en tecnología 2018.
    • Azure SQL Database. Este es otro servicio de base de datos por parte de Azure,  para los casos donde se necesite la configuración de cargas de trabaja de SQL (Structured Query Language) de forma rápida y eficiente. Garantiza usar el mismo tipo y/o esquema (schema) de bases de datos al migrar la información en la nube. Por su parte, permite la migración de información  forma rápida. También, se puede seleccionar la versión del servicio requerido en caso de requerir cubrir requerimientos específicos. Tiene la capacidad de incrementar o reducir la carga de trabajo de forma rápida sin detener el servicio. Posee una alta seguridad y confiabilidad, e inclusive, puede crear desde tres hasta ocho copias de la base de datos en caso de así requerirlo. Tiene la capacidad de poder trabajar con máquinas virtuales de Windows Linux y también, seleccionar el sistema operativo con el cual trabajar.
    • Azure Batch AI. Este servicio está orientado a procesar grandes cantidades de  información en forma paralela. También, puede aplicarse a datos cuyo resultado dependa del procesamiento de otra información (fuertemente acoplados). Se pueden realizar simulaciones tipo Montecarlo o ejecución de software las cuales requieren una alta capacidad de procesamiento. Inclusive, puede emplearse esta herramienta para la renderización (procesamiento y generación de imágenes en 2D o 3D).
    • Data Lake Store. Este servicio puede almacenar información estructurada, semi estructurada y no estructurada. Puede almacenar archivos que pueden tener un tamaño hasta en petabytes. Se pueden asignar roles para llevar una buena administración de los datos. También,  puede trabajar con frameworks como Hadoop Distributed File System (HDFS) y Spark.
    • Data Science Virtual Machines. Descrito anteriormente. Ver sección Servicios IA, Linux (CentOS).
    • Apache Spark for Azure HDInsight. Esta herramienta se especializa en trabajar e implementar sistemas o aplicaciones críticas. Puede manejar grandes cantidades de información a gran escala. Puede realizar transformaciones ETL (extract, transform, load) hasta 100x veces más rápido. Se puede emplear en aprendizaje máquina y poder detectar fraudes, por solo mencionar un caso. Tiene compatibilidad con diferentes lenguajes de desarrollo como Scala, Java, R server y Jupyter.Posee una muy alta disponibilidad (99.9%). Puede analizar información con la misma eficiencia sin importar su crecimiento  y en tiempo real acorde a diferentes escenarios.
    • Iot Edge. Este servicio se enfoca en entrenar e implementar herramientas avanzadas de inteligencia artificial en dispositivos tipo IoT Edge, los cuales pueden tener una conexión intermitente a Internet  y pueden procesar información ellos mismos. Permite una gran capacidad de procesamiento, conjunción de datos proveniente de múltiples dispositivos para su administración y monitoreo remoto. Ofrece una latencia baja resultando en respuestas o interacción casi en tiempo real. Permite  normalización de datos para una coherente relación entre ellos. También, brinda protección de IP´s al detectar intrusiones de personas no autorizadas, brindando un seguro y confiable  medio de transporte de envío/recepción de información entre dispositivos. Y finalmente, puede implementarse en diferentes dispositivos móviles como el Rasp Berry.

ESCENARIOS POPULARES

Una arquitectura orientada a servicios se enfoca en construir o agregar funcionalidad a una aplicación o sistema, mediante la implementación de herramientas computacionales de un proveedor externo de TI¨´s. Este enfoque permite ahorrar tiempo  y esfuerzo en desarrollo y pruebas, así como, evitar la contante tarea de darle mantenimiento a las herramientas desarrolladas  ya sea para corregir errores o informar de los cambios realizados, por solo mencionar dos situaciones. Solo a manera de aclaración, la propiedad de los servicios es de la empresa que los ofrece y no de la persona que los usa. Cabe mencionar que, en esta modalidad se rige de forma general bajo la filosofía de: “solo pagas lo que usas”.

Una vez seleccionado el proveedor de TI¨s, se procede a identificar y evaluar los servicios candidatos que se ofrecen a emplear para desarrollar o agregar funcionalidad a la app o sistema de forma correcta. Esta tarea en ocasiones puede ser nada fácil para las personas con experiencia, y aún más,  para aquellas nuevas ya sea por carecer de experiencia o conocimiento con este tipo de arquitecturas de software. También, la falta de conocimientos de las capacidades o características de los servicios a emplear representa un gran obstáculo en esta tarea.

Con base en esta situación y apoyándose en la lectura de la sección anterior, el apartado de escenarios populares por parte de Azure  ofrece una guía o apoyo  de las diferentes arquitecturas de servicios  que se pueden emplear en diferentes escenarios, mostrando cuales servicios a usar y su estructura a seguir. A continuación, se comentan de forma general los escenarios que muestra la plataforma. El lector interesado puede consultar la siguiente liga: https://azure.microsoft.com/en-us/solutions/architecture/ para mayor información.

El primer escenario que se muestra es para la clasificación de imágenes mediante redes neuronales convulacionales. Esta arquitectura está orientada a ayudar o minimizar la carga de trabajo para la clasificación (éxito o fracaso) de componentes electrónicos. Ver Figura 1.

En esta figura se conectan cuatro servicios de forma secuencial  para poder ejecutar los servicios de forma paralela enmarcados a la derecha. La secuencia y lógica de los servicios es la siguiente:

  1. Blob Storage permite almacenar información no estructurada, por lo cual, es un servicio apropiado para guardar las imágenes a procesar.
  2. DSVM  se usa como infraestructura para proveer una fuerte, flexible y dinámica capacidad de procesamiento.
  3. Container Registry permite crear contenedores para evitar problemas de implementación en los diferentes entornos a usarse.
  4. Machine Learning Model Managment Service lleva la administración de trabajo de los servicios provistos de los contenedores.
  5. Finalmente, los servicios anteriores proveen una fuerte infraestructura a las funciones de predicción, aprendizaje máquina (clasificación) y servicios ETL trabajen de forma independiente y apropiadamente.

El segundo escenario es el descubrimiento de información, análisis profundo y procesamiento de lenguaje natural, el cual, tiene como objetivo el categorizar propiamente lenguaje natural en redes sociales y etiquetarlos correctamente para un futuro procesamiento. Un caso de este posterior procesamiento puede ser el de búsqueda. Su arquitectura se muestra en la Figura 2.

En esta figura se conforma principalmente de un núcleo de servicios de la siguiente forma:

  1. SQL Server  proveer la información no estructurada depurada.
  2. DSVM proveer la infraestructura y capacidad de procesamiento para los servicios de:
    1. Machine Learning el cual crea los modelos de inteligencia artificial para procesar el lenguaje natural. Estos modelos se usan en los servicios de:
      1. Workbench el cual mide resultados y eficiencia para escoger el modelo más eficaz y eficiente.
      2. Experimentation Service se enfoca en pruebas y puesta en marcha de aplicaciones experimentales de forma rápida.
      3. Web App brinda de herramientas de análisis para proponer ideas nuevas o detectar información valiosa.
  3. Container Service se usa para crear los medios para evitar problemas de implementación de los modelos depurados resultantes.
  4. Machine Learning Operationalization Cluster permite la puesta en marcha para descubrir información, realizar análisis profundo,  y también, procesar lenguaje natural de forma apropiada

El tercer escenario es la prevención de defectos y mantenimiento predictivo, el cual, puede implementarse en línea de producción de las empresas para predecir defectos de algún producto  fallas. Esto representa a la empresa ahorro de dinero, mayor calidad, eficiencia en el trabajo, y también, reducir trabajo y esfuerzo al prevenir o evitar situaciones no deseadas en las líneas de producción. Ver Figura 3.

Los servicios de esta figura funcionan de la siguiente forma:

  1. ALS Test Measurements son los datos procedentes de la línea de producción.
  2. Event Hub  se enfoca en registrar eventos casi en tiempo real y almacenar los datos provenientes de la empresa para su procesamiento.
  3. Stream Analytics ofrece herramientas de análisis en tiempo real para no rezagar o reducir el tiempo en la línea de producción. También, este servicio tiene manda y recibe información del servicio de aprendizaje máquina.
  4. Machine Learning se encarga de predecir errores. Recibe como entrada los datos del servicio anterior y devuelve como resultado una predicción.
  5. Power BI presenta los informes de forma correcta de los resultados proveniente del servicio de análisis. También, al presentar  una perspectiva de 360 grados permite presentar un panorama completo de lo que está pasando en la fábrica.
  6. SQL DW permite almacenar los datos provenientes de la línea de montaje así como los eventos (errores o predicciones), permitiendo llevar un registro del funcionamiento de las líneas de producción de la empresa para su consulta en caso de requerirse.

Cabe mencionar que, estas descripciones solo son ideas o pautas derivadas de sus características principales acorde a los diagramas que propone la plataforma. Sin duda alguna, existen otras formas de usar estos servicios una vez entendiendo los servicios y sus características completas, o también,  debido al surgimiento de nuevos escenarios con características diferentes.

Finalmente,  Azure también presenta arquitecturas como ayuda para los servicios de inteligencia artificial relacionados con los bots de conversación. Dichos arquitecturas pueden ser para:

  • Productivos en empresas.
  • Comercio.
  • De información.
  • Para IoT´s.

Cada uno posee una arquitectura, secuencia y explicación del cómo usar los servicios y la información o entrada de datos que manejan. El lector interesado pueden consultar la siguiente liga: https://azure.microsoft.com/en-us/services/bot-service/ para mayor información.

CASOS DE ÉXITO

Azure documenta un extenso número de casos de éxito de empresas que usan sus servicios para  respalda la calidad de las herramientas que se ofrecen. De forma general, a continuación solo se comentan cuatro casos de empresas que usan servicios de inteligencia artificial, los cuales son:

  1. Uber. Esta empresa está implementado el reconocimiento de los rostros de sus conductores como medida de seguridad. Dicha foto se toma como una selfie proveniente del celular del conductor. Inclusive, en la imagen se pueden detectar objetos ajenos a la persona como lentes o gorras para pedirle nuevamente que se tome la foto sin el objeto detectado. Para mayor información de este caso ingrese a la siguiente liga: https://customers.microsoft.com/en-us/story/uber.
  2. GrayMeta. Esta empresa se enfoca en administrar grandes cantidades de video proveniente de clientes que generan este material para su procesamiento.  Con esta capacidad, pueden inclusive realizar consultas de los videos donde se reflejan emociones como la alegría, por solo mencionar un ejemplo. Para mayor información de este caso ingrese a la siguiente liga: https://customers.microsoft.com/en-us/story/graymeta-media-cable-cognitive-services.
  3. Dixons Carphone. Esta compañía dedicada a la venta de electrónicos al menudeo usaron su propia información para crear un bot que se llama CAMI. Este servicio provee sugerencias a los clientes en busca de productos o recomendaciones en forma de conversación (audio). También puede procesar texto e imágenes. Para mayor información de este caso ingrese a la siguiente liga: https://customers.microsoft.com/en-us/story/dixons-carphone-retail-cognitive-services.
  4. Starship Commander. Esta empresa está desarrollando videojuegos basados en realidad virtual. Los comandos o acciones son introducidos por el jugador mediante voz, buscando ser un distintivo en este mercado de entretenimiento mediante esta modalidad. Para mayor información de este caso ingrese a la siguiente liga: https://customers.microsoft.com/en-us/story/human-interact-cognitive-services.

Referencias

Chainer. (s.f.). Chainer. Obtenido de Framework Chainer: https://chainer.org/

Jupyter, P. (12 de Junio de 2018). Jupyter. Obtenido de The jupyter notebook: http://jupyter.org/

learn, S. (Junio de 2007). Scikit learn. Obtenido de http://scikit-learn.org/stable/index.html

Microsoft. (2018). Azure AI. Obtenido de Azure: https://azure.microsoft.com/en-us/overview/ai-platform/?v=17.42w

Microsoft. (2018). Microsoft Azure. Obtenido de Azure: https://azure.microsoft.com/en-us/?v=18.20

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *