OpenAI
Această pagină a fost tradusă automat. Vezi articolul original în limba engleză.

Folosirea logit bias pentru a modifica probabilitatea tokenului cu API-ul OpenAI

Află cum să folosești parametrul logit bias pentru a modifica rezultatele modelului

Actualizat: 5 days ago

Logit_bias este un parametru opțional care modifică probabilitatea ca tokenurile specificate să apară într-un rezultat generat de model.

Acest parametru acceptă un obiect JSON care mapează tokenurile la o valoare de bias asociată de la -100 (care, în cele mai multe cazuri, va împiedica generarea acelui token) la 100 (selecție exclusivă a tokenului, ceea ce îl face mai probabil să fie generat). Valorile moderate, precum -1 și 1, vor schimba într-o măsură mai mică probabilitatea ca un token să fie selectat.

Deoarece parametrul primește tokenuri, nu text, vei dori să folosești un instrument de tokenizare pentru a converti textul în ID-uri de tokenuri. Să trecem prin câteva exemple.

Exemplul 1: Elimină „time”

Dacă apelăm punctul final Completions cu solicitarea „Once upon a,”, completarea va începe foarte probabil cu „ time.”

Cuvântul „time” este tokenizat cu ID-ul 2435, iar cuvântul „ time” (care are un spațiu la început) este tokenizat cu ID-ul 640. Le putem transmite prin logit_bias cu -100 pentru a le interzice să apară în completare, astfel:

completion = client.chat.completions.create( 
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Tu termini propozițiile utilizatorului."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)

Acum, solicitarea „Once upon a” generează completarea „midnight dreary, while I pondered, weak and weary.”

Observă că termenul „time” nu apare nicăieri, deoarece am interzis efectiv acel token folosind logit_bias.

Exemplul 2: Oferă direcție cu valori logit bias țintite

Să analizăm un alt exemplu, folosind o solicitare pentru generarea unei rețete.

Multe rețete sugerează folosirea oalelor, dar să presupunem că nu avem o oală. Vom dori să împiedicăm generarea cuvântului pot ca parte a completării noastre. „Pot” este tokenizat ca 1787, așa că îl putem elimina din generare setând logit_bias astfel cum este mai jos.

logit_bias={1787:-100}

Acum, completarea noastră ar putea include în schimb cuvântul „saucepan”. Perfect!

Exemplul 3: Crește șansele ca un cuvânt să apară

Să presupunem că vrem să creștem probabilitatea ca un cuvânt să apară.

De exemplu, poate administrăm un site care oferă rețete pe care le poți face la cuptorul cu microunde, așa că vrem să ne asigurăm că în rețetă apare cuvântul „microwave”. Microwave este tokenizat cu ID-ul 27000. Putem crește probabilitatea ca acest token să apară setând un logit_bias pozitiv, astfel:

logit_bias={27000:5}

Acum, completarea noastră are șanse mai mari să includă cuvântul „microwave”.

Am setat logit_bias la 5, deoarece am constatat că setarea logit_bias la 1 de multe ori nu făcea ca termenul „microwave” să apară în completare, în timp ce valori mai mari ale logit_bias, cum ar fi 10, făceau ca „ microwave” să apară în completare prea des.

A fost util acest articol?