Birkaç gün önce, ChatGPT’yi (veya Bing/Sydney’i veya benzer herhangi bir hizmeti) kullanmak için bilmeniz gerekenleri düşünüyordum. Soru sormak kolaydır, ancak hepimiz biliyoruz ki bu büyük dil modelleri sıklıkla yanlış cevaplar üretir. Hangisi şu soruyu gündeme getiriyor: ChatGPT’ye bir şey sorarsam, cevabın doğru olup olmadığını belirlemek için ne kadarını bilmem gerekiyor?
Bu yüzden hızlı bir deney yaptım. Kısa bir programlama projesi olarak, birkaç yıl önce 100 milyonun altındaki tüm asal sayıların bir listesini yaptım. Bu listeyi, 8 basamaklı iki asal sayının (99999787 çarpı 99999821, 9999960800038127) çarpımı olan 16 basamaklı bir sayı oluşturmak için kullandım. Daha sonra ChatGPT’ye bu sayının asal olup olmadığını ve sayının asal olup olmadığını nasıl belirlediğini sordum.
ChatGPT, bu sayının asal olmadığını doğru bir şekilde yanıtladı. Bu biraz şaşırtıcı çünkü ChatGPT hakkında çok şey okuduysanız, matematiğin güçlü yönlerinden biri olmadığını bilirsiniz. (Muhtemelen eğitim setinde büyük bir asal sayılar listesi vardır.) Ancak, mantığı yanlıştı ve bu çok daha ilginç. ChatGPT bana Miller-Rabin asallık testini uygulayan bir grup Python kodu verdi ve numaramın 29’a bölünebileceğini söyledi. Verilen kodda birkaç temel söz dizimi hatası vardı ama tek sorun bu değildi. İlk olarak, 9999960800038127, 29’a bölünemez (bunu kendinize kanıtlamanıza izin vereceğim). Bariz hataları düzelttikten sonra, Python kodu Miller-Rabin’in doğru bir uygulaması gibi göründü; ancak Miller-Rabin’in çıkardığı sayı bir faktör değil, test ettiğiniz sayının gerçek olmadığını doğrulayan bir “tanık”. asal değil. Verdiği sayı da 29 değil. Yani ChatGPT aslında programı çalıştırmadı; Pek çok yorumcunun ChatGPT’nin yazdığı kodu çalıştırmadığına dikkat çekmesi şaşırtıcı değil. Ayrıca algoritmanın ne yaptığını ve çıktısının ne anlama geldiğini yanlış anladı ve bu daha ciddi bir hata.
Daha sonra ondan önceki yanıtının gerekçesini yeniden gözden geçirmesini istedim ve yanlış olduğu için farklı bir Python programıyla birlikte çok kibar bir özür aldım. Bu program başından beri doğruydu. Bu, test edilen sayının karekökünden daha küçük olan her tam sayıyı (hem tek hem de çift!) deneyen bir kaba kuvvet asallık testiydi. Ne zarif ne de performanslı ama doğru. Ama yine de, ChatGPT programı fiilen çalıştırmadığından, bana hiçbiri doğru olmayan yeni bir “ana faktörler” listesi verdi. İlginç bir şekilde, beklenen (ve yanlış) çıktısını koda dahil etti:
n = 9999960800038127
factors = factorize(n)
print(factors) # prints [193, 518401, 3215031751]
ChatGPT’nin yararsız olduğunu iddia etmiyorum – ondan çok uzak. Bir sorunu çözmenin yollarını önermede iyidir ve size doğru bir cevap verse de vermese de sizi doğru çözüme yönlendirebilir. Miller-Rabin ilginçtir; Var olduğunu biliyordum ama istenmeseydi aramaya zahmet etmezdim. (Bu hoş bir ironi: ChatGPT tarafından etkili bir şekilde yönlendirildim.)
Orijinal soruya geri dönersek: ChatGPT, sorulara “yanıtlar” vermede iyidir, ancak bir yanıtın doğru olduğunu bilmeniz gerekiyorsa, sorunu kendiniz çözebilmeniz veya ihtiyacınız olan araştırmayı yapabilmeniz gerekir. o sorunu çöz Bu muhtemelen bir kazançtır, ancak dikkatli olmalısınız. Zor işi kendiniz yapmaya istekli ve yetenekli değilseniz, ChatGPT’yi doğruluğun sorun olduğu durumlara koymayın.