Machine learning sin frameworks: por qué algunos equipos todavía escriben algoritmos desde cero
El 67% de los desarrolladores que trabajan en machine learning usan TensorFlow o PyTorch. El 33% restante sigue un camino diferente: implementan algoritmos manualmente, sin frameworks. No por purismo académico, sino porque sus contextos reales lo exigen.
Cuando trabajas en un proyecto de visión por computadora con restricciones severas de latencia, o necesitas entrenar modelos en hardware muy específico, los frameworks genéricos se vuelven un lastre. Ese es el momento donde entender qué ocurre realmente dentro de una red neuronal deja de ser una curiosidad y se convierte en una necesidad práctica.
El costo oculto de la abstracción
Los frameworks modernos son extraordinarios. Abstracten complejidad, optimizan cálculos automáticamente y manejan la diferenciación automática sin que tu equipo tenga que pensar en gradientes. Pero esa abstracción tiene un precio: control perdido.
Trabajé hace tres años en un proyecto donde necesitábamos un modelo de clasificación de imágenes que funcionara en dispositivos con 512MB de RAM. TensorFlow Lite prometía eficiencia. La realidad fue diferente. El modelo ocupaba más memoria de la que disponíamos, y optimizarlo requería conocer exactamente qué estaba ocurriendo en cada capa.
Ese proyecto forzó a mi equipo a implementar una red convolucional simplificada desde NumPy puro. Tres semanas de trabajo adicional, sí. Pero el modelo final ocupaba 45MB, se ejecutaba en 120ms y consumía 15% de la batería en lugar del 40% que gastaba la versión con framework.
Cuándo escribir algoritmos implica ventajas reales
No es siempre una decisión correcta. Implementar desde cero requiere pericia en matemáticas, paciencia para debuggear sin herramientas visuales de alto nivel, y tiempo que a menudo es oro en startups. Pero hay situaciones donde el esfuerzo se justifica completamente.
Si trabajas en edge computing, donde los dispositivos tienen capacidades limitadas, escribir estructuras de datos y algoritmos ajustados a esas restricciones es imperativo. Si participas en competiciones de machine learning donde cada décima de precisión importa, entender qué hace exactamente tu modelo es crítico.
También ocurre en investigación aplicada. Cuando publicas un paper sobre una arquitectura nueva, implementarla desde cero demuestra que entiendes el concepto completamente. Los revisores lo saben. Los frameworks usan abstracciones estándar; tu implementación personalizada prueba que has pensado profundamente en el problema.
El rol de las estructuras de datos
Machine learning sin frameworks también implica diseñar estructuras de datos eficientes. ¿Cómo almacenar matrices de 100 millones de parámetros en memoria compartida? ¿Qué formato acelera el acceso secuencial durante el entrenamiento?
Estos detalles importan enormemente. Un equipo que entiende cómo Python maneja matrices en memoria, qué diferencia existe entre row-major y column-major ordering, o cómo CPU y GPU comparten datos, toma decisiones mucho mejores sobre arquitectura.
Cuando necesitas colaboración entre profesionales de empresas dedicadas a soluciones tecnológicas integrales, este tipo de conocimiento profundo es lo que diferencia un prototipo funcionando de una implementación lista para producción que escala sin romper.
Herramientas que te permiten escribir sin frameworks
NumPy sigue siendo la base. Permite operaciones matriciales velaces sin salir de Python. SciPy complementa con algoritmos especializados de álgebra lineal. Y Matplotlib visualiza resultados para debuggear.
Algunos equipos usan Cython para las partes críticas donde Python puro es lento. Otros recurren a escribir kernels en CUDA para computación GPU desde cero. No es accesible para todos, pero es posible.
La decisión nunca debería ser ideológica. Framework o no framework es una pregunta sobre restricciones: tiempo disponible, capacidades del hardware destino, experiencia del equipo, complejidad del modelo. Responde esas preguntas honestamente y la respuesta emerge sola.
Preguntas frecuentes
¿Es más lento entrenar modelos sin frameworks? Generalmente sí, porque frameworks están compilados en C++ y optimizados intensamente. Pero si tu objetivo es latencia en inferencia, no velocidad de entrenamiento, la compensación puede valer la pena.
¿Necesito ser un experto en matemáticas para implementar machine learning desde cero? No experto, pero sí sólidos fundamentos en álgebra lineal y cálculo. Si entiendes qué es un gradiente y cómo propagarse hacia atrás, puedes empezar.
¿Cuál es la mejor alternativa si no quiero frameworks pero tampoco empezar desde NumPy? JAX es una opción intermedia. Te da control fino sobre diferenciación automática manteniendo velocidad cercana a frameworks convencionales.