IA abierta y local

llama.cpp experimenta con la expansión de expertos MoE en tiempo de ejecución sin reentrenamiento

Una rama comunitaria de llama.cpp ahora permite que los modelos dispersos Mixture of Experts activen más expertos durante la inferencia, sacrificando velocidad a cambio de posibles mejoras en la calidad.

Ilustración de un modelo MoE con niveles variables de activación de expertos dentro de un cubo de cristal.
Ilustración generada para este artículo

Traducido automáticamente del original en inglés.

El 6 de septiembre de 2026, apareció una nueva función experimental en un fork comunitario de llama.cpp que permite a los modelos dispersos Mixture of Experts (MoE) activar más expertos durante la inferencia sin necesidad de reentrenamiento ni cambios en los pesos. Desarrollada por el contribuidor vagrillo y probada en Qwen 3.6 35B A4B+, esta modificación transforma el límite fijo de enrutamiento en un presupuesto ajustable en tiempo de ejecución, ofreciendo una nueva forma de equilibrar el coste computacional frente a la calidad de salida para ingenieros de IA local.

Qué ha ocurrido

La innovación central es el cambio del enrutamiento Top-K estático a la expansión dinámica de expertos. En arquitecturas MoE estándar, un router selecciona un número fijo de expertos, como ocho de treinta y dos, para procesar cada token. Este experimento permite al sistema seleccionar candidatos adicionales más allá de ese límite nativo, ampliando efectivamente la red de rutas neuronales consultadas en cada paso de la generación. La implementación no altera los pesos del modelo almacenados en archivos GGUF, sino que cambia cómo se accede y agrega esos pesos durante el pase hacia adelante (forward pass).

Este enfoque está actualmente confinado a una rama comunitaria y no se ha fusionado en el repositorio principal ggml-org/llama.cpp. Admite varios backends de cómputo, buscando una amplia compatibilidad en lugar de optimizar únicamente para GPUs CUDA. Aunque ha sido validado en modelos Qwen específicos, la función permanece en una etapa experimental temprana, lo que significa que los parámetros y comportamientos pueden cambiar mientras los desarrolladores refinan la lógica para el umbralizado y el control específico por capa.

Cómo funciona

La inferencia MoE estándar depende de un router que asigna puntuaciones a todos los expertos disponibles y elige los top K. Este experimento mantiene esa selección primaria pero añade una fase secundaria donde los expertos con menor puntuación también son invitados a contribuir. Para evitar que estos expertos menos seguros dominen la salida, sus contribuciones se atenúan mediante una estrategia de atenuación. La influencia de estos expertos añadidos puede variar desde casi todo el peso hasta el cincuenta por ciento, dependiendo de sus puntuaciones iniciales y la curva de decaimiento configurada.

Crucialmente, el sistema admite configuración por capa. No todas las capas de transformer se benefician igualmente del acceso expandido a expertos; algunas tienen distribuciones de enrutamiento agudas donde las mejores opciones están claras, mientras que otras tienen perfiles de puntuación más planos donde el contexto adicional ayuda. Al permitir que los usuarios especifiquen qué capas deben expandir su conteo de expertos activos, la herramienta habilita una asignación más granular de recursos de cómputo. Esto significa que puedes apuntar a las capas "cuello de botella" donde la ambigüedad es mayor sin pagar la penalización de rendimiento en toda la red.

Detalles clave

  • Sin reentrenamiento requerido: El método funciona completamente en tiempo de inferencia, dejando intactos los pesos y la arquitectura del modelo.
  • Contribuciones atenuadas: Los expertos adicionales se incluyen con peso reducido para mantener la estabilidad y priorizar las rutas de alta confianza.
  • Control específico por capa: Los usuarios pueden definir diferentes estrategias de expansión para distintas capas de transformer, evitando aumentos uniformes de coste.
  • Agnóstico del backend: La implementación busca soportar todos los backends de llama.cpp, no solo entornos acelerados por GPU.
  • Probado en Qwen 3.6: La validación inicial se realizó en el modelo Qwen 3.6 35B A4B+, aunque los resultados pueden variar en otras arquitecturas MoE.
  • Estado experimental: La función aún no está en la rama principal de llama.cpp, por lo que la estabilidad de la API y los nombres de los parámetros están sujetos a cambios.

Por qué importa

Para los desarrolladores que construyen aplicaciones de IA locales, este experimento desacopla la capacidad del modelo del presupuesto de inferencia. Tradicionalmente, o aceptas la dispersión fija de un modelo MoE entrenado o cambias a una alternativa más densa y lenta. Este enfoque introduce un espectro continuo donde puedes intercambiar latencia por cobertura. Si una tarea específica, como la generación compleja de código o el razonamiento multi-salto, requiere una recuperación de conocimiento más amplia, puedes aumentar temporalmente el conteo de expertos activos para mejorar la robustez sin desplegar un modelo completamente diferente.

Sin embargo, esta flexibilidad conlleva importantes compensaciones de ingeniería. Activar más expertos aumenta la presión sobre el ancho de banda de memoria y las operaciones de multiplicación de matrices, lo que puede impactar severamente las tasas de tokens por segundo y la latencia del primer token. Para aplicaciones interactivas en tiempo real, el retraso podría ser inaceptable. No obstante, para procesamiento por lotes offline, pipelines de evaluación o escenarios donde la precisión es primordial sobre la velocidad, este ajuste sintonizable proporciona una palanca poderosa para exprimir ganancias marginales de los modelos existentes.

Qué puedes hacer

  • Clona la rama experimental del repositorio de vagrillo y compílala con tus flags de backend preferidos habilitados.
  • Inspecciona la salida de ayuda de la línea de comandos para identificar los nombres actuales de los parámetros de expansión de expertos, ya que aún no están estandarizados.
  • Comienza con configuraciones conservadoras, como aumentar el conteo de expertos activos solo entre un veinticinco y un cincuenta por ciento por encima del Top-K nativo.
  • Aplica la expansión selectivamente a las capas medias de transformer en lugar de a toda la red para minimizar la sobrecarga de rendimiento.
  • Ejecuta benchmarks controlados comparando configuraciones nativas y expandidas en tareas como generación de código, razonamiento matemático y resumen de contextos largos.
  • Monitorea tanto métricas de calidad como recursos del sistema, rastreando específicamente el uso del ancho de banda de memoria y la velocidad de generación junto con la exactitud de la salida.

Herramientas de la Tienda de Bytechap

$89

DocBento

Gestión documental autoalojada que lee cada escaneo y responde con citas de página.

Demo en vivo

Seguir leyendo

Todos los artículos