Ciencia de datos

Escalabilidad para Machine Learning

El concepto de escalabilidad es algo cada día más importante a la hora de desarrollar nuevas soluciones tecnológicas, incluidas en las que se implementan modelos de Aprendizaje Automático o Machine Learning. De poco sirve disponer del mejor modelo si cuando es necesario no es posible escalar para responder a toda la demanda. Esto es, si no se puede resolver en plazo todas las predicciones solicitadas es casi cómo si no se dispusiese del modelo. Por eso, a la hora de crear e implementar nuevos modelos es necesario tener en cuenta los conceptos de escalabilidad para Machine Learning. Los cuales son los mismos que son tenidos en cuenta en otras soluciones tecnológicas.

¿Qué se entiende por escalabilidad para Machine Learning?

La escalabilidad de un sistema hace referencia a la capacidad de este para aumentar o disminuir su escala. Adaptándose a las necesidades que pueden existir en cada momento. Así, por ejemplo, un sistema de detección de fraude en comercio electrónico ha de ser capaz de adaptarse al incremento o reducción de las operaciones durante las diferentes campañas. Evitando fallar en fechas clave como la campaña de Black Friday en la que las operaciones se pueden multiplicar.

Al hablar de soluciones basadas en software, como los modelos de Machine Learning, la escalabilidad se entiende como la capacidad de poder cambiar el tamaño de estos, generalmente aumentar, en una o varias de las siguientes tres dimensiones:

  • Carga (load)
  • Geografía (geographic)
  • Administrativa (administrative)

Veamos a continuación en qué consiste cada una de ellas.

Carga (load)

Al hablar de escalabilidad de carga se indica la capacidad de aumentar el rendimiento de la solución. Por ejemplo, poder aumentar el número de predicciones por segundo que puede realizar la solución. Lo que se debería poder conseguir aumentar la potencia de cálculo o de recursos del hardware utilizado. Ya que en caso contrario la solución no sería escalable. El aumento de recursos es algo que se puede abordar mediante dos enfoques diferentes que no se abordan exactamente igual:

  • vertical: incrementar los recursos de una máquina como puede ser más procesadores o memoria,
  • horizontal: añadir nuevas máquinas adicionales para aumentar la demanda.

Geografía

La escalabilidad geográfica hace referencia al hecho de que el sistema ha de continuar funcionando independientemente de la distancia física entre el usuario y los servidores. Evitando retrasos en las respuestas provoquen que el sistema no pueda ser utilizado. Siendo algo especialmente relevante cuando se trabaja con usuarios en diferentes países o continentes y son necesarias respuestas en tiempo real. Pudiendo ser necesario replicar los sistemas en varias ubicaciones y mantener estas coordinadas.

Administrativa

En los sistemas que usan más de una organización es necesario garantizar que esta pueda ser gestionada por todos los usuarios. Garantizando además el aislamiento de los datos entre organizaciones. Por ejemplo, cuando la solución es un servicio que se presta a terceros.

Conclusiones

En la entrada de hoy se han visto las tres dimensiones en las que deberíamos fijarnos a la hora de conseguir escalabilidad para Machine Learning. Siendo posiblemente la más importante la de carga. Poder aumentar el rendimiento del modelo a medida que se aumentan los recursos dedicados. Algo muchas veces no se da debido a la existencia de cuellos de botella en el diseño que limita el número de procesos que se pueden ejecutar en paralelo. Las otras dos dimensiones, geográfica y administrativa, también se deben tener en cuenta especialmente en grandes proyectos.

Imagen de Arek Socha en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

23 horas ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

2 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

6 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

1 semana ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

2 semanas ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

This website uses cookies.