Durante los últimos tres años, he estado trabajando en la optimización de sistemas de ML en producción que necesitan tomar decisiones lo suficientemente rápido como para realmente importar a los clientes. Este documento documenta lo que aprendí construyendo y optimizando plataformas de inteligencia del cliente que procesan más de 50TB de datos diariamente, manteniendo los tiempos de respuesta por debajo de 100ms. Los sistemas en los que trabajé incluyen predicción de deserción por ensamblaje (XGBoost + LSTM + transformadores alcanzando 87% de precisión), bandidos contextuales neuronales que impulsaron un aumento del gasto del 31%, y máquinas de estados finitos potenciadas por ML que mejoraron la productividad de los gerentes de cuentas en 2.4x. El principal desafío fue mantener toda esta complejidad funcionando lo suficientemente rápido para habilitar intervenciones en tiempo real. Mis hallazgos clave: (1) los algoritmos genéticos pueden optimizar los pipelines de características mejor que la ingeniería manual, reduciendo el tiempo de cálculo en un 70%, (2) las estrategias de almacenamiento en caché inteligentes son más importantes que las actualizaciones de hardware, (3) la orquestación asíncrona es crítica pero difícil de conseguir correctamente, y (4) necesitas optimizar para métricas empresariales, no solo técnicas. La conclusión: los sistemas complejos de ML pueden funcionar lo suficientemente rápido para casos de uso en tiempo real, pero requiere repensar cómo se aborda la optimización. Este documento comparte las técnicas prácticas que realmente funcionaron en producción.
Ramya Boorugula (Wed,) estudió esta cuestión.