OpenAI
Оваа страница беше машински преведена. Погледнете ја оригиналната статија на англиски јазик.

Користење на logit bias за менување на веројатноста на токени со OpenAI API

Научете како да го користите параметарот logit bias за да ги измените излезите на моделот

Ажурирано: 17 days ago

Logit_bias е изборен параметар што ја менува веројатноста одредени токени да се појават во излез генериран од модел.

Овој параметар прифаќа JSON објект што ги мапира токените на поврзана вредност на пристрасност од -100 (што во повеќето случаи ќе го блокира генерирањето на тој токен) до 100 (исклучив избор на токенот, што го прави поверојатно да биде генериран). Умерени вредности како -1 и 1 ќе ја променат веројатноста токенот да биде избран во помал степен.

Бидејќи параметарот прима токени, а не текст, ќе треба да користите алатка за токенизирање за да го претворите текстот во ID-а на токени. Да разгледаме неколку примери.

Пример 1: Отстранување на „time“

Ако ја повикаме крајната точка Completions со промптот „Once upon a,“ довршувањето многу веројатно ќе започне со „ time.“

Зборот „time“ се токенизира во ID 2435, а зборот „ time“ (кој има празно место на почетокот) се токенизира во ID 640. Можеме да ги проследиме преку logit_bias со -100 за да им забраниме да се појават во довршувањето, вака:

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}
)

Сега, промптот „Once upon a“ го генерира довршувањето „midnight dreary, while I pondered, weak and weary.“

Забележете дека зборот „time“ воопшто не се појавува, бидејќи практично го забранивме тој токен со помош на logit_bias.

Пример 2: Насочете го генерирањето со целни вредности за логит-пристрасност

Да разгледаме уште еден пример со промпт за генератор на рецепти.

Во многу рецепти се предлага користење тенџериња, но да претпоставиме дека немаме тенџере. Ќе сакаме да спречиме зборот „pot“ да се генерира како дел од нашето довршување. „Pot“ се токенизира во ID 1787, па можеме да го исклучиме од генерирањето со поставување на logit_bias како што е прикажано подолу.

logit_bias={1787:-100}

Сега, нашето довршување можеби наместо тоа ќе го вклучи зборот „saucepan“. Совршено!

Пример 3: Зголемете ја веројатноста да се појави збор

Да претпоставиме дека сакаме да ја зголемиме веројатноста да се појави одреден збор.

На пример, можеби водиме веб-локација што нуди рецепти кои може да се подготват во микробранова печка, па сакаме да се осигуриме дека зборот „microwave“ се појавува во рецептот. Microwave се токенизира во ID 27000. Можеме да ја зголемиме веројатноста овој токен да се појави така што ќе зададеме позитивна вредност за logit_bias, вака:

logit_bias={27000:5}

Сега е поверојатно нашето довршување да го содржи зборот „microwave“.

Го поставивме logit_bias на 5, бидејќи утврдивме дека поставувањето на logit_bias на 1 честопати не доведуваше до појава на зборот „microwave“ во довршувањето, додека повисоките вредности за logit_bias, како 10, предизвикуваа зборот „ microwave“ да се појавува премногу често.

Дали оваа статија ви беше корисна?