Cómo montar tu propio servidor de Inteligencia Artificial: Modelos Open Source, Parámetros y Hardware NVIDIA
Por otro lado, está, cómo no, el factor económico. Los servicios de IA en la nube suelen cobrar por uso, basándose en la cantidad de tokens procesados por cada consulta o interacción. Para desarrolladores o pequeñas empresas que quieren integrar IA en sus aplicaciones, estos costos pueden acumularse rápidamente y convertirse en una barrera complicada. En este artículo – que tiene dos partes – veremos un recorrido sobre diferentes opciones para esto.
Figura 2: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Está claro que, el rendimiento de estas alternativas, dependerá del hardware disponible, pero con la infraestructura adecuada, es posible construir entornos locales que pueden ejecutar proyectos de gran complejidad sin poner en peligro nuestra privacidad y tampoco quedarnos sin fondos. Pero vayamos por partes
Los modelos LLM Open Source
Un modelo LLM (Large Language Model) de código abierto es un modelo de IA entrenado con grandes cantidades de texto para realizar tareas de procesamiento de lenguaje natural (NLP), como generación de texto, traducción, clasificación, entre muchas otras. Al ser de código abierto, los pesos del modelo, el código fuente y, en muchos casos, los datos o el proceso de entrenamiento están disponibles públicamente, permitiendo a cualquiera personalizar, adaptar o reutilizar el modelo para sus propios proyectos.
El funcionamiento de un LLM se divide en dos fases principales: preentrenamiento y ajuste fino (fine-tuning). En el preentrenamiento, el modelo aprende patrones lingüísticos generales a partir de grandes corpus de texto no supervisados, utilizando tareas como predicción de palabras “enmascaradas” (BERT) o predicción autoregresiva (GPT).
Los “Billions” son la clave …
Es importante dejar claro un tema antes de continuar: los “Billions”. Los “billions” son esa “B” que podemos ver cuando se describe cada modelo. La “B” en los modelos LLM, como 7B, 13B o 70B, nos muestra la cantidad de billones (americanos) de parámetros que tiene el modelo, donde un parámetro es un coeficiente ajustable aprendido durante el entrenamiento.
Estos parámetros determinan cómo el modelo procesa la entrada (texto) y genera la salida (respuesta), y esto es clave para su capacidad de comprensión y generación de lenguaje natural. En términos técnicos y simplificando mucho, los parámetros son los pesos y sesgos de las capas de la arquitectura Transformer, ajustados a lo largo de millones de iteraciones de entrenamiento para minimizar la pérdida en tareas como predicción de texto. Un mayor número de parámetros permite al modelo capturar patrones más complejos y sutiles en los datos de entrenamiento, mejorando su rendimiento en tareas más complejas.
Pero claro, el aumento en el número de parámetros tiene implicaciones directas en el rendimiento, el coste y la infraestructura necesaria. Modelos más grandes, como uno de 70B, requieren una cantidad exponencialmente mayor de memoria GPU (mínimo aproximadamente 40 GB por GPU para inferencia eficiente) y un mayor tiempo de cómputo, tanto para entrenamiento como para inferencia (no os preocupéis de momento por esto, lo veremos en el siguiente apartado).
El hardware: Opción NVIDIA
Ya sabemos las restricciones y características que nos ofrecen los modelos de código abierto, ahora necesitamos la electrónica para poder ejecutarlos. Aquí es donde debemos tener en cuenta varias variables. La primera es tener clara la inversión que vamos a hacer y la segunda decidir la posible arquitectura base (x86 vs ARM o dicho de otra manera, NVIDIA vs Apple Silicon). Como todo en la vida, a más dinero mejor 😉 pero vamos a ver algunas que no sean una locura de inversión. Cada una de ellas tiene sus ventajas y sus problemas.
Si seleccionamos una arquitectura clásica basada en NVIDIA y x86, el primer paso es tener un buen ordenador. Los ordenadores tipo “gaming” son una gran opción ya que estos suelen llevar una buena configuración de hardware de base. Es importante que tengamos un buen microprocesador de arquitectura x86 ya sea Intel o AMD pero seguro que esto lo vemos mejor con un ejemplo. ¡Ojo!, por supuesto hay más opciones y más sencillas, esto es sólo una recomendación basada en mi experiencia.
Como he comentado antes, esta configuración no la tengo exclusivamente para IA, ya que quiero aprovechar el hardware. Por eso tengo instalado Proxmox como hipervisor (consejo de mi gran amigo Rafael Troncoso, alias «Tuxotron«). La ventaja es que me sirve para gestionar máquinas virtuales y usando la característica “GPU Passthrough” puedo conectar la tarjeta gráfica a la VM que necesite ejecutar IA en local. De esta forma puedo estar levantando y apagando las VM con diferentes sistemas operativos (eso sí, sólo una VM puede gestionar la gráfica a la vez).
Contactar con Fran Ramírez en MyPublicInbox |
Powered by WPeMatico