
Machine Learning Systems
Jeff Smith
- Editorial
- Manning
- Año
- 2018
- Páginas
- ~224
- Nivel
- Intermedio
De qué trata
Texto especializado en ingeniería distribuida que traslada los principios del Manifiesto Reactivo a la construcción de arquitecturas predictivas resilientes, elásticas y de alta concurrencia. Escrito por Jeff Smith, el libro está concebido para ingenieros de software, desarrolladores del ecosistema Java y la JVM, y científicos de datos con inclinación hacia la infraestructura de datos que necesitan migrar modelos aislados hacia servicios de misión crítica capaces de soportar tráfico masivo y tolerar fallos continuos de infraestructura.
El libro adopta el lenguaje Scala como eje de implementación y se apoya en el conjunto de herramientas de computación distribuida y concurrencia más influyentes de la JVM: Apache Spark y Spark MLlib para el procesamiento distribuido en masa y entrenamiento de algoritmos de clasificación, junto con el framework Akka (empleando el modelo de actores, flujos reactivos con Akka Streams y jerarquías de supervisión de errores) para la ingestión continua de eventos, generación de variables en tiempo real (*streaming features*), publicación de modelos como microservicios asíncronos y entrega de predicciones con baja latencia y alta disponibilidad.
A lo largo del texto se implementa de manera modular un sistema predictivo reactivo completo: desde la ingesta de eventos de datos no estructurados hasta el despliegue de clasificadores distribuidos supervisados por actores que gestionan la saturación de tráfico y la recuperación automática ante caídas de nodos. Su principal contribución es enseñar a aplicar patrones de diseño reactivo y computación distribuida a canalizaciones de machine learning, dejando de lado la exploración estadística o el ajuste fino de hiperparámetros. Se requiere familiaridad con programación concurrente, fundamentos de Scala o Java funcional y nociones de sistemas distribuidos.
- Scala
- Sistemas reactivos
- Apache Spark
- Spark MLlib
- Akka
- Modelo de actores
- Sistemas distribuidos
- Streaming de datos
- Inferencia en tiempo real
- Arquitectura orientada a eventos
- Resiliencia y elasticidad
- Feature pipelines
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Pipeline distribuido de ingestión y extracción reactiva de características
Canalización orientada a eventos desarrollada con Scala, Akka Streams y Spark para convertir flujos de datos en tiempo real en vectores estructurados de características.
Microservicio de inferencia predictiva supervisado con actores Akka
Servicio asíncrono y tolerante a fallos que expone modelos entrenados en Spark MLlib mediante actores que regulan la concurrencia y mitigan errores de red.

