Los hyperparámetros son settings de configuración, los cuales se configuran manualmente para optimizar la eficiencia o la creatividad de la respuesta
Temperature (creatividad)
La temperatura controla probabilidad de distribución del modelo a la hora de elegir las siguientes palabras:
xychart-beta
title "Temperatura vs Probabilidad"
x-axis "Temperatura (T)" [0.1, 0.2, 0.5, 1, 2, 5]
y-axis "Probabilidad" 0 --> 1
line "P(token1)" [0.9999546, 0.9933071, 0.8807971, 0.7310586, 0.6224593, 0.5498340]
line "P(token2)" [0.0000454, 0.0066929, 0.1192029, 0.2689414, 0.3775407, 0.4501660]
- Low (0.2-0.3): El modelo es cauto y elige las palabras más probables. Output factual y predecible.
- Medium (0.5-0.7): Un mix de confiabilidad y engagement
- High (0.9-1.0): Toma riesgos y es impredecible
Respuesta posibles con la siguiente frase
Once upon a time, there was a dragon…
- Temp 0.2: …who lived in a cave guarding treasure
- Temp 0.7: …who dreamed of becoming friends with the villagers
- Temp 1.0: …who loved baking cookies and singing karaoke
Cuanta más alta la temperatura, más imaginativo, creativo y loco es el modelo, lo cual no siempre es bueno. Para usos creativos se suele usar una temperatura de 0.7.
Top-k (candidate pool fija)
Top-k es una estrategia de sampling para filtrar el número de candidatos a los más probables. Fuerza al modelo a elegir el siguiente token sobre una pool k de candidatos.
Es una estrategia de sampling de tamaño fijo, una vez tenemos computados los logits. Ayuda a reducir el número de candidatos sobre los que se calculan la softmax layer.
Candidatos posibles con la siguiente frase
I like to drink…
- small k (5): El modelo solo tiene unas pocas elecciones posibles, las cuales serán las más seguras posibles. Ej: [water, coffee, tea, juice, milk]
- large k (50): El modelo puede elegir entre opciones muy amplias. Amplía la variedad pero también la posibilidad de que salgan resultados inesperados Ej: […, smothies, kombucha, cocktails, hot chocolate, …]
(!) La contra que tiene es que si el modelo está muy seguro, puede incluir tokens con una baja probabilidad solo por el hecho de que tiene que llegar hasta k candidatos. (!)
Top-p (nucleus sampling dinámica)
Alternativa a top-k. Usar uno o el otro, pero NO ambos.
Top-p es un filtro dinámico. Suma las probabilidades de los tokens más probables, en orden descendiente, hasta que alcancen un umbral p.
Si el modelo está muy seguro, el núcleo será muy pequeño. Si hay incertidumbre, el número de candidatos se expande. Esto previene que el modelo se atasque respondiendo siempre tokens predecibles cuando existen un gran número de candidatos.
La diferencia con top-k es que top-k es un número fijo mientras que top-p se adapta. Pocas opciones cuando la respuesta es obvia, más opciones cuando hay múltiples respuestas válidas.
Min-p
Estrategia relacionada. Se especifica una probabilidad mínima p que un token debe tener para ser considerado.
Ejemplos de configuración
- Coding o Q&A basado en hechos: Low temperature (0.2) y top-p moderado (0.8) hacen que el modelo sea preciso y no se disperse.
- Creative writing o brainstorming: temperature alta (0.8) y top-p moderado-alto (0.95) hace que sea imaginativo y dé ideas únicas.
- Bot conversacional: temperatura media (0.5) y top-p moderado (0.9) da un balance entre ser predecible y tener personalidad.