Podcast: Dimensionamiento del almacenamiento de datos para cargas de trabajo de IA/ML

En este podcast, analizamos cómo dimensionar el almacenamiento para cargas de trabajo de inteligencia artificial (IA) y aprendizaje automático (ML) que pueden variar desde lotes de imágenes grandes hasta muchos, muchos archivos pequeños, con Curtis Anderson, arquitecto de software en Panasas.

Anderson habla sobre las formas en que los diferentes marcos de IA/ML extraen datos para computar y las implicaciones de eso para la forma en que se almacenan los datos.

Anderson también habla sobre la posibilidad de utilizar todo flash en las instalaciones, el uso de la nube y las organizaciones de evaluación comparativa que pueden ayudar a las organizaciones a dimensionar su infraestructura para AI/ML.

Antony Adshead: ¿Cuáles son los desafíos para el almacenamiento con IA y ML?

Curtis Anderson: Vamos a establecer un poco de contexto aquí. El primer lugar para comenzar es que usted, el cliente, desea comenzar a lograr algún objetivo, ya sea identificar células cancerosas en una imagen de rayos X o, según el historial de compras de un cliente, recomendar un producto que tal vez quiera comprar a continuación.

Su científico de datos tomará ese requisito y construirá un modelo. Luego, el modelo aprovecha un marco, que es una capa de software debajo de eso. PyTorch y TensorFlow son los dos marcos más populares en la actualidad. En realidad, es el marco el que determina cómo se almacenan los datos de entrenamiento en el subsistema de almacenamiento.

Con Pytorch, por ejemplo, si está hablando de imágenes, almacenará un jpg por archivo, por ejemplo, un millón de jpg en un árbol de directorios. TensorFlow, por otro lado, pondrá 1000 o un par de miles de imágenes en un formato de archivo mucho más grande específico de TensorFlow y tendrá una cantidad mucho menor de archivos grandes.



En realidad, es el marco el que determina cómo se almacenan los datos en el almacenamiento y, por lo tanto, tiene un gran impacto en el rendimiento del almacenamiento. Muchos archivos pequeños ejercen presión sobre el almacenamiento de una manera diferente al ancho de banda realmente alto que sale de una pequeña cantidad de archivos.

Entonces, ese es el primer orden de magnitud de los desafíos de la IA aplicada al almacenamiento.

Adshead: ¿Cómo dimensionamos el almacenamiento para diferentes cargas de trabajo de IA/ML?

anderson: Entonces, ahí es donde se pone realmente interesante. Nuevamente, necesito establecer algo de contexto y luego puedo pasar a la respuesta más directa a la pregunta.

Cuando está entrenando su modelo de red neuronal, el marco extrae datos del almacenamiento, los coloca en la memoria en lo que llamamos un lote y entrega el lote completo a la GPU. [graphics processing unit] crujir, calcular.

Mientras la GPU procesa ese dato, en ese lote, el marco leerá más datos para construir el siguiente lote. Tan pronto como se completa el primer lote, el siguiente se descarga en la GPU y el marco se apaga y lee más datos.

Donde se complica es que para que las redes neuronales funcionen correctamente, para entrenar correctamente, los datos deben ser aleatorios. No ha cambiado, pero esta vez extrae esta imagen y entrena los datos, y la próxima vez extrae una imagen diferente al azar como parte del siguiente lote. Y en el siguiente lote, elige un conjunto diferente de imágenes, las incorpora. Entonces, la aleatoriedad es solo parte del requisito.

Cuando la GPU está procesando el lote actual y el marco está tratando de ensamblar el siguiente lote, si el almacenamiento no puede responder lo suficientemente rápido, la GPU finaliza su cálculo y se queda inactivo, y espera a que el siguiente lote termine de construirse en la memoria.

Bueno, ese es un recurso costoso. Las GPU no son baratas. No desea que se queden inactivos, por lo que el almacenamiento debe ser lo suficientemente rápido para mantenerse al día con la creación de lotes y mantener alimentada la GPU.

De nuevo, más complejidad. La cantidad de cómputo en una imagen es mucho mayor de lo que necesitaría en un recomendador. Con el historial de compras de alguien, hay muchos menos datos que en una imagen de rayos X grande.

Cuando la GPU está procesando un lote de imágenes de rayos X, por ejemplo, el almacenamiento tiene mucho más tiempo para extraer los datos y generar el lote. En un recomendador, donde el cálculo por byte de datos es pequeño, el almacenamiento tiene que ser mucho más rápido.

La mayoría de las personas no saben en qué problemas van a estar trabajando, por lo que dicen: “Bien, simplemente gastaremos el dinero y compraremos una solución de almacenamiento all-flash y eso se mantendrá al día con cualquier cosa”. Eso funciona perfectamente bien, es una buena respuesta.

Si comienza a experimentar en la nube, hace clic aquí en lugar de allí y obtiene un subsistema de almacenamiento all-flash.

Si tienes 200TB o 300TB [terabytes] de datos contra los que desea entrenar, que es el tamaño de la mayoría de los proyectos en estos días, entonces all-flash es una solución asequible. Si tienes de 2PB a 3PB [petabytes] de datos, entonces estás hablando de dinero en serio y tienes que pensar más sobre si está justificado o no, por lo que hay un poco más de complejidad allí.

Si ha oído hablar de MLCommons o MLPerf, es un consorcio de la industria, una organización sin fines de lucro que ayuda a los profesionales de la IA. Están en el proceso de crear un punto de referencia para los sistemas de almacenamiento que admiten entornos de IA y han publicado resultados de diferentes proveedores, por lo que es un lugar para obtener datos al comparar productos de almacenamiento.

Adshead: ¿Cómo resumiría los requisitos de almacenamiento para las cargas de trabajo de IA/ML?

anderson: Si su problema es pequeño, simplemente compre todo flash, si está en las instalaciones. La mayoría de los proyectos de IA comienzan en la nube porque solo alquila las GPU que necesita durante el tiempo que las necesita. La nube no es barata. Por lo general, es más barato comprar y tener el equipo en las instalaciones, pero debe tener un proyecto comprometido que sepa que está funcionando. Tienes que entrar en producción en ese proyecto antes de que se justifique.

La respuesta simple es, compre productos de almacenamiento all-flash y podrá mantenerse al día. Cuando los problemas aumentan, necesita muchos más detalles, un análisis más profundo, para no terminar desperdiciando dinero. Ahí es donde entran las cosas de MLPerf.

La versión corta es simplemente comenzar con un producto all-flash.

Exit mobile version