No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Última oportunidad para asegurar tu aprendizaje por 1 año a precio especial

Antes: $249

Currency
$189/año

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

0D
9H
49M
28S
Curso de Desarrollo de Chatbots con OpenAI

Curso de Desarrollo de Chatbots con OpenAI

Carla Marcela Florida Román

Carla Marcela Florida Román

Parámetros de Text Completion: temperature, top_p y n

6/25
Recursos

Aportes 9

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Parametros de Text Completion

Aqui un endpoint post para probar completions:
https://api.openai.com/v1/completions

  • model: ID del modelo a utilizar.
  • prompt: Las solicitudes para generar finalizaciones, codificadas como una cadena, una matriz de cadenas, una matriz de tokens o una matriz de matrices de tokens.
  • suffix:Predeterminado a nulo
    El sufijo que viene después de completar el texto insertado.
  • max_tokens: Predeterminado a 16
    El número máximo de tokens a generar en la finalización.
  • temperature: Predeterminado a 1
    Qué temperatura de muestreo usar, entre 0 y 2. Los valores más altos, como 0,8, harán que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la harán más enfocada y determinista.
    Usa esto o top_p pero no ambos.
  • top_p: Predeterminado a 1
    Una alternativa al muestreo con temperatura, llamado muestreo de núcleo, donde el modelo considera los resultados de los tokens con masa de probabilidad top_p. Por lo tanto, 0.1 significa que solo se consideran las fichas que comprenden el 10 % de la masa de probabilidad superior.
  • n: Predeterminado a 1
    Cuántas completions generar para cada prompt.
    Nota: debido a que este parámetro genera muchas finalizaciones, puede consumir rápidamente su cuota de token. Úselo con cuidado y asegúrese de tener configuraciones razonables para max_tokens y stop.
  • stream: Predeterminado a falso
    Ya sea para transmitir el progreso parcial. Si se establece, los tokens se enviarán como eventos enviados por el servidor solo de datos a medida que estén disponibles, y la secuencia terminará con un mensaje de data: [DONE]. Ejemplo en python
  • logprobs: Si logprobs es 5, la API devolverá una lista de los 5 tokens más probables. La API siempre devolverá el logprob del token muestreado, por lo que puede haber hasta logprobs+1 elementos en la respuesta.
  • echo: Repita el prompt además de la finalización(Predeterm: Falso)
  • stop: Hasta 4 secuencias donde la API dejará de generar más tokens. El texto devuelto no contendrá la secuencia de parada.
  • best_of: Predeterminado a 1
    Genera el mejor de completions del lado del servidor y devuelve el “mejor” (el que tiene la mayor probabilidad de registro por token). Los resultados no se pueden transmitir(stream).
  • user: Un identificador único que representa a su usuario final, que puede ayudar a OpenAI a monitorear y detectar abusos. Aprende más.

A tomar en cuenta, según la documentación el parametro temperature y el parametro top_p se recomienda que no sean modificados al mismo tiempo en el mismo prompt, cito.

temperature: número Opcional Predeterminado a 1 Qué temperatura de muestreo usar, entre 0 y 2. Los valores más altos, como 0,8, harán que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la harán más enfocada y determinista.

Por lo general, recomendamos modificar esto o top_p, pero no ambos.

top_p: Una alternativa al muestreo con temperature, llamado muestreo de núcleo, donde el modelo considera los resultados de los tokens con masa de probabilidad top_p. Por lo tanto, 0.1 significa que solo se consideran las fichas que comprenden el 10 % de la masa de probabilidad superior.

Por lo general, recomendamos modificar esta o temperature, pero no ambas.

UX Tip:
Con el argumento stream=True podemos ir capturando pequeños fragmentos de la respuesta para mostrarlos en tiempo real y no esperar hasta que el modelo termine para visualizar el resultado.

response = openai.Completion.create(
    model="text-davinci-003",
    prompt="Qué son LLM models",
    max_tokens=300,
    temperature=0.3,
    n=1,
    stream=True,
)
for chunk in response:
    print(chunk.choices[0].text, end="")

Según leo en la documentación, menciona que si usas el parámetro temperature, no uses el parámetro top_p y viceversa.

Para puntualizar una cosa.

En la documentación OpenAI recomienda modificar el parámetro temperature o top_p pero no ambos.

Fuente: API Reference OpenIA - temperature

Si bien la documentación dice que se recomienda el uso de uno u otro para el caso de temparature y top\_p es solo eso... una recomendación. Si juegan con ambos parámetros en distintos valores verán resultados diversos, por lo que uso dependerá del fin de la aplicación a crear.

siento que la profesora no domina bien el tema, por ejemplo uso top_p y temperatura al mismo tiempo, y openIA dice que no use mabos al mismo tiempo,

Ojo aunque es importante conocer y aprender como hacer fine-tuning se deber considerar lo siguiente: “On July 6, 2023, we announced the deprecation of ada, babbage, curie and davinci models. These models, including fine-tuned versions, will be turned off on January 4, 2024. We are actively working on enabling fine-tuning for upgraded base GPT-3 models as well as GPT-3.5 Turbo and GPT-4, we recommend waiting for those new options to be available rather than fine-tuning based off of the soon to be deprecated models.”