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․ ուղղորդենք արդյունքը logit bias-ի նպատակային արժեքներով
Դիտարկենք ևս մեկ օրինակ՝ օգտագործելով բաղադրատոմս ստեղծող հարցում։
Շատ բաղադրատոմսեր առաջարկում են կաթսա օգտագործել, բայց ենթադրենք՝ կաթսա չունենք։ Մենք պետք է թույլ չտանք, որ գեներացված շարունակության մեջ հայտնվի «pot» բառը։ «Pot» բառին համապատասխանում է 1787 ID-ով թոքենը, ուստի այն կարող ենք բացառել գեներացումից՝ logit_bias-ը սահմանելով ստորև ներկայացված ձևով։
logit_bias={1787:-100}Այժմ մեր լրացումը դրա փոխարեն կարող է ներառել «saucepan» բառը։ Հիանալի է։
Օրինակ 3․ մեծացնենք բառի հայտնվելու հավանականությունը
Ենթադրենք՝ ցանկանում ենք մեծացնել որևէ բառի հայտնվելու հավանականությունը։
Օրինակ՝ գուցե վարում ենք կայք, որն առաջարկում է միկրոալիքային վառարանով պատրաստվող բաղադրատոմսեր, ուստի ուզում ենք համոզվել, որ բաղադրատոմսում կա «microwave» բառը։ «Microwave» բառին համապատասխանում է 27000 ID-ով թոքենը։ Այդ թոքենի հայտնվելու հավանականությունը կարող ենք մեծացնել՝ logit_bias-ի համար դրական արժեք սահմանելով, ինչպես ցույց է տրված ստորև։
logit_bias={27000:5}Այժմ ավելի հավանական է, որ մեր շարունակության մեջ հայտնվի «microwave» բառը։
Մենք logit_bias-ը սահմանեցինք 5, քանի որ նկատեցինք, որ այն 1 սահմանելու դեպքում «microwave» բառը հաճախ չէր հայտնվում շարունակության մեջ, իսկ ավելի բարձր արժեքների, օրինակ՝ 10-ի դեպքում « microwave» բառը չափազանց հաճախ էր հայտնվում։
