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: 16 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 lugar nenhum, porque efetivamente banimos esse token usando logit_bias.

Exemplo 2: orientar com valores de logit bias direcionados

Vamos ver outro exemplo, usando um prompt de gerador de receitas.

Muitas receitas sugerem usar panelas, mas suponha que não tenhamos uma panela. Queremos impedir que a palavra pot seja gerada como parte da nossa conclusão. 'Pot' é tokenizado para 1787, então podemos removê-lo da nossa geração definindo nosso logit_bias como abaixo.

logit_bias={1787:-100}

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

Exemplo 3: aumentar as chances de uma palavra aparecer

Suponha que queremos aumentar a probabilidade de uma palavra aparecer.

Por exemplo, talvez estejamos executando um site que oferece receitas que você pode fazer com micro-ondas, então queremos garantir que a palavra “microwave” apareça na receita. Microwave é tokenizado para o ID 27000. Podemos aumentar a probabilidade de esse token aparecer definindo um logit_bias positivo, assim:

logit_bias={27000:5}

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

Definimos logit_bias como 5, pois constatamos que definir logit_bias 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 na conclusão com frequência demais.

Este artigo foi útil?