Phase 16 - Lesson 19
Optimización de Enjambre para LLMs (PSO, ACO)
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
La optimización bioinspirada está regresando en el contexto de LLMs. LMPSO (arXiv:2504.09247) utiliza PSO donde la velocidad de cada partícula es un prompt y el LLM genera el siguiente candidato; funciona bien para salidas de secuencias estructuradas (expresiones matemáticas, programas). Model Swarms (arXiv:2410.11163) trata a cada LLM experto como una partícula de PSO en una variedad (manifold) de pesos del modelo y reporta una ganancia promedio del 13.3% sobre 12 baselines en 9 conjuntos de datos con solo 200 instancias. SwarmPrompt (ICAART 2025) hibrida PSO + Grey Wolf para optimización de prompts. AMRO-S (arXiv:2603.12933) está inspirado en ACO, utilizando especialistas en feromonas para el enrutamiento multiagente de LLMs —logrando una aceleración de 4.7x, evidencia de enrutamiento interpretable y una actualización asíncrona filtrada por calidad que desacopla la inferencia del aprendizaje. Esta lección implementa PSO en el espacio de parámetros del prompt y ACO en el enrutamiento de agentes, midiendo por qué estos algoritmos clásicos se adaptan a la era de los LLMs y cuándo no deben usarse.
Tipo: Learn + Build Lenguajes: Python (stdlib) Prerrequisitos: Fase 16 · 09 (Redes Paralelas de Enjambre), Fase 16 · 14 (Consenso y BFT) Tiempo: ~75 minutos
El Problema
Tienes un prompt que obtiene un 62% en la evaluación de tu tarea. Quieres mejorarlo. El enfoque ingenuo es el ajuste manual libre de gradientes, que escala mal. El aprendizaje por refuerzo necesita señales de recompensa y suficientes ejecuciones (rollouts) para entrenar. El backpropagation a través de los prompts no es realmente posible: el prompt es una cadena discreta, no un parámetro diferenciable.
La optimización bioinspirada clásica —PSO para espacios de búsqueda continuos, ACO para selección de rutas— fue diseñada exactamente para este régimen: sin gradientes, basada en la población y barata por evaluación. Combínalas con LLMs para el paso de búsqueda libre de gradientes y obtendrás un optimizador sorprendentemente práctico.
Los mismos patrones se aplican al enrutamiento de agentes en sistemas multiagente. Un rastro de feromonas al estilo ACO registra qué agente funcionó mejor para qué tipo de tarea, permite al enrutador explotar el rastro y decae las feromonas para que se puedan descubrir nuevas rutas.
Concepto
Repaso de PSO (Kennedy & Eberhart 1995)
Optimización por Enjambre de Partículas: población de partículas en un espacio de búsqueda continuo. Cada partícula tiene una posición x_i y una velocidad v_i. En cada iteración:
v_i <- w * v_i + c1 * r1 * (p_best_i - x_i) + c2 * r2 * (g_best - x_i)
x_i <- x_i + v_i
evaluate fitness(x_i)
update p_best_i if improved
update g_best if global best
Donde p_best es la mejor posición propia de la partícula, g_best es la mejor posición del enjambre, w, c1, c2 son los pesos de inercia, cognitivo y social, y r1, r2 son factores aleatorios.
PSO en salidas de LLM — LMPSO
El artículo arXiv:2504.09247 adapta PSO para salidas estructuradas generadas por LLM (expresiones matemáticas, programas). Cada partícula es una salida candidata. La velocidad es un prompt que describe cómo modificar la salida actual hacia el mejor personal o global. El LLM genera la nueva salida a partir del prompt de velocidad. La "inercia" de la velocidad es un prompt como "haz pequeños cambios incrementales".
Esto funciona bien cuando:
- La salida está estructurada (se puede analizar y evaluar).
- La evaluación de fitness es automática (ejecuciones de prueba, evaluación aritmética).
- La población es pequeña (~10-30 partículas) para que el total de llamadas al LLM sea manejable.
No funciona bien cuando el fitness requiere revisión humana: el costo por iteración se vuelve prohibitivo.
Model Swarms
El artículo arXiv:2410.11163 lleva el PSO fuera de la capa de salida y hacia la capa del modelo. Cada "partícula" es un LLM experto (parámetros). El enjambre mueve los parámetros hacia el mejor colectivo a través de una actualización libre de gradiente. Se reporta: una ganancia promedio del 13.3% sobre 12 baselines en 9 conjuntos de datos, con solo 200 instancias por iteración.
La idea clave es que los modelos LLM expertos ya están cerca en una variedad de parámetros compartidos (pesos de adaptadores, deltas de LoRA). El PSO en este subespacio de baja dimensión es barato y efectivo.
Repaso de ACO (Dorigo 1992)
Optimización de Colonia de Hormigas: las hormigas atraviesan un grafo; cada ruta tiene un rastro de feromonas. Las probabilidades de movimiento de las hormigas se ponderan según la fuerza del rastro. Las hormigas que completan la tarea depositan feromonas proporcionales a la calidad de la solución. Las feromonas decaen con el tiempo.
AMRO-S — ACO para enrutamiento de agentes
El artículo arXiv:2603.12933 utiliza ACO para el enrutamiento multiagente. Cada tipo de tarea es un "destino"; cada agente es una ruta posible. Las feromonas fortalecen las rutas que producen buenas salidas. Contribuciones clave:
- Evidencia de enrutamiento interpretable. La fuerza de la feromona es una señal legible por humanos.
- Actualización asíncrona filtrada por calidad. Las feromonas se actualizan solo después de que se aprueban las verificaciones de calidad, desacoplando la inferencia del aprendizaje.
- Acelación de 4.7x en el benchmark de enrutamiento multiagente.
El filtro de calidad es fundamental: sin él, los agentes rápidos pero incorrectos acumulan feromonas y el sistema se bloquea en malas rutas.
Cuándo usar PSO / ACO para LLMs
Usa PSO cuando:
- El espacio de búsqueda sea continuo o se mapee a parámetros continuos (embeddings de prompts, pesos de LoRA, parámetros numéricos de generación).
- El fitness sea barato y automático.
- La población pueda ser pequeña (10-30).
Usa ACO cuando:
- Tengas un problema de enrutamiento o selección de rutas.
- Las decisiones se refuercen con el tiempo (vuelven a aparecer los mismos tipos de tareas).
- Necesites evidencia interpretable para las decisiones de enrutamiento.
No uses ninguno de los dos cuando:
- El fitness requiera revisión humana (demasiado caro por iteración).
- El espacio de búsqueda sea discreto y combinatorio de maneras que el PSO no pueda representar (usa algoritmos genéticos en su lugar).
- Las decisiones en tiempo real necesiten una latencia estricta (PSO/ACO convergen lentamente en comparación con heurísticas de una sola pasada).
Por qué la optimización bioinspirada sigue ganando
Los métodos basados en gradientes necesitan señales diferenciables. Las salidas de los LLM y las decisiones de enrutamiento no son fácilmente diferenciables. Los métodos de pseudo-gradiente (enrutadores aprendidos por refuerzo, sintonizadores de prompts estilo DPO) funcionan pero necesitan un entrenamiento costoso.
PSO y ACO solo necesitan una función de evaluación (fitness). Si puedes calificar una salida candidata o una decisión de enrutamiento, puedes optimizar el espacio de búsqueda. Eso hace que la barrera de aplicabilidad sea mucho menor.
Límites prácticos
- Presupuesto de población. N partículas × T iteraciones × costo por evaluación. Para evaluaciones de LLM a ~$0.02 / llamada, un PSO de 20 partículas que se ejecuta durante 50 iteraciones cuesta ~