Cómo construir una computadora para ML



Su propio servidor para el aprendizaje es como una máquina en el siglo XX: si está comprometido seriamente con la ciencia de datos, tarde o temprano llegará al punto de que necesita un entorno personalizado unificado, confianza en los recursos que son independientes de las reglas del empleador y los administradores. Alguien dirá que todo se puede hacer en las nubes, pero el acceso constante, los experimentos largos las 24 horas del día, los 7 días de la semana, e incluso con el almacenamiento de datos, será un centavo.

Entonces, si decides, necesitas construir tu ciudad jardín.

Veamos que necesitamos:

  • Los conjuntos de datos deben estar en alguna parte. Necesita la capacidad de almacenar y tener acceso rápido a grandes cantidades de datos.
  • Tarjeta de video Resnet y Unet están esperando.
  • Procesador multinúcleo. Mucha gente lo olvida, pero muchas operaciones en algoritmos numpy, pandas y de aumento de gradiente están perfectamente paralelas para subprocesos múltiples, pero aún no funcionan en tarjetas de video.
  • RAM Debe contener todo.
  • Y el resto que debería servir a los parámetros: una fuente de alimentación adecuada, una carcasa y una placa base, donde cabe toda esta felicidad, un sistema operativo.

El factor determinante más importante, por supuesto, es el presupuesto. Definí el mío en la región de 150 mil rublos.

Entonces, la primera y más cara es una tarjeta de video . Admitamos lo obvio: Nvidia es ahora el líder absoluto en rendimiento y compatibilidad de marcos, y si estás escribiendo redes neuronales, entonces necesitas cudnn y cuda. Pero las buenas tarjetas gráficas valen la pena: si queremos al menos 11 Gb de memoria y el rendimiento correspondiente, debemos pagar $ 1000 + por el modelo superior. Las tarjetas de video vuelan y los precios suben. Como ser Debemos recordar que en este momento estamos viviendo en un momento único: una burbuja de criptomonedas estalla en las costuras, y una gran cantidad de tarjetas de video de mineros ingresan al mercado. Soy la orgullosa propietaria de un 1080 Ti usado por 30 mil rublos, y durante casi un año nunca me decepcionó, trabajando 24/7. Tome una computadora con Windows (por alguna razón, la mayoría de los programas de prueba de tarjetas de video están diseñados específicamente para este sistema), almacene programas, revise su caballo de batalla a lo largo y ancho, y valientemente tome un acelerador de gráficos 1.5-2 veces más barato.

Continuando con la idea de las calculadoras, pasemos al procesador . Aquí me gustaría decir, por analogía con el anterior, que Intel es el líder absoluto (especialmente desde que una vez trabajé allí). Esto es cierto ... solo si estamos hablando de aplicaciones de subproceso único o un presupuesto ilimitado. Sin embargo, no tenemos uno ni el otro caso, pero queremos paralelizar y dejar el dinero, aquí AMD Ryzen en su conjunto viene a nosotros y a su línea Threadripper en particular. Por $ 700-1,000, puede comprar un chip nuclear 24-32 en el que Catboost volará, los parámetros similares de Intel son dos veces más caros. Por supuesto, hay un gran "PERO": Threadripper debe su rendimiento a un diseño específico, y esto deberá tenerse en cuenta (más sobre eso a continuación) ...



Un poco de letra del ensamblador: “Creo que, después del reciente fiasco de Intel con 10980XE, la pregunta de qué procesador elegir para la computación multiproceso tiene una respuesta bastante clara. Pero ... todo puede cambiar ".

Y luego pasamos a la memoria . Es extraño hacer un servidor con menos de 32 gigabytes de RAM (entonces es más fácil contar con pulseras de fitness) y es mejor tomar una memoria con una frecuencia alta (a los procesadores de arquitectura 3200+, ZEN y ZEN 2 les encanta). Por supuesto, la RAM no es el componente más difícil del circuito, lo que significa que hay muchos fabricantes, pero es mejor tomar los probados (tomé Corsair). Aquí debe decidir cuánto tomar y con la cantidad de canales. La respuesta más simple es: más para que en cada dado sí 16 gigabytes se sientan. Parece que puedes obtener 256 gigas de operativos en tu PC. Pero no tan simple. Si toma memoria de doble canal, el doble de núcleos activos se destinará a la misma cantidad de información en la memoria, lo que significa que la velocidad de acceso se reduce; aquí debemos recordar la necesidad de un acceso rápido a la memoria, como un requisito crítico. Entonces tomamos cuatro canales. En cada dado tendremos 8 conciertos de memoria.

Otra idea del coleccionista, o más bien, los detalles prometidos sobre Threadripper: "En general, si tienes el mantra" todos los canales de memoria deben estar llenos "(y Threadripper tiene 4 de ellos), puedes desplazarte hacia abajo. Les recuerdo a los demás que este procesador de la arquitectura anterior tiene una estructura interesante de 4 nodos NUMA, nodos con acceso de memoria heterogéneo. Pueden funcionar con un canal, pero luego acumulará demoras causadas por esta arquitectura. En los Threadrippers más nuevos, ya construidos en ZEN 2, esta característica se elimina, pero el deseo de la computadora de tener muchos canales de memoria permanece ".

Por lo tanto, hemos deducido el límite de la placa base en el número de ranuras para memoria, al menos 4 (para obtener 32 gigabytes) y preferiblemente 8. Vale la pena pensar de inmediato si va a tomar una segunda tarjeta de video y, por supuesto, mirar al fabricante. Aquí descubrimos que no hay tantas ofertas en el mercado para PC (no para servidores) que se ajusten a nuestras restricciones (al menos había pocas cuando esta máquina iba a estar). Por supuesto, me viene a la mente ASUS, y con un presupuesto ilimitado lo tomaría, pero tratando de encajar en el marco, tomamos a ASRock, el hermano menor de una gran empresa, disponible incluso después de la caída del rublo.

Por supuesto, teniendo una calculadora tan rápida, es extraño descansar en la velocidad del disco duro, lo que significa que necesitamos un SSD. Son, por supuesto, más caros, pero resulta que pocas tareas requieren terabytes de datos en acceso constante. Por lo tanto, puede tomar 512 GB y conservar conjuntos de datos que aún no desea eliminar, junto con una colección de películas caseras, en un disco de terabytes clásico separado. O mas Cuánto se necesita y qué permitirá el presupuesto.

Habiendo reunido los componentes principales, nos preguntamos qué puede darle poder a la economía. Luego piense en el desarrollo y, por ejemplo, en la segunda tarjeta de video (es mejor tomarla con un margen). Y, por supuesto, es necesario decidir quién enfriará este poder. Los Threadrippers se calientan como los precios de las flores el 8 de marzo, por lo que necesita un potente sistema de enfriamiento. Formalmente, un enfoque fuerte de aire y agua, pero le aconsejo que tome agua: es comparable en precio a un aire fuerte, pero no habrá una sensación constante de que está viviendo en la pista. Además, en los últimos años ha aumentado el número de fabricantes que ofrecen refrigeradores sanos específicamente para Threadripper, hay mucho para elegir.



En general, todo está ensamblado, queda empacar en un edificio espacioso, no habrá consejos, esta es una oportunidad para la autoexpresión, puede elegir el que más le guste.

Existen las siguientes opciones para comprar toda la felicidad :

  1. Orden de recoger a alguien afuera
    • Pros : puede verificar el paquete nuevamente, sin problemas de compatibilidad
    • menos : ~ 10-15% del costo dependiendo de la complejidad del trabajo y el costo de los componentes
  2. Escribe todo en una hoja de papel, ven a Savelovsky / Gorbushka (si vives en Moscú) y recógelo allí.
    • Ventajas : como si nada le ganara durante el parto, harán todo con usted, menos dinero para el montaje
    • Contras : puede que no haya los componentes más baratos (incluso en el marco de un mercado, el precio sube hasta un 50%, más por este precio puedo intentar usar B / Y)
  3. Ordene todo en Yandex Market
    • pros : opción barata disponible
    • Contras : difícil de verificar la entrega
  4. Ordene todo en el extranjero (aliexpress / ebay)
    • ventajas : la opción más barata, sorpresa a la llegada
    • menos : sorpresa al llegar (en serio, no hagas eso, ganan más a menudo en Sportloto)

Yo mismo elegí la primera opción (en lo personal puedo recomendar personas específicas).

Cuando todo llegó y se ensambló, quedaba por hacer rodar el sistema.

Esta es una historia para una publicación separada, te lo contaré brevemente: como también quería usarlo como escritorio y tenía experiencia previa en Linux, elegí Ubuntu Linux debido a su popularidad.

Cuando todo funcione, solicite a su ISP una IP estática: es gratuita o económica y le proporcionará acceso a sus computadoras portátiles Jupiter desde casi cualquier lugar.

Al final, diré que expresé mi opinión, que se formó como resultado del estudio del mercado y la comunicación con especialistas. Cumplí con el presupuesto, y durante casi un año el milagro de la tecnología moderna ha estado funcionando sin problemas. Después de un tiempo instalé jupyterhub y comencé a hacer amigos, así que vivimos en nuestra pequeña comuna en el servidor y entrenamos las redes, que es lo que quiero para ti.



Cálculo final (precios a partir de 2019):

Nombre
Precio en rublos
Enlace
Funda COUGAR Panzer MAX Negra
9200
https://market.yandex.ru/product--kompiuternyi-korpus-cougar-panzer-max-black/1712295303/offers?priceto=10000&local-offers-first=1&deliveryincluded=1&how=aprice
Placa base ASRock X399 Taichi
27200
https://market.yandex.ru/product--materinskaia-plata-asrock-x399-taichi/1730976015/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Procesador AMD Ryzen Threadripper 1920X (sTR4, L3 32768Kb)
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 32Gb (4x8Gb) 3200MHz DDR4 DIMM Corsair
23100
https://market.yandex.ru/product--operativnaia-pamiat-corsair-cmk32gx4m4d3200c16/1729035586/offers?local-offers-first=1&deliveryincluded=1&how=aprice
Entonces compré la misma cantidad
Unidad de fuente de alimentación 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
Unidad de estado sólido Samsung M.2 970 EVO 500 Gb (R3500 / W2500MB / s)
9960
https://market.yandex.ru/product--tverdotelnyi-nakopitel-samsung-mz-v7e500bw/41265856/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Tarjeta de video 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/
Ventiladores de bloque de agua Noctua y Gelid de 140 mm
2000
Compra, montaje, configuración, instalación del sistema operativo
13000
Aconsejo a la persona que recolectó, pero contacta a pedido
Total:
165040
Total por partes
152040


Publicado por Nikolai Knyazev, Jefe del Grupo de Aprendizaje Automático, Jet Infosystems

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


All Articles