web-dev-qa-db-fra.com

Choisir entre les GPU GeForce ou Quadro pour l'apprentissage automatique via TensorFlow

Existe-t-il une différence notable dans les performances de TensorFlow si vous utilisez des GPU Quadro par rapport aux GPU GeForce?

tilise-t-il par exemple des opérations en double précision ou quelque chose d'autre qui provoquerait une chute des cartes GeForce?

Je suis sur le point d'acheter un GPU pour TensorFlow, et je voulais savoir si une GeForce irait bien. Merci et apprécie votre aide

30
user2771184

Je pense que GeForce TITAN est génial et est largement utilisé dans le Machine Learning (ML). En ML, une seule précision suffit dans la plupart des cas.

Plus de détails sur les performances de la ligne GTX (actuellement GeForce 10) sont disponibles sur Wikipedia, ici .

D'autres sources sur le Web soutiennent cette affirmation. Voici une citation de doc-ok en 201 ( permalien ).

À titre de comparaison, une Quadro 4000 à 700 $ est nettement plus lente qu’une GeForce GTX 680 haut de gamme à 530 USD, du moins d’après mes mesures effectuées avec plusieurs applications Vrui, et l’équivalent le plus proche de la GeForce GTX 680 en termes de performances. était une Quadro 6000 pour 3660 $.

Il existe un élément spécifique à ML (y compris apprentissage en profondeur) discussion du forum Kaggle consacrée à ce sujet (décembre 2014, lien permanent ), qui passe en revue les comparaisons entre les modèles Quadro, GeForce et Série Tesla:

Les GPU Quadro ne sont pas pour le calcul scientifique, les GPU Tesla sont. Les cartes Quadro sont conçues pour accélérer la CAO, elles ne vous aideront donc pas à former des réseaux de neurones. Ils peuvent probablement être utilisés à cet effet, mais c'est un gaspillage d'argent.

Les cartes Tesla sont pour le calcul scientifique, mais elles ont tendance à être assez chères. La bonne nouvelle est que bon nombre des fonctionnalités offertes par les cartes Tesla par rapport aux cartes GeForce ne sont pas nécessaires pour former des réseaux de neurones.

Par exemple, les cartes Tesla ont généralement une mémoire ECC, ce qui est agréable, mais pas obligatoire. Ils prennent également mieux en charge les calculs en double précision, mais la simple précision suffit largement pour l’entraînement en réseau neuronal et leur fonctionnement est à peu près identique à celui des cartes GeForce.

Une caractéristique utile des cartes Tesla est qu’elles ont tendance à être beaucoup plus RAM que des cartes GeForce comparables. Plus RAM est toujours le bienvenu si vous prévoyez pour former de plus grands modèles (ou utiliser des calculs intensifs en RAM tels que les convolutions basées sur FFT).

Si vous choisissez entre Quadro et GeForce, choisissez GeForce. Si vous choisissez entre Tesla et GeForce, choisissez GeForce, à moins que vous n’ayez beaucoup d’argent et que vous ne puissiez vraiment utiliser plus de RAM.

REMARQUE: Faites attention à la plate-forme sur laquelle vous travaillez et à la précision par défaut qu'elle contient. Par exemple, ici sur les forums CUDA (août 2016), un développeur possède deux Titan X (série GeForce) et ne voit aucun gain de performance dans aucun de leurs R ou Python scripts, diagnostiqués en raison de la double précision de R par défaut, et dont les performances sur les nouveaux GPU sont moins bonnes que celles de leur processeur (processeur Xeon). Les GPU Tesla sont citées pour la meilleure performance en double précision. Dans ce cas, la conversion de tous les nombres en float32 augmente les performances de 12,437 avec nvBLAS 0,324 avec gmatrix + float32 sur un TITAN X (voir le premier point de repère).

Les performances en double précision de Titan X sont plutôt faibles.

34
Patric