yapay zeka dil modellerinin, özellikle de daha küçük ve yerel olarak barındırılanların, kendini tekrar eden veya deterministik eğilimler göstermesi, genellikle token üretim mekanizmalarının ve kullanılan örnekleme (sampling) stratejilerinin bir sonucudur. Transformer tabanlı modeller, bir sonraki kelimeyi (token) mevcut bağlama ve öğrenilmiş olasılık dağılımlarına göre tahmin ederler. Eğer bu olasılık dağılımı belirli token'lar üzerinde aşırı derecede yoğunlaşırsa veya bağlam penceresi içinde döngüsel bir patern oluşursa, model kendini tekrarlamaya başlar.
Bu durumun teknik nedenleri arasında başlıca dört faktör öne çıkar. Birincisi, düşük `temperature` değeri. `Temperature` parametresi, token olasılıklarının yumuşatılmasını kontrol eder. Düşük değerler (örneğin 0.1-0.5), modelin en olası token'ları seçmesini teşvik ederek çıktıyı daha tahmin edilebilir, ancak tekrarlayıcı hale getirir. Yüksek değerler (örneğin 0.8-1.0) ise daha az olası token'ların da seçilmesine izin vererek çeşitliliği artırır. İkincisi, `top-k` veya `top-p` (nucleus) örnekleme stratejilerinin agresif kullanımı. `Top-k` en üst k adet olası token arasından seçim yaparken, `top-p` kümülatif olasılığı p değerine ulaşan en küçük token setini kullanır. Eğer bu değerler çok kısıtlıysa, modelin seçenek alanı daralır ve döngüsel paternler oluşabilir.
Üçüncüsü, modelin `repetition_penalty` parametresinin eksikliği veya yetersiz ayarlanması. Bu parametre, daha önce üretilen token'ların tekrar seçilme olasılığını azaltarak tekrarlamanın önüne geçmeyi amaçlar. Eğer kullandığınız yerel model arayüzü veya API bu parametreyi sunuyorsa, varsayılan değeri 1.0'dan daha yüksek bir değere (örneğin 1.1 veya 1.2) çıkarmak, modelin kendini tekrarlamasını önemli ölçüde engelleyebilir. Dördüncüsü, bağlam penceresi yönetimi. Uzun metin üretimlerinde veya ardışık sorgularda, modelin bağlam penceresi dolabilir. Bu durumda, daha eski bağlam bilgileri atılır ve model mevcut kısa bağlama aşırı odaklanarak tekrarlayıcı çıktılara düşebilir. Bu, modelin uzun vadeli tutarlılığı korumakta zorlanmasına neden olur.
Çözüm olarak, öncelikle `temperature` değerinizi 0.7-0.9 aralığında tutmayı deneyin. Ardından, `top-k` ve `top-p` değerlerini test edin; örneğin `top-k` için 50-100, `top-p` için 0.9-0.95 gibi değerlerle başlayabilirsiniz. Eğer yerel uygulamanızda `repetition_penalty` ayarı varsa, bunu 1.15-1.3 aralığında bir değerle denemek çoğu durumda belirgin iyileşme sağlar. Ayrıca, modelin `max_new_tokens` veya `max_length` gibi çıktı uzunluğunu belirleyen parametrelerini de kontrol etmek, modelin anlamsızca uzun ve tekrarlayıcı metinler üretmesini engelleyebilir. Bu teknik parametreleri doğru bir şekilde optimize etmek, modelin hem çeşitlilik hem de tutarlılık açısından daha iyi performans göstermesini sağlayacaktır.