Cómo elegir una plataforma de machine learning en la nube

12 características que toda plataforma de machine learning en la nube debe proporcionar para soportar el ciclo de vida completo del aprendizaje automático.

by Janeth Kent Date: 26-04-2021 machinelearning IA aprendizaje-automático


Para crear modelos eficaces de aprendizaje automático y aprendizaje profundo, se necesitan grandes cantidades de datos, una forma de limpiarlos y realizar ingeniería en ellos, junto a un modelo de entrenamiento de datos en un tiempo razonable.

También es imprescindible disponer de una forma para implementar modelos, supervisar su evolución a lo largo del tiempo y volver a entrenarlos cuando sea necesario.

Todo esto se puede hacer in situ si se ha invertido en recursos informáticos y aceleradores, como las GPU, pero es posible que, si los recursos son adecuados, también estén inactivos la mayor parte del tiempo. Por otro lado, a veces puede ser más rentable ejecutar todo el pipeline en la nube, utilizando grandes cantidades de recursos informáticos y aceleradores según sea necesario, y luego liberándolos.

Los principales proveedores de la nube, han realizado un esfuerzo considerable para crear sus plataformas de aprendizaje automático con el fin de apoyar el ciclo de vida completo del aprendizaje automático, desde la planificación de un proyecto hasta el mantenimiento de un modelo en producción.

¿Cómo determinar cuál de estas nubes satisfará nuestras necesidades? Vamos a mencionar 12 características que toda plataforma de aprendizaje automático integral debería ofrecer.

1. Cercania de los datos

Si disponemos de una gran cantidad de datos necesarios para construir modelos precisos, no queremos enviarlos al otro lado del mundo. Pero el problema no es la distancia, sino el tiempo: La velocidad de transmisión de los datos está limitada en última instancia por la velocidad de la luz, incluso en una red perfecta con un ancho de banda infinito. Las largas distancias implican latencia.

El caso ideal para conjuntos de datos muy grandes es construir el modelo donde ya residen los datos, de modo que no sea necesaria la transmisión masiva de datos. Varias bases de datos lo permiten hasta cierto punto.

El siguiente caso ideal es que los datos estén en la misma red de alta velocidad que el software de creación de modelos, lo que suele significar que se encuentran en el mismo centro de datos. Incluso el traslado de los datos de un centro de datos a otro dentro de una zona de disponibilidad de la nube puede introducir un retraso significativo si tiene terabytes (TB) o más. Esto se puede mitigar realizando actualizaciones progresivas.

El peor caso sería el de tener que trasladar grandes datos a largas distancias por rutas con un ancho de banda limitado y una alta latencia. Los cables transpacíficos que van a Australia son particularmente atroces en este sentido.

2. Respaldar una canalización ETL o ELT

ETL (exportar, transformar y cargar) y ELT (exportar, cargar y transformar) son dos configuraciones de tuberías de datos que son comunes en el mundo de las bases de datos. El aprendizaje automático y el aprendizaje profundo amplían la necesidad de estos, especialmente la parte de transformación. ELT te da más flexibilidad cuando tus transformaciones necesitan cambiar, ya que la fase de carga suele ser la que más tiempo consume para el big data.

En general, los datos en la naturaleza son algo ruidosos y desordenados. Hay que filtrarlos. Además, los datos en la naturaleza tienen rangos variables: Una variable puede tener un máximo de millones, mientras que otra puede tener un rango de -0,1 a -0,001. Para el aprendizaje automático, las variables deben transformarse en rangos estandarizados para evitar que las que tienen rangos grandes dominen el modelo. El rango estandarizado exacto depende del algoritmo utilizado para el modelo.

3. Apoyar un entorno en línea para la construcción de modelos

La sabiduría convencional solía ser que había que importar los datos al escritorio para la construcción de modelos. La gran cantidad de datos necesarios para construir buenos modelos de aprendizaje automático y aprendizaje profundo cambia el panorama: Puedes descargar una pequeña muestra de datos a tu escritorio para el análisis exploratorio de datos y la construcción de modelos, pero para los modelos de producción necesitas tener acceso a los datos completos.

Los entornos de desarrollo basados en la web, como Jupyter Notebooks, JupyterLab y Apache Zeppelin, son muy adecuados para la creación de modelos. Si tus datos están en la misma nube que el entorno de cuadernos, puedes llevar el análisis a los datos, minimizando el lento movimiento de datos.

4. Admite el entrenamiento a escala y a escala reducida

Los requisitos de computación y memoria de los portátiles son generalmente mínimos, excepto para los modelos de entrenamiento. Es de gran ayuda que un portátil pueda generar trabajos de formación que se ejecuten en múltiples máquinas virtuales o contenedores de gran tamaño. También ayuda mucho si la formación puede acceder a aceleradores como GPUs, TPUs y FPGAs; estos pueden convertir días de formación en horas.

5. Soportar AutoML y la ingeniería automática

No todo el mundo es bueno en la elección de modelos de aprendizaje automático, la selección de características (las variables que son utilizadas por el modelo), y la ingeniería de nuevas características de las observaciones en bruto.

Los sistemas AutoML suelen probar muchos modelos para ver cuál da lugar a los mejores valores de la función objetivo, por ejemplo el error cuadrático mínimo para los problemas de regresión.

Los mejores sistemas AutoML también pueden realizar ingeniería de características y utilizar sus recursos de forma eficaz para buscar los mejores modelos posibles con los mejores conjuntos de características posibles.

6. Apoye los mejores marcos de aprendizaje automático y aprendizaje profundo

La mayoría de los científicos de datos tienen marcos y lenguajes de programación favoritos para el aprendizaje automático y el aprendizaje profundo. Para los que prefieren Python, Scikit-learn suele ser el favorito para el aprendizaje automático, mientras que TensorFlow, PyTorch, Keras y MXNet suelen ser los más elegidos para el aprendizaje profundo. En Scala, Spark MLlib tiende a ser el preferido para el aprendizaje automático. En R, hay muchos paquetes nativos de aprendizaje automático y una buena interfaz con Python. En Java, H2O.ai tiene una alta valoración, al igual que Java-ML y Deep Java Library.

Las plataformas de aprendizaje automático en la nube y de aprendizaje profundo suelen tener su propia colección de algoritmos, y a menudo admiten marcos externos en al menos un lenguaje o como contenedores con puntos de entrada específicos. En algunos casos puedes integrar tus propios algoritmos y métodos estadísticos con las facilidades de AutoML de la plataforma, lo cual es bastante conveniente.

Algunas plataformas en la nube también ofrecen sus propias versiones ajustadas de los principales marcos de aprendizaje profundo. Por ejemplo, AWS tiene una versión optimizada de TensorFlow que, según afirma, puedemos lograr una escalabilidad casi lineal para el entrenamiento de redes neuronales profundas.

7. Ofrecer modelos preformados y apoyar el aprendizaje por transferencia

No todo el mundo quiere dedicar el tiempo y los recursos informáticos necesarios para entrenar sus propios modelos, ni debería hacerlo cuando hay modelos preentrenados disponibles. Por ejemplo, el conjunto de datos de ImageNet es enorme, y entrenar una red neuronal profunda de última generación con él puede llevar semanas, por lo que tiene sentido utilizar un modelo preentrenado cuando se pueda.

Por otro lado, es posible que los modelos preentrenados no siempre identifiquen los objetos que le interesan. El aprendizaje por transferencia puede ayudarnos a personalizar las últimas capas de la red neuronal para su conjunto de datos específico sin el tiempo y el gasto de entrenar la red completa.

8. Ofrecer servicios de IA ajustados

Las principales plataformas en la nube ofrecen servicios de IA sólidos y ajustados para muchas aplicaciones, no sólo para la identificación de imágenes. Algunos ejemplos son la traducción de idiomas, la conversión de voz en texto, la predicción y las recomendaciones.

Estos servicios ya han sido entrenados y probados con más datos de los que suelen tener las empresas. Además, ya están desplegados en puntos finales de servicio con suficientes recursos informáticos, incluidos aceleradores, para garantizar buenos tiempos de respuesta bajo carga mundial.

9. Gestionar los experimentos

La única manera de encontrar el mejor modelo para su conjunto de datos es probarlo todo, ya sea manualmente o utilizando AutoML. Eso deja otro problema: la gestión de los experimentos.

Una buena plataforma de aprendizaje automático en la nube tendrá una forma de ver y comparar los valores de la función objetivo de cada experimento tanto para los conjuntos de entrenamiento como para los datos de prueba, así como el tamaño del modelo y la matriz de confusión. Ser capaz de graficar todo eso es una ventaja definitiva.

10. Apoyar el desarrollo del modelo de predicción

Una vez que tengamos una forma de elegir el mejor experimento en función de nuestros criterios, también necesitaremos una forma sencilla de implementar el modelo. Si se implementan varios modelos para el mismo propósito, también se necesitará una forma de repartir el tráfico entre ellos para las pruebas a/b.

11. Supervisar el rendimiento de las predicciones

Por desgracia, el mundo tiende a cambiar, y los datos cambian con él. Esto significa que no se puede implementar un modelo y olvidarse de él. En su lugar, debe supervisar los datos enviados para las predicciones a lo largo del tiempo. Cuando los datos empiecen a cambiar significativamente con respecto a la línea de base de su conjunto de datos de entrenamiento original, necesitaremos volver a entrenar su modelo.

12. Controlar los costes

Por último, es necesario controlar los costes en los que incurren los modelos. La implementación de modelos para la inferencia de producción a menudo representa el 90% del coste del aprendizaje profundo, mientras que la formación representa solo el 10% del coste.

La mejor manera de controlar los costes de predicción dependerá de su carga y de la complejidad de del modelo. Si tenemos una carga alta, podríamos utilizar un acelerador para evitar añadir más instancias de máquinas virtuales. Si tenemos una carga variable, podemos cambiar dinámicamente el tamaño o el número de instancias o contenedores a medida que la carga aumenta o disminuye.

Y si tenemos una carga baja u ocasional, podríamos utilizar una instancia muy pequeña con un acelerador parcial para manejar las predicciones.

Education vector created by vectorjuice - www.freepik.com
 
by Janeth Kent Date: 26-04-2021 machinelearning IA aprendizaje-automático visitas : 824  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN END DEVELOPMENT.

 
 
 

Artículos relacionados

Detección de deepfakes: un reto tecnológico emergente

Es muy probable que, al navegar por Internet, todos nos hayamos topado alguna vez con un vídeo deepfake. Los deepfakes suelen mostrar a personas conocidas haciendo cosas realmente inverosímiles, comoa…

Fronteras de la comunicación: lenguaje e Inteligencia Artificial

En el libro “Cómo la vida imita al ajedrez” Garry Kasparov narra su historia y sus memorables partidas contra Karpov o Deep Blue. Deep Blue, así se llamaba el programa de…

7 Nuevos y Asombrosos Usos del Aprendizaje de Máquinas

Recientemente un extraño video publicado en YouTube causó una controversia - fue una divertida toma del tradicional mensaje navideño de la Reina Isabel creado por el Canal 4, una emisora de…

Imágenes generadas por GAN

Juguemos a un juego... ¿Adivinas qué tienen en común estos retratos?   Todas estas son personas inexistentes. Las imágenes fueron creadas por una inteligencia artificial. Podríamos decir que la IA "soñó" con…

3 maneras impresionantes en que la tecnología nos ayuda a combatir la pandemia de COVID

Los tiempos son difíciles ahora, que la humanidad una vez más se encuentra con una terrible pandemia. Pero en comparación con la pobre gente en 1918, cuando la gripe española…

Una nueva técnica revolucionaria, permite que la Inteligencia Artificial aprenda sin datos

El aprendizaje automático suele requerir numerosos ejemplos. Para conseguir que un modelo de IA reconozca un caballo, necesitas mostrarle miles de imágenes de caballos. Esto es lo que hace que…

Como crear un código QR para WhatsApp

Los códigos QR de WhatsApp pueden resultar útiles a la hora de compartir tu número con personas nuevas, tanto si gestionas una cuenta empresarial, un grupo de soporte u otras…

Desde Suecia una revolución: un fluido preserva la energía proveniente del Sol y permite utilizarla hasta 10 años después.

Si pudiéramos transformar toda la energía solar que llega a la Tierra, bastaría para resolver los problemas energéticos de la humanidad, pero aún hoy sufre un problema: la imposibilidad de…

De dioses y robots: batallas épicas entre mitos y tecnologías

Viajar en el tiempo hasta la antigüedad podría ayudarnos a visualizar el futuro de la humanidad. Según el mito griego, después de la creación de los humanos y de los animales,…

Debian lanza una convocatoria para el diseño de su nuevo desktop en la versión 11 BullsEye

Jonathan Carter del grupo de desarolladores de Debian acaba de lanzar una convocatoria para artistas digitales sobre la creación del nuevo tema oficial para Debian 11 Bullseye, a continuación su…

Facebook nos sugiere tres preguntas para reconocer las noticias falsas y no compartirlas

¿De dónde viene? ¿Qué falta? ¿Cómo te sientes? Estas son las tres preguntas que Facebook recomienda a todos los usuarios que se hagan antes de compartir las noticias. La iniciativa…

El mejor software y aplicaciones gratuitos de streaming en directo para todas las plataformas

Estamos en una lenta transición hacia un mundo hecho de transmisiones en streaming. Ya sea que quieras transmitir en vivo o capturar contenido de la web, las opciones son ilimitadas.…

Utilizamos cookies propias y de terceros para mejorar nuestros servicios, elaborar información estadística y analizar tus hábitos de navegación. Esto nos permite personalizar el contenido que ofrecemos y mostrarte publicidad relacionada con tus preferencias. Clicando en ‘Acepta todas’ aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación en el sitio web, analizar el tráfico y ayudar en nuestras actividades de marketing. También puedes seleccionar ‘Sólo cookies de sistema’ para aceptar sólo las cookies necesarias para que la web funcione, o puedes seleccionar las cookies que quieres activar clicando en ‘Configuración’

Acepta todas Sólo cookies de sistema Configuración