Noticias

Noticias

Por qué la GPU se puede usar para acelerar la computación en IA o aprendizaje automático (potencia de computación paralela)

2022年06月21日

Por qué GPU

De hecho, los cálculos en la GPU en comparación con la CPU no son "buenos", sino "rápidos".

Los cálculos son cálculos, las matemáticas son las mismas, 1 1 con cualquier cálculo es igual a 2, el cálculo de redes neuronales en la CPU también es posible, el cálculo de redes neuronales en la aplicación de efecto real también es muy bueno, pero la velocidad será muy lenta.

Empujando GPU

El nombre completo de la GPU es un procesador de gráficos, la GPU, como su nombre indica, está diseñada para trabajar con gráficos.

Antes de mostrar una imagen en un monitor de computadora, pasa por una serie de procesos, y este proceso tiene su propio nombre "rendering". En los viejos tiempos, las computadoras no tenían GPU, por lo que la CPU hacía la representación. Esencialmente, la operación de renderización es realizar una serie de cálculos gráficos, pero estos cálculos a menudo consumen mucho tiempo y ocupan una parte significativa del tiempo del procesador central. Pero la CPU debe ocuparse de muchas otras tareas de la computadora. Por lo tanto, se desarrolló un procesador-GPU específicamente para realizar operaciones gráficas para liberar al procesador central de cálculos de gráficos pesados.

Dado que la GPU fue diseñada específicamente para renderizar, solo puede realizar operaciones que impliquen renderizar.

El proceso de renderización es, en particular, el cálculo de posiciones geométricas de puntos y colores, que se calculan matemáticamente multiplicando vectores de cuatro dimensiones y matrices de transformación, por lo que la GPU se crea como un procesador especializado adecuado para realizar tales operaciones. ¿Por qué especializado? Porque hay muchas cosas que no puede hacer.

La CPU es un procesador de propósito general, pero con bajo rendimiento en campos especializados. La ingeniería es un compromiso: si uno es fuerte, el otro es débil. En el futuro, los juegos, el diseño 3D para los requisitos de renderizado se vuelven cada vez más altos, el rendimiento de la GPU cada vez más fuerte. Teóricamente, el rendimiento informático es de decenas a cientos de veces mayor que el de una CPU.

¿La gente pensó, ya que la GPU es tan fuerte, entonces cuando se utiliza la GPU para realizar cálculos no en comparación con la CPU, la velocidad se puede aumentar significativamente? Así es como apareció el concepto de GPGPU (GPU de propósito general, GPU para computación de propósito general). Pero, como dijimos, las GPU están diseñadas específicamente para renderizar imágenes, y solo son adecuadas para estas operaciones. Afortunadamente, hay algunas operaciones que son muy similares a las que están destinadas las GPU y que pueden ser aceleradas por las GPU, como el aprendizaje profundo.

Un tipo de técnicas de aprendizaje profundo exitosas se llaman Redes Neuronales Convolucionales de CNN, que son matemáticamente una combinación de muchas operaciones de convolución y operaciones de matriz que algunos medios matemáticos también se pueden realizar con operaciones de matriz. Estas operaciones son las mismas operaciones de matriz que las GPU con tales puntos gráficos podrían realizar. Por lo tanto, el aprendizaje profundo puede ser acelerado por la GPU.

Anteriormente, el concepto de GPGPU (GPU de propósito general) no era muy relevante, y las GPU estaban destinadas a renderizar gráficos. Si desea usar la GPU para computación, debe seguir completamente la arquitectura de hardware de la GPU. Ahora que las GPU son cada vez más populares, los fabricantes están desarrollando y lanzando GPU con las necesidades del mundo informático en mente. Por ejemplo, cuando NVIDIA lanzó este año el M40 y P100, se dijo que están "diseñados para aprender en profundidad", por supuesto, de hecho, el concepto de especulación en este componente es más, pero al menos vemos que los fabricantes se están centrando cada vez más en la computación en la GPU de propósito general.

Segundo, la diferencia entre GPGPU y GPGPU.

GPU se creó para resolver el problema de la eficiencia de la representación gráfica, pero a medida que avanza la tecnología, las GPU se vuelven más potentes, especialmente después de los shaders (esto nos permite programar en GPU), las GPU pueden hacer más y más, ya no se limitan al área gráfica. Pero también algunas personas han tomado la iniciativa de extender sus capacidades a otras áreas que requieren mayor computación, que es lo que es la GPU (General Purpose). Propósito) GPU.

Tercero, por qué rápido.

Digamos que usas el programa Meitu xx para agregar un efecto de desenfoque a la imagen, la CPU hará esto:

Usando una pequeña ventana de operadores de filtro de desenfoque, comienza a procesar desde la esquina superior izquierda de la imagen y se mueve de izquierda a derecha y hacia atrás hasta que se procesa toda la imagen. Dado que el procesador tiene solo uno o más núcleos, la ejecución de dicha aritmética se reduce a pasar de principio a fin.

Pero habrá lectores inteligentes que descubrirán que cada ventana en el proceso de procesamiento de una imagen, independientemente una de la otra, no tiene relación. Entonces, ¿no es más rápido procesar múltiples ventanas de filtrado al mismo tiempo? Así que tenemos GPU, y una GPU típica tiene cientos de núcleos, lo que significa que podemos tener cientos de ventanas de filtrado que procesan esta imagen al mismo tiempo.

Por lo tanto, las GPU se diseñaron originalmente para este tipo de representación de imágenes gráficas, y la naturaleza de este tipo de trabajo es que se puede distribuir, y cada unidad informática es más independiente entre sí, y no hay mucha correlación entre ellas. Algunos algoritmos de aprendizaje automático, como algoritmos genéticos, redes neuronales, etc., también se distribuyen y son localmente independientes (por ejemplo, un enlace de una red neuronal se calcula simultáneamente con el otro enlace, y no hay dependencia entre sí), Que se puede acelerar utilizando un gran número de núcleos pequeños simultáneamente.


-----------------
Copyright: Este es un artículo original del blogger de CSDN "xihuanyuye", de acuerdo con el acuerdo de derechos de autor BY-SA CC 4,0, consulte la fuente original y esta declaración.
Enlace original: https://blog.csdn.net/xihuanyuye/article/details/81178352


Noticias Recomendadas

Búsqueda global