Hoy continuamos con nuestra plática sobre algunas de las tecnologías para el procesamiento de datos que prometen transformar al mundo en los años venideros. (Y en qué medida realmente lo transformarán). Si te perdiste la primera parte de esta serie, aquí puedes leerla.
En la primera parte platicamos del programa de cómputo AlexNet, que ganó un concurso de reconocimiento de imágenes en 2012. Sus creadores, Alex Krizhevsky e Ilya Sustskerver, junto con su asesor de tesis, el profesor Geoffrey Hinton, se enfrentaban a un problema técnico para el que parecía no haber solución. La tecnología de computación serial no tiene la capacidad de procesamiento necesaria para operar eficientemente redes neuronales, por lo que los programas de cómputo con capacidad de aprendizaje eran muy lentos e inexactos hasta ese momento.
Así que se les ocurrió utilizar unidades de procesamiento de gráficos (GPU) en lugar de las tradicionales unidades centrales de procesamiento (CPU, igualmente por sus siglas en ingles).
Los GPU fueron originalmente creados para procesar gráficos, lo que requiere manejar cientos y a veces millares de pixeles. (Los pixeles son las unidades básicas en el procesamiento de imágenes digitales. Su nombre significa precisamente, elementos de imagen). Las pantallas modernas utilizan hasta 8 millones de pixeles individuales. Para poder manejar esta cantidad de información los GPU deben realizar múltiples operaciones simultáneamente. Lo cual es radicalmente diferente de lo que hace un CPU que puede realizar las mismas operaciones, pero una después de otra.
Este proceso es conocido como computación paralela. Veamos por qué esto es tan importante.
Un GPU puede realizar decenas de miles de operaciones al mismo tiempo, lo que le permite una capacidad de procesamiento de datos mucho más grande que la que se obtiene con un CPU, pero esta no solo es ya una mejor tecnología sino que la brecha entre las dos se amplía año con año porque la tecnología de los CPU empieza a verse limitada por realidades físicas.