A lo largo de los años hemos visto PCs verdaderamente bestiales que aprovechan lo último de lo último para ofrecer configuraciones extraordinarias. Normalmente quienes más gastan en estos equipos los usan para jugar, pero poco a poco algunos usuarios se están dando cuenta de que es posible utilizar componentes del segmento de usuarios finales para fines profesionales, y, en concreto, para investigar en el campo de la inteligencia artificial.
Algunos fabricantes se han dado cuenta de ello y comienzan a ofrecer máquinas carísimas orientadas a este propósito, pero también hay quienes prefieren montárselo por su cuenta y adentrarse en una aventura de lo más llamativa. Y precisamente hemos podido hablar con uno de ellos.
Andrés Torrubia (@antor) es ingeniero y emprendedor, pero además está especializado en el área de aprendizaje profundo (Deep Learning) en Kaggle, donde ha participado con éxito en varias competiciones para resolver problemas en este ámbito contra equipos de todo el mundo. Es además cofundador de Medbravo, que se dedica a la investigación y aplicación de tecnología e Inteligencia Artificial en medicina, y es cofundador del Instituto de Inteligencia Artificial
En Xataka ya hemos hablado con él en más de una ocasión y es una valiosa fuente de información cuando toca hablar de ingeligencia artificial. Participó en dos de los episodios de nuestro podcast Captcha (1x04, 2x02),
En 2021 Andrés se montó un PC bestial al que llamó “Osado”. Aquella máquina contaba entonces con seis tarjetas gráficas NVIDIA GeForce RTX 3090, que estaban acompañadas de un AMD ThreadRipper 3975X, 256 GB de RAM y 10 TB de capacidad de disco en unidades SSD. Su propósito no era jugar —pero sí, puede ejecutar Crysis, sin duda— o aprovechar para minar criptomonedas, sino usarla para su trabajo como investigador y emprendedor en el ámbito de la inteligencia artificial y el aprendizaje profundo.
Hola, Cerebro
Aquel proyecto se ha quedado ahora empequeñecido por su nueva máquina, que ha bautizado con un nombre singular, 'Cerebro', y que da un salto importante en especificaciones. Lo hace con su configuración de tarjetas gráficas, que es ahora de siete NVIDIA GeForce RTX 4090, pero también con su procesador y su memoria, que ahora es de nada menos que 1 TB de RAM.
¿Para qué necesita tal potencia? Como nos explicaba, “el motivo principal es que nos hacía falta para un proyecto en el que estamos trabajando ahora mismo”. Su anterior creación, “Osado”, había sido actualizada con una nueva placa base y con 1 TB de RAM porque hacía falta para el proyecto previo, pero su nuevo objetivo hacía necesario algo más que una actualización de la máquina anterior.
De hecho, indicaba, que aquel primer proyecto hacen un tipo de entrenamiento en el que a veces “hay que entrenar varios modelos en paralelo. No es un modelo que se entrena en varias GPUs al mismo tiempo, sino el mismo modelo entrenado varias veces en paralelo por necesidades del proyecto. En nuestro caso hacemos cinco en paralelo”. Usaban la última RTX 3090 “para desarrollar o hacer pruebas adicionales”, y le pusieron 1 TB de RAM a Osado para ciertas optimizaciones concretas.
La segunda gran actualización de Osado fue su CPU: Andrés se encontró con una gran oferta y compró el Threadripper 5995WX con 64 cores y 128 hilos por unos 3.000 euros, y se hizo con él para aprovecharlo para otra optimización distinta de su modelo que no dependía tanto de GPU y sí de CPU. Aunque el chip puede parecer caro —ronda los 7.000 euros en estos momentos en Amazon— “tenía sentido para el proyecto y lo compramos”.
Con Osado desde luego tenían máquina para trabajar, pero Andrés nos contaba que tras pensarlo decidieron que necesitaban una segunda máquina con más GPU. ¿Para qué? Para poder tener redundancia y también para trabajar en paralelo.
“Cuando haces un entrenamiento de estos con muchas GPUs al final te piensas mucho los entrenamientos que puedes hacer porque algunos te pueden durar semanas. En nuestro caso igual un ciclo entero de todo un pipeline igual pueden ser 8 horas, así que ya no puedes hacer muchos y tienes que esperar. Así que pensamos que si teníamos otra máquina podríamos hacer el doble de cosas al trabajar en paralelo”.
Para qué usar H100 cuando puedes usar RTX 4090 por una fracción del precio
Lo primero que ganas con estos proyectos, destacaba Andrés Torrubia, es “la familiaridad. Ya sabes prácticamente lo que funciona y lo que no funciona”. Por ejemplo, entendió bien la importante diferencia que había en este caso entre los Threadripper Pro y los “no Pro”. Los primeros tienen muchas pistas PCIe, lo que es crucial a la hora de conectar por ejemplo muchas gráficas para sacarles todo el partido.
Por eso decidió que en la nueva máquina aprovecharía parte de los componentes de Osado: tanto el Threadripper 5995WX como el terabyte de RAM acabarían en la nueva máquina, y la máquina antigua recuperaría el Threadripper 3975 y los 256 GB de RAM.
Precisamente el terabyte de RAM, como veremos más adelante “fue el que obligó a hacer que la refrigeración fuese líquida”. Más sorprendente aún para él fue que “con componentes gaming se pueden hacer muchas cosas por una fracción del precio”
Aún así, añadía, “eso tiene sus trampas”. Las RTX 4090 son competitivas con las A100 o las H100, pero para que la gente no cree estos ordenadores de forma profesional, lo que hacen en NVIDIA es “caparlas maliciosamente”, señalaba. No tiene claro si es a nivel de drivers o de silicio, pero aún con esas limitaciones hay un montón de casos de uso que las permiten aprovechar al máximo, “así que puedes comprar algo por un 20 o un 30% de lo que costaría con las versiones profesionales”.
Así, mientras que cada RTX 4090 le costó unos 1.800 euros, las A100 igual valían entre 7.000 y 10.000 euros. Es cierto que tienen más memoria, claro, pero aún así es posible “obtener un porcentaje bastante grande de las prestaciones por ese coste”. Para Andrés, “la gran lección de todo esto que te puedes montar con componentes prosumer cosas muy cercanas a el mundo profesional”
Un carrito de la compra caro, pero sesudo
La placa base es la ASUS Pro WS WRX80E-SAGE SE WiFi II, En su primera máquina, Osado, usó la primera versión de esta placa, y la difererencia es que permitía hacer overclocking de la CPU aunque él no ha aprovechado de momento esa opción.
Tanto el tema del procesador como la memoria —módulos LRDIMM, algo distintos a los convencionales— estaban ya resueltos puesto que provenían de la actualización de Osado, pero era también interesante el problema que se le planteaba con las ranuras PCIe.
Aunque la placa tiene varias de estas ranuras, cada RTX 4090 ocupa tres —y en algunos casos más— slots PCIe, lo que hace que no se puedan conectar directamente a la placa. “Lo primero que ve cualquiera que ve la máquina es todas las GPUs ahí pegadas una al lado de la otra”.
Con Osado aprendió algo interesante en ese apartado. En esa máquina usaba alargadores PCI, pero tuvo problemas con varios: cuando las tarjetas van pinchadas en la placa ya no hay problemas, y si quieres aprovechar la velocidad de PCIe 4.0 “no puedes usar alargadores, o al menos yo no he encontrado ninguno”.
Pero es que a todo ello se sumaban las dificultades para poder usar refrigeración líquida —un tema en el que él jamás había hecho nada—, porque con esa configuración no había apenas soluciones que fueran compatibles con el montaje que había pensado Andrés.
Encontró un par de fabricantes —ekwb y Alphacool— pero además hay que prestar atención no solo a que el bloque de refrigeración sea compatible con una RTX 4090 en general, sino con tu RTX 4090 en concreto, porque cada fabricante coloca ciertos componentes de forma distinta y eso hace que esos bloques no sean estándar.
Al final Andrés encontró siete Zotac Gaming GeForce RTX 4090 Trinity y también disponibilidad de un bloque de agua de un slot, que era el único que según él vio había para estas, y que provenía de ekwb. “Eso es como una combinación ganadora”, explicó, porque ni siquiera era fácil encontrar disponibilidad de siete RTX 4090 del mismo fabricante y modelo. Esa fue la clave para que todo cupiese en la máquina tal y como él había planeado.
Construir una máquina así es una verdadera odisea
Aquí Andrés también tuvo que hacer un curso acelerado de refrigeración líquida y entender que por ejemplo hay un caudal mínimo deseable para el circuito de refrigeración de agua. “Estuve midiendo el caudal de agua que ofrecía a la GPU, a la CPU y a la memoria” y por ejemplo se dio cuenta de que interesaba que ese caudal fuese homogéneo y estuviese bien repartido.
Al final lo que hizo, explica, fue colocar tres bloques en serie: cada bloque puede dar caudal a tres GPUs en paralelo, así que usaba dos bloques para seis GPUs, y el último bloque daba servicio a la última GPU, a la CPU y a la memoria. Usó tres bombas para tener además redundancia: solo necesitaba dos, pero con esa tercera se aseguraba de que si fallaba alguna de las bombas el flujo de líquido no bajara
Otro de los retos fue, por supuesto, el de la alimentación del equipo. “Físicamente va todo montado en una caja que creo que es 4U, y la potencia que necesita este ordenador es enorme”. La potencia nominal de cada GPU es de 450 W, y la CPU ronda los 250 o 300W. Haciendo las cuentas “quedaba claro que iba a necesitar más de 2.000 W”, y las fuentes con mayor potencia actual son de unos 2.000 W.
¿Qué hizo Andrés? Comprar dos y montarlas físicamente en la caja. Lo logró con una placa en Alphacool que lo permitía, y de hecho “la segunda fuente va montada encima de la CPU y la memoria”, algo que en principio no era posible pero que con su sistema de refrigeración acabó funcionando. Eso sí, con numerosas modificaciones.
Por ejemplo, tuvo que utilizar codos “low profile” de 90 grados para sortear la memoria RAM, que fue uno de los problemas para poder colocar adecuadamente la segunda fuente de alimentación, pero ahí no acabó la cosa.
También tuvo que comprar un tubo metálico para conectar los bloques de agua y cortarlo a medida, pero ni por esas: fue necesario desmontar la fuente de 2.050 W y acabó adaptándola a sus necesidades aprovechando un ventilador “low profile” que era compatible a nivel eléctrico y con ajustes adicionales a los adaptadores pudo conectarlo. Toda una odisea.
Para evitar problemas en ese apartado también acabó comprando un radiador Monster Radiator (MO-RA) con cuatro ventiladores de 200 mm, que aunque son grandes tienen la ventaja de que mueven mucho aire aun yendo a un número de revoluciones relativamente bajo, unas 800 por minuto. Eso hace que el conjunto “sea súper silencioso para la cantidad de vatios que disipa”.
Acabó comprando también “tres cacharritos que se llaman octocomputer, una plaquita autónoma que montas y te permite monitorizar el flujo de agua y la temperatura del circuito”.
Colocó por ejemplo uno para que si la temperatura del líquido sube por encima de los 60 grados o el caudal de agua baja por debajo de un umbral -por ejemplo, ante una fuga-, se apaga el ordenador para protegerlo. Tras pruebas controladas —desconectó dos bloques, lo que hizo subir la temperatura y hacer que el octocomputer forzase el apagado, por ejemplo— quedó claro que esa parte estaba bien atada.
El sistema de refrigeración “ha sido una locura”, y para Andrés Torrubia ha sido su gran reto. Además estaba preocupado por las fugas ”tú ves todo bien cerrado, pero al usar un medidor de fugas —que funciona con aire— ves que hay una y queda claro que una cosa es lo que tú ves y otra lo que ocurre en realidad”. Tuvo que desmontarlo todo y al montarlo todo paso por paso fue haciendo comprobaciones para asegurarse.
Pero es que además, nos decía, “el montaje ha sido una absoluta locura” y se encontraba con problemas con los que no había contado cuando encargó los componentes. De hecho, su impresión es que al ir resolviendo esos pequeños problemas, descubrir el problema, pedir el componente —a países como Eslovaquia o Estados Unidos— o herramienta y solucionarlo acabó retrasando la finalización del proyecto “unas tres semanas”.
Qué consejos daría a alguien que quiera imitar este proyecto
Le pedimos a Andrés consejos por si alguien quiere seguir esos pasos y montar una máquina de estas características. Para él es crucial investigar y documentarse, y por ejemplo cree que sería buena idea mirar especialmente bien las alternativas en cuanto a GPUs.
“Yo ahora retrospectivamente tendría inquietud de mirar alternativas a tarjetas gráficas, por ejemplo con AMD, que tiene algunas con una relación precio/prestaciones brutales, pero el software para Deep Learning no está ahí y algo importante: yo por ejemplo no he encontrado bloques de agua de un slot para ellas”.
Andrés nos explicaba que aunque ellos usan estas máquinas para proyectos científicos de IA aplicados a la salud, también les permiten ejecutar modelos descargables. Estos modelos, con licencias Open Source —o cercanas al Open Source, él mismo señala que ahí hay un debate importante— son los que él cree que son los más deseables puesto que cuando usas por ejemplo modelos de IA, acabas transfiriendo datos a sus servidores y él cree que es mucho más interesante poder usarlos en local.
Entre otras cosas, por los filtros y censura que estas empresas aplican. Exagerando nos decía que algunos modelos “ya no te cuentan ni chistes”, y por eso estas máquinas le dan libertad en ese sentido para evaluar modelos disponibles públicamente.
Para él hay una alternativa interesante: que OpenAI ofreciera su modelo descargable para no tener que acceder a sus servidores para usarlo y poder usarlo en máquinas potentes como la que él tiene. Hace la comparación con Windows: tú te descargas el sistema operativo y compras una licencia para usarlo en local, no lo usas en la nube. La analogía no es perfecta, desde luego —al fin y al cabo, Microsoft recolecta datos de telemetría, por ejemplo—, pero la posibilidad que planteaba Torrubia era llamativa.
De los modelos descargables públicos, el que más le ha gustado de momento es el de Mixtral, un MoE (Mixture of Experts) que combina ocho modelos de 7.000 millones de parámetros. “Me encantaría que fueran siete modelos”, decía, uno por cada una de sus GPUs, para poder adaptarlos de forma perfecta, pero aún así “funciona todo sin problemas”.
El consumo es alto, pero no preocupante
No ha hecho pruebas específicas al respecto, pero Andrés sí que tiene todas las GPUs limitadas a 350 W excepto una que sí está sin límites y puede llegar a tener consumo de 450 W. Al analizar el ratio de rendimiento contra consumo, por 100 W en cada una lograba un 90% de rendimiento, pero tenía otra razón para limitarlas.
El cableado fue otra de las “odiseas increíbles” en el montaje del equipo. Entre la alimentación de las GPUs, los circuitos de agua y el resto de cables la cosa podía ser un caos, comenta, así que “tienes que planificar el cableado”. Los cables, nos dijo, están medidos para que no sobrase y llegasen justo a donde tenían que llegar, lo que ha supuesto que Andrés haya tenido que “cortar y crimpar los cables” siguiendo los estándares, una tarea que le llevó “días, días y días” hasta que logró que todo estuviese perfecto tras las lógicas comprobaciones.
En el lado de las tarjetas gráficas, nos comentaba cómo hay una “bomba de relojería latente” por el célebre conector de las RTX 4090 que tantos problemas ha dado a los gamers. Él lo ha dejado tal cual y de momento no ha tenido problemas, pero esa es otra de las razones por las que ha limitado la potencia de casi todas las GPUs.
Aun con esa limitación, cuando estás trabajando la máquina consume lógicamente una cantidad notable de energía: “unos 3 kW fácil”, nos dice. Él de hecho tiene desde hace tiempo una instalación eléctrica algo más especial y más potencia contratada para este tipo de escenarios.
¿Por qué o usar la nube?
Este tipo de proyecto nos hace preguntarnos si para este tipo de uso no sería más rentable alquilar los recursos de centros de datos que alquilen potencia y capacidad de cálculo. Para Andrés la cuestión estaba clara: usar la nube no hubiera sido rentable para su caso de uso.
No al menos según sus estimaciones. Tener en la nube una máquina como la que él ha construido, funcionando a tope de forma continua, saldría por “unos 8.000 euros al mes”. Él confiesa que no es necesario tenerla encendida siempre, pero de ese modo le da “cero pereza hacer cualquier tipo de prueba rápida”.Aquí hay otra cuestión. Como él dice,
“El Deep Learning es tan caro que casi todo es inversión con el hardware inicial, pero si has comprado el hardware, como es tan caro los costes de uso son residuales al lado de esa inversión inicial”.
Es decir: lo que gastas en electricidad queda casi en nada —aunque para entornos domésticos sí es un gasto, claro— en comparación con esa inversión en hardware. Además, no es una máquina que use por capricho: “el 90% del uso va a proyectos puntuales con nombres y apellidos de IA en medicina y salud, con lo cual es rentable, es una herramienta de trabajo”. El 10% restante, nos confiesa, es “de exploración” y le permite tener nuevas ideas de negocio o probar modelos que de otro modo tendría mucho más difícil probar.
Aún queda para tener un GPT-4 en local
Precisamente al hablar de esta inversión parece inevitable plantear una cuestión relacionada con ella: ¿seguirá siendo rentable este equipo dentro de dos o tres años tal y como avanzan los componentes?
Andrés cree que sí, y de hecho nos cuenta cómo Osado “ya tiene años y lo sigo utilizando y si se me estropea vuelvo a montar exactamente el mismo. De hecho envié un correo a Zotac en Taiwán para intentar comprar 70 GPUs de estas para montar 10 equipos iguales porque muchas empresas me lo han pedido para ejecutar sus pruebas y modelos en local”. Eso sí, nos confesaba entre risas que “curiosamente no he podido comprarlas”.
Además, explica, los modelos actuales están “en el límite de lo aceptable para aplicaciones prácticas”. Aquí nos explica que modelos cuantizados con 4 bits “funcionan fatal” y necesitas ejecutarlos con cuantización de 16 bits para tener prestaciones de verdad. Puedes hacer ajuste fino (fine tuning), explica, pero siguen estando en el límite.
De hecho, no hay que hacerse ilusiones: “no estamos en el punto en que puedas tener un GPT-4 en local ni mucho menos”. Para él “hay un punto dulce ahora mismo, de una máquina como la mía o, siendo más realistas, una máquina doble que ésta, que podría podría ejecutar, aunque no exista todavía, un modelo comparable con GPT-4”. Como él mismo indica, “muchísima gente en empresas querría sacar esto”. Andrés incluso está “explorando muy seriamente” lanzar una línea de productos en este sentido.
Teniendo en cuenta este proyecto, lo caro de la inversión y el rendimiento que obtiene, le preguntamos a nuestro experto algo también inevitable. ¿Acabaremos todos teniendo acceso a un ChatGPT en local con un PC de 800 euros?
Él nos comentó que “espero que sí, que tengamos modelos locales, y me parece que va a ser inevitable”. Él en 12 meses ya tiene un modelo equiparable a ChatGPT-3.5 funcionando en local —el citado Mistral—, y ya hay filtraciones de un modelo para ejecución en local que roza el rendimiento de GPT-4
Además, añadía otro punto importante. “Espero que sigamos teniendo libertad tanto a nivel individual como de empresa, es decir, soberanía para que no nos digan qué se puede o no se puede hacer”.
via Robótica e IA - Xataka https://ift.tt/wqU9uKe
No hay comentarios:
Publicar un comentario