La inteligencia artificial (IA) y el aprendizaje automático (ML) prometen transformar sectores enteros de la economía y la sociedad si aún no lo están haciendo. Desde automóviles sin conductor hasta «bots» de servicio al cliente, los sistemas basados en IA y ML están impulsando la próxima ola de automatización empresarial.
También son consumidores masivos de datos. Después de aproximadamente una década de crecimiento relativamente constante, los datos utilizados por los modelos de IA y ML han crecido exponencialmente a medida que los científicos e ingenieros se esfuerzan por mejorar la precisión de sus sistemas. Esto impone exigencias nuevas ya veces extremas a los sistemas de TI, incluido el almacenamiento.
AI, ML y análisis requieren grandes cantidades de datos, principalmente en formatos no estructurados. «Todos estos entornos usan cantidades masivas de datos no estructurados», dijo Patrick Smith, CTO de campo para Europa, Medio Oriente y África (EMEA) del proveedor Pure Storage. «Es un mundo de datos no estructurados, no de bloques ni bases de datos».
En particular, cuando se entrenan modelos de IA y ML, se utilizan conjuntos de datos más grandes para obtener predicciones más precisas. Como señala Vibin Vijay, especialista en inteligencia artificial y aprendizaje automático de OCF, un modelo básico de prueba de concepto podría esperar un 80 % de precisión en un solo servidor.
Con el entrenamiento en un grupo de servidores, esto aumentará al 98 % o incluso al 99,99 % de precisión. Sin embargo, esto impone sus propias exigencias a la infraestructura de TI. Casi todos los desarrolladores asumen que más datos es mejor, especialmente en la fase de entrenamiento. «Esto conduce a enormes colecciones de datos de al menos petabytes para que la empresa los administre», dijo Scott Baker, CMO de IBM Storage.
Los sistemas de almacenamiento pueden convertirse en un cuello de botella. Las últimas aplicaciones de análisis avanzado hacen un uso intensivo de las CPU y, especialmente, de los clústeres de GPU conectados a través de tecnologías como Nvidia InfiniBand. Los desarrolladores incluso están considerando conectar la memoria directamente a las GPU.
«Las cargas de trabajo de IA y ML generalmente usan GPU potentes en la fase de aprendizaje que son costosas y tienen una gran demanda», dijo Brad King, cofundador y CTO de campo del proveedor Scality. “Pueden masticar grandes cantidades de datos y, a menudo, esperar sin hacer nada por más datos debido a las limitaciones de almacenamiento.
“Las cantidades de datos suelen ser grandes. Grande es, por supuesto, un término relativo, pero en general, cuantos más datos relevantes estén disponibles, mejores serán los conocimientos para extraer conocimientos prácticos de los datos”.
El desafío es ofrecer almacenamiento de alto rendimiento a escala y dentro del presupuesto. Como señala Vijay de OCF, los diseñadores pueden querer todo el almacenamiento en flash de nivel 0 de alto rendimiento, pero esto rara vez, si es que alguna vez, es práctico. Y debido a cómo funciona AI y ML, especialmente en las fases de entrenamiento, esto puede no ser necesario.
En su lugar, las organizaciones están adoptando almacenamiento en niveles, moviendo datos hacia arriba y hacia abajo en los niveles, desde flash a la nube e incluso a cinta. «Está buscando los datos correctos en el lugar correcto al precio correcto», dice Vijay.
Las empresas también deben pensar en la retención de datos. Los científicos de datos no pueden predecir qué información se necesitará para los modelos futuros, y los análisis se mejoran con el acceso a datos históricos. El archivado de datos económico ya largo plazo sigue siendo importante.
¿Qué tipos de almacenamiento son los mejores?
No existe una única opción que satisfaga todas las necesidades de almacenamiento para IA, ML y análisis. La noción convencional de que el análisis es una carga de trabajo de E/S de alto rendimiento y más adecuada para el almacenamiento en bloque debe equilibrarse con los volúmenes de datos, los tipos de datos, la velocidad de la toma de decisiones y, por supuesto, los presupuestos. Un entorno de entrenamiento de IA impone diferentes demandas a un motor de recomendaciones basado en la web que funciona en tiempo real.
“El almacenamiento en bloque ha sido tradicionalmente adecuado para cargas de trabajo de E/S de alto rendimiento donde la baja latencia es importante”, dijo Tom Christensen, asesor de tecnología global de Hitachi Vantara. “Sin embargo, con el advenimiento de las cargas de trabajo modernas de análisis de datos, que incluyen IA, ML e incluso lagos de datos, se descubrió que las plataformas tradicionales basadas en bloques no pueden satisfacer las demandas de escalamiento horizontal que crea el lado informático de estas plataformas. Por lo tanto, se debe adoptar un enfoque basado en archivos y objetos para admitir estas cargas de trabajo modernas”.
Bloquear la memoria de acceso
Los sistemas basados en bloques mantienen la ventaja en el rendimiento bruto y admiten la centralización de datos y funciones avanzadas. Según Scott Baker de IBM, los arreglos de almacenamiento en bloque admiten interfaces de programación de aplicaciones (API) que los desarrolladores de IA y ML pueden usar para mejorar las operaciones repetitivas o incluso descargar el procesamiento específico del almacenamiento en el arreglo. Sería incorrecto excluir por completo el almacenamiento en bloque, especialmente cuando se requieren altas IOPS y baja latencia.
Esto se ve contrarrestado por la necesidad de construir redes de almacenamiento dedicadas para el almacenamiento en bloque (generalmente Fibre Channel) y los gastos generales asociados con el almacenamiento en bloque basado en un sistema de archivos fuera del arreglo (basado en host). Como señala Baker, esto se vuelve aún más difícil cuando un sistema de IA usa más de un sistema operativo.
archivo y objeto
Por lo tanto, los arquitectos de sistemas prefieren el almacenamiento basado en archivos u objetos para AI y ML. El almacenamiento de objetos está diseñado teniendo en cuenta grandes petabytes de capacidad y es escalable. También está diseñado para admitir aplicaciones como Internet de las cosas (IoT).
La codificación de borrado proporciona privacidad, y el soporte avanzado de metadatos en los sistemas de objetos puede beneficiar a las aplicaciones de IA y ML.
Por el contrario, el almacenamiento de objetos va a la zaga del rendimiento de los sistemas de bloques, aunque la brecha se está cerrando con tecnologías de objetos más nuevas y potentes. Y el soporte de aplicaciones varía, ya que no todas las herramientas de inteligencia artificial, aprendizaje automático o análisis son compatibles con la interfaz S3 de AWS, el estándar de facto para los objetos.
Almacenamiento en la nube
El almacenamiento en la nube se basa en gran medida en objetos, pero ofrece otros beneficios para los proyectos de IA y ML. Sobre todo, esto incluye flexibilidad y costos iniciales bajos.
Las principales desventajas del almacenamiento en la nube son la latencia y los costos potenciales de salida de datos. El almacenamiento en la nube es una buena opción para los sistemas de inteligencia artificial y aprendizaje automático basados en la nube, pero es más difícil justificar dónde se deben extraer y cargar los datos en servidores locales para su procesamiento, ya que aumenta los costos. Pero la nube es económica para el archivo de datos a largo plazo.
¿Qué recomiendan los proveedores de almacenamiento?
No es sorprendente que los proveedores no recomienden una solución única para IA, ML o análisis: la cantidad de aplicaciones es demasiado grande. En cambio, recomiendan observar las necesidades comerciales detrás del proyecto y mirar hacia el futuro.
«Comprender qué resultados o propósitos comerciales necesita siempre debe ser su primer pensamiento al decidir cómo administrar y almacenar sus datos», dijo Paul Brook, director de análisis de datos e inteligencia artificial para EMEA en Dell. «A veces se necesitan los mismos datos en diferentes ocasiones y para diferentes propósitos».
Brook destaca la convergencia entre el almacenamiento de archivos y bloques en dispositivos y sistemas únicos que pueden cerrar la brecha entre el almacenamiento de archivos y objetos con un solo sistema de archivos. Esto ayudará a los desarrolladores de IA y ML al proporcionar una arquitectura de memoria más común.
Por ejemplo, HPE recomienda opciones locales, en la nube e híbridas para la IA y ve una convergencia entre la IA y la informática de alto rendimiento. NetApp promociona su sistema de almacenamiento all-flash conectado a la nube ONTAP for AI.
En Cloudian, el CTO Gary Ogasawara anticipa una convergencia entre el procesamiento por lotes de alto rendimiento del almacén de datos y las arquitecturas informáticas de transmisión. Esto empujará a los usuarios hacia soluciones de objetos.
«El almacenamiento de archivos y bloques tiene limitaciones arquitectónicas que hacen que escalar más allá de cierto punto sea costoso», dice. “El almacenamiento de objetos ofrece escalabilidad ilimitada y extremadamente rentable. Las capacidades avanzadas de metadatos de Object Storage son otro beneficio clave en el soporte de cargas de trabajo de IA/ML”.
También es importante planificar el almacenamiento desde el principio porque, sin un almacenamiento adecuado, el rendimiento del proyecto se ve afectado.
«Para implementar con éxito cargas de trabajo avanzadas de IA y ML, tener la estrategia de almacenamiento adecuada es tan importante como la plataforma informática avanzada que elija», dice Christensen de Hitachi Vantara. «Dejar de prestar servicio a una plataforma informática compleja, distribuida y muy costosa dará como resultado resultados más deficientes, lo que reducirá la calidad de su resultado y, en última instancia, acortará el tiempo de creación de valor».