1 puan yazan GN⁺ 2024-12-15 | 1 yorum | WhatsApp'ta paylaş
  • Byte Latent Transformer (BLT), bayt seviyesinde büyük dil modelleri (LLM) için yeni bir mimari olup, tokenizasyon tabanlı modellerle aynı performansa ulaşırken çıkarım verimliliği ve dayanıklılığı önemli ölçüde iyileştiriyor
  • Baytları dinamik boyutlu patch’ler olarak kodlayarak patch’lerin temel işlem birimi olarak çalışmasını sağlıyor
    • Dinamik patch bölme: Bir sonraki baytın entropisine göre karmaşıklığı yüksek verilere daha fazla hesaplama kaynağı ayırıyor
  • Bayt tabanlı modeller için ilk FLOP kontrollü ölçeklendirme çalışması:
    • 8B (8 milyar) parametre, 4 trilyon (4T) eğitim baytı seviyesine kadar ölçeklendi
    • Sabit bir sözlüğe (vocabulary) ihtiyaç duymadan ham baytlarla model eğitmenin mümkün olduğunu gösterdi

Temel sonuçlar

  1. Verimli eğitim ve çıkarım:
    • Veri tahmin edilebilir olduğunda uzun patch’ler seçerek hesaplama miktarını azaltıyor
    • Model, karmaşıklığa göre patch’leri dinamik olarak ayarlayarak kaynakları optimize ediyor
  2. Ölçeklendirme iyileşmesi:
    • Sabit çıkarım maliyetinde, tokenizasyon tabanlı modellere kıyasla daha iyi performans
    • Patch boyutu ile model boyutunu aynı anda artırarak ölçeklendirme verimliliği sağlıyor
  3. Niteliksel performans artışı:
    • Akıl yürütme ve genelleme yeteneğinde iyileşme: muhakeme ve seyrek veri (long-tail) işleme alanlarında niteliksel gelişme
    • Sabit sözlük tabanlı yaklaşımların sınırlarını aşıyor

Önemi

  • BLT, tokenizasyon olmadan ham baytları işlerken bile büyük ölçekli veri ve model eğitiminin verimliliğini kanıtlıyor
  • Çıkarım maliyeti karşılığında daha üstün performans sunuyor ve yeni nesil bayt seviyeli LLM’lerin potansiyeline işaret ediyor
  • Özellikle karmaşık verilerle çalışırken dinamik patch yaklaşımının uyarlamalı modelleme için yeni bir standart haline gelebileceğini gösteriyor

1 yorum

 
GN⁺ 2024-12-15
Hacker News görüşleri
  • BERT'in çıktığı yaz, karakter tabanlı CNN modelleriyle sınıflandırma yapan bir startup'ta çalışıyordum. Ekip arkadaşlarım word vector'larla ilgileniyordu ama sözlük dışı kelimeler çok olduğu için bunun başarısızlığa yol açabileceğini düşünüyorlardı

    • "temel model"lerde bile sözlük dışı kelimeler sorun oluyordu
    • Karakter tabanlı modellerle fena olmayan sonuçlar alıyorduk ama "sözlüğü" sinir ağına kaydetmenin verimsiz olduğu yönünde bir görüş vardı
    • Word2Vec gibi bir yaklaşımın başarısız olacağına o kadar emindim ki önceki projeden ayrıldım
    • Byte Pair Encoding ortaya çıktığında, ilk kez destekleyebileceğim bir tokenization yöntemi olduğunu söylemiştim
    • Karakter etiketleriyle çalışabilmeyi isterdim. Tokenizer'lara karşı bir antipatim var
  • Hiyerarşik yapı ilginç ama yalnızca iki katman olması biraz hayal kırıklığı yaratıyor. Daha fazla katman eklemek araştırmanın yönü olabilir

    • FLOP bütçesini katmanlar arasında dağıtırken dikkatli olmak gerekir
    • Patch'leri daha büyük birimler halinde gruplandırmanın bir yolu bulunmalı
  • Patch oluşturmak için küçük bir model kullanılarak giriş dizgesindeki bir sonraki karakterin olasılığı tahmin ediliyor

    • Örnek: sıradaki karakterin %100 olasılıkla 'a' olması ya da 'a' ve 'b' olma olasılıklarının ayrı ayrı %10 olması
    • Karakter tahminleri birlikte paketlenerek patch'e (veya token'a) dönüştürülüyor
  • Sampling, LLM'lerin zor taraflarından biri ama her zaman geçerli JSON üretmeye zorlamak ya da temperature'ı ayarlayarak farklı dağılımlar elde etmek gibi ilginç kullanımlara imkan veriyor

    • BLT'de, decoder'a izin verilen/yasaklanan byte'ları ek girdi olarak verip geçerli çıktı elde edilene kadar decoding'i yineleme fikri düşünülebilir
  • Yapay zekanın ikili dosyalar üzerinde pre-training yapıp yapamayacağına dair bir soru var

  • Tokenization'ı örtük hale getirip modele yalnızca byte'ları (veya karakterleri) veremeyip veremeyeceğimize dair bir soru var

  • Karpathy'den ilgili bir alıntı: tokenization, LLM'lerdeki birçok tuhaflığın merkezinde yer alıyor

    • LLM'lerin kelimeleri heceleyememesinin nedeni tokenization
    • LLM'lerin basit string işleme görevlerini yapamamasının nedeni tokenization
    • LLM'lerin İngilizce dışındaki dillere karşı zayıf olmasının nedeni tokenization
    • LLM'lerin basit aritmetikte zayıf olmasının nedeni tokenization
    • GPT-2'nin Python kodlamada gereksiz zorluk yaşamasının nedeni tokenization
    • LLM'lerin "<|endoftext|>" dizgesini görünce aniden durmasının nedeni tokenization
    • "trailing whitespace" uyarılarının ortaya çıkmasının nedeni tokenization
    • "SolidGoldMagikarp" hakkında soru sorunca LLM'lerin bozulmasının nedeni tokenization
    • LLM'lerde neden JSON yerine YAML tercih edilmesi gerektiğinin nedeni tokenization
    • LLM'lerin aslında gerçekten uçtan uca language modeling yapmamasının nedeni tokenization
    • Acının gerçek kaynağı tokenization
  • Model 3 bileşenden oluşuyor

    • Encoder: byte gruplarını alıp patch adı verilen gizli durumları/kodlamaları üretiyor
    • Transformer: patch kodlamalarını autoregressive şekilde işliyor
    • Decoder: transformer'ın işlediği kodlamaları byte olarak çıktılıyor
    • Loss, byte'lar arası cross-entropy'ye (bir sonraki byte tahmini) dayanıyor
  • Byte'ları gruplandırma yöntemi

    • Entropy eşiği kullanımı: byte dizisinin entropisi eşikten düşükse gruplandırılıyor
    • Veriden öğrenilen bir model
  • Mevcut LLM'lerin byte pair tokenization'ına göre avantajları var

    • Encoder/decoder, "öğrenilebilir" bir tokenization yöntemi gibi çalışıyor
    • Verimlilik dengesi daha iyi (öngörülebilir byte dizilerinde encoder, ana transformer'ın hesaplama yükünün bir kısmını "offload" edebiliyor)
    • Tarihin gösterdiği gibi, uçtan uca öğrenilmiş sistemler insan tasarımı mekanizmaları geride bırakıyor
  • Bir durgunluk dönemine girmemiz gerektiğini düşünüyorduk