Top-k sampling (ES)
Muestreo Top-k (del inglés Top-k sampling) es un método de decodificación estocástico utilizado en los grandes modelos de lenguaje (LLM) para la generación de texto. Su objetivo principal es limitar la selección del siguiente token a un número fijo () de los candidatos más probables, lo que permite evitar la generación de palabras poco probables y a menudo irrelevantes. Este método fue una de las primeras mejoras sobre el muestreo aleatorio simple y durante mucho tiempo fue una forma popular de mejorar la coherencia del texto generado.
Concepto y matemática
En cada paso de la generación de texto, un modelo de lenguaje estándar produce una distribución de probabilidad sobre todo el vocabulario . El muestreo Top-k modifica este proceso de la siguiente manera:
1. Selección de candidatos: De todo el vocabulario, se selecciona un subconjunto que consta de los tokens con las probabilidades más altas.
2. Truncamiento: Las probabilidades de todos los tokens que no están en se establecen en cero.
3. Redistribución (normalización): Las probabilidades de los tokens restantes se reescalan para que su nueva suma sea igual a 1.
4. Muestreo: El siguiente token se selecciona aleatoriamente de esta nueva distribución truncada.
Así, Top-k introduce un umbral estricto en el número de candidatos: las palabras con un rango de probabilidad inferior a nunca serán seleccionadas.
Influencia del parámetro
- pequeño (por ejemplo, – ): Hace que la generación sea más conservadora y predecible. El modelo elige solo de un conjunto muy limitado de las palabras más probables. Esto aumenta la coherencia, pero puede llevar a un texto repetitivo y aburrido.
- grande (por ejemplo, – ): Aumenta la diversidad y creatividad del texto, ya que se incluyen más opciones en la muestra. Sin embargo, esto también aumenta el riesgo de incluir tokens menos relevantes o inapropiados.
- Casos límite:
- : Equivalente a la decodificación voraz (greedy decoding). El modelo siempre elige el token más probable.
- = tamaño del vocabulario: Equivalente al muestreo estándar de la distribución completa, sin truncamiento.
Importancia histórica
El método Top-k fue propuesto formalmente en 2018 por Angela Fan y sus colegas como una solución eficaz al problema de la degradación de la calidad del texto al utilizar un muestreo aleatorio completo. Demostraron que limitar la selección a un pequeño número de candidatos mejoraba significativamente la coherencia y el sentido de las historias generadas.
Por ejemplo, en las primeras versiones de GPT-2 se utilizaba un parámetro `top_k=40`, lo que permitía al modelo generar textos largos y coherentes que eran inalcanzables con métodos anteriores.
Comparación con otros métodos de decodificación
Top-k vs. Top-p
Top-k ha sido en gran medida reemplazado por un método más avanzado: el muestreo Top-p (nucleus).
- La principal desventaja de Top-k es su falta de adaptabilidad. Un valor fijo de no tiene en cuenta la forma de la distribución de probabilidad:
- Cuando la distribución es pronunciada (el modelo está seguro de unos pocos tokens), Top-k puede ampliar artificialmente la selección, incluyendo candidatos poco probables.
- Cuando la distribución es plana (el modelo no está seguro y muchos tokens tienen una probabilidad similar), Top-k puede truncar prematuramente muchas opciones adecuadas.
- Top-p, por el contrario, adapta dinámicamente el tamaño de la muestra, seleccionando tokens en función de su probabilidad acumulada. Esto lo hace más flexible y fiable.
Top-k vs. Temperatura
- La temperatura cambia la forma de toda la distribución de probabilidad, pero no trunca los tokens. Afecta a las probabilidades relativas de todos los candidatos.
- Top-k introduce un truncamiento estricto, excluyendo por completo los tokens fuera del top-.
En la práctica, Top-k puede usarse junto con la temperatura: primero, la temperatura modifica la distribución y, luego, Top-k trunca los candidatos.
Aplicación práctica
Aunque el muestreo Top-p se considera hoy en día preferible, Top-k todavía se utiliza en algunos casos, especialmente cuando se requiere un control simple e intuitivo sobre el tamaño de la muestra.
- Valores típicos: En la práctica, se utilizan valores de entre 20 y 100, dependiendo del equilibrio deseado entre coherencia y diversidad.
- Recomendaciones: Para la mayoría de las tareas, se recomienda usar Top-p. Si aun así se utiliza Top-k, debe combinarse con una temperatura moderada y seleccionar cuidadosamente el valor de para la tarea específica.
Bibliografía
- Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
- Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Holtzman, A. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o.
- Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
- Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
- O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
- Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
- Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
- Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
- Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
Véase también