RadarMakale Bülteniai üretimi

Makale Bülteni — H2O

Kümülatif dikkat skorlarına göre ağır sıklet token'ları koruyup önemsizleri tahliye ederek KV cache'i beşte birine indiren dinamik budama analizi.

UT Austin, Stanford, UC Berkeley ve Meta AI araştırmacıları tarafından NeurIPS 2023’te yayımlanan “H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models” başlıklı akademik makale, çıkarım motorlarının en maliyetli donanım kamburuna doğrudan matematiksel bir darbe indiriyor1. Pratikte bu çalışma, dil modelleri metin üretirken her yeni kelimeyle birlikte şişen KV önbelleğini körlemesine bellekte tutma saçmalığına son veriyor. Dikkat mekanizmasının güç yasası (power-law) dağılımı sergilediğini ve üretilen dikkatin yüzde sekseninden fazlasının yalnızca “Ağır Sıklet” (Heavy Hitters) adı verilen çok küçük bir azınlık token tarafından çekildiğini kanıtlayarak, model kalitesini bozmadan bellek ihtiyacını beşte birine indirmeyi başarıyor.

Akademik teorinin ötesinde endüstriyel çıkarım kıyaslamalarına baktığımızda ortaya konan kapasite kazanımı oldukça çarpıcıdır. Makale, LLaMA ve OPT modellerinde sıfır ek eğitim gerektirmeksizin %80 daha az KV cache belleği ve 29 kata varan throughput artışı vadederken, bu ölçümler doğrudan kurumsal standart olan NVIDIA A100-80GB ve RTX 3090 GPU’lar üzerinde kanıtlanmış durumda. Açık kaynak kod cephesinde ise FMInference/H2O resmi deposunda son commit 1 yıl önce, NeurIPS 2023 teyitli ve 50 açık issue ile modern önbellek budama mimarilerinin kurucu referans kodu olarak geliştiricilerin hizmetinde yer alıyor2.

İddia ve Gerçeklik: H2O

Büyük dil modellerinde çıkarım esnasında bağlam uzadıkça GPU VRAM’ini tüketen ana unsur model ağırlıkları değil, her adımda biriken Key ve Value tensörleridir. Klasik kayan pencere (sliding window) yöntemleri sadece son kelimeleri tutup eskiyi tamamen sildiği için metin kalitesini yerle bir ederken, tam önbellek tutmak ise sunucuları düşük batch boyutlarına mahkum eder. H2O makalesinin getirdiği ana ampirik kırılma noktası, dikkat tensörlerinin kümülatif skorlarını adım adım izlemektir.

Yazarlar, her token üretim adımında dikkat skorlarını toplamsal olarak biriktiren açgözlü bir tahliye mekanizması (greedy eviction policy) geliştirdi. Sistem, GPU belleği belirlenen kapasiteye (örneğin orijinal boyutun yüzde yirmisine) ulaştığında iki tür token’ı korur: En yüksek kümülatif dikkat skoruna sahip olan “Ağır Sıklet” token’lar ve en son üretilen yerel bağlam kelimeleri. Geriye kalan ve toplam dikkat yüküne neredeyse hiç katkı yapmayan önemsiz kelimeler ise VRAM’den dinamik olarak silinir. Bu sayede bellek tüketimi yüzde seksen oranında erirken, metin özetleme ve çok turlu diyalog testlerinde doğruluk kaybı marjinal seviyede kalır. Kod tarafında tek bir satır dahi model ağırlığı değiştirilmez. Ancak bir sistem mimarı için madalyonun diğer yüzündeki operasyonel bedeller dikkatle analiz edilmelidir.

H2O’nun en büyük teorik handikabı adım bazlı izleme ek yüküdür (runtime overhead). Her üretim adımında tüm dikkat matrisini toplayıp kümülatif skor sıralaması (top-k eviction) çalıştırmak, optimize edilmemiş CUDA kodlarında tensör çekirdeklerine ek orkestrasyon yükü bindirir. Dahası dinamik tahliye geri döndürülemez bir işlemdir. Bir token erken aşamada düşük skorlu görünüp bellekten silindiğinde, sonraki adımlarda model o bilgiye tekrar ihtiyaç duyarsa silinen tensör geri getirilemez ve model halüsinasyona düşebilir.

Kod ve Entegrasyon Haritası

H2O, araştırma laboratuvarı sınırlarını aşarak açık kaynak dünyasına HuggingFace Transformers modelleriyle doğrudan konuşabilen çalışan bir Python ve CUDA kütüphanesi olarak sunuldu2. Kod tabanı incelendiğinde, LLaMA ve OPT mimarilerine entegre edilen özel dikkat yöneticileri, kümülatif skor izleyicileri ve bellek tasarrufunu doğrulayan kıyaslama betikleri göze çarpmaktadır.

Açık kaynak ekosistemindeki kavramsal etkisi son derece derindir. vLLM ekibinin seyrek KV önbellek tartışmalarında H2O’nun açtığı ağır sıklet token teorisi temel referans kabul edilmiş ve daha sonra geliştirilen SnapKV ve DuoAttention gibi mimarilerin teorik zeminini oluşturmuştur3. Ancak bağımsız H2O deposunu günümüzün modern motorlarına doğrudan bağlamak isteyen mühendisler için bazı operasyonel zorluklar mevcuttur.

Hacker News ve GitHub tartışmalarında sistem mühendisleri, H2O’nun getirdiği rastgele delikli (sparse) önbellek yapısının vLLM’in paged attention blok tahsis yöneticisinde parçalanmaya yol açabildiğinden bahsetmektedir. Dinamik olarak ortadan token silmek, sayfalama bloklarında boşluklar yarattığı için özel delikli sayfa yöneticileri gerekmektedir; bu da motor seviyesinde ek çekirdek uyarlamaları zorunlu kılar. Yine de yeniden eğitim gerektirmeden model önbelleğini beşte birine indiren en köklü açık kaynak referans H2O’dur.

Ticari Etki: Kimin İşine Yarar?

H2O teknolojisi, özellikle uzun metinleri özetleyen B2B kurumsal analiz platformları, sürekli açık kalan canlı müşteri destek botları ve yüksek eşzamanlı SaaS servisleri için doğrudan bir bulut faturası kurtarıcısıdır. KV önbelleğini beşte birine indirerek aynı A100 GPU sunucusu üzerinde yirmi dokuz kat daha yüksek eşzamanlı kullanıcı trafiği karşılayabilmek, şirketlerin donanım amortismanını doğrudan zirveye taşır. Sunucu satın alma faturasını (CapEx) radikal biçimde öteler.

Aynı zamanda şirket içi kapalı devre sunucularda veri gizliliği gerektiren durumlarda çalışan yerel BT ekipleri için H2O büyük bir operasyonel esnekliktir. 70 milyar parametreli bir modelin VRAM ayak izini budayarak daha küçük GPU kümelerinde koşturabilmek, kurumsal yapay zeka adaptasyonunun önündeki donanım duvarını yıkar. Şirket içi modellerin donanım maliyeti katbekat hafifler.

Buna karşın girdi dokümanının her bir kelimesinin eşit derecede hayati olduğu karmaşık yasal sözleşme doğrulamaları veya kod derleme analizleri gibi sıfır hata toleranslı görevlerde H2O devreye almak riskli olabilir. Ağır sıklet olmayan bir teknik detayın erken silinmesi hassas analizlerde mantık kopukluğu yaratabilir. Özetle H2O, metin akışını ve özetleme operasyonlarını minimum VRAM ile çalıştırmak ve donanım kaynaklarını azami verimlilikle kullanmak isteyen tüm pragmatik sistem mimarları için günümüzün en etkili dinamik budama silahıdır.

Kaynaklar

  1. H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models — arXiv
  2. H2O Official Repository — FMInference GitHub
  3. H2O Heavy-Hitter KV-Cache Eviction Discussion — vLLM GitHub