Logit_bias একটি ঐচ্ছিক প্যারামিটার, যা মডেল-জেনারেটেড আউটপুটে নির্দিষ্ট টোকেনগুলো দেখা দেওয়ার সম্ভাবনা পরিবর্তন করে.
এই প্যারামিটারটি একটি JSON অবজেক্ট গ্রহণ করে, যা টোকেনগুলোকে -100 (যা বেশিরভাগ ক্ষেত্রে সেই টোকেনটি জেনারেট হওয়া আটকাবে) থেকে 100 (টোকেনটির একচেটিয়া নির্বাচন, যার ফলে এটি জেনারেট হওয়ার সম্ভাবনা বেশি হয়) পর্যন্ত সংশ্লিষ্ট বায়াস মানের সঙ্গে ম্যাপ করে. -1 ও 1-এর মতো মাঝারি মান কোনো টোকেন নির্বাচিত হওয়ার সম্ভাবনা কম মাত্রায় পরিবর্তন করবে.
যেহেতু প্যারামিটারটি টেক্সট নয়, টোকেন গ্রহণ করে, তাই টেক্সটকে টোকেন আইডিতে রূপান্তর করতে একটি টোকেনাইজার টুল ব্যবহার করা উচিত. চলুন কয়েকটি উদাহরণ দেখে নেওয়া যাক.
উদাহরণ ১: ‘time’ সরান
যদি আমরা “Once upon a,” প্রম্পট দিয়ে Completions এন্ডপয়েন্ট কল করি, তাহলে কমপ্লিশনটি খুব সম্ভবত “ 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 ব্যবহার করে সেই টোকেনটি কার্যকরভাবে নিষিদ্ধ করেছি.
উদাহরণ ২: লক্ষ্যভিত্তিক লজিট বায়াস মান দিয়ে দিকনির্দেশনা দিন
চলুন একটি রেসিপি জেনারেটর প্রম্পট ব্যবহার করে আরেকটি উদাহরণ দেখি.
অনেক রেসিপিতে হাঁড়ি ব্যবহার করার পরামর্শ দেওয়া হয়, কিন্তু ধরুন আমাদের কাছে কোনো হাঁড়ি নেই. আমরা চাইব আমাদের কমপ্লিশনের অংশ হিসেবে “pot” শব্দটি যেন জেনারেট না হয়. ‘Pot’ টোকেনাইজ হয়ে 1787 হয়, তাই নিচের মতো আমাদের logit_bias সেট করে আমরা এটিকে আমাদের জেনারেশন থেকে সরাতে পারি.
logit_bias={1787:-100}এখন আমাদের কমপ্লিশনে তার বদলে “saucepan” শব্দটি থাকতে পারে. চমৎকার.
উদাহরণ ৩: কোনো শব্দ দেখা দেওয়ার সম্ভাবনা বাড়ান
ধরা যাক, আমরা কোনো শব্দ দেখা দেওয়ার সম্ভাবনা বাড়াতে চাই.
উদাহরণস্বরূপ, হয়তো আমরা এমন একটি সাইট চালাচ্ছি যা মাইক্রোওয়েভে বানানো যায় এমন রেসিপি দেয়, তাই আমরা নিশ্চিত হতে চাই যে রেসিপিতে “microwave” শব্দটি আছে. Microwave টোকেনাইজ হয়ে আইডি 27000 হয়. একটি ধনাত্মক logit_bias সেট করে আমরা এই টোকেনটি দেখা দেওয়ার সম্ভাবনা বাড়াতে পারি, যেমন:
logit_bias={27000:5}এখন আমাদের কমপ্লিশনে ‘microwave’ শব্দটি থাকার সম্ভাবনা বেশি.
আমরা logit_bias 5 সেট করেছি, কারণ দেখেছি logit_bias 1 সেট করলে প্রায়ই কমপ্লিশনে “microwave” শব্দটি দেখা যেত না, আর 10-এর মতো উচ্চতর logit_bias মান দিলে কমপ্লিশনে “ microwave” শব্দটি খুব বেশি বার দেখা যেত.
