¿Cómo es usar la nueva plataforma de aprendizaje automático de Amazon?

Los beneficios de usar Amazon Machine Learning es que podemos usar los algoritmos internos de AWS a bajo costo. Con este servicio, los científicos de datos deberían poder ahorrar tiempo al no escribir algoritmos complejos por sí mismos. El servicio detecta modelos de predicción útiles basados ​​en sus datos, por lo que siempre que tenga habilidades básicas en métodos estadísticos y para leer gráficos, puede beneficiarse de estos algoritmos.
AWS menciona que han basado Amazon Machine Learning en la tecnología ML que han estado utilizando internamente, por lo que podemos imaginar que escalará bastante bien dependiendo de la cantidad de datos involucrados.
Construido sobre esta plataforma escalable, parecía una oferta de servicios muy atractiva, por lo que decidimos probarlo con nuestros datos de muestra almacenados en Amazon Redshift.
Uso de Amazon Machine Learning
Amazon Machine Learning actualmente admite S3 o Amazon Redshift como fuente de datos (mencionan MySQL en RDS en su sitio web, pero parece que todavía no lo admiten). Para probarlo, tomamos algunos datos de uso agregados de nuestro servicio FlyData Sync. Agregamos los pasos que tomamos para que pueda seguirlos (utilizando sus datos) si lo desea. Veamos qué podemos obtener de Amazon Machine Learning.
Empezando
Aquí está la página principal de Amazon Machine Learning (Fig. 1). Después de hacer clic en “Comenzar”, la siguiente pantalla mostró dos opciones de configuración, por lo que seleccionamos la “Configuración estándar” e hicimos clic en el botón “Iniciar”. Luego, a través del asistente de configuración (Fig. 2) seleccionamos Redshift como fuente de datos.

(Figura 1)

(Fig. 2) Como puede ver, hay varios detalles que completar. Establecer una función de IAM fue lo primero que se requirió para que Amazon Machine Learning se conectara a Redshift y a un depósito S3 provisional, así que comenzamos allí.
Crear un rol de IAM
Crear roles de IAM podría parecer complicado al principio, pero afortunadamente AWS lo hizo bastante simple para Amazon Machine Learning. La forma más sencilla es utilizar la plantilla de rol de IAM preparada por Amazon, a la que puede acceder con varios clics. Aquí están los pasos.
Primero vaya a Amazon IAM y seleccione “Rol” en el menú derecho, luego haga clic en “Crear nuevo rol”. Después de ingresar un nuevo nombre de rol, puede encontrar el rol preestablecido “Rol de Amazon Machine Learning para la fuente de datos Redshift”. Haga clic en “Seleccionar” y vaya al resto del asistente para crear el rol.
Crear un cubo S3
Después de crear el rol de IAM, tuvimos que crear un depósito S3. Amazon Machine Learning organizará los datos de Redshift en este depósito, antes de crear su objeto de origen de datos.
Simplemente cree un depósito S3 y copie la URL de ese depósito. A continuación, puede completar esta URL de depósito S3 en el formulario de Amazon Machine Learning.
También debe preparar una consulta SQL, que se utilizará para extraer sus datos de Redshift. Amazon Machine Learning solo lee de un archivo plano almacenado en S3, por lo que si está analizando datos en varias tablas, deberá crear una consulta SQL que se una correctamente a sus tablas.
Una vez realizada la preparación anterior, podemos hacer clic en “Verificar”, que comienza a verificar los datos de Redshift. La siguiente pantalla le mostrará el esquema del conjunto de datos que el servicio detectó automáticamente en función de sus datos SQL y Redshift. Puede modificar el tipo de datos según sea necesario.
A continuación, seleccionará el objetivo del análisis. Por ejemplo, si elige un objetivo numérico, el análisis será una regresión numérica.
En esta página objetivo, está configurando un valor objetivo (valor Y) para sus datos. Una vez que seleccione el destino, Amazon Machine Learning comenzará a crear un objeto de fuente de datos, así como a presentar estadísticas básicas y algunas estadísticas avanzadas sobre los datos.
Este es uno de los resultados que obtuvimos.
Creando el modelo
El siguiente paso es crear el modelo. Para hacerlo, puede seleccionar “Crear modelo ML (entrenar)” en los detalles de la fuente de datos. Si utiliza la configuración predeterminada para su modelo de predicción, utilizará el 70% de los datos para el entrenamiento y el 30% restante para evaluar el modelo.
Después de crear el modelo de predicción, puede verificar el residuo de su modelo.
Realizar predicciones
El último paso es hacer predicciones utilizando el modelo de predicción que se creó. Vaya a los detalles de la fuente de datos y haga clic en el menú desplegable “Usar la fuente de datos para” y luego seleccione “Generar predicción por lotes”.
En la siguiente pantalla, puede seleccionar el modelo de predicción a usar, los datos a analizar y el depósito S3 para almacenar su resultado. Una vez que haga clic en el botón “Finalizar” en la pestaña “Paso 4. Revisar”, Amazon Machine Learning ejecutará el algoritmo en sus datos y guardará los resultados en el depósito S3 que especificó.
El resultado solo está disponible en S3, por lo que deberá descargar los datos desde allí.
Desglose de precios
El precio no fue inmediatamente evidente para nosotros (no pudimos adivinar de inmediato cuánto costará, en función de nuestro tamaño de datos), por lo que esperamos que el siguiente desglose de los cargos en los que incurrimos lo ayude a tener una idea de los costos.
Para nuestros datos de prueba, teníamos unos 300 MB de datos, lo que nos costó un total de $ 0,42 por unos minutos en la creación del modelo y $ 0,10 por las tarifas de predicción.
Estructura de costo
La estructura de costos para Amazon Machine Learning se puede dividir en dos aspectos.

  • Análisis de datos y tarifas de construcción de modelos
  • Tarifas de predicción

Su costo total será la suma de los dos costos.
Análisis de datos y tarifas de construcción de modelos
Estas tarifas son para crear su modelo. Los factores que afectan el análisis de datos y las tarifas de construcción del modelo son:

  • El tamaño de los datos de entrada;
  • El número de atributos dentro de él; y,
  • El número y los tipos de transformaciones aplicadas.

Según estos factores, cambiará la cantidad de tiempo de computación que necesita. Este tiempo de computación se factura a $ 0.42 / hora.
Tarifas de predicción
Estas tarifas son para aplicar su modelo a cada uno de sus datos. Puede elegir Batch o Real-time, según su situación. Para este artículo, probamos la opción Batch. Los costos son los siguientes.

  • Lote
    • $ 0.10 por 1,000 predicciones, redondeadas a las siguientes 1,000
  • Tiempo real
    • $ 0.0001 por predicción, redondeado al centavo más cercano

Nuestros costos reales
Para nuestros datos de prueba, teníamos aproximadamente 300 MB de datos, lo que nos costó un total de $ 2.25 por 10 a 15 minutos más o menos en la creación del modelo y $ 0.10 por las tarifas de predicción. Una cosa a tener en cuenta es que el cargo está en “Instance-hours”, que podría ser mucho más que el tiempo de espera real que experimenta. Nuestro tiempo de espera de 10 a 15 minutos llegó a más de 5 horas de “Instance-hours”. En nuestro caso, el cargo real no fue mucho, pero es algo a tener en cuenta.
Aquí está la página oficial de precios de AWS.
Otros consejos
Actualmente, Amazon Machine Learning está disponible solo en la región estándar de EE. UU. (Us-east-1). Si su clúster Redshift está en otra región, debe transferir su instantánea e iniciar otro clúster en la región US-EAST por ahora.
Otro consejo misceláneo: su precio de $ 0.42 / hora para crear modelos posiblemente podría haber venido desde aquí.
Resumen
En general, la experiencia de probar Amazon Machine Learning fue un poco más complicada de lo que esperábamos, pero vimos cómo esto podría abrir el aprendizaje automático a un público mucho más amplio. Por ejemplo, configurar el rol de IAM, crear un depósito de S3, pensar en la consulta de unión SQL, etc., fueron pasos un poco engorrosos. Pero la facilidad con la que pudimos obtener el modelo de predicción (sin pensar demasiado en el algoritmo) fue bastante impresionante.
Otro gran beneficio que vemos es que esto se construyó con la suposición de conjuntos de datos realmente grandes. El hecho de que AWS haya basado esto en sus algoritmos de ML internos, y de que ya tienen Amazon Redshift como fuente de datos, sugiere que Amazon Machine Learning anticipa conjuntos de datos de un tamaño considerable. Esta escalabilidad, a este precio, es bastante notable.
Dicho esto, solo realizamos una ejecución de prueba simple, por lo que estamos seguros de que hay muchas características que nos perdimos en nuestra primera ejecución. La función de predicciones en tiempo real, en particular, parece muy interesante y es algo que nos encantaría probar. Actualizaremos nuestro blog a medida que aprendamos más sobre el uso de Amazon Machine Learning.

Sí. Cuando estaba en la universidad, investigué bastante sobre el aprendizaje automático. También intentaré resumir mi breve experiencia con el curso de aprendizaje automático de Amazon. Es asombroso. Y siempre me preguntaba cómo obtener todas las noticias de tendencias utilizando el conocimiento que he aprendido. Y finalmente, decidí escribir una aplicación para Android yo mismo. Después de 3 meses trabajando en el sitio del cliente y el servidor, finalmente obtuve lo que quería. También llego a Play Store para compartir con otros.
Se me ocurrió el nombre IIIN – Trending News como lo que estaba soñando. Podría decir que estoy muy feliz con eso.

Aplicaciones de Android en Google Play

IIIN significa noticias interesantes, integradas e interactivas

  1. Noticias interesantes

IIIN recopila lo que las personas que hablan en Internet incluyen web, blog, sitios de redes sociales (Facebook, Twitter …) y luego emplean algoritmos sofisticados para descubrir temas y artículos de tendencias. Hay miles o cientos de miles de personas hablando sobre cada uno de sus artículos. La aplicación también es noticia de tendencias destacadas de Twitter o Facebook en términos de estructuras, ya que se incluyen todas las categorías. Las tendencias de Twitter y Facebook son casi sobre el mundo del espectáculo y el entretenimiento.

  1. Integrado

La aplicación muestra a los lectores cómo otras personas se preocupan por cada noticia mediante ilustraciones estadísticas, comentarios.

  1. Interactivo

Yo diría que este es el mejor lugar para discutir y compartir. Me encantan los comentarios, ya que a menudo leo comentarios para ver a otras personas sobre esta historia y responderlos si estoy de acuerdo o no.