Jump to content

Mac pour programmation


clive-guilde
 Share

Recommended Posts

Bonjoir la communauté,

 

Je profite des fêtes de fin d'année pour vous demander un avis pour une station de travail pour faire de la programmation.

 

Voici mon environnement de travail

Logiciel bureautique office pour échanger avec les collègues.

Programmation en R, Rmarkdown sous Rstudio (l'IDE de développement pour R)

Un peu de code avec Visual Code Studio

Programmation en MATLAB avec les Toolbox image procession, compuboxter Vision, machine et deep learning.

 

Serveur image médicale DICOM Horos l'application qui le fait rester sous Mac outre le fait d'aimer cet OS et d'être à l'aise avec lui (contrairement a Linux malheureusement)

 

Pour le moment j'ai a ma disposition un iMac 4K de 2015 avec 16Go et 256 Go de SSD et un MacBook Pro 13 pouces 2019 16Go et 512Go.

Du coup je souhaiterais acquérir une station de travail plus performante pour gagner en temps de calcul (surtout lorsque je vais passer en Deepl Learning plus intensif avec Keras / Tensorflow sous R)

 

Que pouvez vous me conseillez avec la gamme actuelle pour avoir un environnement de travail adapté à mes besoins.

 

Merci pour vos conseils et bon réveillon.

Link to comment
Share on other sites

Le mieux est de commencer par monitorer l'usage du CPU et de la mémoire pendant que tu travailles avec ces différents software. Car c'est quand même très spécifique.

En fonction de cela, on pourrait déjà avoir une première idée. L'idéal étant bien sûr, d'indiquer sur les graphiques quand "ça rame". Ce simple test permet de savoir si c'est la mémoire qui est sous stress ou si au contraire, c'est le CPU. Si c'est ce dernier, cela va permettre de discriminer si ton usage est surtout monocoeur ou  multicoeur et permettre de voir si les softs que tu utilises tirent parti ou non de l'Hyperthreading.

L'outil de monitoring se trouve dans le dossier système.

Encore mieux, si tu fais exactement les mêmes manip's sur les 2 macs (tout en montirant bien sûr), cela pourrait nous donner une idée des besoins en GPU, même si l'interprétation risque d'être complexe.

Edited by Sethenès
Link to comment
Share on other sites

Bonsoir,

 

Merci pour vos retours.

Alors pour répondre @Sethenès mes logiciels tirent partis du multicoeur et aussi de l'hyper threading (monitorer via iStat menu). Pour le calcul c'est CPU a 100% par coeur actif. Après le langage R supporte pas très bien la parallélisation donc le score en monocoeur a son importance aussi.

Quand je disais ça rame c'était mal dit je voulais plutôt dire que le ventilo soufflait a fond et que les calculs prenaient du temps. Mais pas d'écran figé car je laissais 2 coeurs libres sur les 8 (car hyperthreading) de dispo lorsque la parallélisation est activé.

Pour MATLAB c'est grosso modo la même chose.

Aucune saturation de la Ram. Monter a 10Go sur les 16Go.

Pas de différence notable de temps de calcul entre mon iMac 21 pouces 2015 et mon MacBook pro. Après ils ont tous les deux un carte graphique en chipset et en plus les calculs que je fais sont pour le moment paramétrer que sur du CPU.

wKns merci pour ta réponse c'est peut être vrai que linux semble une bonne voie à suivre mais en imagerie médicale le Mac a un avantage indéniable c'est de proposer un serveur d'envoi et de réception plus une interface de visualisation avec les solutions Osiris et Horos de plus je ne sais pas trop bien administrer Linux contrairement au Mac mais bon je veux bien entendre ta remarque. Disons que si l'on devrait rester sur une solution Mac que prendre. ?

Dernier point pyTorch n'est a ma connaissance pas compatible avec R contrairement a Keras et ça change tout. D'où mon choix de cette plateforme pour les futurs développement. Mais je garde l'info en tête.

 

Sur ce bonne soirée et bon réveillon à tous.

 

wKns

Link to comment
Share on other sites

Bah ... c'est assez clair, trouve-je. Avec un Mac quad-core/ 8threads (4C/8T) de 2015, il ne faut pas trop espérer des machines du même type de 2019 (4C/8T).

D'autant plus que nombre d'entre-elles ont perdu l'hyperthreading donc visiblement tu tires pleinement parti. Je ne suis pas sûr qu'un hexacore (6C/6T) soit plus performant dans ton cas. Je pense que les deux doivent grosso-modo se valoir puisque dans un hexacore, tu as 6 pipelines complet alors que l'HT n'offre qu'un dédoublement partiel.

Tu as besoin de cores, de threads et "encores" de threads ...  dont, c'est CPU avec HT obligatoire. Si tu veux une augmentation significative, il faut (selon moi) forcément passer par l'augmentation du nombre de cœurs. Donc passer à 8, ce qu'on retrouve par exemple dans l'iMac 27" i9 (8C/16T). 

En plus, apparemment cet i9 a une très bonne fréquence maximum, donc en principe en mono-coeur, ça devrait aussi le faire. Sylvain a publié un article de comparaison il y a quelques mois je crois.

Par contre, si tu me demandes d'estimer le gain en performance ... c'est une autre affaire. Je pense que si tu gagnes en moyenne un facteur 2,5 à 3, ce sera déjà pas mal (4 minutes contre 10 par exemple). Tu gagneras probablement un peu plus pour certaines tâches mais peut-être un peu moins pour d'autres.

Edited by Sethenès
Link to comment
Share on other sites

Pytorch est un language impératif basé sur la syntaxe de Numpy (matlab like) tandis que keras avec tensorflow en backend utilise des graphes compilés. Y’a rien de plus chiant à utiliser et debugué. Sachant que si keras est compatible avec R pytorch l’est aussi (m’est avis que c’est plutôt pandas qui fait le job entre la lib DL et R). 
 

Une question: tu veux entraîner des modèles ou juste les utiliser ?

Link to comment
Share on other sites

Merci pour PyTorch je vais creuser.

Je souhaite les entrainer sur une base d'images pour ensuite les utiliser sur une autre base d'images. La base d'image est petite. J'aurais d'ailleurs peut être juste besoin de faire du machine learning

En effet, Pour l'instant j'ai seulement fait du machine learning avec SVM avec entraînement puis utilisation pour avoir les score de précision pour qualifier quel qualité d'mage utilisée en fonction de l'indication clinique.

 

J'espère avoir été suffisamment précis car je ne suis pas un expert loin de la.

 

Pour ce qui est d'une tour construite moi même impossible car cela passe par un appel d'offre donc je ne peux pas récupérer un montant pour acheter moi même après.

En tout cas merci beaucoup

@Sethenès

@wKns

Edited by clive-guilde
Link to comment
Share on other sites

Que veux tu dire par appel d’offre ? C’est pas plutôt un marché publique pour l’informatique ? Si tu justifie d’un besoin normalement tu peux choisir ce que tu veux non ? Dans un appel d’offre tu peux bien spécifier que tu as besoin de GPU cuda avec au moins x teraflops. 

Link to comment
Share on other sites

C'est un appel d'offre pour un équipement médical et on se sert du reliquat pour s'équiper de tout le matériel coûteux (pas forcément en informatique) car il n'y a pas de marché informatique pour ce type d'activité de recherche a l'hôpital donc on s'arrange comme on peut.

 

Dans l'Apple d'offre j'ai spécifiée en option libre station de travail pour machine learning et deep learning pour rester large et affiner la proposition en fonction du budget restant avec le vainqueur de l'appel d'offre (constructeur d'équipement d'imagerie médicale)

Edited by clive-guilde
Link to comment
Share on other sites

Ça doit exister car aux 15-20 et à Pasteur on peut commander des ordinateurs à monter (je l’ai fait aux 15-20). A Pasteur ils ont même un cluster de GPU dédié pour entraîner des modèles. A mon avis tu dois bien pouvoir faire ce que tu veux si tu te renseignes Et discutes avec les bonnes personnes!

Link to comment
Share on other sites

Je me permets d'intervenir sur un point dans la discussion. C'est qu'il faut quand même être sûr de pouvoir utiliser et de savoir faire fonctionner la machine qu'on achète (ou que l'on fait acheter).

Ici, justement, c'est assez simple puisqu'il est possible de tester sur un PC "bas de gamme" (il suffit juste qu'il dispose d'une carte Cuda compatible et il ne doit pas y avoir bcp de Nvidia qui ne le sont pas), PC équipé de l'OS qui va bien.

Je dis ça ...

 

Link to comment
Share on other sites

Il y a 11 heures, Sethenès a dit :

Je me permets d'intervenir sur un point dans la discussion. C'est qu'il faut quand même être sûr de pouvoir utiliser et de savoir faire fonctionner la machine qu'on achète (ou que l'on fait acheter).

Ici, justement, c'est assez simple puisqu'il est possible de tester sur un PC "bas de gamme" (il suffit juste qu'il dispose d'une carte Cuda compatible et il ne doit pas y avoir bcp de Nvidia qui ne le sont pas), PC équipé de l'OS qui va bien.

Je dis ça ...

 

Bonne remarque mais n'ayant pas le dit matériel a ma disposition je ne peux le faire malheureusement.

 

Pour avancer sur la discussion j'ai vu qu'on pouvait faire du machine learning / deep learning avec plaidML compatible avec toute carte graphique

https://github.com/plaidml/plaidml

 

Du coup je me dis qu'avec un iMac 27 pouces haut de gamme (voire un Mac Pro si le budget me le permet) ça devrait faire l'affaire par rapport à mon besoin. Comme ça je reste à l'aise avec macOS.

Ai-je loupé une étape ?

Link to comment
Share on other sites

Tu n'as pas un "bête" PC avec une carte Nvidia pour tester ?

En deep learning, je n'y connais absolument rien, mais pour le tools que tu proposes,  rien ne t'empêche de tester sur l'un de tes Macs actuels.

Pour l'iMac, la question est de savoir combien d'heures d'affilées, tu vas faire tourner la machine à 100%. Je l'ai déjà répété, avec un i7 Extreme Edition (dissipation max 140W) et une GeForce 970 GTX, en h24, je chauffe une de mes pièces d'habitation et en plein été, je le coupe.

Et pour ça, indubitablement le Mac Pro est meilleur dans l'absolu. Est-il meilleur (en terme de rentabilité) pour toi, ça je n'en sais fichtre rien ! 

 

Link to comment
Share on other sites

Il y a 1 heure, Sethenès a dit :

Tu n'as pas un "bête" PC avec une carte Nvidia pour tester ?

 

malheureusement non.J'ai bien réussi à récupéer une worstation fonctionnant sous Linux mais elle a déjà plus de 7 ans de fonctionnement 14h et ce 5 jours sur 7 dans les pattes et l'installation de CUDA s'est très mal passée (ce fut un échec malgré l'aide d'un collègue assez expert en Linux).

Faut vraiment travailler à l'hôpital pour ce rendre compte avec quel matériel on travaille et le genre de montage que l'on doit faire pour récupérer du matériel correcte (nos gestionnaires administartif nous ont enlevé depuis quelques années à mon équipe 30 k€ /an ce qui nous oblige à jouer d'ingénoisité pour arriver à travailler dans des conditions correctes sans bien sûr y arriver complètement).

 

Il y a 1 heure, Sethenès a dit :

En deep learning, je n'y connais absolument rien, mais pour le tools que tu proposes,  rien ne t'empêche de tester sur l'un de tes Macs actuels. 

Effectivement il va falloir que je fasse le test avec mesure du temps mais c'est pas forcément une opération simple car je n'ai peut être pas été assez précis mais je vais avoir besoin de faire du deepl learning mais je n'en ai encore jamais fait. C'est d'ailleurs pour ça que je ne pense pas avoir besoin d'une bête de course n'étant pas assez qualifié dans le domaine.

 

@Sethenès d'ailleurs pourquoi déconseiller l'iMac ? Et quelle machine avec assez de CPU (car j'en ai déjà besoin avec mes codes actuels) conseiller dans ce cas ?

Link to comment
Share on other sites

Mais le DL c’est comme le jeu vidéo mais en plus exigeant. Même si tu n’as jamais joué tu as besoin d’une bonne machine. Et jouer sur un iMac... Sans carte graphique avec minimum 8Go de RAM tu ne feras pas grand chose. 
 

Pour les 15-20 c’est les gestionnaires. Après je travaille avec l’unité de recherche donc la gestion des budgets est sûrement différente (ça fonctionne comme au CNRS sur des financements). 

Link to comment
Share on other sites

Je ne le déconseille pas, je suis prudent en partie parce que je ne connais pas ton usage.

Désolé, wKns, ça ne m'aide pas. Il y a une sacrée différence entre avoir un GPU qui tourne 8h sans s'arrêter "à fond" et y faire appel 30x par heure pour 20 secondes.

Je l'ai déjà écrit, chez moi quand je fais tourner un GPU h24, la pièce dans laquelle il se trouve chauffe de manière sensible (on "sent" dès qu'on y entre qu'il y a une source de chaleur en fonctionnement).

Link to comment
Share on other sites

Pour entraîner un réseau convolutionnel sur une base de 200 images médicales il me faut quelques heures sur une machine de guerre (Titan RTX, 256Go de Ram, SSD NVME, etc). Donc pour finetuner les paramètres il faut des semaines à 100% de GPU. Et oui ça chauffe, juste le GPU c’est bien 350W de perte thermique. 

Link to comment
Share on other sites

@wKns

Ah oui quand même. Je devrais être dans la même gamme de nombre d'images.

C'est pour faire de la classification ? Ou d'autres tests ?

Merci pour cette info très intéressante.

En attendant le résultat de l'appel d'offre je vais chercher d'autres sources de financement et lancer les premiers tests d'apprentissage sur mon matériel actuel pour voir ce que ça donne

Merci Sethenès  je comprends que le problème de ventilation sera le frein principal pour l'iMac si le processus prend du temps  @Sethenès

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...