Config PC pour deep learning

ailless

Asimov, Sagan, Carlin, Hitchens
Salut les gars,

est-ce qu'il y a des gens ici qui auraient des conseils pour une config pour faire du deep learning ?

Je possède pour l'instant le Dell XPS 15 (le plus puissant avec GTX 1050 4go) mais c'est clairement limité et vu que je ne l'utilise que chez moi, j'aimerais le remplacer par un PC.

Avec ce que je peux trouver sur le net, il me faudrait au moins une nvidia 1080ti (http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/).
Le lien date de avril 2017 donc je ne sais pas si ça a beaucoup évolué depuis.
Pour information, vu que je suis seulement en train d'apprendre le deep learning je ne suis pas pressé donc si une nouvelle carte nvidia sort d'ici quelques mois voire fin de l'année, je peux attendre jusque là.

Je ne joue plus donc c'est 100% Linux.
Vu que le deep learning a besoin d'un GPU avec beaucoup bande passante pour la mémoire, j'aimerais une config qui puisse évoluer juste en changeant le GPU tous les 1, 2 ans.

Il faudrait aussi beaucoup de RAM genre au moins 32go

"The more RAM you have, the better. For deep learning, you should really have more than your total GPU RAM (combined RAM on all your GPUs) because typically you’d stream data from RAM to GPU memory (even though HDD to GPU RAM is also possible). I’ve chosen 32 GB of DDR4 Corsair LPX RAM in 2 sticks. My motherboard has 4 RAM slots, so potentially I can increase RAM to 64 GB."

"When working with large/big datasets we might need to have them in memory. Size of the RAM decide how much of dataset you can hold in memory. For Deep learning applications it is suggested to have a minimum of 16GB memory (Jeremy Howard Advises to get 32GB). Regarding the Clock, The higher the better. It ideally signifies the Speed — Access Time but a minimum of 2400 MHz is advised.

Always try to get more memory in a single stick as it will allow for further expansion in remaining slots.I have seen many people who get 4*8 GB RAM instead of 2*16 GB ending up using all 4 Slots and no room for upgrade just because they are bit cheap than the latter."

Et ça c'était en 2016 donc maintenant, c'est obligé d'avoir au moins 32go qui peut évoluer vers 64go non ?

J'ai un budget de 3000 - 3500 euros (je vends mon Dell XPS 15 et je rajoute des thunes pour avoir la config qu'il me faut).

C'est assez difficile de trouver une réponse toute faite sur google vu qu'on voit souvent des configs avec plusieurs GPU donc hors budget pour moi.

En resume, je pense avoir besoin d'une config avec ces specifications la mais je ne connais pas les details des composants que je devrais prendre

CG: Nvidia Geforce GTX 1080ti
RAM: 32go ram DDR4 avec la possibilite de rajouter 32go si besoin
CPU: pas trop trop important pour du deep learning donc j'imagine que si je prends un Intel quad core, ca devrait suffir. Je ne pense pas avoir besoin du tout dernier i7-8700k. Le GPU est bien plus important.
CM: aucune idee
Alim: aucune idee
Cooling CPU: j'avais du corsair h100i avant et ca faisait du bon boulot une fois que j'avais change les ventilo par defaut qui etaient trop bruyants
Boitier: aucune idee
SSD: au moins 256go, 512go est mieux
HDD: au moins 2to

Quelque chose de silencieux des que tout tourne a fond ce serait bien.

Merci. :)
 

Sigmund

Philololologue
"vieux" guide: http://graphific.github.io/posts/building-a-deep-learning-dream-machine/

Sinon, si tu peux attendre (et vu que tu ne comptes pas train 24/7 pendant des mois), je te conseille de tester les différentes solutions cloud (aws, google, floyd, azure, etc). Souvent tu peux avoir quelques heures/dollars gratos pour tester. J'avais profité d'une offre par Azure comme cela et en fait après avoir optimisé mon code... j'ai rien du dépenser ni rien :D Les heures et heures et heures de training c'est surtout pour les énormes datasets, sur des plus petits trucs ton modèle converge assez rapidement.

Depuis que j'ai accès à 24 K80 et 104 P100 gratos, je ne suis plus trop les offres commerciales... :oops:
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Oui j'étais justement tombé sur ce lien là avec les 3 titan :p

vu que pour l'instant, je suis en phase d'apprentissage, je peux très bien vivre avec ça puis éventuellement jeter un oeil sur les offres cloud.

Ce que je fais maintenant met 6 à 8h pour avoir un résultat donc c'est assez chiant surtout que je fais souvent des erreurs avec les hyper parameters donc je perds énormément de temps et j'aimerais vraiment bien avoir un feedback plus rapide. :)

Je compte faire des compétitions Kaggle assez rapidement pour m'entrainer et là j'aurai besoin de pouvoir entrainer des modèles sur ma machine et ce que je trouvais sur le net c'était 1080ti pour être à l'aise avec Kaggle comp.

Depuis que j'ai accès à 24 K80 et 104 P100 gratos, je ne suis plus trop les offres commerciales... :oops:
Compréhensible. :p
 

Sigmund

Philololologue
6 à 8 heures sur une 1050 c'est pas genre réduit de tiers sur une 1080? Ca reviendrait à genre 2 euros sur un truc cloud. vs 1000€ pour une simple 1080TI + électricité... :oops:
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Le truc c'est que le Dell est très récent (début d'année) donc je peux encore le revendre à un bon prix qui devrait couvrir une grosse partie de la nouvelle config. Donc si je le revends maintenant, je peux me faire une machine qui peut évoluer facilement plus tard comparé à un laptop.

Je pense honnêtement que je fais le bon choix. Le laptop est sous utilisé chez moi vu qu'il reste tout le temps sur mon bureau donc autant le remplacer par un PC fixe qui sera plus puissant et que je pourrai faire évoluer si besoin.

Ca couvrira mes besoins à la maison et quand vraiment j'ai besoin de gérer des gros dataset, j'envisagerai le cloud pour quelques heures pour avoir un modèle final une fois que j'ai fait quelques tests chez moi. Non ? :)

Je ne compte pas me faire une config en plus du Dell XPS 15, c'est vraiment le remplacer que j'aimerais.
 

Joon

Squadeur.
N'oublie pas de mettre en considération que les GTX n'ont pas d'ECC et donc sont plus à même de se "tromper" un gars qui fait du deep learning (anonyme) c'est rendu compte que les résultats sur les dernières série de gtx était différent des Kepler et Maxwell.
(Il utilisait une Titan V je pense, je retrouverai ça)
Du coup, je sais que les Quadro sont bien plus chère mais il faut y penser sérieusement.

Pour ce qui est du reste de ta config, vu ce que tu dois supporter, je partirais sur du Threadripper ou Core X.
Histoire de foutre 64 Go de ram et avoir une possibilité d'évolution.

Mais on parle, on parle, il faut un budget plus conséquent pour vraiment savoir où on va.

Là, tu veux le meilleur avec un budget relativement faible pour tes besoin. Tu peux augmenter ?
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Salut Joon,

aie :) peut-etre que je me suis mal exprime. La config que je veux faire chez moi ne va seulement etre utilise pour m'entrainer et prendre des connaissances en machine learning et deep learning. Je ne compte pas faire des trucs qui partiront en prod chez moi.
Ca ce sera fait au boulot sur le cloud d'Amazon avec du matos de pro. C'est un sujet qui me passionne et j'aimerais etre vraiment a l'aise avec toutes ces technologies la et pour ca, je dois m'entrainer chez moi en plus de faire des trucs au boulot.

Moi j'aimerais juste une config chez moi qui me permette de jouer avec du deep learning et de m'entrainer avec des competitions Kaggle sans devoir trop attendre des resultats.

Donc avec tout ca, je ne suis sur d'avoir d'une machine si puissante. Je pensais vraiment a une machine avec une 1080ti et 32 voire 64go de RAM. Si vraiment j'ai besoin de plus pour un dataset particulier (ce qui sera plutot rare vu que je suis dans l'optique education), j'utiliserai un cloud pour le training.

Aussi, le Dell XPS que j'ai souffle a fond des que je lance le training d'un modele et ca m'enerve un peu a la longue donc j'aimerais remplacer ca par un boitier qui sera le plus silencieux possible en plein charge.

Mon budget c'est le prix de revente du Dell XPS 15 que j'ai + 500 voire 1000 euros s'il le faut vraiment, ça nous fait plus ou moins 3k j'imagine... je peux éventuellement monter à 3k5.

Une suggestion ? J'ai toujours ete nul pour me faire une config mais je suis capable de la monter une fois que tout est chez moi et que je sais que tout est compatible. :proud:

Merci
 

THiBOo

Elite
En lisant ton topic, je me suis dit qu'il était temps de m'intéresser au sujet. Tu codes en python ? ou en java ?
 
  • J'aime
Les réactions: Xsat
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Python et R pour apprendre, ca a l'air d'etre les 2 langages les plus utilises pour ca bien qu'on puisse faire du ML dans beaucoup de langage.

Il y a des bonnes introductions sur coursera par Andrew Ng (google brain, baidu) pour le ML (octave, la version "gratuite" de matlab on peut dire) et le deep learning (python).
Aussi sur Udemy avec machine learning A-Z (python et R) et deep learning A-Z (python).

Il faut aimer les maths genre probabilites, statistiques, calculs differentiels, algebre lineaire.

Perso j'adore, je trouve ca passionnant. :)
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
J'ai mis à jour le budget ainsi que certains composants minimum pour la config. Est-ce que je suis toujours à côté de la plaque ? :)

J'ai tenté de faire une config sur LDLC avec des composants et je tombais à plus ou moins 3k mais j'ai aucune idée si j'ai pris la bonne version des composants genre carte graphique MSI plutôt qu'autre chose. Pour ca, il faut une connaissance des tests faits sur ces versions et je ne suis pas du tout à jour pour tout ça donc j'aurais besoin d'un peu d'aide et de conseils. :)
 

Thibz

Elite
Je suis curieux, en quoi une cg intervient pour du ML?

Ayant tourné pas mal de modèle d’optimisation et statisique en tant que doctorant c’était toujours CPU-vore. La technologie a changé?
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Je pense que tu peux utiliser le CPU pour du ML enfin avec le peu de connaissance que j'ai, j'ai toujours fait ça sur le CPU sans problème. Par contre pour du deep learning, tu vois clairement la différence entre CPU et GPU.

Entrainer un modèle (deep learning) est plus rapide avec un GPU vu que mieux optimisé pour des opérations sur des matrices par rapport à un CPU.

C'est des tests basiques que j'ai fait mais en utilisant le même script (artificial neural network et convolutional neural network pour l'instant) et en specifiant le CPU ou le GPU pour tensorflow, c'était 5 à 10 fois plus rapides avec le GPU et mon code totalement pas optimisé vu que débutant. :)
 

Sigmund

Philololologue
Oui les bibliothèques utilisées de nos jours sont vmt toutes optimisées GPU (pytorch, tensorflow, keras, etc).

Le CPU marchera aussi mais moins rapidement, évidemment d'autres facteurs jouent : taille du dataset, type de neural network, QUALITÉ DU CODE, facteurs I/O (ce qui est la limite sur mes calculs :oops:), etc.

Certaines bibliothèques sont plus optimisées pour certains hardware *il me semble*, mais bon vu que je ne paie rien je dois avouer ne pas regarder du tout à cela. Dans tous les cas pour toi ailless si c'est juste pour "play around" ça ne change pas grand chose non plus j'imagine -- tu ne vas pas scale un modèle et le réentrainer 10000 fois non plus.

Tu fais du DL sur quel type de données si je peux demander ? :oops:
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Pour l'instant, c'est des datasets de tests fournis par les tutos que je suis (principalement Udemy et Coursera).

Je n'ai joué qu'avec des ANN et CNN. Je suis en train de travailler les RNN en ce moment.

Ensuite ce sera les datasets Kaggle puis des datasets de clients de ma boite qui est en train de créer une team machine learning (pour dans quelques mois).

Non je ne vais pas optimiser des modèles à ce point là pour gratter quelques dizièmes de pourcent de précision mais je vais quand même tenter d'optimiser un minimum pour apprendre comment bien faire ça.
Vu que le sujet me passionne, je compte vraiment m'y mettre à fond. Pour l'instant je passe une 30aine d'heures par semaine hors boulot la tête dans le ML/DL.

Le plus long que j'ai eu à attendre était pour un grid search sur l'ANN mais ça a pris trop longtemps donc je ne pouvais pas vraiment continuer les tutos vu que mon GPU était bloqué sur cette tâche là. Bref c'était assez chiant.
Je lis aussi que si on veut être à l'aise sur les modèles deep learning de Kaggle, il fallait une 1080Ti par exemple donc j'aimerais au moins ça dans la config.

J'en suis qu'à mes débuts mais je compte vraiment être à fond là dedans. :)
Et toi tu fais quoi ?
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
On m'a proposé ça sur reddit:

CPU
AMD - Ryzen 5 1600 3.2GHz 6-Core Processor
€183.95 @ Bytes At Work

CPU Cooler
Cooler Master - Hyper 612 Ver.2 44.2 CFM Rifle Bearing CPU Cooler
€49.95 @ Bytes At Work

Motherboard
ASRock - AB350 Pro4 ATX AM4 Motherboard
€98.95 @ Bytes At Work

Memory
G.Skill - Sniper X 32GB (2 x 16GB) DDR4-3000 Memory
€358.95 @ Bytes At Work

Storage
Samsung - 960 EVO 500GB M.2-2280 Solid State Drive
€237.95 @ Bytes At Work

Storage
2 x Western Digital - BLACK SERIES 2TB 3.5" 7200RPM Internal Hard Drive
€131.95 @ Bytes At Work

Case
be quiet! - Silent Base 800 (Black) ATX Mid Tower Case
€139.00 @ Bytes At Work

Power Supply
be quiet! - POWER ZONE 750W 80+ Bronze Certified Fully-Modular ATX Power Supply
€130.95 @ Bytes At Work
Pour un total de €1463.60
A ca je dois rajouter la carte graphique (quelle marque ?) vu qu'elle n'est pas disponible sur le site. Ca me semble plus que raisonnable comme budget.
 

Sigmund

Philololologue
Pour l'instant, c'est des datasets de tests fournis par les tutos que je suis (principalement Udemy et Coursera).

Je n'ai joué qu'avec des ANN et CNN. Je suis en train de travailler les RNN en ce moment.

Ensuite ce sera les datasets Kaggle puis des datasets de clients de ma boite qui est en train de créer une team machine learning (pour dans quelques mois).

Non je ne vais pas optimiser des modèles à ce point là pour gratter quelques dizièmes de pourcent de précision mais je vais quand même tenter d'optimiser un minimum pour apprendre comment bien faire ça.
Vu que le sujet me passionne, je compte vraiment m'y mettre à fond. Pour l'instant je passe une 30aine d'heures par semaine hors boulot la tête dans le ML/DL.

Le plus long que j'ai eu à attendre était pour un grid search sur l'ANN mais ça a pris trop longtemps donc je ne pouvais pas vraiment continuer les tutos vu que mon GPU était bloqué sur cette tâche là. Bref c'était assez chiant.
Je lis aussi que si on veut être à l'aise sur les modèles deep learning de Kaggle, il fallait une 1080Ti par exemple donc j'aimerais au moins ça dans la config.

J'en suis qu'à mes débuts mais je compte vraiment être à fond là dedans. :)
Et toi tu fais quoi ?

Cool ! Tiens-moi au courant :)

Moi je joue avec du texte, beaucoup de texte :oops:
 

Joon

Squadeur.
On m'a proposé ça sur reddit:

CPU
AMD - Ryzen 5 1600 3.2GHz 6-Core Processor
€183.95 @ Bytes At Work

CPU Cooler
Cooler Master - Hyper 612 Ver.2 44.2 CFM Rifle Bearing CPU Cooler
€49.95 @ Bytes At Work

Motherboard
ASRock - AB350 Pro4 ATX AM4 Motherboard
€98.95 @ Bytes At Work

Memory
G.Skill - Sniper X 32GB (2 x 16GB) DDR4-3000 Memory
€358.95 @ Bytes At Work

Storage
Samsung - 960 EVO 500GB M.2-2280 Solid State Drive
€237.95 @ Bytes At Work

Storage
2 x Western Digital - BLACK SERIES 2TB 3.5" 7200RPM Internal Hard Drive
€131.95 @ Bytes At Work

Case
be quiet! - Silent Base 800 (Black) ATX Mid Tower Case
€139.00 @ Bytes At Work

Power Supply
be quiet! - POWER ZONE 750W 80+ Bronze Certified Fully-Modular ATX Power Supply
€130.95 @ Bytes At Work
Pour un total de €1463.60
A ca je dois rajouter la carte graphique (quelle marque ?) vu qu'elle n'est pas disponible sur le site. Ca me semble plus que raisonnable comme budget.
Bof bof, pourquoi un SSD comme ça? et pourquoi 2 HDD en RAID1 j'imagine?
A savoir que Ryzen va être MAJ la semaine prochaine ou celle d'après. Pareil du coté d'Intel, les nouveaux CPU arrive très bientôt.
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Je pense pas que c'était pour faire du raid 1, j'avais juste précisé sur le poste que j'avais besoin d'un SSD de 256go minimum mais que 512go serait bien et que pour les disques 2To minimum et 4To serait bien.

En sachant que je peux très bien me faire une config de base genre un SSD de 256go et un HDD de 2to, 32go de ram DDR4 et upgrade plus tard si j'en ai le besoin.

Je ne suis pas attaché à un fabriquant particulier pour les CPU. Maintenant qu'AMD a 2 threads par coeur, je pense que c'est kiff kiff pour moi, non ?
 

Joon

Squadeur.
Je pense pas que c'était pour faire du raid 1, j'avais juste précisé sur le poste que j'avais besoin d'un SSD de 256go minimum mais que 512go serait bien et que pour les disques 2To minimum et 4To serait bien.

En sachant que je peux très bien me faire une config de base genre un SSD de 256go et un HDD de 2to, 32go de ram DDR4 et upgrade plus tard si j'en ai le besoin.

Je ne suis pas attaché à un fabriquant particulier pour les CPU. Maintenant qu'AMD a 2 threads par coeur, je pense que c'est kiff kiff pour moi, non ?
Oui, tout à fait !

C'est du pareil au même. Si t'as pas de préférence, les Ryzen 5 sont plus performant en app que les i5.

Pour ce qui est du SSD, pour ce prix, tu pourrais prendre 1 SSD de 500 Go + 1 SSD de 1 To. Est-ce que ce serait suffisant pour toi en stockage?

A coté de ça, l'alim' est sur-dimensionné. Et le boitier, autant il est très bien, autant il y en a d'aussi bien pour moins chère. A toi de voir, je peux te faire une petites config' si tu veux?

EDIT: Pour ce qui est de la carte mère, c'est vraiment du "bon rock solid" pour ce que tu veux en faire (eg. rester allumer en permanence et faire du calcul) Je partirais - personnellement - sur une carte qui a un VRM hyper solide, histoire de ne pas chauffer.
 
1er
OP
ailless

ailless

Asimov, Sagan, Carlin, Hitchens
Oui je veux bien une config. :) Je peux me charger du montage et de trouver les composants, je suis juste complètement largué pour savoir quoi prendre pour que ce soit de la bonne qualité et être sûr que tout soit bien compatible.

Est-ce que le budget est adapté ? Pour info, Dell vient de casser les prix neufs du laptop (j'imagine qu'ils vont changer la gamme) donc si on ne dépasse pas les 3k euros, ce serait parfait. :)

Merci!
 
Haut