Ir al contenido principal

Cómo ejecutar Bonsai 27B en local con 8 GB de memoria

Aprende a ejecutar Bonsai 27B, un modelo Qwen3.6-27B compacto de 1 bit, en local usando llama.cpp, una API compatible con OpenAI, una interfaz web y el agente de programación Pi.
Actualizado 17 sept 2026  · 10 min leer

Explorar con IA

ChatGPTClaudePerplexity

Qwen3.6-27B se ha vuelto una opción popular para ejecutar en local un modelo capaz de razonar y programar. Es rápido y potente, pero un modelo completo de 27 mil millones de parámetros sigue requiriendo bastante memoria. 

Usar cuantización convencional puede reducir esos requisitos, aunque a costa de una degradación de rendimiento que puede notarse.

prism-ml/Bonsai-27B-gguf en Hugging Face

Fuente: prism-ml/Bonsai-27B-gguf

Prism ML abordó este problema de otra forma con Bonsai 27B, una versión de 1 bit muy comprimida de Qwen3.6-27B. 

Según Prism ML, Bonsai conserva casi el 90% del rendimiento en benchmarks del modelo original y reduce los pesos a aproximadamente 3,9 GB. 

Esto hace posible experimentar con un modelo de razonamiento de clase 27B en hardware de consumo mucho más accesible.

En este tutorial, usaré el modelo de 1 bit Bonsai-27B-Q1_0.gguf y el script de configuración personalizado de Prism ML. El script descarga el modelo automáticamente, selecciona un runtime precompilado compatible y lo ajusta al hardware disponible. 

Después probaré Bonsai desde la línea de comandos, abriré su interfaz web local, accederé mediante una API compatible con OpenAI y lo conectaré con el agente de programación Pi.

¿Qué tiene de especial Bonsai 27B?

Lo interesante de Bonsai 27B es que no es simplemente otro Qwen cuantizado de forma convencional

La mayoría de los modelos GGUF locales se comprimen tras el entrenamiento reduciendo la precisión numérica de un modelo existente. 

Bonsai adopta un enfoque más agresivo al adaptar el modelo a pesos binarios, lo que permite que gran parte de la red opere con valores cercanos a −1 o +1.

Esto importa porque ejecutar modelos de lenguaje grandes suele estar limitado por la capacidad y el ancho de banda de memoria, más que por la potencia de cómputo en bruto. 

Reducir la precisión de los pesos disminuye la cantidad de datos que hay que almacenar y mover durante la inferencia. 

Con un runtime optimizado, esto puede hacer que un gran modelo de 27B sea práctico en hardware de consumo que normalmente tendría problemas para cargarlo o ejecutarlo.

Resultados de benchmark de prism-ml/Bonsai-27B-gguf

Fuente: prism-ml/Bonsai-27B-gguf · Hugging Face 

Bonsai también mantiene capacidades que van más allá del chat básico. 

Es compatible con razonamiento, programación, llamadas a herramientas estructuradas, prompts de contexto largo y flujos agentivos.

También puede funcionar detrás de una API compatible con OpenAI, lo que facilita la conexión con agentes de código, sistemas de recuperación, herramientas de automatización y aplicaciones que ya soportan endpoints al estilo OpenAI.

No obstante, no conviene tratar Bonsai como idéntico al modelo Qwen3.6-27B de precisión completa. 

Una compresión tan extrema implica concesiones y puede afectar de forma distinta, según la tarea, al seguimiento de instrucciones, la selección de herramientas, la consistencia del razonamiento y la calidad del resultado. 

Su gran ventaja es el equilibrio que ofrece: capacidades de modelo grande con requisitos de hardware mucho más bajos.

Requisitos previos para ejecutar Bonsai 27B en local

Antes de empezar, asegúrate de que tu sistema tiene:

  • Al menos 8 GB de RAM del sistema, aunque se recomiendan 16 GB o más
  • Unos 8 GB de almacenamiento libre para el modelo, el runtime y archivos de soporte
  • Git para clonar el repositorio de demostración de Bonsai
  • Un sistema operativo compatible, como Linux, Windows o macOS
  • Una GPU NVIDIA, AMD, compatible con Vulkan o Apple Silicon para una inferencia más rápida

Una GPU dedicada es opcional porque Bonsai también puede ejecutarse en CPU. 

Eso sí, la inferencia en CPU suele ser más lenta, especialmente cuando el modelo genera respuestas de razonamiento largas.

Para esta guía, uso una sola NVIDIA RTX 5070 Ti con 16 GB de VRAM

Esto aporta memoria suficiente para cargar los pesos del modelo, de unos 3,9 GB, íntegramente en la GPU y deja memoria adicional para la caché KV, activaciones y la sobrecarga del runtime.

Ahora bien, la VRAM disponible también determina cuánto contexto puedes usar. 

Aunque Bonsai 27B admite conversaciones de más de 256K tokens, cargar todo su contexto de entrenamiento puede consumir mucha memoria adicional y agotar sistemas con poca RAM o VRAM. 

Por ello, Prism ML usa un tamaño de contexto predeterminado consciente de la memoria en lugar de asignar automáticamente la ventana completa de 262K tokens.

En este tutorial, empezaremos con una ventana de contexto de 8.192 tokens para pruebas en la línea de comandos. Luego la ampliaremos al iniciar el servidor, según la memoria disponible. 

Una ventana de contexto menor basta para la mayoría de tareas de programación y chat, y ofrece un arranque más rápido con menor uso de memoria.

Paso 1: descarga e instala Bonsai 27B

Abre una terminal y clona el repositorio oficial de demostración de Bonsai:

git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo

El repositorio incluye scripts para descargar el modelo, detectar tu hardware, seleccionar el binario de runtime correcto, ejecutar el modelo desde la terminal y lanzar un servidor local.

Ejecuta el siguiente comando de configuración:

BONSAI_FAMILY=bonsai \
BONSAI_MODEL=27B \
BONSAI_OPENWEBUI=0 \
BONSAI_CODE_INTERPRETER=0 \
./setup.sh

Ejecutando el script de instalación de Bonsai-27B

Durante la configuración, puede que se te pida introducir un token de acceso de Hugging Face

Es opcional para archivos públicos del modelo, así que puedes omitirlo pulsando Enter

Aun así, usar un token puede ayudar a evitar límites de descarga anónima.

Descargando los archivos del modelo Bonsai-27B

El script descarga aproximadamente 7,15 GB de archivos, entre ellos:

  • El modelo de lenguaje Bonsai-27B-Q1_0.gguf
  • El proyector multimodal (mmproj)
  • Archivos adicionales relacionados con D-Spark
  • Un binario de runtime precompilado y probado para tu hardware

Ajustar BONSAI_FAMILY=bonsai selecciona el modelo Bonsai compacto de 1 bit en lugar de la versión ternaria más grande.

Las siguientes opciones deshabilitan dos entornos adicionales:

BONSAI_OPENWEBUI=0
BONSAI_CODE_INTERPRETER=0

Open WebUI no es necesario para este tutorial porque el binario del servidor incluido ya proporciona una interfaz de chat ligera en el navegador.

El entorno de code-interpreter tampoco es necesario para la configuración local básica.

Durante la instalación, el script de setup automáticamente:

  • Instala los paquetes necesarios de Linux
  • Crea un entorno virtual de Python
  • Descarga los archivos del modelo Bonsai 27B
  • Descarga el runtime precompilado apropiado
  • Detecta el backend de CPU o GPU disponible
  • Configura el proyecto para tu hardware

El script de instalación de Bonsai-27B se ha completado correctamente.

Esta configuración automática es especialmente útil porque no necesitas compilar manualmente llama.cpp ni seleccionar por tu cuenta un binario de CUDA, ROCm, Vulkan, Metal o CPU.

Te recomiendo el tutorial de llama.cpp si necesitas un repaso rápido. 

Paso 2: prueba Bonsai 27B desde la CLI

Tras la instalación, prueba el modelo directamente desde la terminal usando la interfaz de línea de comandos de llama.cpp incluida:

BONSAI_FAMILY=bonsai \
BONSAI_MODEL=27B \
BONSAI_CTX=8192 \
./scripts/run_llama.sh \
-p "Create a simple Python function that calculates compound interest."

Este comando:

  • Selecciona la familia Bonsai de 1 bit
  • Carga el modelo 27B
  • Establece la ventana de contexto en 8.192 tokens
  • Inicia la terminal interactiva de llama.cpp
  • Envía la solicitud de interés compuesto como primer prompt

CLI de llama.cpp ejecutando Bonsai-27B

El primer arranque puede tardar unos instantes mientras el modelo se carga en la memoria del sistema o en la VRAM de la GPU. 

Cuando esté listo, la terminal muestra el modelo activo, la información de compilación y los comandos disponibles antes de generar la respuesta.

CLI de llama.cpp ejecutando Bonsai-27B

Como se ve en la salida, Bonsai primero produce su proceso de razonamiento y luego genera un ejemplo completo en Python, incluyendo la función, instrucciones de uso y el resultado calculado. 

Tras la primera respuesta, la sesión permanece abierta, de modo que puedes introducir más prompts sin reiniciar el modelo.

Paso 3: inicia el servidor de Bonsai

Primero, pulsa Ctrl+C para cerrar la sesión interactiva del paso anterior.

Luego inicia el servidor local de Bonsai:

BONSAI_FAMILY=bonsai \
BONSAI_MODEL=27B \
BONSAI_CTX=100000 \
./scripts/start_llama_server.sh \
--alias bonsai-27b \
--host 0.0.0.0 \
--port 8910

Sirviendo el modelo Bonsai-27B de 1 bit con llama.cpp

Este comando:

  • Carga el modelo Bonsai 27B de 1 bit
  • Reserva una ventana de contexto de 100.000 tokens
  • Registra el modelo con el nombre bonsai-27b
  • Arranca el servidor en el puerto 8910
  • Lo hace accesible desde la máquina local y otros dispositivos en la misma red

Una ventana de 100.000 tokens requiere mucha más memoria que la prueba anterior de 8.192 tokens en CLI. Reduce BONSAI_CTX si el modelo no arranca o tu sistema se queda sin RAM o VRAM.

Como --host 0.0.0.0 expone el servidor a tu red local, evita usarlo en redes no confiables. Para acceso solo local, sustitúyelo por:

--host 127.0.0.1

Mantén esta terminal abierta mientras uses el modelo. Si la cierras, el servidor se detendrá.

El servidor de Bonsai ofrece:

  • Una interfaz web local ligera
  • Una API compatible con OpenAI
  • Respuestas en streaming
  • Llamadas a herramientas estructuradas
  • Controles de razonamiento específicos del modelo

La API compatible con OpenAI está disponible en:

http://127.0.0.1:8910/v1

Paso 4: prueba Bonsai 27B con CURL

Abre una segunda terminal y envía una solicitud al endpoint de chat-completions:

curl http://127.0.0.1:8910/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bonsai-27b",
    "messages": [
      {
        "role": "user",
        "content": "Write a Python function for loading and validating a CSV file."
      }
    ],
    "max_tokens": 1000
  }'

La solicitud usa la misma estructura que la API de OpenAI Chat Completions:

  • model selecciona el alias del servidor que creaste antes
  • messages contiene la conversación
  • max_tokens limita el número de tokens generados

La API devolvió JSON a unas 95 tokens por segundo, pero la respuesta se detuvo en el límite de 1.000 tokens; aumenta "max_tokens" a 3000 para obtener una respuesta completa antes de conectar Bonsai con aplicaciones, agentes o programas en Python.

Paso 5: prueba la interfaz web de Bonsai 27B

Abre esta dirección en tu navegador:

http://127.0.0.1:8910

probando Bonsai-27B en la webui de llama.cpp

La interfaz integrada de llama.cpp te permite chatear con Bonsai, subir archivos y ajustar el esfuerzo de razonamiento de Off a Max.

Pruébalo con un prompt de código como:

Create a Python command-line application that converts CSV files to JSON.

probando Bonsai-27B en la webui de llama.cpp

Bonsai generó un script completo en Python a unas 92 tokens por segundo en mi RTX 5070 Ti. 

probando Bonsai-27B en la webui de llama.cpp

También le pedí crear una web de porfolio personal. 

Aunque el código funcionaba, no me convenció la interfaz generada, ya que el diseño era básico y genérico. 

Esto sugiere que Bonsai es capaz de producir código funcional, pero puede requerir prompts más detallados y varias iteraciones para lograr una interfaz pulida.

Sitio web generado con el modelo Bonsai-27B de 1 bit.

Paso 6: instala el agente de programación Pi

Pi es un agente de programación basado en terminal que usamos para probar Bonsai 27B en un flujo agentivo real a través de su API local compatible con OpenAI.

Abre una nueva terminal e instala el agente de programación Pi:

curl -fsSL https://pi.dev/install.sh | sh

Instalando el agente de programación Pi

Cuando se te pida, pulsa Enter o escribe y para continuar con la instalación por defecto.

Confirma que Pi se instaló correctamente:

pi --version

En el momento de la prueba, la versión instalada era:

0.82.0

Paso 7: añade Bonsai 27B a Pi

Asegúrate de que el servidor de Bonsai sigue en ejecución, luego abre una terminal nueva y crea el directorio de configuración de Pi:

mkdir -p ~/.pi/agent

Crea el archivo de configuración de modelos personalizado:

nano ~/.pi/agent/models.json

Pega la siguiente configuración:

{
  "providers": {
    "bonsai-local": {
      "baseUrl": "http://127.0.0.1:8910/v1",
      "api": "openai-completions",
      "apiKey": "local",
      "compat": {
        "supportsDeveloperRole": false,
        "supportsReasoningEffort": false
      },
      "models": [
        {
          "id": "bonsai-27b",
          "name": "Bonsai 27B Local",
          "reasoning": true,
          "input": ["text"],
          "contextWindow": 100000,
          "maxTokens": 50000,
          "cost": {
            "input": 0,
            "output": 0,
            "cacheRead": 0,
            "cacheWrite": 0
          }
        }
      ]
    }
  }
}

Esta configuración conecta Pi con el endpoint local compatible con OpenAI, registra el modelo como Bonsai 27B Local y ajusta los 100.000 tokens de contexto del servidor.

Guarda y cierra el archivo:

Ctrl + O
Enter
Ctrl + X

Pi carga automáticamente los proveedores de modelos personalizados desde ~/.pi/agent/models.json.

Paso 8: ejecuta Pi con Bonsai 27B

Asegúrate de que el servidor de Bonsai sigue en ejecución y crea un nuevo directorio de proyecto:

mkdir simple-python
cd simple-python

Inicia Pi usando el modelo local de Bonsai:

pi --provider bonsai-local --model bonsai-27b

Ejecutando el agente Pi con el modelo Bonsai-27B

Introduce un prompt como:

Build a simple Python application with a FastAPI backend and a modern, 
responsive web interface that accepts user input, processes it, 
and displays the result.

probando el modelo Bonsai-27B en el agente Pi

Pi empezó a razonar, creó los archivos del proyecto, instaló los paquetes necesarios y produjo una aplicación de análisis de texto con backend FastAPI y frontend responsive.

Mientras el modelo corría con una ventana de contexto de 100.000 tokens, nvidia-smi mostró aproximadamente 11,9 GB de uso de VRAM en mi RTX 5070 Ti:

Contexto de 100K de Bonsai-27B cargado en la VRAM de la GPU.

Al final de la ejecución, Pi confirmó que la tarea había terminado y generó un resumen claro de todo lo realizado. 

Incluía los archivos creados, las funcionalidades principales de la aplicación, las pruebas realizadas y los comandos exactos para ejecutar el proyecto en local. 

probando el modelo Bonsai-27B en el agente Pi

Tras la generación, Pi resumió los archivos y características creados. 

Probé el backend con:

curl -s -X POST http://localhost:10100/analyze \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello world! This is a test."}'

La API funcionó y la interfaz tenía mejor aspecto que la web generada antes mediante la interfaz web básica. 

App generada con Bonsai-27B

Aun así, la aplicación estaba incompleta: faltaban algunos botones y controles, y el frontend no mostraba todas las estadísticas disponibles en la API del backend. 

Esto demuestra que Bonsai puede construir una aplicación full‑stack funcional, pero el resultado aún requiere pruebas y pulido.

App generada con Bonsai-27B

Reflexiones finales

En mis pruebas, Bonsai 27B sigue notándose como un modelo muy comprimido. 

Su calidad de salida no está del todo a la altura de un Q4 cuantizado de Qwen3.6-27B, que he probado previamente y me ha resultado más fiable para flujos con agentes de código. 

La versión Q4 requiere más memoria, pero ofrece un razonamiento más sólido, mejor generación de código y resultados más consistentes.

Dicho esto, Bonsai 27B sigue siendo sorprendentemente capaz para un modelo de alrededor de 3,8 GB.

Entiende instrucciones, crea archivos de proyecto, ejecuta comandos, prueba su trabajo y puede construir aplicaciones funcionales en local. En esta categoría de tamaño, es uno de los modelos más capaces que he probado.

Para trabajo serio con agentes de código, seguiría eligiendo la versión Q4 de Qwen3.6-27B, especialmente porque mi RTX 3090 tiene 24 GB de VRAM y puede manejar el modelo más grande sin problemas. 

Aun así, he disfrutado usando Bonsai 27B y me ha impresionado el ecosistema más amplio de Prism ML. Su configuración automática, runtime optimizado, interfaz web integrada, API compatible con OpenAI e integraciones con agentes facilitan mucho que más personas ejecuten y prueben en local un gran modelo de razonamiento en hardware de consumo.

FAQs

¿Cuál es la diferencia entre las variantes de 1 bit y Ternaria de Bonsai 27B?

La variante de 1 bit (3,9 GB) usa pesos binarios (valores cercanos a -1 o +1) y está optimizada para restricciones de memoria extremas, conservando alrededor del 90% del rendimiento base de Qwen3.6-27B. La variante Ternaria por defecto (5,9 GB) usa pesos de 1,58 bits (-1, 0 o +1). Requiere algo más de memoria pero eleva la retención en benchmarks al 95%, por lo que es la mejor opción si tu sistema tiene 16 GB o más de RAM/VRAM.

¿Bonsai 27B admite entradas de imagen o documentos?

Sí. Tanto la variante de 1 bit como la Ternaria son multimodales. Usan una torre de visión compacta de 4 bits (que es el archivo mmproj descargado durante el script de configuración). Esto permite que las aplicaciones locales pasen capturas de pantalla, documentos y entradas de cámara al modelo junto con prompts de texto.

¿Bonsai 27B se ejecuta de forma nativa en un Mac o en un smartphone?

Sí. Aunque esta guía se centra en una GPU de NVIDIA, Prism ML también ofrece builds MLX optimizadas específicamente para Apple Silicon. El tamaño de 3,9 GB de la variante de 1 bit es lo bastante pequeño para ajustarse al presupuesto de memoria por app de los móviles modernos —alcanza unas 11 tokens por segundo en un iPhone 17 Pro Max— y se ejecuta con gran eficiencia en portátiles Apple con series M usando memoria unificada.

Temas
Inteligencia Artificial
Grandes modelos lingüísticos

Cursos destacados de DataCamp

Curso

Programación asistida por IA para desarrolladores

1 h 30 min
9.9K
Mejora tu programación con IA: guía a tu asistente de programación para escribir, probar y documentar código de forma eficaz.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado
An avian AI exits its cage

blog

12 alternativas de código abierto a GPT-4

Alternativas de código abierto a GPT-4 que pueden ofrecer un rendimiento similar y requieren menos recursos informáticos para funcionar. Estos proyectos vienen con instrucciones, fuentes de código, pesos del modelo, conjuntos de datos e IU de chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Tutorial

RAG Con Llama 3.1 8B, Ollama y Langchain: Tutorial

Aprende a crear una aplicación RAG con Llama 3.1 8B utilizando Ollama y Langchain, configurando el entorno, procesando documentos, creando incrustaciones e integrando un recuperador.
Ryan Ong's photo

Ryan Ong

12 min

Tutorial

DCLM-7B de Apple: Configuración, Ejemplo de uso, Ajuste fino

Empieza a utilizar el gran modelo de lenguaje DCLM-7B de Apple y aprende a configurarlo, utilizarlo y ajustarlo para tareas específicas.
Dimitri Didmanidze's photo

Dimitri Didmanidze

9 min

Tutorial

Guía para principiantes de LlaMA-Factory WebUI: Ajuste de los LLM

Aprende a afinar los LLM en conjuntos de datos personalizados, evaluar el rendimiento y exportar y servir modelos sin problemas utilizando el marco de trabajo de bajo/ningún código de LLaMA-Factory.
Abid Ali Awan's photo

Abid Ali Awan

12 min

Tutorial

Ajuste fino de LLaMA 2: Guía paso a paso para personalizar el modelo de lenguaje grande

Aprende a ajustar Llama-2 en Colab utilizando nuevas técnicas para superar las limitaciones de memoria y computación y hacer más accesibles los grandes modelos lingüísticos de código abierto.
Abid Ali Awan's photo

Abid Ali Awan

12 min

Tutorial

Cómo ajustar GPT 3.5: Liberar todo el potencial de la IA

Explore GPT-3.5 Turbo y descubra el potencial transformador del ajuste fino. Aprenda a personalizar este modelo de lenguaje avanzado para aplicaciones especializadas, mejore su rendimiento y comprenda los costes asociados, la seguridad y las consideraciones de privacidad.
Moez Ali's photo

Moez Ali

11 min

Ver MásVer Más