4 puan yazan GN⁺ 2024-05-15 | 2 yorum | WhatsApp'ta paylaş
  • needle-in-a-needlestack, GPT-4o, Llama, Jamba, Sonnet ve Gemini ile ilgili deney yazılarını ve kodları tek bir yerde toplayan herkese açık bir sayfadır
  • Projenin kod deposu da sunuluyor; böylece Needle in a Needlestack deney materyallerini doğrudan incelemek mümkün
  • Modeller bazındaki yazılar, uzun bağlam işleme ve ölçeklenebilirlik farklarına odaklanarak Llama 3.1 8B, Jamba 1.5 gibi sonuçları karşılaştırıyor
  • GPT-4o-mini, GPT-4 Turbo'ya benzerken fiyatı %98,5 daha düşük bir örnek olarak; Sonnet 3.5 ise NIAN'da Sonnet 3.0'dan daha iyi bir örnek olarak tanıtılıyor
  • Sayfanın kendisi açık kaynak olduğu için GitHub'daki "Improve this page" bağlantısıyla belge düzenlemelerine katkı verilebiliyor

Needle in a Needlestack ile ilgili bağlantılar

Modelle bazlı karşılaştırma yazıları

Açık kaynak belgeler

  • Bu site açık kaynaktır
  • Improve this page bağlantısı üzerinden GitHub'da sayfayı düzenlemek mümkündür

2 yorum

 
wedding 2024-05-18

Teknolojik gelişme gerçekten inanılmaz.. T_T

 
GN⁺ 2024-05-15
Hacker News yorumları
  • Bu test, 2021’de yayımlanan limerick veri kümesine dayanıyor: https://zenodo.org/records/5722527
    GPT-4o’nun bu verilerle eğitilmiş olma ihtimalinin çok yüksek olduğunu düşünüyorum. Çünkü özellikle dahil etmemek için bir neden yok. NIAN ekibinin neden çeşitli modellerle limerick üretip sonuçların veri kümesinde bulunmadığını kontrol etmediğini merak ediyorum. Böylece modellerin söz konusu limerick’lerle eğitilmiş olma ihtimali elenebilirdi

    • Limerick verilmediğinde LLM’lerin soruyu yanıtlayıp yanıtlayamadığını test etmişler. 4o hariç bu benchmark’ta performans çok kötü olduğu için, eğitim verilerinde yer almış olmasının testi geçersiz kıldığını düşünmüyorum
    • Sadece tamamen rastgele metin üretip onun içinde buldurmak olmaz mı?
    • NIAN çok güzel bir fikir ama soruları N farklı dile çevirip sormak yeterli olmaz mı? DeepL, Google Translate, LLM’in kendi çevirisi vb. karıştırılarak kullanılabilir
  • İki küçük hukuki belgeyi karşılaştırmayı denedim; birinde olup diğerinde olmayan bir madde olduğu konusunda tamamen halüsinasyon yaptı. Sözleşmenin üç farklı bölümünde bunu yaptı
    ctrl-f ile kontrol edince iki tarafta da aynı şekilde yer aldığını gördüm. Bu yalnızca tek bir örnek ama %90 rakamı pek makul görünmüyor. Toplam yaklaşık 80 bin token civarındaydı

    • Benzer bir izlenimim var. 6 bin öğelik bir listede mükerrerleri bulmasını istedim; yanıtın tamamını birkaç kez neredeyse halüsinasyonla doldurdu. Bazen bazı mükerrerleri buluyor ama aralarına halüsinasyon ürünü öğeler serpiştiriyor
      Sabit sayıda attention head ile zor bir iş olduğunu düşündüğüm için doğru yanıt beklemiyordum ama Claude Opus veya GPT-4’ten çok daha kötü görünüyordu
    • Bu, samanlıkta iğne aramak değil
      LLM, iki belgeyi daha küçük parçalara bölüp parça parça yinelemeli işlediğinde bu işi daha iyi yapar. Akıl yürütme yeteneği ya da belleği olmadığı için, nispeten küçük parçaların ötesindeki iki metin bloğunu yapısal olarak analiz edemez. Bunun yerine anlamsal olarak bağımsız ve ilgili küçük parçalar halinde kademeli tarandığında oldukça iyi çalışır
      Bunları sihirli makineler varsaymak yanlış. Sınırları ve yetenekleri var; diğer araçlar gibi nelerin mümkün olup olmadığını anlamak, hatta nedenini bilmek gerekir. Geliştiricilerin %99,9’u için hâlâ oldukça yeni bir gelişme; beklentilerin neden fiilen sınırsız derecede yüksek olduğunu anlamıyorum. Önceki teknolojiler için “tamam, bunu doğru kullanmanın yolunu bulalım” gibi bir ölçüt daha makuldü. Belki de insan gibi konuştukları için sahip olmadıkları yeteneklere de sahipmiş gibi görünüyorlar; ya da insana fazla benzedikleri için insan olmadıkları noktada suçlanıyorlar. Bir yanda abartı var, diğer yanda aynı anda hafife alma da var. XML bile bir zamanlar dünya açlığını bitirecekmiş gibi görülen benzer bir hype döngüsünden geçmişti
    • Bu, needle-in-a-needlestack’ten farklı bir test ama modellerin ne kadar kırılgan olduğunu iyi gösteriyor. Bazı alanlarda yetkinler, bazı alanlarda ise feci derecede kötüler
      needle-in-a-needlestack, farklı şeyler arasında arama yapılan needle-in-a-haystack’ten farklı olarak, benzer veriler arasında belirli bir veriyi bulma problemidir. Örneğin binlerce limerick arasından birini bulmak gibi
    • Yerel mevzuatla aynı deneyi yaptım ve GPT’nin ceza ve harçları halüsinasyon ettiğini yakaladım. Gerçekten var olan bir sorun
    • İlginç; en azından resmî olarak GPT-4o’nun bağlam penceresi 128k
  • needle-in-a-haystack testi, modelin gerçek uzun bağlam işleme becerisini yalnızca çok sınırlı biçimde gösterir. İlk modeller bu işte berbat olduğu ve test etmesi kolay olduğu için ağırlıklı olarak kullanıldı
    Aslında güncel modellerin çoğu bu tek görevde oldukça iyi, fakat pratikte 32K token’ın ötesinde karmaşık işler yapma becerileri ciddi biçimde düşüyor. RULER çok daha iyi bir test: https://github.com/hsiehjackson/RULER

    Temel needle-in-a-haystack (NIAH) testinde neredeyse kusursuz performans elde etmelerine rağmen, tüm modeller (Gemini-1.5-pro hariç) RULER görevlerinde dizi uzunluğu arttıkça büyük performans düşüşü gösteriyor
    Tüm modeller 32k token’dan büyük bağlam boyutları iddia etse de (Llama3 hariç), yalnızca yarısı nitelik ölçütü olan Llama2-7b’nin 4K performansını (%85,6) aşarak 32K dizi uzunluğunu etkili biçimde işleyebiliyor. Ölçütü aşan performansın altı çizili gösteriliyor

    • Öyle olabilir ama birincisi, bu yazı NIHS’yi değil kendi varyant testini ele aldığı için daha ilgili olabilir. İkincisi, yazının ana iddiası GPT-4o’nun daha iyi olduğu; bahsettiğiniz test ise GPT-4o’yu benchmark etmemiş
    • RULER’ın benchmark ettiği modeller needle-in-a-needlestack’te daha kötü çıkıyor. 4o’nun RULER’da nasıl sonuç vereceğini merak ediyorum
  • Bunu Gemini Pro 1.5 ile de görmek isterim. Geçen hafta Moby Dick’in tamamını koymayı denedim; bir keresinde de Byung Chul-Han’ın yayımladığı tüm kitapları koydum. Her iki durumda da sorumla ilgili ya da soruma yanıt veren cümle parçalarını her seferinde birebir buldu ve halüsinasyon da yoktu

    • Laboratuvardaki birkaç kişi LLM’lerin kurmaca eserler üzerindeki uzun bağlam değerlendirmesi üzerine çalışıyor. Moby Dick’in eğitim verilerinde yer alma olasılığı çok yüksek. Bu yüzden laboratuvardakiler bu tür sorunlardan kaçınmak için yakın zamanda yayımlanmış kitapları araştırıyordu
      Geçen hafta ICLR’de sunulan BooookScore’a (https://openreview.net/forum?id=7Ttk3RzDeu) ve yakın tarihli ön baskı FABLES’a (https://arxiv.org/abs/2404.01261) bakabilirsiniz
    • O içerik muhtemelen eğitim setinde yok mu? Modelin son sürümünden daha yakın tarihte yayımlanmış kitaplardan oluşan bir koleksiyonla aynı işi yapmak ilginç olurdu
    • Yazıda bağlantısı verilen 2500 örneği Gemini 1.5 Flash’e verdim ve doğru yanıt olan “The tree has diseased leaves and its bark is peeling.” cümlesini buldu: https://aistudio.google.com/
    • O modele erişimim var ve etkileyici bağlam çıkarımı gördüğüm de oldu. Büyük bir kod tabanını komple verdiğimde özetlemeyi de çok iyi yaptı
      Birinin devasa bir günlük dosyasını analiz ettiğini de gördüm, ama modelin bir şeyleri ne zaman kaçırdığını tespit etmek için böyle needle-in-a-needlestack türü bir şeye gerçekten ihtiyaç var. En azından model geliştiricileri aday modelleri analiz etmek için kullanabilir
    • Artık 2–5 yıl kadar sonra bir ePub verip birkaç dakika içinde doğru bir grafik roman sürümü alabilecekmişiz gibi geliyor. Tolkien tarzı 4 bin ağaç çizimi görmeye hazırım
  • Birinin yalnızca aramayı değil, farklı bilgiler arasındaki anlama derinliğini, bağlantıları ve soyutlamayı test eden bir “haystack içinde sentez” testi yapması gerekiyor
    İnsan bir kitap okuduğunda o kitap hakkında “genel bir sezgi” geliştirir. Bunu nicelleştirmenin bir yoluna ihtiyacımız var. Needle-in-haystack testi fazla basit; yeterince ileri gitmiyor gibi hissediyorum

    • İncelikli bir Agatha Christie tarzı katili bulma testi mümkün olabilir. Birkaç ters köşe ve alibi koyup eserin son kısmını keserek en olası şüphelinin değişmesini sağlamak gibi
    • İğnelerin bir graf oluşturduğu ve prompt’un graf tabanlı bir görev sorduğu bir yaklaşım da mümkün
    • Ayrıntılı, kendi içinde tutarlı bir evreni ve iyi tasarlanmış motivasyonlara sahip karakterleri olan yayımlanmamış bir roman ya da senaryo satın alıp, ortalardan sonraki rastgele bir noktadan itibaren henüz karşılaşmamış iki karakteri birbirine bağlayan yeni bir olay örgüsünü devam ettirtme fikri var
      Bağlamı anlıyorsa hikâyenin yeni bir bölümünü yazabilmeli ve okurun sezgisel olarak hissettiği karakter motivasyonlarını kullanarak onların anlatısını ilerletebilmelidir. Ancak işe yaraması için tamamının sıkı biçimde gizli tutulması gerekir; bu yüzden ancak kişisel bir benchmark gibi kullanılabilir. Ya da metodolojiyi yayımlayıp alanı geliştirmek yerine, sonuçların güvenilirliğiyle değerlendirilen prestijli bir ödül gibi de kurgulanabilir
    • Benzer bir şey düşündüm. Sorunun bir kısmının LLM’in limerick’i bulmasına yetecek bilgiyi vermesi, ikinci kısmın ise o limerick ya da başka bir metin hakkında daha derin bir anlayış gerektiren bir şeyi sorması gibi
    • Anlama diye bir şey olmadığı için bunu yapamaz
      GPT-4o da eğitim setinde olmayan iki farklı fikrin kesişimini hâlâ ele alamıyor. Hatta iki farklı fikrin kesişimine dair rastgele bir varyasyon bile üretemiyor. Daha da ötesi, modelin bunu yapmasını beklememeliyiz. Bu, modele, gerçek faydasına ve anlamadan başardığı şaşırtıcı şeylere karşı adil değil. Modelin anladığına inanmak insanın kendini kandırmasıdır
  • Artık GPT kullanarak ham dinamik verileri anında güzel görünen HTML düzenlerine dönüştürebiliyoruz. Trafiği düşük değişiklik günlüğü ya da denetim günlüğü gibi sayfalarda geliştirme süresini ciddi ölçüde azaltabilir ve veri yapısı değişse bile HTML’i güncel tutabilir
    Önceki denemelerde GPT-4-Turbo bazen bağlamı ve talimatları neredeyse tamamen görmezden geldiği için tutarlı çalışmıyordu

  • Bu yazı, GPT-4o’nun giriş penceresinin tamamına dikkat etme becerisinin GPT-4 Turbo ve Claude-3 Sonnet’e kıyasla ne kadar geliştiğini gösteriyor
    Needle-in-a-haystack’in bir süredir yükseltilmesi gerekiyordu; bu “Needle In A Needlestack” iyi bir sonraki adım. NIAN, binlerce limerick içeren bir prompt oluşturuyor ve belirli bir konumdaki limerick hakkında soru soruyor

    • Katılıyorum. Bir süre Claude’a para ödedim. Büyük bağlam desteği verdiğini güçlü biçimde söylüyor ve büyük bağlam kullanınca muazzam miktarda token yiyor; ama bağlamda sadece birkaç sayfa önceki kaynak kodu varsa bile neredeyse işe yaramıyordu
      Diğer her açıdan iyiydi ve havasını da seviyordum, bu yüzden daha sinir bozucuydu. Dün gece 4o’yu denedim; 20 soru önce yapıştırdığım C++ sınıfını hâlâ kusursuz biçimde tanıyordu. Zeki olup olmaması umurumda değil, faydalı olup olmadığı önemli; bu da faydaya gerçekten büyük katkı sağlıyor
  • Açık internette düzgün LLM değerlendirmesi yapmayı bilen kimse yok gibi olduğuna giderek daha fazla ikna oluyorum

    • Yine de 2022–2023’te herkesin yaptığı “ABD’nin 29. başkanı kimdir”, “Van Gogh tarzında çiz” gibi LLM değerlendirmelerini nihayet geride bırakmış olmamız bile iyi
  • Bu testin anlamlı olması için test seti verilerinin eğitim verilerinde yer almadığını bilmek gerekir

    • Limerick’leri önceden vermeden sorarsanız doğru yanıtı asla bulamaz. LLM yanıldığında genelde eğitim verilerine geri dönüp limerick’e uymayan genel bir yanıt veriyor
    • Buna mutlaka gerek yok. Materyali yüklemeden önce ve sonra model performansını karşılaştırmak yeterli
    • Test limerick’lerinin otomatik üretildiğini sanmıştım
  • Kulağa iyi geliyor. GPT-4.0’daki en büyük sorun, sohbet uzadıkça kalitenin düşmesiydi; bu özellikle kodlama projelerinde önemliydi
    Şimdi düzelmiş olabilir mi merak ediyorum. Bugün test etmeyi planlıyorum

    • Şimdiye kadarki deneyimim de böyle. Mevcut sohbetler eskiden GPT-4 sohbetlerine kıyasla inanılmaz derecede uzadı. Eskiden sık sık bağlamı kopyalayıp yeni bir sohbette yeniden başlatmam gerekiyordu
    • Aynı deneyimi yaşadım. 16k prompt’larda Turbo neredeyse kusursuzdu, ama 32k’da pek iyi değildi ve 100k üstünde kullanılamazdı. Uzun prompt’larda iyi sonuç almak için bilgiyi tekrar tekrar koymak gerekiyor