El uso de GPU para el aprendizaje profundo es la mejor opción. Antes de continuar, generalmente recomiendo aprovechar una solución en la nube como Amazon AWS o Azure NS. Tienen el mejor valor si planea usar GPU unas pocas (1–2h) horas al día durante un período de unos pocos meses, y no juegue videojuegos que justifiquen la compra de su propia tarjeta. 🙂
Analicemos cuál exactamente de estos dos será el mejor. Haré la comparación mirando el problema de inferencia [5] en el modelo típico de CNN [1]: GoogleNet.
La mayor parte del tiempo de cómputo es utilizado por convoluciones, y en su mayoría están limitados por la cantidad de FLOPS [2] que tiene la GPU. Basado en eso, dos 1070 parece una mejor opción, ya que 2 x 1070 dan 2 x 6.5 TFLOPS = 13 TFLOPS, mientras que 1080ti solo da
10.6 TFLOPS.
- ¿Por qué no podemos convertir nuestro teléfono móvil en una PC?
- Cómo mantener mejor la batería de una PC
- ¿Qué problema tiene mi computadora?
- ¿Qué PC debo usar para editar fotos?
- ¿Debo transmitir en Twitch si tengo estas especificaciones de computadora?
El resto de capas, por ejemplo. la capa de agrupación está limitada por el ancho de banda de transferencia de memoria. Aquí tiene una diferencia entre 2 x 8 Gbps = 16 Gbps con memoria GDDR5 utilizada en 1070 y 11 Gbps con GDDR5x utilizada en 1080ti. De nuevo, 2 x 1070 tienen una ventaja sobre 1080.
La cantidad de memoria limita el tamaño del lote de entrenamiento e inferencia y está moderadamente correlacionado con el tiempo de ejecución. Aquí la ventaja tiene una combinación de 2 x 1070 con 2 x 8 GB en comparación con 11 GB en 1080ti.
El factor más importante que explica el tiempo de inferencia es el # de FLOPS. Con otras redes CNN, y para fines de capacitación, el análisis anterior sigue siendo válido, suponiendo la escalabilidad de los algoritmos utilizados.
Para la capacitación, lo más importante a considerar para usted es que si planea utilizar algoritmos que sean lo suficientemente escalables para ejecutarse en más de una GPU. Los algoritmos de entrenamiento RNN [3] son muy malos para escalar (y la inferencia RNN de grandes problemas también es difícil de escalar), los algoritmos RI [4] son bastante buenos y los algoritmos clásicos CNN [1] dependen moderadamente del uso modelo. Los algoritmos actuales de última generación están cambiando recientemente con respecto a las soluciones similares a RNN.
Mi recomendación general es comprar 2 x 1070 para fines de ingeniería pura y para el plan de usar modelos más grandes, especialmente si desea usar modelos ya entrenados.
El 1 x 1080ti (o Titan X / P100 si puede pagarlo) es una mejor opción para la investigación, si va a entrenar nuevos modelos y realizar experimentos. También es mejor si está buscando una solución a largo plazo, ya que tener una tarjeta más fuerte le permitirá agregar fácilmente una nueva en el futuro.
Me he saltado el análisis del uso de energía, ya que no es tan importante para la I + D de DL amateur. Si planea utilizar la tarjeta con una utilización del 100% durante muchos meses, le recomendaría que compre una solución profesional dedicada / un servidor dedicado en un lugar donde la energía sea barata.
Si se enfoca en la inferencia, asegúrese de usar nuestra última herramienta gratuita, TensorRT, que le brindará el mayor rendimiento de la GPU.
Descargo de responsabilidad: soy el desarrollador principal de esta herramienta
Compruebe también ¿Es el NVIDIA Titan X mejor que dos GTX 980 para un aprendizaje profundo?
[1] Redes neuronales convolucionales.
[2] Operaciones de coma flotante por segundo.
[3] Redes neuronales recurrentes
[4] Aprendizaje de refuerzo
[5] El proceso de avance del modelo: operación utilizada en la producción para ejecutar algoritmos de aprendizaje profundo en nuevos datos.