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

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

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

అప్డేట్ చేయబడిన: 8 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}
)

ఇప్పుడు, “Once upon a” అనే ప్రాంప్ట్ “midnight dreary, while I pondered, weak and weary.” అనే పూర్తీకరణను జనరేట్ చేస్తుంది.

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

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

రెసిపీ జనరేటర్ ప్రాంప్ట్‌ను ఉపయోగించి, మరో ఉదాహరణను పరిశీలిద్దాం.

అనేక రెసిపీలు వంట పాత్రలను ఉపయోగించాలని సూచిస్తాయి, కానీ మన దగ్గర వంట పాత్ర లేదని అనుకుందాం. మన పూర్తీకరణలో భాగంగా pot అనే పదం జనరేట్ కాకుండా దాన్ని తొలగించాలనుకుంటాం. 'Pot' 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” అనే పదం తరచుగా కనిపించలేదని, అయితే 10 వంటి అధిక logit_bias విలువలతో పూర్తీకరణలో “ microwave” అనే పదం చాలా తరచుగా కనిపించిందని గుర్తించాము.

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