19 puan yazan GN⁺ 2026-03-26 | 4 yorum | WhatsApp'ta paylaş
  • Yüksek boyutlu vektörlerin bellek ek yükü sorununu temelden çözen bir niceleme algoritmaları seti; hem LLM'lerin anahtar-değer önbelleği sıkıştırmasına hem de vektör aramaya uygulanabiliyor
  • PolarQuant ile veriyi yüksek kalitede sıkıştırdıktan sonra, QJL algoritmasıyla kalan hatayı yalnızca 1 bit kullanarak gideren iki aşamalı sıkıştırma yapısı
  • Eğitim ya da fine-tuning olmadan anahtar-değer önbelleğini 3 bite kadar niceleyip model doğruluğunda kayıp yaratmıyor; H100 GPU'da en fazla 8 kat performans artışı sağlıyor
  • Vektör aramada da büyük kod kitapları veya veri setine özel ayar gerektirmeden en iyi recall oranlarını kaydedip mevcut son teknoloji yöntemleri aşıyor
  • Teorik alt sınıra yaklaşan kanıtlanabilir verimliliğe sahip temel bir algoritmik katkı olarak, Gemini gibi modeller ve büyük ölçekli semantik arama altyapılarında kilit rol oynaması bekleniyor

Vektörler ve nicelemenin arka planı

  • Vektörler, yapay zeka modellerinin bilgiyi anlama ve işleme biçiminin temelidir; yüksek boyutlu vektörler görüntü özellikleri, kelimelerin anlamı ve veri seti nitelikleri gibi karmaşık bilgileri temsil eder
  • Yüksek boyutlu vektörler çok büyük bellek tüketir; bu da anahtar-değer önbelleğinde (sık kullanılan bilgileri basit etiketlerle saklayıp anında erişim sağlayan yüksek hızlı dijital referans sayfası) darboğaz yaratır
  • Vektör niceleme, yüksek boyutlu vektörlerin boyutunu küçülten klasik bir veri sıkıştırma tekniğidir; vektör aramayı hızlandırmaya ve anahtar-değer önbelleği darboğazını gidermeye yardımcı olur
  • Geleneksel vektör niceleme, her küçük veri bloğu için niceleme sabitlerini tam hassasiyetle hesaplayıp saklamak zorunda olduğu için kendi başına bir bellek ek yükü oluşturur; sayı başına 1~2 bitlik ek maliyet getirerek nicelemenin amacını kısmen boşa çıkarır

TurboQuant nasıl çalışıyor

  • TurboQuant, doğruluk kaybı olmadan yüksek düzeyde model küçültme sağlayan bir sıkıştırma yöntemi; hem anahtar-değer önbelleği sıkıştırmayı hem de vektör aramayı destekliyor
  • İki temel adımdan oluşuyor:

1. aşama: yüksek kaliteli sıkıştırma (PolarQuant yöntemi)

  • Veri vektörleri rastgele döndürülerek verinin geometrik yapısı sadeleştiriliyor, ardından standart yüksek kaliteli niceleyici vektörün her bölümüne ayrı ayrı uygulanıyor
  • Bu aşamada bitlerin büyük kısmı kullanılarak özgün vektörün ana kavramları ve büyüklüğü yakalanıyor

2. aşama: gizli hatanın giderilmesi

    1. aşamadan kalan ince hataya, yalnızca 1 bitlik artık sıkıştırma gücüyle QJL algoritması uygulanıyor
  • QJL matematiksel bir hata denetleyicisi gibi çalışarak yanlılığı kaldırıyor ve daha doğru attention score'lar üretiyor

QJL: sıfır ek yüklü 1 bitlik teknik

  • Johnson-Lindenstrauss dönüşümünü kullanarak yüksek boyutlu veriyi küçültürken veri noktaları arasındaki temel uzaklıkları ve ilişkileri koruyor
  • Ortaya çıkan vektördeki her sayı tek bir işaret bitine (+1 veya -1) indirgeniyor; böylece bellek ek yükü sıfır oluyor
  • Doğruluğu korumak için yüksek hassasiyetli sorgularla düşük hassasiyetli sadeleştirilmiş veriyi stratejik olarak dengeleyen özel bir tahminleyici kullanılıyor
  • Bu sayede model, girdinin hangi kısımlarının önemli olup hangilerinin göz ardı edilebileceğini belirleyen attention score'ları doğru biçimde hesaplayabiliyor

PolarQuant: sıkıştırmaya yeni bir "açı"

  • Bellek ek yükü sorununu tamamen farklı bir yoldan çözen bir yaklaşım
  • Standart koordinatlar (X, Y, Z) yerine vektörleri kutupsal koordinatlara dönüştürüyor — "doğuya 3 blok, kuzeye 4 blok" ifadesini "37 derece yönünde 5 blok" demeye benzer
  • Dönüşüm sonucu iki tür bilgiden oluşuyor: temel verinin büyüklüğünü gösteren yarıçap ve verinin yönünü/anlamını gösteren açı
  • Açı örüntüleri bilindiği ve yoğun biçimde toplandığı için, sınırları sürekli değişen bir "dikdörtgen" ızgara yerine sınırları önceden bilinen sabit bir "dairesel" ızgaraya eşleme yaparak maliyetli veri normalizasyonu adımını atlıyor
  • d boyutlu bir vektörde koordinat çiftlerini gruplayıp kutupsal koordinat sistemine eşliyor, yarıçapları çiftler halinde toplayıp özyinelemeli kutupsal dönüşümü tekrarlayarak sonunda tek bir yarıçap ve açıklayıcı açı kümesine indiriyor

Deneyler ve sonuçlar

Uzun bağlam benchmark performansı

  • LongBench, Needle In A Haystack, ZeroSCROLLS, RULER ve L-Eval gibi standart uzun bağlam benchmark'larında, açık kaynak LLM'ler (Gemma, Mistral) kullanılarak değerlendirildi
  • TurboQuant, hem iç çarpım bozulması (dot product distortion) hem de recall açısından en iyi puanları elde ederken aynı anda anahtar-değer bellek ayak izini en aza indirdi
  • Llama-3.1-8B-Instruct modelinde soru-cevap, kod üretimi ve özetleme gibi farklı görevlerde KIVI temel çizgisine karşı güçlü performans gösterdi

Needle-in-Haystack görevi

  • Büyük metinler içinde belirli bilgiyi bulma testinde TurboQuant, tüm benchmark'larda kusursuz downstream sonuçlar elde etti
  • Anahtar-değer bellek boyutunu en az 6 kat küçülttü
  • PolarQuant da bu görevde neredeyse kayıpsız düzeydeydi

Çalışma zamanı performansı

  • Eğitim ya da fine-tuning olmadan anahtar-değer önbelleğini 3 bit olarak niceleyip model doğruluğundan ödün vermedi
  • Orijinal LLM'den daha hızlı çalışma zamanı elde etti; uygulama son derece verimli ve çalışma zamanı ek yükü ihmal edilebilir düzeyde
  • 4 bit TurboQuant, H100 GPU'da 32 bit niceleme yapılmamış anahtarlara kıyasla attention logit hesaplamasında en fazla 8 kat performans artışı sağladı; ölçüm JAX optimize temel çizgisine karşı yapıldı

Vektör arama performansı

  • Yüksek boyutlu vektör aramada PQ, RabbiQ gibi güncel yöntemlerle karşılaştırmalı değerlendirme yapıldı
  • Algoritmanın yaklaşık üst k sonuç içinde gerçek en iyi iç çarpım sonucunu ne kadar sık yakaladığını ölçen 1@k recall oranı kullanıldı
  • Verimsiz büyük kod kitapları ve veri setine özel ayarlara başvuran temel çizgilere karşı TurboQuant tutarlı biçimde daha iyi recall oranları kaydetti
  • GloVe veri setinde (d=200), çeşitli güncel niceleme temel çizgilerine kıyasla en iyi 1@k recall oranına ulaştı
  • Veriden bağımsız (data-oblivious) bir yaklaşımla yakın-optimal bozulma oranı sunarak, 3 bitlik bir sistemin verimliliğiyle çok daha ağır modellerin hassasiyetini korudu

Geleceğe bakış

  • TurboQuant, QJL ve PolarQuant yalnızca pratik mühendislik çözümleri değil; aynı zamanda güçlü teorik kanıtlarla desteklenen temel algoritmik katkılar
  • Kanıtlanabilir verimliliğe sahipler ve teorik alt sınıra yakın çalışıyorlar; bu da onları büyük ölçekli kritik sistemlerde sağlam ve güvenilir kılıyor
  • Başlıca kullanım alanı olan Gemini gibi modellerdeki anahtar-değer önbelleği darboğazını çözmenin ötesinde, verimli çevrimiçi vektör nicelemenin etkisi daha geniş bir alana yayılabilir
  • Modern arama, anahtar kelime merkezli yaklaşımdan niyeti ve anlamı anlama yönüne evrilirken, milyarlarca vektörden oluşan veri tabanlarında semantik olarak en benzer öğeleri bulmak için vektör arama zorunlu hale geliyor
  • TurboQuant, en az bellek, neredeyse sıfır ön işleme süresi ve son teknoloji doğrulukla büyük ölçekli vektör indeksleri kurup sorgulamayı mümkün kılarak Google ölçeğinde semantik aramayı daha hızlı ve daha verimli hale getiriyor

4 yorum

 
crawler 2026-03-26

"Döndürme sonsuz güce sahiptir. Buna inan."

 
s0400615 2026-03-27

Saygılar.

 
ryj0902 2026-03-27

Bu yorum yüzünden giriş yaptım

 
GN⁺ 2026-03-26
Hacker News yorumları
  • KV önbelleği sıkıştırma araştırması gerçekten ilginç bir gelişme
    Ancak ilgili çalışmada temel matematiksel mekanizmaya dair atıfların eksik olması üzücü
    Yüksek boyutlu geometriyi ele almak için geometrik döndürme uygulayıp ardından aşırı nicemleme yapma tekniği, ekibimizin NeurIPS 2021 makalesi “DRIVE” ile ilk kez önerilmişti
    Bu döndürme tabanlı yaklaşım ve önyargı düzeltme mekanizması sayesinde en uygun varyans ortalaması tahminine ulaştık
    Daha sonra bunu Google davetli seminerinde de sunduk; TurboQuant ile PolarQuant arasındaki kuramsal benzerlikler düşünüldüğünde, ilerideki sürümlerde önceki çalışmalara atıf eklenmesini umuyorum

    • Döndürmeden kasıt sonuçta köşegenleştirme (diagonalization) mi, bunu merak ediyorum
      Yani köşegen matrisi ve yeni bazı saklayarak daha fazla sıkıştırma yapılan bir yöntem mi diye soruyorum
    • Bugün ilk kez Multi-Head Latent Attention (MHLA) duydum; bunun da KV önbelleğini sıkıştıran bir yöntem olduğu söyleniyor
      Bu çalışma ile MHLA arasındaki ilişkinin ne olduğunu açıklayabilir misiniz?
    • Bu aslında eski bir Johnson–Lindenstrauss türü klasik teknik
      Bu fikirler birkaç yılda bir yeniden keşfediliyor; örneğin 2017 tarihli makalede de benzer bir yaklaşım vardı
    • Atıf gerçekten eksikse bu üzücü olur
      Ama araştırmacıların çalışma zaten epey ilerlemişken benzer fikri bağımsız olarak geliştirmiş olmaları da mümkün
      İyi fikirlere, problemi derinlemesine anlayan insanların doğal olarak ulaşması normaldir
    • Schmidhuber’d” diyerek, önceki çalışmalara atıf yapılmamasını alaycı biçimde ifade ediyorlar
  • “TurboQuant veriyi rastgele döndürerek geometriyi sadeleştiriyor” açıklaması bana pek anlaşılır gelmiyor
    Döndürmenin her zaman daha basit bir biçim oluşturacağını kim garanti edebilir?
    Ayrıca “Johnson–Lindenstrauss dönüşümüyle yüksek boyutlu veri küçültülüyor ve her vektör işaret bitleriyle ifade ediliyor” kısmında da, tek bir boolean değerle ilişki bilgisinin korunması bana ikna edici gelmiyor

    • Gerçekte derin öğrenme modellerindeki aktivasyon değerlerinin dağılımı izotropik (isotropic) değil
      Bazı boyutlarda aykırı aktivasyon değerleri oluşuyor ve Adam optimizer’ın yapısı gereği bu durum daha da güçleniyor
      Bununla ilgili olarak SmoothQuant ve Privileged Basis makalelerine bakılabilir
    • Kastedilen şey, modelin verinin yönüne değil yalnızca vektörler arası mesafeye duyarlı olması gerektiği
      Bu sayede gereksiz örüntü öğrenimi azalır ve optimizasyon daha kararlı hale gelir
      Yani modelin “belirli bir boyutta belirli basamaktaki sayı 5 ise bu kedidir” gibi önemsiz kuralları öğrenmemesi amaçlanıyor
    • Nicemlemenin amacı veriyi kutulara (bin) yerleştirerek sıkıştırmak
      Döndürme matrisiyle çarpınca veri daha eşit dağılır ve verimli nicemleme mümkün olur
      Sonrasında Lloyd–Max algoritması ile sınırlar ve yeniden yapılandırma değerleri optimize edilir, kalan önyargı (bias) ise 1 bit ile düzeltilir
      Böylece az sayıda bit ile de yüksek doğruluk korunabilir
    • Döndürme, veriyi başka bir referans koordinat sistemine taşıyarak sıkıştırma verimini artırmaktan ibaret
      Örneğin kayan noktalı değerleri başka birimlere çevirirseniz (bel → desibel gibi), benzer değerler daha yakın temsil edildiği için sıkıştırma kolaylaşır
    • Kastedilen rastgele döndürme değil, aykırı değer hizalaması
      Yani uzakta bulunan verileri yeniden merkeze yaklaştırma süreci
      Ayrıca her boyut ayrı ayrı kodlandığı için tüm vektör tek bir boolean değere indirgenmiyor
  • Bu blog yazısı düşük kaliteli
    Grafiğin eksenleri yanlış etiketlenmiş ve video görselleştirme de Polar Quantization kavramını hiç aktaramıyor
    Bir başka grafikte eksen 48’den başladığı için gerçek fark abartılıyor
    Genel olarak görsel materyallerin güvenilirliği ve iletişim kalitesi zayıf

  • Birisi bunu şimdiden llama.cpp içinde uyguluyor
    İlgili commit’e bakabilirsiniz

    • Makaledekinden daha verimli bir yöntemle, O(d²) olan döndürme işlemini Subsampled Randomized Hadamard Transform ile değiştirip O(d log d) seviyesine çekmeye çalışıyorlar
      Johnson–Lindenstrauss teoreminin hâlâ geçerli olması sayesinde, her koordinatın bağımsız nicemlenmesinin kuramsal olarak geçerli kalması umuluyor
    • Uygulamanın beklediğimden basit olmasına şaşırdım
      Alan bilgim çok derin değil ama yapı net görünüyor
    • llama.cpp geliştirme hızı çok yüksek
      4 ila 6 hafta içinde ana dala birleştirilmesi muhtemel
  • TurboQuant’ı sezgisel olarak açıklayan bir animasyon var

  • Lisans düzeyinde hazırladığım özet şöyle
    Ana fikir, KV önbelleğini bilgi kaybını en aza indirerek nicemlemek
    Vektörlerin çoğu yüksek boyutlu kürenin ekvatoru civarında toplandığı için, döndürme ile dağılım daha eşit hale getirilerek entropi korunumu artırılıyor
    PolarQuant bunu kutupsal koordinat dönüşümüyle yapmaya çalışıyordu; TurboQuant ise bunu sadeleştirip QJL önyargı düzeltmesini ekliyor
    Sonuçta PolarQuant + QJL + pratik düzeltmeler ile yüksek verimli sıkıştırma elde ediliyor
    Blog yazısı ise çok sayıda hata içeriyor ve kafa karıştırıyor

    • Gerçekte gelecekteki sorgu vektörleri için ters döndürme (un-rotation) yapılıyor
      PolarQuant’ın hiperkutupsal koordinat kod kitabı TurboQuant içinde kısmen korunmuş durumda
  • Bu yazı, yapay zeka bileşenlerini açıklama konusunda gördüğüm en kötü örneklerden biri
    Teknik bağlam neredeyse hiç yok

    • Gerçekten yapay zeka tarafından yazılmış ya da teknik anlayışı zayıf biri tarafından kaleme alınmış gibi duruyor
      Johnson–Lindenstrauss teoreminden söz ediyor ama bunun somut bağlantısını açıklamıyor
    • Bazı cümleler aşırı basitleştirilmiş
      Örneğin “3 blok doğuya, 4 blok kuzeye” yerine “37 derecelik açıyla 5 blok ilerle” demek gibi; bu da ortaokul düzeyi bir benzetme gibi hissettiriyor
    • “TurboQuant, QJL ve PolarQuant kuramsal olarak verimli ve alt sınıra yakın algoritmik yeniliklerdir” cümlesi, abartılı bir tanıtım ifadesi gibi görünüyor
  • Bağımsız bir PyTorch uygulaması zaten yayımlandı
    turboquant-pytorch

    • Google’ın blogundan çok daha açık bir açıklama sunuyor
  • Blog yakın zamanda yayımlanmış olsa da, makale aslında yaklaşık 1 yıl önce arXiv’e gönderilmişti
    Bunun Gemini gibi modellere uygulanıp uygulanmadığını merak ediyorum; eğer öyleyse kişisel kullanımda RAM maliyetlerini de düşürebilir

  • Son dönemde sıkıştırma araştırmalarının gerçek uygulamalara dönüşme hızı şaşırtıcı
    Görüntü formatlarında AVIF ve JPEG XL’in video codec araştırmalarından türemesine benzer şekilde, yapay zeka nicemleme tekniklerinin de yakında gerçek çıkarım ortamlarında kullanılma ihtimali yüksek

    • JPEG XL görüntüye özel araştırmalara dayanıyor ama AVIF gibi videodaki tekniklerin görüntüye uyarlanmasına da benziyor
      XYB renk uzayı gibi bazı fikirler ortak; LLM’lerde de benzer özel mühendislik gerekeceğini düşünüyorum