OpenAI
هذه الصفحة مترجمة باستخدام الترجمة الآلية. تفضل بالاطّلاع على المقال الأصلي بالإنجليزية.

استخدام تحيز logit لتغيير احتمال الرموز باستخدام واجهة برمجة تطبيقات OpenAI

تعرّف على كيفية استخدام معلمة تحيز logit لتعديل مخرجات النموذج

تم التحديث: 12 days ago

Logit_bias معلمة اختيارية تعدّل احتمال ظهور رموز محددة في مخرجات يولدها النموذج.

تقبل هذه المعلمة كائن JSON يربط الرموز بقيمة تحيز مرتبطة من -100 (والتي ستمنع في معظم الحالات توليد ذلك الرمز) إلى 100 (اختيار حصري للرمز يجعله أكثر احتمالًا للتوليد). ستغيّر القيم المتوسطة مثل -1 و1 احتمال اختيار رمز بدرجة أقل.

بما أن المعلمة تستقبل رموزًا لا نصًا، فستحتاج إلى استخدام أداة تقسيم النص إلى رموز لتحويل النص إلى معرّفات رموز. لنستعرض بضعة أمثلة.

المثال 1: إزالة «time»

إذا استدعينا نقطة نهاية Completions باستخدام المطالبة «Once upon a»، فمن المرجح جدًا أن يبدأ الإكمال بـ « time».

تُقسَّم الكلمة «time» إلى المعرّف 2435، وتُقسَّم الكلمة « time» (التي تحتوي على مسافة في بدايتها) إلى المعرّف 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 مستهدفة

لنستعرض مثالًا آخر باستخدام مطالبة لمولّد وصفات.

تقترح وصفات كثيرة استخدام القدور، ولكن لنفترض أنه ليس لدينا قدر. سنرغب في إزالة الكلمة pot من التوليد كجزء من الإكمال. تُقسَّم «Pot» إلى 1787، لذا يمكننا إزالتها من التوليد لدينا بتعيين logit_bias كما هو موضح أدناه.

logit_bias={1787:-100}

الآن، قد يتضمن الإكمال الكلمة «saucepan» بدلًا من ذلك. رائع!

المثال 3: زيادة احتمالات ظهور كلمة

لنفترض أننا نريد زيادة احتمال ظهور كلمة ما.

على سبيل المثال، ربما ندير موقعًا يقدم وصفات يمكنك إعدادها باستخدام microwave، لذلك نريد التأكد من ظهور الكلمة «microwave» في الوصفة. تُقسَّم «Microwave» إلى المعرّف 27000. يمكننا زيادة احتمال ظهور هذا الرمز عن طريق تعيين logit_bias موجب، كما يلي:

logit_bias={27000:5}

الآن، أصبح من المرجح أن يتضمن الإكمال الكلمة «microwave».

ضبطنا logit_bias على 5، إذ وجدنا أن ضبط logit_bias على 1 لا يؤدي غالبًا إلى ظهور الكلمة «microwave» في الإكمال، بينما أدت قيم logit_bias الأعلى مثل 10 إلى ظهور الكلمة « microwave» في الإكمال كثيرًا جدًا.

هل كانت هذه المقالة مفيدة؟