Logit_bias በሞዴል በተመነጨ ውጤት ውስጥ የተገለጹ tokens የመታየት ዕድልን የሚቀይር አማራጭ ፓራሜትር ነው።
ይህ ፓራሜትር tokensን ከ -100 (በአብዛኛው ጊዜ ያንን token እንዳይመነጭ ይከለክላል) እስከ 100 (tokenኑን ብቻ መምረጥ፣ ይህም እንዲመነጭ ዕድሉን ይጨምራል) ካለ ተዛማጅ የbias እሴት ጋር የሚዛመድ JSON object ይቀበላል። እንደ -1 እና 1 ያሉ መካከለኛ እሴቶች token የመመረጥ ዕድልን በአነስተኛ ደረጃ ይቀይራሉ።
ፓራሜትሩ ጽሑፍ ሳይሆን tokensን ስለሚወስድ፣ ጽሑፍን ወደ token IDs ለመቀየር tokenizer መሣሪያ መጠቀም ይፈልጋሉ። ጥቂት ምሳሌዎችን እንመልከት።
ምሳሌ 1፦ “time”ን አስወግድ
የCompletions መጨረሻ ነጥብን “Once upon a,” በሚለው እርምጃ ብንጠራው፣ ማጠናቀቂያው በ“ time.” መጀመር በጣም ዕድሉ ከፍተኛ ነው።
“time” የሚለው ቃል tokenize ሲደረግ ወደ ID 2435 ይለወጣል፣ እና “ time” የሚለው ቃል (በመጀመሪያው ቦታ ክፍት ቦታ ያለው) tokenize ሲደረግ ወደ ID 640 ይለወጣል። እነዚህን በlogit_bias ውስጥ -100 በማድረግ በማጠናቀቂያው ውስጥ እንዳይታዩ መከልከል እንችላለን፣ እንዲህ፦
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "የተጠቃሚውን አረፍተ ነገሮች ታጠናቅቃለህ።"},
"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ን በመጠቀም ያንን token በተግባር አግደነዋል።
ምሳሌ 2፦ በተመረጡ የlogit bias እሴቶች አቅጣጫ መስጠት
የምግብ አሰራር አመንጪ እርምጃን በመጠቀም ሌላ ምሳሌ እንመልከት።
ብዙ የምግብ አሰራሮች ድስት እንድንጠቀም ይጠቁማሉ፤ እኛ ግን ድስት የለንም እንበል። “pot” የሚለው ቃል እንደ ማጠናቀቂያችን አካል እንዳይመነጭ ማድረግ እንፈልጋለን። 'Pot' በtoken ሲከፈል 1787 ይሆናል፤ ስለዚህ logit_biasን ከታች በሚታየው መንገድ በማዘጋጀት ከሚመነጨው ውጤት ልናስወግደው እንችላለን።
logit_bias={1787:-100}አሁን፣ ማጠናቀቂያችን በምትኩ “saucepan” የሚለውን ቃል ሊያካትት ይችላል። ፍጹም!
ምሳሌ 3፦ አንድ ቃል የመታየት ዕድሉን መጨመር
አንድ ቃል የመታየት ዕድሉን መጨመር ፈልገናል እንበል።
ለምሳሌ፣ በማይክሮዌቭ ሊዘጋጁ የሚችሉ ምግቦችን አሰራር የሚያቀርብ ድረ ገጽ እያስተዳደርን ሊሆን ይችላል፤ ስለዚህ “microwave” የሚለው ቃል በምግብ አሰራሩ ውስጥ መታየቱን ማረጋገጥ እንፈልጋለን። Microwave በtoken ሲከፈል ID 27000 ይሆናል። አዎንታዊ logit_bias በማዘጋጀት ይህ token የመታየት ዕድሉን እንዲህ ማሳደግ እንችላለን፦
logit_bias={27000:5}አሁን ማጠናቀቂያችን 'microwave' የሚለውን ቃል የማካተት ዕድሉ ከፍ ብሏል።
logit_biasን ወደ 5 አዘጋጅተናል፤ ምክንያቱም logit_biasን ወደ 1 ማዘጋጀት ብዙ ጊዜ “microwave” የሚለው ቃል በማጠናቀቂያው ውስጥ እንዲታይ አያደርግም፤ እንደ 10 ያሉ ከፍተኛ የlogit_bias እሴቶች ደግሞ “ microwave” የሚለው ቃል በማጠናቀቂያው ውስጥ በጣም ብዙ ጊዜ እንዲታይ ያደርጋሉ።
