¿Puedes crear un proyecto de Machine Learning en tu PC doméstico?

¿Puedes crear un proyecto de Machine Learning en tu PC doméstico?

Rodrigo Alonso

Con todo lo que se ha hablado sobre el Machine Learning (aprendizaje automático) en los últimos años, es difícil ignorar la posibilidad de probarla por uno mismo. La tecnología parece estar evolucionando a un ritmo vertiginoso, y ya tiene aplicaciones para Machine Learning en muchos entornos pero, ¿hasta el punto de poder crear un proyecto en un PC doméstico? Vamos a verlo.

Si tienes algunas habilidades de programación y una comprensión básica de algunos conceptos sobre estadística, a buen seguro que podrás empezar un proyecto de estas características al menos a nivel teórico o de requisito de habilidades. Sin embargo, también tendrás que considerar el hardware que necesitarás para llevarlo a cabo, y aunque puedes alojarlo todo en el PC doméstico de tu casa, también debes saber que tienes la posibilidad de alquilar servicios remotos para Machine Learning (aunque obviamente todo tiene sus ventajas y desventajas).

Requisitos básicos para el desarrollo de Machine Learning

Para llevar a cabo un proyecto de este calibre necesitarás un hardware relativamente potente para que todo funcione. Si bien podrás ejecutar la mayoría de herramientas relacionadas en un PC económico, su potencial de aprendizaje estará muy limitado y todo tomará mucho más tiempo de lo que sería deseable. Dicho de otra manera, no hay nada que te impida ejecutar un proyecto de aprendizaje automático en el PC de tu casa, pero si éste no es lo suficientemente potente, todo irá tan lento que será desesperante.

Machine Learning

Tu GPU es el componente más importante, aunque parezca contradictorio. No tiene nada que ver con los gráficos directamente, sino que al igual que sucede con el minado de criptomonedas, la GPU es más adecuada para el tipo de cálculos en los que se basa el Machine Learning que la CPU. Una GPU que admita computación CUDA (NVIDIA) será una opción todavía mejor, ya que obtendrás un mejor rendimiento.

Sin embargo, a este respecto debe entrar en consideración el apartado de los costes, ya que en este momento el conseguir una tarjeta gráfica potente (que sería lo deseable para ejecutar Machine Learning en un PC) es casi misión imposible y, las pocas que se pueden encontrar en el mercado, tienen precios desorbitados. Aquí es donde entra en juego la opción de ejecutar este tipo de procesos de manera remota.

Machine Learning de manera remota, ¿merece la pena?

Una plataforma alojada para el desarrollo de aprendizaje automático te permitirá concentrarte en el trabajo de desarrollo real sin preocuparte por las consideraciones de hardware. Te beneficiarás de una potencia de procesamiento avanzada, y estas plataformas normalmente pueden ejecutar soluciones mucho más rápido que cualquier PC doméstico que tengas en tu casa, incluso aunque logres hacerte con una GPU de gama alta (ya que éstos cuentan con GPUs profesionales).

machine-learning

Por supuesto, esto tiene un coste y las tarifas de suscripción a este tipo de servidores en la nube no son demasiado baratos (cuestan en torno a 50 céntimos de euro por hora, o 12 euros al día), además de tener ciertas limitaciones como por ejemplo que no permiten la ejecución de modificaciones o nuevas implementaciones al instante, sino que éstas entran en una cola de verificación e implementación que muchas veces pueden llevar varias horas. Esto, obviamente, puede ser particularmente problemático para sesiones de entrenamiento automático largas, donde tendrás que agregar algunas horas de espera a un proceso que ya de por sí suele ser bastante largo.

Como es lógico, la mayoría de personas que quieran iniciarse en este mundillo «por probar» preferirá hacerlo de manera local en el PC de su casa aunque vaya más lento, ya que no tendrá que esperar colas de validación para ejecutar modificaciones y, además, no tendrá que pagar un alquiler de una máquina de computación en la nube. Como hemos dicho antes, si bien el rendimiento que puedes obtener en un PC doméstico está a años luz del que te puede proporcionar un servidor, no hay nada que te impida ejecutarlo.