Comment construire un ordinateur pour ML



Votre propre serveur d'apprentissage est comme une machine au 20e siècle: si vous êtes sérieusement engagé dans la science des données, tôt ou tard, vous arriverez au point que vous avez besoin d'un environnement personnalisé unifié, de la confiance dans des ressources indépendantes des règles de l'employeur et des administrateurs. Quelqu'un dira que tout peut être fait dans les nuages, mais un accès constant, de longues expériences 24h / 24 et 7j / 7 et même avec un stockage de données coûteront un sou.

Donc, si vous décidez - vous devez construire votre ville-jardin.

Voyons voir ce dont nous avons besoin:

  • Les ensembles de données doivent se trouver quelque part. Vous devez pouvoir stocker et accéder rapidement à de grandes quantités de données.
  • Carte vidéo Resnet et Unet attendent.
  • Processeur multicœur. Beaucoup de gens oublient, mais de nombreuses opérations dans les algorithmes numpy, pandas et boosting de gradient sont parfaitement parallélisées pour le multithreading, mais ne fonctionnent toujours pas sur les cartes vidéo.
  • RAM Doit contenir tout.
  • Et le reste qui devrait servir aux paramètres: une source d'alimentation adéquate, un boitier et une carte mère, où tout ce bonheur tient, un système d'exploitation.

Le facteur déterminant le plus important est bien entendu le budget. J'ai défini le mien dans la région de 150 mille roubles.

Ainsi, la première et la plus chère est une carte vidéo . Admettons l'évidence: Nvidia est maintenant le leader absolu dans la performance et la compatibilité des frameworks, et si vous écrivez des réseaux de neurones, alors vous avez besoin de cudnn et cuda. Mais de bonnes cartes graphiques valent une somme ronde: si nous voulons au moins 11 Go de mémoire et les performances correspondantes, nous devons payer 1000 $ + pour le modèle haut de gamme. Les cartes vidéo volent et les prix augmentent. Comment être Nous devons nous rappeler qu'en ce moment, nous vivons à une époque unique: une bulle de crypto-monnaie éclate aux coutures et un grand nombre de cartes vidéo de mineurs entrent sur le marché. Je suis l'heureuse propriétaire d'un 1080 Ti d'occasion pour 30 mille roubles, et pendant près d'un an, elle ne m'a jamais laissé tomber, travaillant 24/7. Prenez un ordinateur Windows (pour une raison quelconque, la plupart des programmes de test de carte vidéo sont conçus spécifiquement pour ce système), faites le plein de programmes, vérifiez votre cheval de bataille de loin et prenez hardiment un accélérateur graphique 1,5-2 fois moins cher.

Poursuivant l'idée des calculatrices, passons au processeur . Ici, je voudrais dire, par analogie avec le précédent, qu'Intel est le leader absolu (surtout depuis que j'y ai déjà travaillé). C'est vrai ... seulement si nous parlons d'applications monothread ou d'un budget illimité. Cependant, nous n'avons ni l'un ni l'autre cas, mais nous voulons paralléliser et laisser l'argent, ici AMD Ryzen dans son ensemble vient à nous et à leur ligne Threadripper en particulier. Pour 700-1 000 $, vous pouvez acheter une puce nucléaire 24-32 sur laquelle Catboost volera, les paramètres similaires d'Intel sont deux fois plus chers. Bien sûr, il y a un gros "MAIS": Threadripper doit ses performances à un design spécifique, et cela devra être pris en compte (plus d'informations ci-dessous) ...



Un peu de paroles de l'assembleur: «Je pense qu'après le récent fiasco d'Intel avec le 10980XE, la question du processeur à choisir pour l'informatique multi-thread a une réponse assez claire. Mais ... tout peut changer. »

Et puis nous passons à la mémoire . Il est étrange de créer un serveur avec moins de 32 gigaoctets de RAM (alors il est plus facile de compter sur des bracelets de fitness) et il vaut mieux prendre une mémoire à haute fréquence (les processeurs d'architecture 3200+, ZEN et ZEN 2 adorent ça). Bien sûr, la RAM n'est pas le composant le plus difficile du circuit, ce qui signifie qu'il y a beaucoup de constructeurs, mais il vaut mieux en prendre des éprouvés (j'ai pris Corsair). Ici, vous devez décider de la quantité à prendre et du nombre de canaux. La réponse la plus simple est: plus pour que sur chaque dé oui 16 gigaoctets soient assis. Il semble que vous puissiez obtenir 256 concerts d'agents sur votre PC. Mais pas si simple. Si vous utilisez de la mémoire à double canal, deux fois plus de cœurs actifs iront à la même quantité d'informations dans la mémoire, ce qui signifie que la vitesse d'accès est réduite - ici, vous devez vous rappeler la nécessité d'un accès rapide à la mémoire, comme une exigence critique. Nous prenons donc quatre canaux. Sur chaque dé, nous aurons 8 Go de mémoire.

Un autre aperçu du collectionneur, ou plutôt, les détails promis sur Threadripper: «En général, si vous avez le mantra« tous les canaux de mémoire doivent être pleins »(et Threadripper en a 4), vous pouvez faire défiler vers le bas. Je rappelle aux autres que ce processeur de l'ancienne architecture a une structure intéressante de 4 nœuds NUMA, nœuds à accès mémoire hétérogène. Ils peuvent fonctionner avec un seul canal, mais vous accumulerez alors des retards causés par cette architecture. Dans les Threadrippers plus récents, déjà construits sur ZEN 2, cette fonctionnalité est supprimée, mais le désir de l'ordinateur pour de nombreux canaux de mémoire demeure. "

Nous avons donc déduit la limite de la carte mère sur le nombre d'emplacements pour la mémoire, au moins 4 (pour obtenir 32 gigaoctets), et de préférence 8. Cela vaut la peine de penser immédiatement si vous allez prendre une deuxième carte vidéo et, bien sûr, regardez le fabricant. Nous découvrons ici qu'il n'y a pas tant d'offres sur le marché pour les PC (pas pour les serveurs) qui correspondent à nos restrictions (du moins il y en avait peu quand cette machine allait être). Bien sûr, ASUS me vient à l'esprit, et avec un budget illimité je le prendrais, mais en essayant de s'intégrer dans le cadre, nous prenons ASRock, le frère cadet d'une grande entreprise, disponible même après la chute du rouble.

Bien sûr, avec une calculatrice aussi rapide, il est étrange de se reposer sur la vitesse du disque dur, ce qui signifie que nous avons besoin d'un SSD. Ils sont bien sûr plus chers, mais il s'avère que peu de tâches nécessitent des téraoctets de données en accès constant. Ainsi, vous pouvez prendre 512 Go et conserver des ensembles de données que vous ne souhaitez pas encore supprimer, ainsi qu'une collection de films personnels - sur un disque téraoctet classique séparé. Ou plus. Combien est nécessaire et que permettra le budget.

Après avoir rassemblé les principaux éléments, nous nous demandons ce qui peut donner du pouvoir à l'économie. Pensez ensuite au développement et, par exemple, à la deuxième carte vidéo (il vaut mieux prendre avec une marge). Et, bien sûr, il faut décider qui refroidira ce pouvoir. Les Threadrippers chauffent comme les prix des fleurs le 8 mars, vous avez donc besoin d'un puissant système de refroidissement. Formellement, une approche forte air et eau, mais je vous conseille de prendre de l'eau: son prix est comparable à un air fort, mais il n'y aura pas de sentiment constant que vous vivez sur la piste. De plus, ces dernières années, le nombre de fabricants proposant des refroidisseurs sains spécifiquement pour Threadripper a augmenté - il y a beaucoup de choix.



En général, tout est assemblé, il reste à emballer dans un bâtiment spacieux - il n'y aura pas de conseil, c'est une chance de s'exprimer - vous pouvez choisir celui que vous aimez.

Il y a les options suivantes pour acheter tout le bonheur :

  1. Ordre de récupérer quelqu'un à l'extérieur
    • Avantages : peut vérifier à nouveau le package, aucun problème de compatibilité
    • moins : ~ 10-15% du coût selon la complexité du travail et le coût des composants
  2. Écrivez tout sur un morceau de papier, venez à Savelovsky / Gorbushka (si vous vivez à Moscou) et récupérez-le là-bas.
    • avantages : comme si rien ne battait pendant la livraison, ils feront tout avec vous, moins d'argent pour le montage
    • Inconvénients : il n'y a peut-être pas les composants les moins chers (même dans le cadre d'un marché, le prix grimpe jusqu'à 50%, plus pour ce prix, je peux essayer d'utiliser B / Y)
  3. Commandez tout sur Yandex Market
    • avantages : option bon marché disponible
    • inconvénients : difficile à vérifier la livraison
  4. Commandez tout à l'étranger (aliexpress / ebay)
    • avantages : l'option la moins chère, surprise à l'arrivée
    • moins : surprise à l'arrivée (sérieusement, ne faites pas ça - ils gagnent plus souvent à Sportloto)

J'ai moi-même choisi la première option (à titre personnel je peux recommander des personnes spécifiques).

Quand tout est arrivé et assemblé, il restait à faire rouler le système.

Ceci est une histoire pour un article séparé, je vais vous le dire brièvement: comme je voulais également l'utiliser comme ordinateur de bureau et que j'avais une expérience précédente sous Linux, j'ai choisi Ubuntu Linux en raison de sa popularité.

Lorsque tout fonctionne, demandez à votre FAI une adresse IP statique - elle est gratuite ou peu coûteuse et donnera accès à vos ordinateurs portables Jupiter de presque n'importe où.

Au final, je dirai que j'ai exprimé mon opinion, issue de l'étude du marché et de la communication avec les spécialistes. J'ai respecté le budget et pendant près d'un an, le miracle de la technologie moderne a fonctionné sans heurts. Après un certain temps, j'ai installé jupyterhub et commencé à me faire des amis, alors nous vivons dans notre petite commune sur le serveur, et nous formons les grilles, ce que je veux pour vous.



Calcul final (prix début 2019):

Nom
Prix ​​en roubles
Lien
Housse COUGAR Panzer MAX Noir
9200
https://market.yandex.ru/product--kompiuternyi-korpus-cougar-panzer-max-black/1712295303/offers?priceto=10000&local-offers-first=1&deliveryincluded=1&how=aprice
Carte mère ASRock X399 Taichi
27200
https://market.yandex.ru/product--materinskaia-plata-asrock-x399-taichi/1730976015/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Processeur AMD Ryzen Threadripper 1920X (sTR4, L3 32768 Ko)
31150
https://market.yandex.ru/product--protsessor-amd-ryzen-threadripper-1920x-str4-l3-32768kb/1732027853/offers?onstock=1&local-offers-first=1&how=aprice&deliveryincluded=1
RAM 32 Go (4x8 Go) 3200 MHz DDR4 DIMM Corsair
23100
https://market.yandex.ru/product--operativnaia-pamiat-corsair-cmk32gx4m4d3200c16/1729035586/offers?local-offers-first=1&deliveryincluded=1&how=aprice
Ensuite, j'ai acheté le même montant
Unité d'alimentation Chieftec BDF-1000C 1000W
7330
https://market.yandex.ru/product--blok-pitaniia-chieftec-bdf-1000c-1000w/1731273730/offers?priceto=9000&local-offers-first=1&deliveryincluded=1&how=aprice
SSD Samsung M.2 970 EVO 500 Go (R3500 / W2500Mo / s)
9960
https://market.yandex.ru/product--tverdotelnyi-nakopitel-samsung-mz-v7e500bw/41265856/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Carte vidéo GeForce GTX 1080Ti
31000
SJO Deepcool Castle 280 RGB
9500
https://market.yandex.ru/product--kuler-dlia-protsessora-deepcool-castle-280-rgb/163585623/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Pasta TG Kryonaut
1600
https://key.ru/shop/devices/termopasta/termopasta_thermal_grizzly_kryonaut1/
Ventilateurs de bloc d'eau Noctua et Gelid 140 mm
2000
Achat, assemblage, configuration, installation du système d'exploitation
13000
Je conseille la personne qui a récupéré, mais contacte sur demande
Total:
165040
Total pour les pièces
152040


Publié par Nikolai Knyazev, chef du groupe d'apprentissage automatique, Jet Infosystems

Source: https://habr.com/ru/post/fr480482/


All Articles