Zubnet AIAprenderWiki › Búsqueda beam
Fundamentos

Búsqueda beam

También conocido como: Beam Search
Una estrategia de decodificación que mantiene múltiples secuencias candidatas (el "beam") simultáneamente, expandiendo cada una por un token en cada paso y conservando solo los candidatos con mayor puntuación. A diferencia de la decodificación greedy (siempre elegir el mejor siguiente token) o el muestreo (elegir aleatoriamente), beam search explora múltiples caminos y encuentra la secuencia con la mayor probabilidad general. Comúnmente usado para traducción y resumen.

Por qué importa

Beam search demuestra que la mejor opción local no siempre es la mejor global. La decodificación greedy podría elegir "The" como primera palabra cuando "In" llevaría a una oración mucho mejor en general. Al mantener múltiples candidatos, beam search evita comprometerse demasiado pronto. Sin embargo, para generación abierta (chat, escritura creativa), el muestreo produce texto más diverso y natural que beam search.

En profundidad

El algoritmo: mantener un beam de ancho k (por ejemplo, k=5). En cada paso, expandir cada candidato con todos los posibles siguientes tokens, puntuar las secuencias resultantes y conservar las k mejores. Continuar hasta que todos los candidatos hayan generado un token de fin o alcanzado un límite de longitud. Devolver la secuencia completa con mayor puntuación. El ancho del beam k intercambia calidad por cómputo: k=1 es decodificación greedy, k más grande explora más caminos pero cuesta k veces más cómputo.

El problema de la penalización por longitud

El beam search sin modificar favorece secuencias más cortas (menos tokens = menos multiplicaciones de probabilidad = mayor probabilidad total). Una penalización por longitud (dividir la puntuación por longitud^α) contrarresta este sesgo, animando al modelo a generar salidas completas y bien formadas en lugar de cortar prematuramente. El factor de penalización α es un hiperparámetro: α=0 es sin penalización, α=1 normaliza completamente por longitud. Los valores típicos son 0.6–1.0.

Cuándo usar beam search

Beam search funciona mejor para tareas con una respuesta "correcta" (traducción, resumen, generación estructurada) donde quieres la salida más probable. Funciona mal para tareas creativas o conversacionales donde importa la diversidad — beam search tiende a producir texto genérico y repetitivo porque las secuencias de alta probabilidad suelen ser aburridas. Las interfaces modernas de LLM usan muestreo (con temperatura y top-p) para chat, y beam search se usa principalmente internamente para tareas específicas como generación de llamadas a herramientas.

Conceptos relacionados

← Todos los términos