2 puan yazan GN⁺ 2023-07-15 | 1 yorum | WhatsApp'ta paylaş
  • gzip gibi basit bir sıkıştırıcı ile k-en yakın komşu (kNN) sınıflandırıcısını birleştiren parametrik olmayan (non-parametric) bir metin sınıflandırma yöntemi öneriliyor
  • Hiçbir eğitim parametresi olmamasına rağmen hafif ve genel amaçlı; DNN’lere kıyasla hesaplama maliyeti daha düşük
  • Önceden eğitilmemiş derin öğrenme yöntemleriyle karşılaştırıldığında 6 in-distribution veri kümesinde rekabetçi sonuçlar elde ediyor
  • 4 düşük kaynaklı dili içeren 5 OOD (out-of-distribution) veri kümesinin tamamında BERT’i geride bırakıyor
  • Etiketli verinin yetersizliği nedeniyle DNN eğitiminin zor olduğu few-shot ortamlarda da güçlü performans gösteriyor

Arka Plan ve Problemin Ortaya Konması

  • DNN’ler, yüksek doğrulukları sayesinde metin sınıflandırmada yaygın olarak kullanılıyor
  • Ancak milyonlarca parametre ve büyük miktarda etiketli veri gerektirdikleri için hesaplama maliyetleri yüksek
  • Bu nedenle kullanım, optimizasyon ve OOD (out-of-distribution) durumlarına aktarım pratikte maliyetli işler haline geliyor

Önerilen Yöntem

  • DNN’lere alternatif olarak kolay, hafif ve genel amaçlı parametrik olmayan bir yöntem sunuluyor
  • gzip gibi basit bir sıkıştırıcı ile k-en yakın komşu sınıflandırıcısını birleştiren bir yapı
  • Temel özelliği hiç eğitim parametresine sahip olmaması

Deney Sonuçları

  • 6 in-distribution veri kümesinde, önceden eğitilmemiş derin öğrenme yöntemleriyle rekabet edebilecek düzeyde performans
  • 4 düşük kaynaklı dili içeren 5 OOD veri kümesinin tamamında BERT’i geride bırakıyor
  • Etiketli verinin DNN’leri etkili biçimde eğitmek için çok az olduğu few-shot ortamlarda da avantajlı

1 yorum

 
GN⁺ 2023-07-15
Hacker News yorumları
  • Makaleye doğrudan bağlantı: https://aclanthology.org/2023.findings-acl.426.pdf
    Sezgisel olarak ana fikir şu: x1, x2 belgeleri ve yeni bir x belgesi olduğunda, x’in istatistiksel düzenliliği x2’den çok x1’e daha yakınsa len(compress(cat(x1,x))) - len(compress(x)) < len(compress(cat(x2,x))) - len(compress(x)) olur. Burada cat birleştirme, compress ise gzip gibi bir sıkıştırıcıdır.
    Kelimenin tam anlamıyla len(compress(cat(x1,x))) - len(compress(x)), x’in istatistiksel düzenlilikleri verildiğinde x1’in istatistiksel düzenliliklerini sıkıştırmak için ek olarak gereken bayt sayısıdır. x1 ile x ne kadar benzerse, yalnızca x’i sıkıştırmaya kıyasla cat(x1,x)i sıkıştırmak için gereken ek bayt sayısı o kadar azalır.
    Yazarlar, bu fikre dayanan normalleştirilmiş sıkıştırma mesafesi (NCD) adlı bir mesafe fonksiyonunu kullanarak sıkıştırılmış belgelere k-en yakın komşu (kNN) uyguluyor. NCD ile bilgi, Shannon entropisi ve Kolmogorov karmaşıklığı arasındaki ilişkiyi de ele alıyorlar.
    Şaşırtıcı biçimde bu basit ve sezgisel yöntem, çeşitli zero-shot sınıflandırma görevlerinde BERT’i geride bırakıyor. Ancak bu, daha büyük ve daha yeni Transformer’ları da mutlaka yendiği anlamına gelmiyor.

    • Bu yöntem yalnızca dağılım dışı veri olduğunda ve token’lar çakıştığında daha iyi çalışıyor. Anlam anlama yeteneği yok; sonuçlar doğru ama başlık yanıltıcı.
    • Belgeleri basitçe birbirine eklemek yerine zstd’nin sıkıştırma sözlüğü desteğini kullanmanın biraz daha iyi sonuç verip vermeyeceğini merak ediyorum.
      Bir belgeyi sıkıştırma sözlüğü olarak kullanırken ve kullanmazken ortaya çıkan sıkıştırılmış boyutları karşılaştırmak gibi. zstd, en azından 20+ seviyelerinde gzip’ten çok daha yüksek sıkıştırma oranı sağlıyor; dolayısıyla gzip’te işe yaramasının nedeni Kolmogorov karmaşıklığına yaklaşım ise daha iyi çalışabilir.
    • Çözülmeye çalışılan problem nihayetinde “x, x1 ve x2’den hangisine daha çok benziyor?” ise, bu LLM’lerin çözdüğü problemden farklı görünüyor; bu yüzden daha iyi sonuç vermesi şaşırtıcı değil.
      x1 İngilizceyse ve x aynı belgenin İbranice çevirisiyse, sanırım LLM daha iyi yapardı.
    • Kesin konuşmak gerekirse bu zero-shot değil, few-shot. Hâlâ ölçüt olacak bir eğitim prototipleri kümesine ihtiyaç var.
    • Aynı yöntemin görüntülerde de mümkün olup olmadığını merak ediyorum.
      Yakın zamanda görüntülerle uğraşırken JPEG çıktıları denedim; aynı temel piksellerden bile çok çeşitli görüntüler çıkabiliyor. Görüntü ne kadar gürültülü ve rastgeleye yakınsa JPG dosya boyutunun o kadar büyümesi, buna karşılık fotoğrafa ne kadar benziyorsa JPG boyutunun o kadar küçülmesi ilginç.
  • Yapay zeka ile sıkıştırmanın eşdeğerliği ilginizi çekiyorsa Hutter Prize’a bakmak iyi olur :) http://prize.hutter1.net/
    Large Text Compression Benchmark da görülmeye değer: http://mattmahoney.net/dc/text.html - şu anda dünyanın en iyi sıkıştırıcısı, ffmpeg ve QEMU’yu yapan ünlü Fabrice Bellard’ın sinir ağı.
    Bu tür sayfaların uygun salt metin stili de gerçekten hoşuma gidiyor.

    • Özellikle, sıradaki içeriği tahmin edip aralık ağırlıklarını ayarlayan aritmetik kodlama tabanlı sıkıştırma algoritmaları buna çok benziyor.
      Tahmin edilecek bayt/bit’in bağlamına göre aritmetik kodlama (https://en.wikipedia.org/wiki/Arithmetic_coding) ayarlandığı için, devamında ne geleceğini ne kadar doğru tahmin ederseniz kodlama o kadar verimli olur. Görevin kendisi GPT gibi Transformer’lara çok benziyor.
      Kusursuz tahminde aritmetik aralık küçülmediğinden ek depolama maliyeti neredeyse yoktur; dolayısıyla bit de saklanmaz. Ancak adil bir benchmark için sıkıştırma açıcı programın boyutunu da hesaba katmak gerekir.
    • Matematiğin derinine indikçe birçok şey temelde aynı hâle geliyor. Süper çözünürlük, kulağa hoş gelecek şekilde paketlenmiş bir dekonvolüsyon; tek katmanlı perceptron hem doğrusal kernel SVM hem de lojistik regresyon; FFT ise sadece çarpanlara ayırma.
    • Yazarların normalleştirilmiş sıkıştırma mesafesi (NCD) kullanması önemli. NCD, Kolmogorov karmaşıklığına yaklaşmanın bir yolu.
      Oldukça eski bir fikir; [1,2]’ye bakılabilir. Eski ama perceptron gibi hâlâ çok kullanışlı.
      [1] Li and Vitanyi. An Introduction to Kolmogorov Complexity and Its Applications
      [2] Clustering by compression. https://arxiv.org/pdf/cs/0312044
    • Fabrice Bellard gerçekten yaşayan bir efsane. O listeye QuickJS, jslinux, tcc ve TinyGL de eklenmeli.
    • Bu tür “sıkıştırma” özünde, fizik teorileri gibi teori yoluyla anlamaya daha yakın.
      Teori, aynı “karakterlerle” çok şeyi açıklayan bir hikâyeye benzer. Buradaki karakterler daha çok kavramlara yakındır; örneğin atomlar buna uyar.
  • Bu yöntemin daha güçlü olmasının haberler ile sınırlı olduğuna dikkat çekmek isterim.
    Yahoo Questions’ta en iyi performansı vermiyor. Haberler benzer biçimde yazılır ve bazen bazı kısımlar kopyalanır; bu yüzden ortak kelimelerin çok olduğunu varsaymak abartı olmaz.
    Yahoo Questions bir forum olduğu için kelime çeşitliliği daha fazla olabilir, ama kelimeler arasında anlamsal benzerlikler vardır.
    Yani gzip, kelime örtüşmesi fazla olduğunda güçlüdür (gzip sıkıştırmasında boyut artışı küçük olur); anlamsal benzerlik önemliyse DNN her zaman kazanır.
    Sonuçlar ilginç, ama kulağa geldiği kadar ilginç olmadığını düşünüyorum.

    • Anlamsal benzerlik farklıysa bu nasıl çalışıyor? Bana sadece eğitim sırasında anlamsal olarak benzer temsilleri gruplama meselesi gibi geliyor.
  • Bu sonucun dağılım dışı verilerden geldiğini çok önemli görmek gerekiyor. Örneğin “Kinyarwanda, Kirundi, Pinyin” gibi dillerdeki haberler
    Daha genel bir düzende BERT hâlâ ezici biçimde kazanıyor
    Bu kadar basit bir yöntemin çok etkili olabilmesi harika, ama bunu fazla abartarak pazarlamamak gerek

    • Bu noktanın gerçekten daha fazla vurgulanması gerekiyor. Sadece başlığı okuyunca, daha önce bilinmeyen ve hâlâ açıklanmamış bir fizik yasasının, bu durumda da bir dilbilim yasasının kanıtını tesadüfen bulmuşuz gibi şaşırtıcı gelmişti
      Ama alıntılanan koşullara bakınca durum aslında oldukça sezgisel. Hiç bilmediğiniz bir dildeki metni sınıflandırmak ne demek? Kirundi metinlerini sınıflandırmanız istenirse anlamı hiç bilmezsiniz; yapabileceğiniz en iyi şey kelime ya da karakter dizisi sıklıklarını bulup benzer sıklık parmak izlerine sahip metinleri bir araya getirmektir
      Gerçek anlamı hâlâ bilmezsiniz, ama rastgele tahminden daha iyi sonuç alabilirsiniz; nitekim öyle oluyor. İyi haber şu ki gzip+kNN’in yaptığı şey tam olarak bu; asıl işi ve varlık nedeni de bu
      Bu metni okuyup anlamaya ya da bir sonraki karakteri tahmin etmeye çalışmaktan pek bir şey kazanılmaz. Normal bir insan dili bilmediği için zaten baştan denemezdi. Ne yazık ki BERT’in yaptığı şey tam olarak bu. Çünkü BERT’in yapabildiği tek şey bu. Yine de sıradan bir insandan, hatta muhtemelen sıradan olmayan bir insandan bile daha fazla işe yarar sonuç çıkardığı için tebrik etmek gerekir
  • Gerçekten çok zekice ve sezgisel olarak anlaşılır
    Birbirine benzeyen iki metin parçasını uç uca eklerseniz, birbirinden farklı iki metin parçasını uç uca eklediğiniz duruma göre daha iyi sıkıştırılır

    • Bilinen ama biraz az bilinen bir teknik. Buradaki ana katkı resmileştirme ve ölçüm
  • Bu, ilgili yöntemin zaferinden çok derin öğrenme tabanlı benzerlik için olumsuz bir sinyal gibi görünüyor
    LLM çılgınlığı içinde, LLM’lerin gerçekten etkileyici olduğu doğru ama birçok kişi saf metin benzerliği için kullanılan embedding katmanlarında da benzer bir ilerleme olduğunu varsayıyor gibi
    Bu yüzden her türden embedding veritabanı patlaması yaşandı, ama bana göre bunu destekleyen çok az kanıt var

    • https://twitter.com/eugeneyan/status/1678060204943097863

      When Deepmind needs semantic retrieval, they just use the largest index on the planet.
      İlginç bilgi: Sorgu-belge benzerliği vektörlerle değil, basit TF-IDF ile ele alınmış. Aranan belge sayısı 45’i aştığında vektör aramadan daha iyi performans göstermiş ve pratikte 50 kullanılmış
      https://blog.vespa.ai/improving-zero-shot-ranking-with-vespa...
      This case illustrates that in-domain effectiveness does not necessarily transfer to an out-of-domain zero-shot application of the model. Generally, as observed on the BEIR dense leaderboard, dense embeddings models trained on NQ labels underperform the BM25 baseline across almost all BEIR datasets.

    • Tek bir soruya cevap verebilir misin? LLM ile benzerlik ölçümünde kullanılacak metin embedding’leri oluştururken hangi katman kullanılıyor? Girdi katmanı mı? Girdi katmanı + konum kodlaması mı? Gizli katman mı? Çıktı katmanı mı?
  • Bağlantı, makale PDF’i olan https://aclanthology.org/2023.findings-acl.426.pdf adresini göstermeli

  • Sıkıştırma algoritmaları uzamın, yani bit ve baytların tasarrufu/sıkıştırılmasıdır. Makine öğrenmesi modelleri, özellikle üretici modeller, insan ifadelerini ve düşüncesini tasarruflu/sıkıştırılmış hâle getirir
    Metin sınıflandırma, insan ifadesi üzerinde bir tür sıkıştırmadır. Makine öğrenmesi görevlerinde hangisinin daha iyi çalışacağını açıklayan, insan dili ve verinin temel bir özelliği olabilir mi?
    Bir gün böyle bir teori şekil kazanırsa, sıkıştırılmış bit/bayt kodlaması ile sıkıştırılmış insan ifadelerinin bir uzamda yakından ilişkili olması ve ikisinin bir şekilde bağlantılı çıkması şaşırtıcı olmayabilir. Gerçekten de böyle bir teori, örneğin entropi temelli ya da fizik temelli bir teori, belirli türden insan ifadesi sıkıştırmalarında sıkıştırma algoritması mı yoksa makine öğrenmesi modeli mi kullanılacağına karar vermeye yardımcı olabilir
    Veri merkezli bakınca, bu tür algoritmaları kötü yapan zor negatif örnekler neler olabilir? Şimdilik bu teoriyi ancak çeşitli insan metin verisi türleri açısından yaklaşık olarak kurabiliyor olabiliriz. Örneğin istatistiksel konu modeliyle karışımı tahmin etmek akademik metinlerde iyi çalışırken internet metinlerinde zorlanır
    Wolfram Physics dışında böyle bir teori üzerinde çalışan biri var mı?

  • Tamamen mantıklı. Sıkıştırma “anlama” ile, yani girdiyi tanıyıp etiketleyebilecek şekilde temsil etmekle ilgilidir
    Tanınan bitler etiketten büyük hâle gelince işte, sıkıştırma olur. gzip’in bu görevde DNN’den daha iyi olabilmesi şaşırtıcı değil

    • Öyleyse diğer sıkıştırma algoritmaları daha da iyi olabilir mi, merak ediyorum
    • Sıkıştırmayı anlamanın bir alt kümesi olarak görüyorum. Bir çocuk dilbilgisel olarak doğru konuşmaya başladığında, maruz kaldığı tüm dil kalıplarını dilbilgisi kurallarına sıkıştırmış olur
      Alt küme dememin nedeni, anlamanın daha genel olması. Belirli bir sıkıştırma algoritması kayan noktalı sayılarda iyi çalışabilir. Buna karşılık beyin ve yapay sinir ağları, performansı daha kötü olsa bile, herhangi bir girdi kalıbını sıkıştırabiliyor olabilir
  • gzip’in bir cümlenin tüm anlamını tersine çeviren “not” gibi kelimeleri nasıl ele alabildiğini bilmiyorum
    Anlayan var mı?

    • Twitter’daki bazı yorumlarda da geçtiği gibi, bu konu modelleme için. Olumsuzluk sözcükleri burada duygu analizi gibi görevlere kıyasla daha az önemli olabilir