Q:
¿Cómo puede la contenedorización ser una buena opción para un entorno de proyecto de aprendizaje automático?
UN:Algunas compañías están avanzando hacia la contenedorización para proyectos de aprendizaje automático, en base a algunos de los beneficios que ofrecen las configuraciones de contenedores en términos de plataformas y entornos de software.
El aprendizaje automático es complejo: los algoritmos mismos realizan muchas acciones muy detalladas y complicadas sobre los datos. Sin embargo, la propuesta de valor es, de alguna manera, bastante simple: los algoritmos de aprendizaje automático funcionan en los datos procedentes de entornos de almacenamiento.
Descarga gratuita: Aprendizaje automático y por qué es importante |
El uso de contenedores implica cómo los ingenieros colocan los datos en el entorno de aprendizaje automático y cómo funcionan los algoritmos.
Los ingenieros pueden usar la virtualización de contenedores para alojar los datos o para implementar el código que ejecuta los algoritmos. Aunque los contenedores pueden ser útiles para los datos, su principal beneficio probablemente viene en su uso para alojar el código del algoritmo.
Las arquitecturas de contenedores cuentan con aplicaciones y bases de código independientes. Cada contenedor obtiene su propio clon del sistema operativo y obtiene un entorno operativo completo para la aplicación o el conjunto de funciones de código que se encuentra dentro de él.
Como resultado, las aplicaciones individuales, microservicios o bases de código que se encuentran en cada contenedor se pueden implementar de formas muy versátiles. Se pueden implementar en diferentes plataformas y diferentes entornos.
Ahora, suponga que está intentando acelerar un proyecto de aprendizaje automático en el que varios algoritmos tienen que trabajar en varios datos de manera iterativa. Si se cansa de lidiar con desafíos multiplataforma o problemas de dependencia o situaciones en las que la implementación básica es difícil, los contenedores pueden ser la solución.
Esencialmente, los contenedores proporcionan una forma de alojar el código. Los expertos hablan sobre la implementación de los contenedores contra los datos almacenados para obtener buenos resultados.
"(Las aplicaciones) se pueden mezclar y combinar en cualquier número de plataformas, prácticamente sin necesidad de portabilidad o prueba", escribe David Linthicum en un artículo de TechBeacon que expone el valor de los contenedores para proyectos de aprendizaje automático, "porque existen en contenedores, pueden operar en un entorno altamente distribuido, y puede colocar estos contenedores cerca de los datos que analizan las aplicaciones ".
Linthicum continúa hablando sobre exponer los servicios de aprendizaje automático como microservicios. Esto permite que aplicaciones externas, basadas en contenedores o no, aprovechen estos servicios en cualquier momento sin tener que mover el código dentro de la aplicación.
En un sentido muy básico, la implementación de contenedores se trata de hacer que la funcionalidad del programa de aprendizaje automático sea más adaptable, eliminando los silos y las conexiones innecesarias, y nuevamente, las dependencias, que pueden paralizar un proyecto. Para un proyecto de aprendizaje automático simple y simple, si las partes individuales de los algoritmos, aplicaciones o funcionalidades se encuentran dentro de contenedores, es fácil administrar de manera microestable estas piezas autónomas y crear proyectos complejos de productos de aprendizaje automático en consecuencia.