Saltar al contenido principal

Ejecución local de modelos

Conceptos básicos para ejecutar modelos de lenguaje de código abierto en tu propio equipo, sin depender de servicios externos.

🎧 Podcast: IA privada y local

La idea de ejecutar un modelo localmente es tener control total sobre tus datos y tu privacidad, además de poder experimentar con modelos de manera más directa. El proceso general es el siguiente:

info
  • Se descarga un modelo de lenguaje de código abierto (por ejemplo, de Hugging Face).
  • Se ejecuta en tu computadora usando una herramienta que gestione la carga de trabajo y la inferencia del modelo.
  • Se interactúa con el modelo a través de una API (mediante scripts o interfaz de chat).
  • O puedes configurar tu agente de código para que apunte al servidor local del modelo, en lugar de un servicio en la nube.

Flujo de ejecución local​

🧪 Flujo de ejecución local


Ejecutar un modelo localmente​

Beneficios
  • Se pueden ajustar parámetros de hardware y del modelo para optimizar el rendimiento según tu equipo.
  • Se pueden crear aplicaciones personalizadas que utilicen el modelo localmente, sin necesidad de enviar datos a la nube.
  • Se pueden probar diferentes modelos y comparar resultados sin depender de servicios externos.
  • Se puede trabajar sin conexión a internet, lo que es útil en entornos con conectividad limitada o para proteger la privacidad de los datos.
  • Se puede aprender y experimentar con modelos de lenguaje de manera más profunda, entendiendo cómo funcionan internamente.
  • Se pueden automatizar tareas y crear flujos de trabajo personalizados que aprovechen las capacidades del modelo localmente.
  • Se pueden integrar modelos locales con otras herramientas y sistemas internos de la empresa, sin necesidad de exponer datos sensibles a terceros.
  • Se puede compartir el modelo con otros usuarios en la misma red local, facilitando la colaboración sin depender de servicios externos.
Limitaciones
  • Requiere recursos de hardware adecuados, especialmente si se quiere ejecutar modelos grandes
  • Puede ser más complejo de configurar y mantener que usar un servicio en la nube.
  • La actualización de modelos puede ser más lenta, ya que depende de la descarga manual de nuevas versiones.
  • Puede haber limitaciones de rendimiento en comparación con servicios en la nube que utilizan hardware especializado.
  • Puede ser necesario gestionar dependencias y entornos de software, lo que puede ser un desafío para usuarios menos técnicos.
  • Puede haber problemas de compatibilidad con ciertos modelos o herramientas, especialmente si se utilizan versiones más antiguas de software o hardware.
  • Puede ser necesario gestionar la seguridad del modelo y los datos, especialmente si se ejecuta en un entorno compartido o accesible desde la red.

Herramientas recomendadas​

Para ejecutar un modelo de código abierto localmente existen herramientas que simplifican el proceso sin necesidad de configuraciones complejas. Estas son algunas de las opciones más populares actualmente:

La opción más sencilla y rápida.

  • Se maneja desde la terminal (o con interfaces que se conectan a él).
  • Gestiona automáticamente la descarga y ejecución del modelo.
  • Ideal para empezar en minutos.

https://ollama.com/

¿Cuál elegir?
  • Si estás empezando, ve directo a Ollama: con un solo comando (ollama run modelo) tendrás un LLM funcionando en tu máquina.
  • Si prefieres la comodidad de una GUI y estás dispuesto a prescindir de algo de rendimiento LM Studio es tu opción.

Conceptos clave​

Antes de descargar un modelo conviene entender algunos conceptos fundamentales que determinarán si un modelo puede correr en tu equipo.

Cuantización​

El modelo debe caber completamente en tu RAM o VRAM por lo que debes usar versiones cuantizadas (comprimidas). Existen distintas técnicas y niveles de cuantización, cada una con sus ventajas y desventajas. Se verá con más detalle en la siguiente lección, pero a modo de resumen:

Nivel de cuantizaciónTamaño en discoCalidad
Q8_0GrandeCasi idéntica al original
Q4_K_M ModeradoPunto ideal: mantiene casi toda la precisión original
Q2_KMuy pequeñoCalidad notablemente reducida

La cuantización Q4_K_M es el equilibrio recomendado entre tamaño y calidad. Por debajo la degradación se nota; por encima el consumo de memoria crece sin una mejora proporcional.

El formato GGUF​

El formato GGUF es un estándar de facto para modelos de lenguaje de código abierto. Permite que los modelos se ejecuten de manera eficiente en diferentes plataformas y hardware, incluyendo computadoras personales. Por lo tanto, debes decargar un modelo en formato GGUF para que pueda ser ejecutado por herramientas como Ollama, LM Studio o llama.cpp.

Beneficios del formato GGUF:​

  • Permite repartir la carga entre tu procesador (CPU) y tu tarjeta gráfica (GPU).
  • Hace que modelos grandes funcionen en computadoras normales.
  • Permite cargar solo partes del modelo según la necesidad, optimizando el uso de memoria.
  • Facilita la compatibilidad entre diferentes herramientas de ejecución de modelos, como Ollama, LM Studio y llama.cpp.

En general las herramientas de ejecución de modelos (Ollama, LM Studio y llama.cpp) gestionan automáticamente la descarga y ejecución del modelo, pero es importante que el modelo esté en formato GGUF y que tenga una cuantización adecuada para tu hardware.

info

Puedes encontrar más información sobre modelos y formatos en el sitio web de HuggingFace (sitio de referencia mundial)


Resumen​

HerramientaInterfazNivel técnicoMejor para
OllamaTerminalBajoEmpezar rápido
LM StudioGráficaBajoExplorar modelos visualmente
llama.cppTerminalMedio-AltoMáximo control y eficiencia
ConceptoQué esPor qué importa
GGUFFormato de archivo del modeloPermite repartir carga entre CPU y GPU
CuantizaciónCompresión del modelo (Q4_K_M, Q8_0…)Hace que el modelo quepa en tu hardware
Q4_K_MCuantización de 4 bitsEquilibrio recomendado tamaño ↔ calidad
Idea clave

Para ejecutar LLMs en local necesitas 4 cosas: el hardware adecuado, una herramienta (Ollama, LM Studio o llama.cpp), un modelo en formato GGUF y una cuantización adecuada (Q4_K_M suele ser el punto ideal) para tu hardware.