machine learning - machine - Elegir entre las GPU GeForce o Quadro para realizar el aprendizaje automático a través de TensorFlow
gpu para deep learning (1)
¿Hay alguna diferencia notable en el rendimiento de TensorFlow si se utilizan las GPU Quadro frente a las GPU GeForce?
por ejemplo, ¿utiliza operaciones de doble precisión o alguna otra cosa que pudiera causar una caída en las tarjetas GeForce?
Estoy a punto de comprar una GPU para TensorFlow y quería saber si una GeForce estaría bien. Gracias y aprecio tu ayuda
Creo que GeForce TITAN es excelente y se usa ampliamente en Machine Learning (ML). En ML, la precisión simple es suficiente en la mayoría de los casos.
Más detalles sobre el rendimiento de la línea GTX (actualmente GeForce 10) se pueden encontrar en Wikipedia, here .
Otras fuentes alrededor de la web apoyan esta afirmación. Aquí hay una cita de doc-ok en 2013 ( permalink ).
A modo de comparación, un Quadro 4000 de $ 700 de "nivel de entrada" es significativamente más lento que un GeForce GTX 680 de gama alta de $ 530, al menos según mis medidas que utilizan varias aplicaciones Vrui, y el rendimiento más cercano equivalente al de una GeForce GTX 680 que pude encontrar Fue un Quadro 6000 por la friolera de $ 3660.
Específico para el ML, incluido el aprendizaje profundo, hay una discusión en el foro de Kaggle dedicada a este tema (diciembre de 2014, permalink ), que analiza las comparaciones entre las series Quadro, GeForce y Tesla:
Las GPU de Quadro no son para computación científica, las GPU de Tesla sí lo son. Las tarjetas Quadro están diseñadas para acelerar el CAD, por lo que no te ayudarán a entrenar redes neuronales. Probablemente se pueden usar para ese propósito muy bien, pero es un desperdicio de dinero.
Las tarjetas Tesla son para computación científica, pero tienden a ser bastante caras. La buena noticia es que muchas de las características que ofrecen las tarjetas Tesla sobre las tarjetas GeForce no son necesarias para entrenar redes neuronales.
Por ejemplo, las tarjetas Tesla generalmente tienen memoria ECC, lo cual es bueno tener pero no es un requisito. También tienen un soporte mucho mejor para los cálculos de doble precisión, pero la precisión simple es suficiente para el entrenamiento de redes neuronales, y para eso tienen el mismo desempeño que las tarjetas GeForce.
Una característica útil de las tarjetas Tesla es que tienden a tener mucha más RAM que las tarjetas GeForce comparables. Más RAM siempre es bienvenida si planea entrenar modelos más grandes (o use cálculos con uso intensivo de RAM como las circunvoluciones basadas en FFT).
Si eliges entre Quadro y GeForce, definitivamente elige GeForce. Si eliges entre Tesla y GeForce, elige GeForce, a menos que tengas mucho dinero y realmente puedas usar la RAM adicional.
NOTA: Tenga cuidado con la plataforma en la que está trabajando y la precisión predeterminada que contiene. Por ejemplo, aquí en los foros de CUDA (agosto de 2016), un desarrollador posee dos Titan X (serie GeForce) y no ve un aumento de rendimiento en ninguno de sus scripts R o Python. Esto se diagnostica como resultado de que R tiene una doble precisión predeterminada y tiene un peor rendimiento en la nueva GPU que su CPU (un procesador Xeon). Las GPU de Tesla se citan como el mejor rendimiento para la doble precisión. En este caso, la conversión de todos los números a float32 aumenta el rendimiento de 12.437 con nvBLAS 0.324 con gmatrix + float32 en un TITAN X (consulte el primer punto de referencia). Citando en este foro de discusión:
El rendimiento de doble precisión de Titan X es bastante bajo.