OpenAI
Esta página foi traduzida automaticamente. Veja o artigo original em inglês.

Usando logit bias para alterar a probabilidade de tokens com a API da OpenAI

Aprenda a usar o parâmetro logit bias para modificar saídas de modelos

Atualizado: 17 days ago

O Logit_bias é um parâmetro opcional que modifica a probabilidade de tokens especificados aparecerem em uma saída gerada pelo modelo.

Esse parâmetro aceita um objeto JSON que mapeia tokens para um valor de viés associado de -100 (que, na maioria dos casos, impedirá que esse token seja gerado) a 100 (seleção exclusiva do token, o que aumenta a probabilidade de ele ser gerado). Valores moderados como -1 e 1 alteram em menor grau a probabilidade de um token ser selecionado.

Como o parâmetro recebe tokens, não texto, você deve usar uma ferramenta de tokenização para converter texto em IDs de token. Vamos ver alguns exemplos.

Exemplo 1: remover 'time'

Se chamarmos o endpoint Completions com o prompt “Once upon a,”, é muito provável que a conclusão comece com “ time.”

A palavra “time” é tokenizada para o ID 2435, e a palavra “ time” (que tem um espaço no início) é tokenizada para o ID 640. Podemos passá-las por logit_bias com -100 para impedir que apareçam na conclusão, assim:

completion = client.chat.completions.create( 
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You finish user's sentences."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)

Agora, o prompt "Once upon a" gera a conclusão "midnight dreary, while I pondered, weak and weary."

Observe que a palavra "time" não aparece em nenhum lugar, pois efetivamente bloqueamos esse token usando logit_bias.

Exemplo 2: dê direcionamento com valores específicos de viés de logit

Vejamos outro exemplo usando um prompt de geração de receitas.

Muitas receitas sugerem usar panelas, mas suponha que não tenhamos nenhuma. Vamos impedir que a palavra "pot" seja gerada como parte da conclusão. "Pot" é tokenizada com o ID 1787, portanto podemos removê-la da geração definindo logit_bias como mostrado abaixo.

logit_bias={1787:-100}

Agora, nossa conclusão pode incluir a palavra “saucepan” em vez disso. Perfeito!

Exemplo 3: aumente a probabilidade de uma palavra aparecer

Suponha que queiramos aumentar a probabilidade de uma palavra aparecer.

Por exemplo, talvez tenhamos um site que ofereça receitas que podem ser feitas no micro-ondas e, por isso, queremos garantir que a palavra "microwave" apareça na receita. "Microwave" é tokenizada com o ID 27000. Podemos aumentar a probabilidade de esse token aparecer definindo um logit_bias positivo desta forma:

logit_bias={27000:5}

Agora, é mais provável que nossa conclusão inclua a palavra "microwave".

Definimos logit_bias como 5, pois constatamos que defini-lo como 1 muitas vezes não fazia a palavra "microwave" aparecer na conclusão, enquanto valores mais altos de logit_bias, como 10, faziam a palavra " microwave" aparecer com frequência excessiva.

Este artigo foi útil?