Titan V vs 1080 Ti - Persoonlijke strijd tussen de beste desktop GPU's op CNN's. Is Titan V het waard? 110 TFLOPS! geen brainer, toch?

NVIDIA's Titan V is de nieuwste 'desktop'-GPU gebouwd op de Volta-architectuur met 110' deep learning 'TFLOPS in het specificatieblad. Dat is een ongelooflijk aantal. Vergelijk dat met 1080 Ti, de huidige koning voor de 'desktop'-GPU, die 11' normale 'TFLOPS met 11 GB GDDR5-geheugen uitbrengt tegen een zeer redelijke stickerprijs van $ 699.

Hoewel de belofte van Titan V erg opwindend klinkt, is de prijs van $ 2999 een beetje moeilijk te slikken. Maar zou je met 10x TFLOPS in plaats daarvan Titan V moeten kopen? Is dat hetzelfde als het krijgen van 10 1080 Ti's? Of ben je beter af 4 1080 Ti's te kopen voor hetzelfde geld?

Overigens is het DGX Station momenteel te koop voor $ 49900 (normaal geprijsd op $ 69900). Het wordt geleverd met 4 watergekoelde server-grade Tesla V100's die iets beter zijn gespecificeerd dan de Titan V op desktop-niveau (hoewel de toren er BOSS uitziet en ik vermoed dat het wordt geleverd met ondersteuning en SLA.) Maar de meesten van ons (ach, Ik wed dat veel universitaire en AI-onderzoekslaboratoria dat geld niet hebben om rond te gooien. Zelfs als u dat deed, weet u niet zeker of het economisch gezien zinvol is. Trouwens, als u een datacenter beheert, heeft NVIDIA onlangs haar EULA bijgewerkt om te verhinderen dat GeForce- en Titan GPU's van desktopkwaliteit worden gebruikt in datacenters.

Dus de vraag is, is Titan V het waard als je je eigen GPU-rig wilt bouwen?

Laat ik beginnen met te zeggen dat Titan V en zijn grote broer Tesla V100 op serverniveau behoorlijk nieuw zijn. V100 kwam uit in mei 2017, en Titan V kwam net uit deze maand (december 2017.) De meeste deep learning-frameworks haasten zich om Volta-ondersteuning toe te voegen om ervoor te zorgen dat alle potentiële prestaties kunnen worden benut.

PyTorch heeft bijvoorbeeld pas onlangs de 0.3.0-release uitgebracht die ondersteuning voor CUDA 9 en Volta GPU's toevoegt. Ik heb met deze opstelling gespeeld en de PyTorch-gemeenschap is geweldig (vooral Soumith Chintala - bedankt kerel!) Om me te helpen. Nu ik PyTorch op Titan V kan gebruiken, heb ik een benchmarkcode geschreven om prestatieverschillen aan te tonen. Tot nu toe bevatten de resultaten alleen die van PyTorch 0.3.0, maar ik ben van plan om ook resultaten toe te voegen voor andere frameworks (EDIT: nu bevatten de benchmarkresultaten de cijfers van TensorFlow 1.4.0 en Caffe2 0.8.1 ook - zie de link voor meer informatie), allemaal op CUDA 9.0.176 en CuDNN 7.0.0.5, om het speelveld gelijk te maken.

Prestatievergelijking van Titan V versus 1080 Ti

Laten we de bovenstaande resultaten eens bekijken.
Titan V en 1080 Ti werden head-to-head vergeleken met dezelfde instellingen (bovendien liggen deze kaarten beide op de 16x PCIE-slots op dezelfde computer.)

De hierboven getoonde timingnummers zijn voor de voorwaartse doorgang door het CNN ("eval") en voorwaartse en achterwaartse doorgang ("trein"), gemeten in milliseconden. Dat zijn gemiddelde cijfers berekend over 20 passages na een aantal warming-up runs. Ik heb dit vaak gedaan, en deze cijfers zijn redelijk stabiel.

Interessante aandachtspunten:

  • Het is duidelijk dat Titan V sneller is dan 1080 Ti. Als u echter eenvoudigweg de 32-bits ("enkele" precisie) runs vergelijkt, is Titan V slechts ~ 20% sneller dan 1080 Ti.
  • De 16-bits ("halve" precisie) runs van Titan V zijn niet triviaal sneller dan die van de 32-bits tegenhanger. 1080 Ti profiteerde van half-precisie, maar de prestatiewinst is vrij bescheiden vergeleken met Titan V.

Deze cijfers schreeuwen niet echt "OH MIJN GOEDHEID TITAN V IS GEEN BRAINER."

Legt NVIDIA over de 10x TFLOPS? Ik weet zeker dat hun marketingmensen goede, eerlijke mensen zijn, maar hier spelen meerdere factoren een rol. Eén, ik weet zeker dat er nog steeds ruimte is voor verbetering van de softwarekant om elk beetje van de supersnelle Tensor-kernen van de Volta te extraheren. Maar zelfs dan, als de meeste codepaden niet voldoen aan de voorwaarden die maximale theoretische prestaties mogelijk maken (zie ENKELE REGELS in "Tensorkernen programmeren in CUDA 9 door NVIDIA), dan is er maar zoveel dat u kunt doen. De tijd zal leren hoeveel verbeteringen we op het framework / CUDA / CuDNN-niveau zullen zien om de Volta GPU-mogelijkheden zo veel mogelijk te benutten, maar de eerste cijfers die ik heb waargenomen op populaire CNN's (ik doe dingen met computervisie meestal vandaar mijn focus) op CNN's) lijkt het niet te rechtvaardigen om een ​​Titan V te krijgen, vooral als je er nu een zou krijgen omdat software het inhaalt.

Hoewel het leuk is om met de nieuwste technologie te spelen en een early adopter te zijn, als je gericht bent op het doen van AI-onderzoek of het economisch bouwen van producten op je persoonlijke GPU rig, zou ik voorstellen om vanaf dit moment 1080 Ti te kopen (totdat NVIDIA uitkomt met een nog beter alternatief in de nabije toekomst; ze hebben de neiging ons te verrassen met nieuwe releases.) Bedenk ook dat een enkele Titan V slechts 12 GB geheugen is, terwijl 1080 Ti marginaal minder geheugen heeft bij 11 GB. Maar als je er 4 voor hetzelfde geld koopt (althans op GPU's ... je hebt ook een sterkere voeding nodig, moederborden die 4 GPU's kunnen ondersteunen, meer RAM en betere koeling, enzovoort), krijg je veel meer GPU geheugen (44GB versus 12GB.) Dat gezegd hebbende, denk ik dat het praktischer is om, als je meer dan één GPU wilt krijgen, 2x 1080 Ti te krijgen. Op deze manier hoeven de GPU's niet bovenop elkaar te worden gestapeld (meer luchtstroom voor koeling - wanneer deze kaarten thermisch gas geven, kunt u de prestaties aanzienlijk verliezen ... u kunt waterkoeling doen, maar dat draagt ​​aanzienlijk bij aan de kosten, inspanning en enig risico.) Ook met slechts twee kaarten is de stroomafname 250Wx2 van de GPU's, zodat u kunt wegkomen met een goedkopere voeding. Ik vind het in elk geval zeer waardevol om meerdere GPU's te hebben en experimenten te verdelen zodat ik snel kan itereren, dus dit is wat ik zou aanbevelen als een goed compromis.
Een andere optie om het warmteprobleem van gestapelde, luchtgekoelde GPU's aan te pakken, als je er 3-4 nodig hebt, niet wilt koelen met water, en niet om esthetiek of lawaai geeft, is om wat PCIE-extenders te krijgen / risers en doen wat deze winnende Kaggler deed:

Een 4x 1080 Ti-machine van Vladimir Iglovikov, een van de winnende teamleden van Carvana Image Masking Challenge

Ik hoop dat je dit bericht nuttig vindt. Laat het me weten als je bepaalde resultaten wilt zien op Titan V of 1080 Ti. Bedankt voor het lezen!