Cree su propia máquina de aprendizaje profundo: lo que necesita saber
Michael Phi
26 de junio de 2020·9 min de lectura
El aprendizaje profundo requiere una tonelada de computación, por lo que para entrenar de manera efectiva los modelos de aprendizaje profundo, la mayoría de las personas usan la nube como AWS o entrenan en su propio hardware que han comprado.
Decidí construir mi propia máquina porque estaba gastando mucho dinero en la nube y quería ahorrar costos. Presentamos … ¡Warmachine! Warmachine es una máquina muy capaz construida para asumir tareas avanzadas de inteligencia artificial, desde el aprendizaje profundo hasta el aprendizaje por refuerzo. Warmachine se construyó utilizando el hardware del consumidor del estante.
Echa un vistazo a las piezas de Warmachine en Pc Parts Picker con el enlace a continuación.
Listas de piezas guardadas
Editar Descripción
pcpartpicker.com
En thEn este artículo, voy a dar consejos sobre cómo construir correctamente una máquina de entrenamiento de IA. Hacia el final, hablaré sobre las ventajas y desventajas de construir su propia plataforma frente a usar la nube.
Si quieres ver la versión en video de esto, mira esto…
Las partes
Así que Warmachine se creó principalmente para abordar problemas de aprendizaje profundo y aprendizaje reforzado. Quería una máquina con una buena cantidad de núcleos con 4 GPU para poder iterar rápidamente en el entrenamiento de mis modelos de aprendizaje automático. Mi objetivo final es eventualmente tener algo similar a una máquina Lambda Quad pero sin pagar precios de lambda quad.
Cuando Warmachine esté completo, gastaré alrededor de $ 7k, que es $ 4k más barato que Lambda Labs.
Las plataformas de aprendizaje profundo requieren componentes particulares, por lo que fue más difícil de lo habitual encontrar recursos confiables en línea sobre cómo construir una de estas cosas. Repasemos todo lo que necesita saber para construir su propia máquina de aprendizaje profundo.
GPU
En el corazón del entrenamiento de modelos de aprendizaje profundo se encuentra la GPU. GPUS es súper rápido en la computación de algoritmos de aprendizaje profundo porque a diferencia de las CPU con una cantidad muy pequeña de núcleo de computación complejo, GPUS tiene cientos o miles de núcleos simples que son súper eficientes en la multiplicación de matrices. La marca más confiable de GPU para aprendizaje profundo es Nvidia. La mayoría de los marcos de aprendizaje profundo son totalmente compatibles con el CUDA SDK de Nvidia, que es una biblioteca de software para interactuar con sus GPU.
Al elegir una GPU, para aprovechar al máximo su dinero, desea algo con núcleos tensoriales. Los núcleos tensoriales son un tipo de núcleo de procesamiento que realiza matemáticas matriciales especializadas, lo que le permite entrenar modelos con precisión media o precisión de mezcla.
Esto permite un uso más eficiente de la memoria de la GPU, lo que abre la puerta a tamaños de lote más grandes, entrenamiento más rápido y modelos más grandes. Los núcleos tensores se pueden encontrar en los modelos de GPU Nvidia RTX. Las necesidades de memoria de su GPU dependen del tipo de modelos que planea entrenar.
Si solo planea entrenar modelos súper pequeños para dispositivos integrados, puede salirse con la suya con una GPU con menos memoria. Si planea entrenar modelos más grandes como GPT desde el dominio NLP, obtendría la mayor cantidad de memoria posible.
Tener más memoria GPU abre la puerta a … lo adivina … tamaños de lote más grandes, entrenamiento más rápido y modelos más grandes. Si planea realizar una configuración de múltiples GPU, debe optar por ventiladores tipo soplador o la opción más cara de refrigeración líquida.
Necesita ventiladores tipo soplador porque están diseñados para expulsar el calor de la carcasa, lo cual es necesario cuando tiene varias GPU en funcionamiento. Si no tiene ventiladores tipo soplador, su sistema puede sobrecalentarse y potencialmente dañar su hardware.
Para Warmachine, fui con un Nvidia RTX 2080 TI Turbo de ASUS. Tiene 11 GB de VRam y ventiladores tipo soplador para una mejor gestión de la calefacción en una configuración de múltiples GPU. Planeo comprar 3 GPU más en el futuro para completar mi configuración.
UPC
Las CPU se utilizan principalmente para la carga de datos en el aprendizaje profundo. Más subprocesos en una CPU significa que puede cargar más datos en paralelo para alimentar sus modelos para el entrenamiento. Esto es útil si entrena en lotes de gran tamaño, por lo que la GPU no tiene que esperar demasiado para que la CPU cargue datos.
Las CPU son importantes si planea resolver problemas de aprendizaje por refuerzo porque la mayor parte del cálculo se realizará en su entorno de aprendizaje, que probablemente se realice en la CPU. Si usa grandes redes neuronales con aprendizaje por refuerzo, entonces una GPU definitivamente ayudaría a acelerar el entrenamiento.
Si solo planea hacer aprendizaje profundo, asegúrese de que su CPU sea compatible con la cantidad de GPU que planea tener.
Al elegir una CPU, hágase estas preguntas …
- ¿Planeas hacer aprendizaje por refuerzo? Luego, elija una CPU de gama alta que funcione bien en los puntos de referencia si desea un entrenamiento más rápido.
- ¿Solo quieres hacer deep learning? Entonces puede salirse con la suya con una CPU más barata, pero más subprocesos ayudarían con la carga de datos.
- ¿Planea tener una configuración de múltiples GPU? Luego, asegúrese de que su CPU admita la cantidad de GPU que desea.
Warmachine se utilizará para el aprendizaje profundo y el aprendizaje por refuerzo, por lo que está equipado con un Intel i9–10920X que tiene 12 núcleos y 24 subprocesos. Tiene una velocidad de reloj de hasta 4.8 GHZ y admite 4 GPUS. Fui con Intel, pero leí muchas historias de éxito sobre personas que usan chips AMD, lo cual es una gran inversión. La Intel i9–10920X es una CPU muy capaz de realizar tanto aprendizaje profundo como aprendizaje por refuerzo, por lo que es perfecta para mis necesidades.
RAM
Un gran error es pensar que necesita la RAM más rápida con una frecuencia de reloj alta. La alta velocidad de Ram Clock es un truco de marketing que se explica mejor con Linus Tech Tips. Una frecuencia de reloj más alta mostrará mejoras insignificantes durante el entrenamiento, por lo que su dinero se gastará mejor en otra parte.
Lo que realmente importa es la cantidad de memoria en la RAM. Debe esforzarse por tener como mínimo tanta RAM como memoria de GPU. Fui con la marca corsair que tiene una velocidad de reloj de 2666Mhz y 32 GB de RAM. Cuando Warmachine esté completo, planeo maximizarlo con 128 GB de RAM porque soy más así.
tarjeta madre
Al elegir una placa base, asegúrese de que tenga suficientes ranuras PCIe para la cantidad de GPU que desee. Además, asegúrese de que las ranuras PCIe tengan suficiente espacio para colocar las GPU. Generalmente, una GPU ocupará espacio para 2 ranuras PCIe. Además, asegúrese de que la placa base sea compatible con su CPU y RAM.
Warmachine está equipado con un Asus WS X299 SAGE. Esta placa base tiene soporte para 4 GPUS. Lo único que desearía que tuviera fuera wifi a bordo, pero me conecto usando el cable ethernet de todos modos, así que no es un gran problema.
Almacenamiento
Si desea optimizar la velocidad de carga de sus datos, necesitará un almacenamiento más rápido, como una unidad de estado sólido. Las unidades de estado sólido son más caras que una unidad de disco duro estándar, por lo que es útil comprar una SSD más pequeña para el sistema operativo y luego una unidad de disco duro estándar como segunda unidad para el almacenamiento a largo plazo de sus datos y modelos.
Durante el entrenamiento, puede transferir los datos de interés a su SSD para una velocidad de carga de datos más rápida. Warmachine está equipado con un NVME Samsung 970 Evo con 1 TB de espacio de almacenamiento para el sistema operativo. Para una segunda unidad, tiene el disco duro Seagate Exos Enterprise con 8 TB de almacenamiento.
Fuente de alimentación
Para la unidad de fuente de alimentación, querrá algo con suficiente potencia para manejar todo su sistema. Una buena regla general es tomar los vatios requeridos para la CPU y la GPU y luego multiplicarlos por 110%.
Asegúrese de que su fuente de alimentación tenga suficientes conectores PCIe para su sistema. Warmachine está equipado con una fuente de alimentación de 1600 vatios Rose Will. Aunque no necesito todo esto con mi configuración en este momento, lo necesitaré cuando esté completo, así que seguí adelante y lo compré para prepararlo para el futuro.
Enfriamiento
Seguro que necesitarás un enfriador de CPU. Para reducir el ruido del ventilador, elija una configuración de refrigeración por agua. Si tiene el presupuesto, también puede considerar la refrigeración líquida de su GPUS. Esto haría un sistema súper tranquilo. Si desea ceñirse a la refrigeración por aire de su GPU, asegúrese de tener una refrigeración tipo soplador si planea tener una configuración de múltiples GPU. Warmachine está equipado actualmente con un corsair H1 15i Pro, que es un enfriador de agua de CPU. Para la GPU, es solo el estilo de soplador de serie.
Caso
Cuando selecciona un estuche, probablemente pueda elegir lo que desee siempre que sus piezas encajen. Recomendaría conseguir un estuche con buen flujo de aire solo porque soy muy cauteloso. Fui con una caja de media torre corsair air 540 ATX para Warmachine. Tiene un amplio flujo de aire, se ve muy bien y es el mismo caso que usa Lambda Labs, ¿por qué no?
Asegurándose de que sus piezas encajen
Use PC Part Picker cuando construya su plataforma. Tiene una función en la que verifica la compatibilidad de las piezas para que no arruine totalmente su construcción. Sin embargo, no es perfecto, porque me alertó de que mis piezas no encajan en mi estuche, pero todo encaja perfectamente, así que úselo como una brújula mientras construye.
La nube frente a su propio hardware
Ahora, muchos de ustedes pueden tener curiosidad, ¿por qué construir mi propia máquina? ¿No puedo simplemente usar la nube? Bueno, sí, sí puedes. Pero construir su propia máquina tiene ventajas, incluido el ahorro de costes a largo plazo.
Aquí hay 3 razones por las que la creación de su propia plataforma de aprendizaje profundo podría valer la pena.
1. Ahorro de costes. Si utiliza su GPU con frecuencia para la formación, ¡construir una máquina puede ahorrarle dinero a largo plazo! Si alquila un v100, ¡eso es alrededor de $ 3 por hora o alrededor de $ 2100 por mes! Puede construir su propia máquina por ese precio … ¡y conservarla para siempre!
2. Su propio hardware es en realidad más rápido que la nube. Eso es porque la nube sufre de IO lento entre instancias y GPU debido a la virtualización. Bizon-Tech hizo un experimento para comparar la nube con su propio hardware y descubrieron que el hardware de consumo más barato que puede obtener.
3. Tener su propio equipo funciona como una máquina de productividad para hacer cualquier otra cosa que desee con él. Puedo usar para jugar juegos con la configuración máxima, crear videos geniales para todos ustedes y tener más de 10 pestañas abiertas en Chrome.
Punto de bonificación: Aquí hay un punto extra. Me gusta no tener que preocuparme por cuánto dinero voy a gastar en cada ronda de entrenamiento de modelos. Sentí que cuando tenía que pagar por ronda de entrenamiento, siempre dudaba en experimentar porque sabía que me costaría dinero. Creo que tener mi propia máquina me animó a seguir experimentando, lo que me ayudó a perfeccionar el arte del aprendizaje profundo más rápido que si usara la nube. Ahora hay otras opciones gratuitas habilitadas para GPU, como Google Colab o Kaggle kernels, pero tiene un límite en el tiempo que puede entrenar, lo que reduce mis opciones sobre modelos y problemas a abordar. Sin embargo, recomiendo encarecidamente usarlos para la mayoría de las personas que comienzan con el aprendizaje profundo.
Conclusión
¡Eso es todo! Esta es una breve guía sobre cómo construir su propia máquina de aprendizaje profundo. Si desea una guía más detallada, le recomiendo que consulte la Guía de Tim Dettmers. Cuando termine Warmachine, me costará alrededor de $ 7k, que es aún más barato que la máquina comparable de Lambda Labs, que cuesta $ 11K. para mí, eso es un gran ahorro de dinero y vale la pena construir su propia máquina.