La inteligencia artificial (IA) y el aprendizaje automático (ML) prometen transformar áreas enteras 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 demandas nuevas y, en ocasiones, extremas a los sistemas de TI, incluido el almacenamiento.
AI, ML y análisis requieren grandes volúmenes de datos, principalmente en formatos no estructurados. “Todos estos entornos aprovechan grandes cantidades de datos no estructurados”, dice Patrick Smith, CTO de campo para Europa, Oriente Medio y África (EMEA) del proveedor Pure Storage. “Es un mundo de datos no estructurados, no de bloques ni bases de datos”.
El entrenamiento de modelos de IA y ML en particular utiliza conjuntos de datos más grandes para predicciones más precisas. Como señala Vibin Vijay, especialista en inteligencia artificial y aprendizaje automático de OCF, se espera que un modelo básico de prueba de concepto en un solo servidor tenga una precisión del 80 %.
Con el entrenamiento en un grupo de servidores, esto se moverá al 98 % o incluso al 99,99 % de precisión. Pero esto impone sus propias exigencias a la infraestructura de TI. Casi todos los desarrolladores trabajan sobre la base de que más datos es mejor, especialmente en la fase de entrenamiento. “Esto da como resultado colecciones masivas, al menos petabytes, de datos que la organización se ve obligada a administrar”, dice 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ía como Nvidia InfiniBand. Los desarrolladores incluso están considerando conectar el almacenamiento directamente a las GPU.
“En las cargas de trabajo de IA y ML, la fase de aprendizaje generalmente emplea potentes GPU que son costosas y tienen una gran demanda”, dice Brad King, cofundador y CTO de campo del proveedor Scality. “Pueden masticar grandes volúmenes de datos y, a menudo, pueden esperar sin hacer nada por más datos debido a las limitaciones de almacenamiento.
“Los volúmenes de datos son generalmente grandes. Grande es un término relativo, por supuesto, pero en general, para extraer información útil de los datos, cuantos más datos pertinentes estén disponibles, mejor será la información”.
El desafío es proporcionar 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 la forma en que funcionan AI y ML, especialmente en las fases de capacitación, es posible que no sea necesario.
En cambio, las organizaciones están implementando almacenamiento en niveles, moviendo datos hacia arriba y hacia abajo a través de los niveles desde flash hasta la nube e incluso cinta. “Está buscando los datos correctos, en el lugar correcto, al costo 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 necesita para modelos futuros, y los análisis mejoran con el acceso a datos históricos. El archivo rentable de datos a largo plazo sigue siendo importante.
¿Qué tipos de almacenamiento son mejores?
No existe una opción única que satisfaga todas las necesidades de almacenamiento para IA, ML y análisis. La idea convencional de que el análisis es una carga de trabajo de alto rendimiento y alta E/S que se adapta mejor al 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 tiene demandas diferentes a las de 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 alto rendimiento y alta E/S, donde la baja latencia es importante”, dice 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 carecen de la capacidad de satisfacer la demanda de escalamiento horizontal que crea el lado computacional de estas plataformas. Como tal, se debe adoptar un enfoque basado en archivos y objetos para admitir estas cargas de trabajo modernas”.
Almacenamiento de acceso en bloque
Los sistemas basados en bloques conservan 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 repetidas o incluso descargar el procesamiento específico del almacenamiento para el arreglo. Sería un error descartar por completo el almacenamiento en bloque, especialmente cuando se necesita un IOPS alto y una latencia baja.
En contra de esto, existe la necesidad de crear redes de área de almacenamiento específicas para el almacenamiento en bloque, generalmente Fibre Channel, y los gastos generales que conlleva el almacenamiento en bloque que depende de un sistema de archivos fuera de la matriz (basado en host). Como señala Baker, esto se vuelve aún más difícil si un sistema de IA usa más de un sistema operativo.
archivo y objeto
Como resultado, los arquitectos de sistemas favorecen el almacenamiento basado en archivos u objetos para AI y ML. El almacenamiento de objetos está diseñado teniendo en cuenta una gran capacidad de petabytes y está diseñado para escalar. También está diseñado para admitir aplicaciones como Internet de las cosas (IoT).
La codificación de borrado brinda protección de datos, y el soporte avanzado de metadatos en los sistemas de objetos puede beneficiar a las aplicaciones de IA y ML.
Frente a esto, el almacenamiento de objetos va a la zaga de los sistemas de bloques en cuanto a rendimiento, aunque la brecha se está cerrando con tecnologías de objetos más nuevas y de alto rendimiento. 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 objetos.
Almacenamiento en la nube
El almacenamiento en la nube se basa en gran medida en objetos, pero ofrece otras ventajas para los proyectos de IA y ML. Los principales son la flexibilidad y los bajos costos iniciales.
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 es necesario extraer y cargar los datos en servidores locales para su procesamiento, ya que esto aumenta los costos. Pero la nube es económica para el archivo de datos a largo plazo.
¿Qué recomiendan los proveedores de almacenamiento?
Como era de esperar, los proveedores no recomiendan una solución única para IA, ML o análisis: la cantidad de aplicaciones es demasiado amplia. En cambio, recomiendan observar los requisitos comerciales detrás del proyecto, así como mirar hacia el futuro.
“Comprender qué resultados o propósito comercial necesita siempre debe ser su primer pensamiento al elegir cómo administrar y almacenar sus datos”, dice Paul Brook, director de análisis de datos e inteligencia artificial para EMEA en Dell. “A veces se pueden necesitar los mismos datos en diferentes ocasiones y para diferentes propósitos”.
Brook apunta a la convergencia entre el almacenamiento de archivos y bloques en dispositivos individuales y los sistemas que pueden cerrar la brecha entre el almacenamiento de archivos y objetos a través de un solo sistema de archivos. Esto ayudará a los desarrolladores de IA y ML al proporcionar una arquitectura de almacenamiento más común.
HPE, por ejemplo, recomienda opciones locales, en la nube e híbridas para la IA, y ve convergencia entre la IA y la informática de alto rendimiento. NetApp promociona su sistema de almacenamiento all-flash ONTAP para IA conectado a la nube.
En Cloudian, el CTO Gary Ogasawara espera ver convergencia entre el procesamiento por lotes de alto rendimiento del almacén de datos y las arquitecturas de procesamiento de transmisión de datos. 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 prohibitivo en términos de costos”, dice. “El almacenamiento de objetos proporciona escalabilidad ilimitada y altamente rentable. Las capacidades avanzadas de metadatos del almacenamiento de objetos son otra ventaja clave para admitir cargas de trabajo de IA/ML”.
También es vital planificar el almacenamiento desde el principio, porque sin un almacenamiento adecuado, el rendimiento del proyecto se verá afectado.
“Para implementar con éxito cargas de trabajo avanzadas de IA y ML, una estrategia de almacenamiento adecuada es tan importante como la plataforma de computación avanzada que elija”, dice Christensen de Hitachi Vantara. “La potencia insuficiente de una plataforma de computación compleja, distribuida y muy costosa generará resultados de menor rendimiento, lo que disminuirá la calidad de su resultado y, en última instancia, reducirá el tiempo de creación de valor”.