07/09/2020

Machine Learning en la nube: cómo se aplica en Amazon Web Services (AWS)

Sara López Mora
Amazon Web Services - ML

Todos conocemos Amazon como la gran empresa dedicada a las ventas online de todo tipo de artículos, pero sus ingresos no se basan únicamente en este negocio. Amazon cuenta desde 2006 con AWS (Amazon Web Services), uno de los servicios de alojamiento en la nube más famosos y utilizados del sector. Esta plataforma está estrechamente vinculada con diversos tipos de tecnología, entre ellas, el Machine Learning, ya que, además de utilizarlo, ofrece servicios para que las empresas lo implementen con más facilidad.

¿Qué es Amazon Web Services (AWS)?

Como ya hemos comentado, Amazon Web Services es el nombre que recibe la plataforma de Amazon destinada al alojamiento en la nube con servicios de Cloud Computing. Esto posibilita que las empresas dispongan de servidores para sus sitios web de manera casi inmediata, permitiéndoles una mejor calidad y flexibilidad.

En el caso de Amazon, ofrece en este campo distintos beneficios, como los siguientes:

  • Precio: varía en función del uso que se hace de él, sin necesidad de pagar con antelación.
  • Seguridad: al estar en la nube se considera que la seguridad es de mejor calidad, sumando el cuidado que tienen en este aspecto también con las instalaciones físicas. Cuenta con certificaciones y adaptación a 90 estándares de seguridad, además de diversas capas de seguridad tanto operativa como física.
  • Flexibilidad: independiente del sistema operativo y del lenguaje.
  • Agilidad: se pueden conseguir nuevas aplicaciones y servidores en segundos y de manera escalable.
  • Globalidad: infraestructura muy amplia con servidores en múltiples regiones, por lo que el rendimiento resulta mejor y se pueden optimizar en función del negocio.
  • Diversidad de herramientas: oferta increíblemente extensa que se adapta a todo tipo de empresas.

Todas estas ventajas han hecho que AWS destaque por su magnitud, llegándose a calcular que “alrededor de un tercio de todo el tráfico de la web pende de AWS”. En palabras del propio jefe de la división de AWS, Andy Jassy, comentaba que “hay una posibilidad muy real de que con el correr del tiempo AWS se vuelva el principial negocio de Amazon”.

¿Qué es Machine Learning?

Dentro de la Inteligencia Artificial, uno de los puntos que más atención está captando es el Machine Learning. Este término se refiere a la posibilidad de que las máquinas, sistemas o programas puedan “aprender” en base a la experiencia que obtienen con los datos recibidos, tal como haría un humano.

El Machine Learning basa su funcionamiento en el uso de un algoritmo, que es el que “aprende” y mejora. Este aprendizaje, por tanto, se basa en la identificación de patrones entre conjuntos de datos, de forma que se puedan establecer correlaciones entre ellos. Lo que se emplean son modelos de Machine Learning, es decir, algoritmos que ya han sido entrenados con datos. Si se usa esta tecnología, los computadores pueden actuar de forma autónoma e incluso realizar predicciones bastante acertadas, que van ganando precisión con el tiempo (a medida que “la máquina gana experiencia”).

Machine Learning en Amazon Web Services

A la vez que aplica el aprendizaje automático a algunos de sus servicios, Amazon Web Services también cuenta con sus propias herramientas de Machine Learning.

Amazon Machine Learning es un servicio que posibilita la creación de modelos de aprendizaje automático, con lo que se pueden obtener predicciones muy útiles para el negocio y las aplicaciones. Se basa en la nube y cuenta con asistentes que van ayudando al usuario o desarrollador a través del procedimiento, de forma que se podrán obtener dichos modelos sin necesidad de una cualificación específica en esta materia o del conocimientos sobre sus algoritmos. Así, aunque sería útil tener conocimientos de Amazon S3, lo único esencial es estar registrado en AWS. De esta manera, se puede implementar con menos barreras.

De hecho, para facilitar aun más su uso, Amazon ofrece recursos de aprendizaje online gratuitos y disponibles para todo el mundo en diversas materias, entre las cuales se encuentra, por supuesto, Machine Learning

Funciona con la obtención de datos del usuario en una fuente, para lo que se cuenta con Amazon S3 (es decir, se crea un origen de datos), sobre los que se podrán crear los modelos de Machine Learning, con la oportunidad de ajustar los parámetros y de obtener a posteriori predicciones a través de API.

En su propia web, Amazon clasifica como servicios de aprendizaje automático a Amazon Sage Maker, SageMaker Ground Truth, SageMaker Neo y A2I. Explicamos brevemente en qué consiste cada una a continuación:

Amazon SageMaker

La pieza central del Machine Learning ofrecido por AWS. Busca facilitar el proceso de desarrollo del Machine Learning y sus modelos, algo habitualmente muy complicado (además de lento y caro), para lo que aúna en un mismo lugar todas las herramientas y componentes necesarios. Así, el procedimiento es más rápido y sencillo tanto para la creación de los modelos como para su entrenamiento y ejecución.

Es a través de la interfaz visual Amazon SageMaker Studio donde se pueden llevar a cabo los pasos necesarios. Dentro de SageMaker, encontramos también Amazon SageMaker Autopilot, que, entre otras cosas, analiza de manera automática los datos sin procesar y clasifica modelos.

Amazon SageMaker Ground Truth

Para que un modelo de Machine Learning sea óptimo, requiere grandes cantidades de datos, pero conseguirlos es difícil y costoso. Para esta problemática surge Ground Truth, que, mediante el etiquetado de datos, da lugar a conjuntos de datos de entrenamiento de alta precisión. Esto se realiza mediante flujos de trabajo de etiquetado, que puede ser automático (mediante un modelo de ML) y que mejora con el tiempo gracias a la consolidación de anotaciones, esto es, aprende del trabajo de varios profesionales responsables del etiquetado.

Amazon SageMaker Neo

Se basa en la optimización de los modelos de Machine Learning. Funciona compilándolos en archivos ejecutables y quedándose únicamente con las operaciones necesarias para generar predicciones. Con esto, los modelos pueden “trabajar hasta dos veces más rápido, sin perder la precisión, con menos de un décimo de la cantidad de memoria”.

A2I

Amazon Augmented AI (Inteligencia artificial aumentada de Amazon) basa su funcionamiento en facilitar la creación de flujos de trabajo para que los humanos responsables puedan revisar el trabajo del modelo de Machine Learning, generalmente las predicciones que puedan ser confusas o de menor calidad. Existe la posibilidad de permitir a los revisores humanos (tanto de la organización como externos) que actúen cuando un modelo tenga dificultades. De estas intervenciones el modelo puede seguir aprendiendo.

Además de estas herramientas clasificadas como aprendizaje automático, en Amazon también cuentan con otras aplicaciones de IA en las que el Machine Learning tiene un papel primordial. Algunos ejemplos son:

  • Amazon Fraud Detector: herramienta que, mediante algoritmos de Machine Learning, permite reconocer elementos y transacciones fraudulentas o maliciosas y predecir las que son potenciales.
  • Amazon Code Guru: dedicada a revisar código de forma automática para localizar errores o ineficiente, para lo que emplea Machine Learning.
  • Amazon Comprehend Medical: realiza transcripciones de lenguaje médico y usa Machine Learning para mejorarlas.
  • Amazon Personalize: para obtener recomendaciones personalizadas basadas en aprendizaje automático.
  • Amazon Rekognition: ofrece un análisis de contenidos visuales como imágenes o vídeos.

AWS, Azure o GCP: ¿Cuál elegir?

Los dos grandes competidores de Amazon Web Services son, sin duda alguna, Microsoft Azure y Google Cloud Platform. Los tres cuentan con una oferta de servicios bastante similar, por lo que se puede complicar la decisión. Incluso centrándonos en sus ofertas de Machine Learning, las alternativas son muy interesantes, por lo que se hace esencial valorarlas antes de elegir. Nos centramos ahora en el Machine Learning como servicio en estas tres plataformas.

Para comenzar, es necesario resaltar que las tres cuentan con servicios de Machine Learning parecidos en cuanto a sus funciones: reconocimiento de imágenes, traducciones automáticas, etc. Podríamos decir que en este campo se encuentran prácticamente a la par, ya que el Machine Learning es relativamente reciente.

Para hacernos una idea de los servicios que ofrece cada una de ellas en materia de Machine Learning, a continuación mostramos una tabla que lo recopila esta información:

Cloud, AWS, Azure

Dentro de la gran variedad que ofrece, Amazon destaca, como ya hemos comentado antes, por SageMaker, una herramienta que permite crear e implementar modelos de Machine Learning de una manera más rápida y sencilla y en la que se pueden adentrar personas con más o menos experiencia en el sector. Algunos de sus beneficios destacables son los algoritmos optimizados que incluye por defecto y la posibilidad de añadir modelos propios o integrarlo con distintas bibliotecas como TensorFlow, Keras, Gluon, Torch o MXNet. Puede cargar datos de diversas fuentes (Amazon RDS, Amazon Redshift, CSV files…) y, tras recibirlos, Amazon elige de manera automática los métodos de Machine Learning. Por supuesto, no podemos olvidar otras funciones como AWS Polly o AWS Rekognition, centradas en labores más específicas de ML (reconocimiento de imágenes y transformación de texto en discurso, respectivamente).

Microsoft cuenta con Azure. Su oferta podría considerarse de las más flexibles gracias a sus precios y a la posibilidad de que sea open-source, por no mencionar la innovación que introducen en sus algoritmos. Es especialmente interesante para empresas que utilicen en su día a día otros productos de Microsoft, lo que facilita la compatibilidad.

Azure busca que el Machine Learning sea más accesible, por lo que su oferta se puede adaptar tanto a científicos de datos experimentados como a personas con menos conocimientos en el sector. Este aspecto se ve claramente en la interfaz de Azure Machine Learning Studio, que ofrece soporte para más de 100 métodos y se basa en “drag-and-drop” (arrastrar y soltar), haciéndola más intuitiva y sencilla. Sin embargo, sí es cierto que el uso de Azure requiere una curva de aprendizaje, pero a la larga conlleva una ventaja, puesto que se consigue entender en mayor profundidad los métodos de Machine Learning.

Se hace necesario mencionar Bot Service para desarrollar, testear e implementar bots sin necesidad de conocimientos extensos (ya que tiene diversas plantillas) y Cortana Intelligence Gallery, que reúne soluciones de Machine Learning aportadas por la comunidad de data scientists, ayudando a que se adopten de manera más fácil.

En el caso de Google, las posibilidades que ofrece Google Cloud Platform respecto a Machine Learning son extensas y sus precios son más sencillos de calcular. Principalmente se divide en dos partes: Cloud AutoML y Google Cloud Machine Learning Engine.

La primera, Cloud AutoML, está más enfocada a personas sin gran experiencia en esta materia. A través de una interfaz gráfica bastante simple, los usuarios pueden subir sus datos y construir modelos personalizados de Machine Learning, para posteriormente implementarlos. Dentro de AutoML existen varios productos a los que se accede a través de APIs y es interesante considerar la integración con el resto de servicios de Google.

Por su parte, Google Cloud Machine Learning Engine se podría comparar con SageMaker. En este caso, se dirige a expertos en la materia, pero sin perder su carácter flexible. Normalmente, se sugiere vincularlo a TensorFlow.

 

En definitiva, a pesar de que tienen muchos puntos de encuentro, las tres cuentan con diferencias, por ejemplo, en sus algoritmos, compatibilidades, habilidades requeridas, etc. Esto, sumado a la gran variedad de la oferta y el aspecto cambiante de este mercado en constante evolución, puede generar confusión. Por ello, es necesario tener en mente que cada proyecto de Machine Learning es único y requiere una serie de características específicas. Las empresas deben idear un plan sobre el uso que quieren hacer de estas tecnologías y cómo aportará valor a su negocio para tener claro desde el primer momento qué necesitan. Así, la decisión final será mucho más sencilla.

Sara López Mora

Redactora especializada en Digital, Business e Innovación

Comparte el post:

¿Hablamos?

Si necesitas desarrollar o mejorar tu negocio digital, cuenta con nosotros. Puedes escribirnos un mail a hello@digital55.com, llamarnos al teléfono 913 091 641 o rellenar el formulario que encontrarás más abajo.