OpenAI
ఈ పేజీ మెషిన్ ట్రాన్స్‌లేషన్‌తో అనువదించబడింది. అసలు ఇంగ్లీష్ ఆర్టికల్‌ను చూడండి.

OpenAI APIతో టోకెన్ సంభావ్యతను మార్చేందుకు logit bias ఉపయోగించడం

మోడల్ అవుట్‌పుట్‌లను మార్చడానికి logit bias పారామీటర్‌ను ఎలా ఉపయోగించాలో తెలుసుకోండి

అప్డేట్ చేయబడిన: 17 days ago

Logit_bias అనేది మోడల్ జనరేట్ చేసిన అవుట్‌పుట్‌లో నిర్దిష్ట టోకెన్‌లు కనిపించే అవకాశాన్ని మార్చే ఐచ్ఛిక పరామీటర్.

ఈ పరామీటర్ టోకెన్‌లను వాటికి సంబంధించిన బయాస్ విలువకు మ్యాప్ చేసే JSON ఆబ్జెక్ట్‌ను అంగీకరిస్తుంది; ఆ విలువ -100 (చాలా సందర్భాల్లో ఆ టోకెన్ జనరేట్ కావడాన్ని బ్లాక్ చేస్తుంది) నుండి 100 (ఆ టోకెన్‌ను ప్రత్యేకంగా ఎంచుకునేలా చేసి, అది జనరేట్ అయ్యే అవకాశాన్ని పెంచుతుంది) వరకు ఉంటుంది. -1 మరియు 1 వంటి మోస్తరు విలువలు టోకెన్ ఎంపికయ్యే సంభావ్యతను తక్కువ స్థాయిలో మార్చుతాయి.

పరామీటర్ టెక్స్ట్‌ను కాకుండా టోకెన్‌లను తీసుకుంటుంది కాబట్టి, టెక్స్ట్‌ను టోకెన్ IDలుగా మార్చడానికి మీరు టోకనైజర్ సాధనం ఉపయోగించాలి. కొన్ని ఉదాహరణలను పరిశీలిద్దాం.

ఉదాహరణ 1: 'time' ను తొలగించండి

మనం “Once upon a,” అనే ప్రాంప్ట్‌తో Completions ఎండ్‌పాయింట్‌ను కాల్ చేస్తే, పూర్తీకరణ “ time.” తో ప్రారంభమయ్యే అవకాశం చాలా ఎక్కువ.

“time” అనే పదం ID 2435గా టోకనైజ్ అవుతుంది, అలాగే “ time” (దాని ప్రారంభంలో ఒక స్పేస్ ఉంది) అనే పదం ID 640గా టోకనైజ్ అవుతుంది. అవి పూర్తీకరణలో కనిపించకుండా నిషేధించడానికి, వాటిని -100తో logit_bias ద్వారా ఇలా పంపవచ్చు:

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

ఇప్పుడు, “ఒకానొకప్పుడు” అనే ప్రాంప్ట్ “విషాదకరమైన అర్ధరాత్రి వేళ, బలహీనంగా, అలసటతో ఆలోచిస్తూ ఉన్నాను.” అనే పూర్తీకరణను రూపొందిస్తుంది.

“time” అనే పదం ఎక్కడా కనిపించదని గమనించండి. ఎందుకంటే logit_biasను ఉపయోగించి ఆ టోకెన్‌ను మనం సమర్థంగా నిషేధించాం.

ఉదాహరణ 2: లక్షిత లాజిట్ బయాస్ విలువలతో దిశానిర్దేశం చేయడం

వంటకాలను రూపొందించే ప్రాంప్ట్‌ను ఉపయోగించి మరో ఉదాహరణను పరిశీలిద్దాం.

చాలా వంటకాలు గిన్నెలను ఉపయోగించమని సూచిస్తాయి. కానీ మన దగ్గర గిన్నె లేదని అనుకుందాం. మన పూర్తీకరణలో “pot” అనే పదం రూపొందకుండా తొలగించాలి. “Pot”ను టోకెన్‌లుగా విభజించినప్పుడు దాని ఐడీ 1787. కాబట్టి దిగువ చూపిన విధంగా logit_biasను సెట్ చేసి, అది రూపొందకుండా చేయవచ్చు.

logit_bias={1787:-100}

ఇప్పుడు, మన పూర్తీకరణలో బదులుగా “saucepan” అనే పదం ఉండవచ్చు. అద్భుతం!

ఉదాహరణ 3: ఒక పదం కనిపించే అవకాశాన్ని పెంచడం

ఒక పదం కనిపించే సంభావ్యతను పెంచాలని అనుకుందాం.

ఉదాహరణకు, మైక్రోవేవ్‌తో తయారు చేయగల వంటకాల కోసం మనం ఒక సైట్‌ను నిర్వహిస్తున్నామని అనుకుందాం. అందువల్ల వంటకంలో “microwave” అనే పదం తప్పకుండా కనిపించాలని కోరుకుంటాం. Microwaveను టోకెన్‌లుగా విభజించినప్పుడు దాని ఐడీ 27000. ధనాత్మక logit_biasను ఈ విధంగా సెట్ చేయడం ద్వారా ఈ టోకెన్ కనిపించే సంభావ్యతను పెంచవచ్చు:

logit_bias={27000:5}

ఇప్పుడు, మన పూర్తీకరణలో “microwave” అనే పదం వచ్చే అవకాశం ఎక్కువ.

మేము logit_biasను 5గా సెట్ చేశాం. ఎందుకంటే దాన్ని 1గా సెట్ చేసినప్పుడు పూర్తీకరణలో “microwave” అనే పదం తరచుగా కనిపించలేదు. 10 వంటి అధిక logit_bias విలువలను ఉపయోగించినప్పుడు మాత్రం పూర్తీకరణలో “ microwave” అనే పదం మరీ తరచుగా కనిపించింది.

ఈ వ్యాసం ఉపయోగకరంగా ఉందా?