Cómo manejar los parámetros temperature y top_p en OpenAI

Daniel Avila
3 min readDec 4, 2022

--

En este artículo te explico el concepto de temperature y cómo puedes aplicarlo al ocupar la api de Openai.

Esta es la escena de la película Yo Robot protagonizada por Will Smith cuando Sony le entrega un dibujo de los sueños que ha estado teniendo

Si pudiéramos entregarle una variable a una inteligencia artificial para que se comunicará de forma más o menos creativa esta sería la temperatura.

Temperature

La temperatura es una variable que se maneja con valores que van del 0 al 1. Mientras más temperatura mayor será la “ocurrencia” que vendrá en el texto de salida.

Para modificar la temperatura solo debes cambiar el parámetro temperature en la función create.Completation()

Si analizamos el bot @JavascriptGuru7 que utiliza GPT-3 para responder cualquier tipo de pregunta sobre Javascript podemos jugar un poco con su temperatura y ver los diferentes tipos de respuesta.

temperature: 0

El indice más bajo de temperatura nos lleva a una respuesta corta y directa

temperature: 0.3

Esta respuesta nos entrega cuando aumentamos un poco más la temperatura

temperature: 1

Finalmente con una temperatura con el nivel máximo podemos ver que el nivel de ocurrencia es mayor y no nos serviría para solo responder una pregunta básica como hacer un simple “Hello World”

Todo depende de cómo quieres manejar las respuesta. Si solo estás buscando respuestas cortas, rápidas y simples, mientras menos temperatura mejor. Si estás buscando repuestas creativas para crear historias, análisis de proyectos o crear nuevas ideas es mejor la temperatura este más cerca del 1

Top P

Para poder entender el concepto de Top P debes primero entender el concepto de tokens. Te dejo este artículo donde explico que es un token en Openai

Entonces, el parámetro top_p indicará la diversidad de tokens con la que se manejará la salida de texto que genere GPT-3. Esto quiere decir que con un top_p 0 tendremos menos selectividad de tokens que seleccionará el modelo. Con un top_p 1 la cantidad de tokens para la salida de texto será mayor.

Realiza pruebas con estos parámetros para identificar cual es la configuración correcta para lo que necesitas.

--

--