Buscando una GPU para Deep Learning, aprendizaje profundo. El aprendizaje profundo es un campo con requisitos informáticos intensos y la elección de su GPU determinará fundamentalmente su experiencia de aprendizaje profundo. Sin GPU, esto podría parecer meses de espera para que termine un experimento, o ejecutar un experimento durante un día o más solo para ver que los parámetros elegidos estaban desactivados y el modelo divergió.
Con una GPU buena y sólida, se puede iterar rápidamente sobre diseños y parámetros de redes profundas y realizar experimentos en días en lugar de meses, horas en lugar de días, minutos en lugar de horas. Por lo tanto, tomar la decisión correcta cuando se trata de comprar una GPU es fundamental. Entonces, ¿cómo selecciona la GPU que sea adecuada para usted?
Tener una GPU rápida es un aspecto muy importante cuando uno comienza a aprender el aprendizaje profundo, ya que le permite obtener una experiencia práctica rápida, lo cual es clave para desarrollar la experiencia con la que podrá aplicar el aprendizaje profundo a nuevos problemas. Sin esta retroalimentación rápida, solo toma mucho tiempo aprender de los errores de uno y puede ser desalentador y frustrante continuar con el aprendizaje profundo.
¿Vale la pena tener múltiples GPUs?
Es muy difícil paralelizar eficientemente las redes neuronales en varias GPU, también que la aceleración es solo mediocre para las redes neuronales densas. Las redes neuronales pequeñas se pueden paralelizar de manera bastante eficiente utilizando el paralelismo de datos, pero las redes neuronales más grandes no reciben casi ninguna aceleración.
Las redes totalmente conectadas generalmente tienen un rendimiento deficiente para el paralelismo de datos y se necesitan algoritmos más avanzados para acelerar estas partes de la red.
Por lo tanto, hoy en día, el uso de múltiples GPU puede hacer que el entrenamiento sea mucho más conveniente debido al aumento de la velocidad y, si tiene el dinero necesario, las múltiples GPU tienen mucho sentido.
Usando múltiples GPUs sin paralelismo
Otra ventaja de usar múltiples GPU, incluso si no paraleliza los algoritmos, es que puede ejecutar múltiples algoritmos o experimentos por separado en cada GPU. No obtienes aceleraciones, pero obtienes más información sobre tu rendimiento al utilizar diferentes algoritmos o parámetros a la vez. Esto es muy útil si tu objetivo principal es obtener una experiencia de aprendizaje profunda lo más rápido posible y también es muy útil para los investigadores, que desean probar varias versiones de un nuevo algoritmo al mismo tiempo.
Esto es psicológicamente importante si quieres aprender el aprendizaje profundo. Cuanto más cortos sean los intervalos para realizar una tarea y recibir retroalimentación para esa tarea, mejor será la capacidad del cerebro para integrar las piezas de memoria relevantes para esa tarea en una imagen coherente. Si entrena dos redes convolucionales en GPU separadas en conjuntos de datos pequeños, obtendrá más rápidamente una idea de lo que es importante para un buen desempeño; Con mayor facilidad podrá detectar patrones en el error de validación cruzada e interpretarlos correctamente. Podrá detectar patrones que le darán pistas sobre qué parámetro o capa debe agregarse, eliminarse o ajustarse.
Su primera pregunta podría ser cuál es la característica más importante para el rendimiento rápido de la GPU para un aprendizaje profundo: ¿son los núcleos CUDA? ¿Velocidad de reloj? ¿Tamaño de la memoria RAM?
Si bien un buen consejo simplificado hubiera sido «prestar atención al ancho de banda de la memoria», ya no recomendaría hacerlo. Esto se debe a que el hardware y el software de la GPU se desarrollaron a lo largo de los años de manera que el ancho de banda en una GPU ya no es un buen proxy para su rendimiento. La introducción de Tensor Cores en GPU de grado de consumo complica aún más el problema. Ahora, una combinación de ancho de banda, FLOPS y Tensor Cores es el mejor indicador para el rendimiento de una GPU.
Una cosa que para profundizar su comprensión para tomar una decisión informada es aprender un poco sobre qué partes del hardware hacen que las GPU sean más rápidas para las dos operaciones de tensor más importantes: la multiplicación de matrices y la convolución.
Una forma simple y efectiva de pensar acerca de la multiplicación de matrices es que está enlazado a ancho de banda. El ancho de banda de la memoria es la característica más importante de una GPU si desea usar LSTM y otras redes recurrentes que hacen muchas multiplicaciones de matrices.
Del mismo modo, la convolución está limitada por la velocidad de cálculo. Por lo tanto, los TFLOP en una GPU son el mejor indicador para el rendimiento de ResNets y otras arquitecturas convolucionales.
Entonces, en general, la mejor regla general sería: observe el ancho de banda si usa RNN; mira FLOPS si usas convolución; obtenga Tensor Cores si puede pagarlos (no compre tarjetas Tesla a menos que tenga que hacerlo).
Leer también: computación con GPU para el aprendizaje automático y el rendimiento de Big Data;GPGPU el trabajo de la CPU y de la Unidad de procesamiento gráfico; Las supercomputadoras más poderosas del mundo
More from Hosting
3 ventajas de usar MariaDB sobre MySQL
3 ventajas de usar MariaDB sobre MySQL. En el mundo del software de gestión de bases de datos, MySQL sigue …
Planificación de la capacidad del centro de datos bien hecha
Planificación de la capacidad del centro de datos bien hecha.La vida útil de una instalación típica de centro de datos …
Cómo maximizar el tiempo de actividad (uptime) con 5 estrategias proactivas
Cómo maximizar el tiempo de actividad (uptime) con 5 estrategias proactivas.El tiempo de inactividad del servidor tiene la capacidad de …