Optimización de Qwen3.5-9B en RTX 3070 Mobile con ik_llama.cpp: Ajustes de Configuración y Puntos de Referencia

Configuración de Hardware y Software
Un desarrollador documentó su experiencia optimizando la inferencia local en una laptop con una GPU RTX 3070 Mobile (8GB de VRAM, efectivamente ~7.7GB utilizables). El sistema ejecuta CachyOS (Linux 6.19 basado en Arch) con 32GB de RAM y un CPU Intel i7-10750H. Utilizaron ik_llama.cpp (el fork optimizado de llama.cpp de ikawrakow) con el modelo Qwen3.5-9B Q4_K_M de Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-v2-GGUF.
Problemas Iniciales de Configuración
La configuración inicial ingenua incluía varios problemas:
- Las banderas específicas de MoE (
--n-cpu-moe,-ger,-ser) se aplicaron incorrectamente a un modelo no-MoE (n_expert = 0) --mlockfallaba silenciosamente debido a límites de asignación de memoria (requiereulimit -l unlimitedo una entrada en limits.conf)- El tamaño de lote
-b 4096consumía VRAM excesiva (búfer de cálculo de 2004 MiB), casi 2GB en una tarjeta de 8GB
Esta configuración produjo una velocidad de generación de ~47.8 t/s y una evaluación de prompt de ~82 t/s con VRAM al ~97%.
Resultados de Optimización
Después de corregir los problemas de configuración y ajustar los tamaños de lote a -b 2048 -ub 512 (reduciendo el búfer de cálculo a 501 MiB), el desarrollador probó diferentes configuraciones de caché KV:
- Original (q4_0/q4_0, b4096): 47.8 t/s generación, 82.6 t/s prompt, ~97% VRAM
- Banderas corregidas + b2048/ub512, q8_0K/q4_0V: 48.4 t/s generación, 189.9 t/s prompt, ~80% VRAM
- q8_0K/q8_0V: 50.0 t/s generación, 213.0 t/s prompt, ~84% VRAM
La velocidad de evaluación de prompt aumentó drásticamente de ~82 a ~213 t/s, principalmente al reducir el tamaño del lote para liberar memoria de la GPU. Mientras que la velocidad de generación mostró un cambio mínimo (~2% de diferencia entre q4_0 y q8_0), la configuración q8_0/q8_0 produjo respuestas notablemente más coherentes y completas en salidas más largas, valiendo el uso extra de ~256 MiB de VRAM.
Configuración Final
El comando optimizado para uso de servidor local de un solo usuario:
./build/bin/llama-server \
-m ./models/Qwen3.5-9B.Q4_K_M.gguf \
-ngl 999 \
-fa on \
-c 65536 \
-b 2048 \
-ub 512 \
-ctk q8_0 \
-ctv q8_0 \
--threads 6 \
--threads-batch 12Preguntas Abiertas y Pruebas Futuras
El desarrollador identificó varias áreas para mayor investigación:
- Ajuste del límite de potencia de GPU en GPUs móviles (potencial para reducir TGP con pérdida mínima de velocidad ya que la inferencia está limitada por el ancho de banda de memoria)
- Otros modelos compatibles con 8GB con buen rendimiento de codificación o razonamiento
- Comparación de ik_llama.cpp vs llama.cpp principal (las optimizaciones específicas de ik incluyen operaciones fusionadas y reutilización de gráficos)
- Consejos para arquitectura híbrida SSM (las advertencias de cambio de contexto causan paradas bruscas cuando se llena el contexto, sin ventana deslizante)
Las pruebas utilizaron un prompt solicitando la implementación de un programa Rust de la Criba de Eratóstenes con explicación del algoritmo, análisis de complejidad y salida de ejemplo para N=50.
📖 Leer la fuente completa: r/LocalLLaMA
👀 Ver también
Automatización de actualizaciones de OpenClaw con un agente de IA: Un manual probado en el campo
Un desarrollador comparte cómo entrenó a un agente de IA Hermes para manejar las actualizaciones de OpenClaw, reduciendo una migración de varias horas y llena de tensión a 'ejecutar el manual, encontrarse con dos problemas conocidos'.

Cómo configurar sub-agentes con espacios de trabajo separados en OpenClaw
Solución de la comunidad para configurar múltiples sub-agentes con workspaces aislados y diferentes modelos

OpenClaw 101: Resumen de Inicio Rápido para Principiantes

Cómo los Prompts de Evaluación de Modelos Pequeños Pueden Engañar y Cómo Solucionarlos
Una publicación de Reddit explica que las indicaciones de evaluación para modelos pequeños a menudo producen resultados engañosos debido a que activan las vías cognitivas incorrectas en los transformadores, identificando específicamente tres modos distintos: recuperación de hechos, aplicación/seguimiento de instrucciones e inferencia emocional/empática.