CPU — GPU — TPU … 🤔

Lesly Zerna
2 min readMay 18, 2019

--

Hablamos del poder de procesamiento para entrenar nuestros algoritmos de machine learning… pero a qué se refiere este “poder”? necesitamos algún hardware (computadoras, servidores, etc) especial?

Actualmente es posible desarrollar algoritmos más poderosos y procesarlos con muchos muchos datos gracias al hardware desarrollado, al “poder computacional”

Ya no sólo hablamos de ejecutar instrucciones en un CPU (central processing unit), sino también de usar el acelerador gráfico GPU (graphic processor unit) e incluso trabajar con tensores y usar TPU (tensor processing unit)
Dependiendo del equipo con el que trabajes y si es local (tu computador) o en la nube (google colab es una opción super buena)

En la siguiente imagen se puede apreciar el hardware de un CPU, GPU y TPU

Fuente: https://www.nvidia.com/en-us/deep-learning-ai/developer/

Si nos enfocamos en la estructura interna de CPU y GPU podemos ver lo siguiente:

Fuente: https://www.datascience.com/blog/cpu-gpu-machine-learning

Un CPU como unidad mínima cuenta con ALU (arithmetic logic unit), un Control, una Cache y una DRAM (RAM dinámica). Esto es lo que le cabe a un chip de CPU, por eso existen computadoras que vienen con 2, 4 u 8 núcleos, siendo cada uno de estos núcleos un CPU. En cambio, un GPU, contiene muchas ALU, varios Control y Cache y una DRAM. Los GPU que originalmente fueron utilizados para procesar imágenes en alta calidad para los videojuegos, hoy son una herramienta poderosa para Deep Learning y Machine Learning.

Fuente: https://www.coursera.org/learn/ai-for-everyone

Para empezar a trabajar con el GPU, puedes verificar si tu computador viene con uno o puedes utilizar Google Colab (personalmente lo uso, aunque te limita en tiempo de uso y capacidad pero te da gratis el acceso a un GPU y TPU)

Puedes empezar experimentando con Deep Learning, usando el framework de Pytorch. Se te será más fácil de aprender si ya conoces python y si has utilizado Numpy antes. Pytorch basicamente toma los vectores, ahora “convertidos en formato” tensores al GPU para acelerar el procesamiento.

Algunas ventajas al utilizar GPU con Pytorch:

  • Velocidad -> Thread parallelism
  • Mayor ancho de banda -> Menor latencia
  • Registros más grandes y rápidos

Este fue un breve repaso del poder computacional actualmente utilizado machine learning y deep learning.

Vamos aprendiendo más sobre este mundo de la inteligencia artificial en próximos blogs.

--

--