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” የሚለው ቃል በየትም እንደማይገኝ ያስተውሉ፣ ምክንያቱም ያንን token logit_bias በመጠቀም በትክክል ከልክለናል።
ምሳሌ 2፦ በተነጣጠሩ የlogit bias እሴቶች አቅጣጫ ስጥ
የምግብ አሰራር አመንጪ እርምጃን በመጠቀም፣ ሌላ ምሳሌ እንመልከት።
ብዙ የምግብ አሰራሮች ማሰሮዎችን መጠቀምን ይመክራሉ፣ ግን ማሰሮ የለንም እንበል። pot የሚለው ቃል እንደ ማጠናቀቂያችን አካል እንዳይመነጭ ማስወገድ እንፈልጋለን። “Pot” tokenize ሲደረግ ወደ 1787 ይለወጣል፣ ስለዚህ logit_biasን እንደሚከተለው በማዘጋጀት ከማመንጨታችን ማስወገድ እንችላለን።
logit_bias={1787:-100}አሁን፣ ማጠናቀቂያችን በምትኩ “saucepan” የሚለውን ቃል ሊያካትት ይችላል። ፍጹም!
ምሳሌ 3፦ አንድ ቃል የመታየት ዕድልን ጨምር
አንድ ቃል የመታየት ዕድልን ማሳደግ እንፈልጋለን እንበል።
ለምሳሌ፣ በmicrowave ሊያዘጋጁ የሚችሉ የምግብ አሰራሮችን የሚያቀርብ ጣቢያ እያስኬድን ሊሆን ይችላል፣ ስለዚህ “microwave” የሚለው ቃል በምግብ አሰራሩ ውስጥ መታየቱን ማረጋገጥ እንፈልጋለን። Microwave tokenize ሲደረግ ወደ ID 27000 ይለወጣል። አዎንታዊ logit_bias በማዘጋጀት ይህ token የመታየት ዕድልን ማሳደግ እንችላለን፣ እንዲህ፦
logit_bias={27000:5}አሁን፣ ማጠናቀቂያችን “microwave” የሚለውን ቃል ማካተት ዕድሉ ከፍ ይላል።
logit_biasን ወደ 5 አድርገናል፣ ምክንያቱም logit_biasን ወደ 1 ማድረግ ብዙ ጊዜ “microwave” የሚለው ቃል በማጠናቀቂያው ውስጥ እንዲታይ አያደርግም ብለን አግኝተናል፣ ከፍተኛ የlogit_bias እሴቶች እንደ 10 ግን “ microwave” የሚለው ቃል በማጠናቀቂያው ውስጥ በጣም ብዙ ጊዜ እንዲታይ አድርገዋል።
