Logit_bias ialah parameter pilihan yang mengubah kebarangkalian token tertentu muncul dalam output yang dijana model.
Parameter ini menerima objek JSON yang memetakan token kepada nilai bias berkaitan daripada -100 (yang dalam kebanyakan kes akan menyekat token itu daripada dijana) hingga 100 (pemilihan eksklusif token yang menjadikannya lebih berkemungkinan dijana). Nilai sederhana seperti -1 dan 1 akan mengubah kebarangkalian token dipilih pada tahap yang lebih kecil.
Memandangkan parameter ini menerima token, bukan teks, anda perlu menggunakan alat tokenizer untuk menukar teks kepada ID token. Mari kita lihat beberapa contoh.
Contoh 1: Alih keluar 'time'
Jika kita memanggil titik akhir Completions dengan gesaan “Once upon a,” pelengkapan berkemungkinan besar akan bermula dengan “ time.”
Perkataan “time” ditokennkan kepada ID 2435 dan perkataan “ time” (yang mempunyai ruang pada permulaan) ditokennkan kepada ID 640. Kita boleh menghantarnya melalui logit_bias dengan -100 untuk menghalangnya daripada muncul dalam pelengkapan, seperti berikut:
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}
)Kini, prom “Once upon a” menghasilkan pelengkapan “midnight dreary, while I pondered, weak and weary.”
Perhatikan bahawa perkataan “time” langsung tidak muncul kerana kita telah menyekat token tersebut menggunakan logit_bias.
Contoh 2: Berikan panduan menggunakan nilai bias logit yang disasarkan
Mari kita lihat satu lagi contoh yang menggunakan prom penjana resipi.
Banyak resipi menyarankan penggunaan periuk, tetapi katakan kita tidak mempunyai periuk. Kita mahu menghalang perkataan “pot” daripada dijana sebagai sebahagian daripada pelengkapan kita. “Pot” ditokenkan kepada 1787, jadi kita boleh menghalangnya daripada penjanaan dengan menetapkan logit_bias seperti di bawah.
logit_bias={1787:-100}Kini, pelengkapan kita mungkin memasukkan perkataan “saucepan” pula. Sempurna!
Contoh 3: Tingkatkan kebarangkalian sesuatu perkataan muncul
Katakan kita mahu meningkatkan kebarangkalian sesuatu perkataan muncul.
Sebagai contoh, mungkin kita mengendalikan laman yang menawarkan resipi untuk dimasak menggunakan ketuhar gelombang mikro, jadi kita mahu memastikan perkataan “microwave” muncul dalam resipi tersebut. “Microwave” ditokenkan kepada ID 27000. Kita boleh meningkatkan kebarangkalian token ini muncul dengan menetapkan nilai logit_bias yang positif seperti berikut:
logit_bias={27000:5}Kini, pelengkapan kita lebih berkemungkinan mengandungi perkataan “microwave”.
Kita menetapkan logit_bias kepada 5 kerana tetapan logit_bias kepada 1 selalunya tidak menyebabkan perkataan “microwave” muncul dalam pelengkapan, manakala nilai logit_bias yang lebih tinggi seperti 10 menyebabkan perkataan “ microwave” muncul terlalu kerap dalam pelengkapan.
