Skymod

29.07.2025

Büyük Dil Modelleri Gerçekte Ne Kadar Belleğe İhtiyaç Duyuyor? Çıkarımsal VRAM Tüketimi İçin Pratik Bir Kılavuz

Büyük Dil Modelleri için gerçekten ne kadar VRAM gerekir? Bu kılavuz; model ağırlıkları, KV önbelleği ve etkinleştirmelerin etkisini açıklar. FP16/INT8/INT4 ile pratik bellek formülleri ve hızlı tahmin yöntemiyle çıkarımda doğru GPU bellek planlaması yapın.

Navigation

Büyük Dil Modelleri ve GPU Belleği Arasındaki Temel İlişki

Büyük Dil Modelleri (LLM’ler) yapay zeka alanında devrim yaratmış olsa da, bu devrim önemli bir hesaplama maliyetiyle birlikte geliyor. Bu maliyetin merkezinde, modelleri çalıştırmak için gereken devasa bellek ve bu talebi karşılamak için gereken donanım yer alıyor: Grafik İşlem Birimleri (GPU’lar). Bir LLM’deki parametre sayısı ile ihtiyaç duyduğu GPU belleği (VRAM) arasındaki ilişkiyi anlamak, bu teknolojiyi etkili bir şekilde dağıtmak, eğitmek ve optimize etmek isteyen geliştiriciler, araştırmacılar ve kurumlar için kritik öneme sahiptir. Bu makale, GPU bellek kullanımının üç temel bileşenini analiz ediyor ve modelinizin VRAM gereksinimlerini doğru bir şekilde tahmin etmeniz için pratik formüller sunuyor. 

Hassasiyet Önemlidir: Parametre Başına Bayt Sayısı

Model ağırlıklarını depolamak için kullandığınız sayısal hassasiyet, bellek ayak izini belirlemede önemli bir rol oynar:

Hassasiyet Onemlidir Parametre Basina Bayt Sayisi scaled e1753781040240

Çıkarım ve eğitim için standart olan FP16/BF16 nicemleme (INT8 veya INT4’e geçiş) ile genellikle performans üzerinde minimum etkiyle VRAM kullanımını önemli ölçüde azaltabilir.

Bellek Bileşeni 1: Model Ağırlıkları

Çıkarım sırasında GPU VRAM’i öncelikle üç ana bileşen tarafından tüketilir: Model ağırlıkları, KV önbelleği ve etkinleştirmeler.

Model ağırlıkları, milyarlarca model parametresi içeren statik ve genellikle en büyük bellek bileşenidir. Boyutu, model parametrelerinin sayısı ve bu parametreleri depolamak için kullanılan sayısal hassasiyetle doğru orantılıdır.

Model Ağırlıkları için Bellek Hesaplama

Model ağırlıklarının kapladığı belleği hesaplamak için temel formül oldukça basittir:

Model Ağırlıkları (GB) = Parametre Sayısı (Milyar) × Parametre Başına Bayt

Bu ağırlıkların toplam boyutu, parametre sayısı ve hassasiyetleri ile doğru orantılıdır.

Örneğin, 7 milyar (7B) parametreli bir model için, farklı hassasiyet seviyelerindeki bellek gereksinimleri aşağıdaki gibi olacaktır:

  • FP16 (16 bit, parametre başına 2 bayt): 7×2=14 GB
  • INT8 (8 bit, parametre başına 1 bayt): 7×1=7 GB
  • INT4 (4 bit, parametre başına 0,5 bayt): 7×0,5=3,5 GB

Bellek Bileşeni 2: KV Önbelleği

KV (Key – Value) önbelleği, otoregresif metin oluşturma sırasında performansı artırmak için kullanılan dinamik bir bellek alanıdır. Transformer mimarisindeki dikkat mekanizması, daha önce işlenmiş belirteçlerin anahtar ve değer vektörlerini bu önbellekte depolar. Bu, her yeni belirteç oluşturulduğunda geçmiş belirteçler için bu değerlerin yeniden hesaplanması ihtiyacını ortadan kaldırır.

KV önbelleği, özellikle uzun bağlam uzunluklarına sahip modellerde, dönüştürücü çıkarımı sırasında gizli ancak önemli bir bellek kullanımı kaynağını temsil eder. Sabit kalan model ağırlıklarının aksine, KV önbelleğinin boyutu çeşitli faktörlere bağlı olarak dinamik olarak artar: toplu iş boyutu b (eş zamanlı olarak işlenen giriş dizisi sayısı), bağlam uzunluğu s (modelin tuttuğu belirteç sayısı), dönüştürücü katman sayısı l , her bir dikkat başlığının gizli boyutu h ve dikkat başlığı sayısı nh. KV önbelleği için yaklaşık bellek gereksinimi şu formül kullanılarak hesaplanabilir:

KV Belleği ≈ b × s × l × h × nh × 2 × Parametre Başına Bayt

Burada 2 faktörü, her belirteç için depolanan hem anahtar hem de değer tensörlerini hesaba katar. Bu bellek alanı, bağlam uzunluğuyla doğrusal olarak ölçeklenir ve özellikle daha büyük ölçeklerde etkilidir. Örneğin, LLaMA-2 7B modelinde, KV önbelleği belirteç başına yaklaşık 0,5 MB tüketir; bu da 28.000 belirteçlik bir bağlamın yaklaşık 14 GB gerektirebileceği anlamına gelir; bu da modelin ağırlıkları için gereken belleğe eşdeğerdir. Bu durum, yalnızca KV önbelleğinin 40 GB’a kadar çıkabildiği ve statik ağırlıklı belleği önemli ölçüde aştığı LLaMA-3.1 70B gibi modellerde daha da uç bir hal alır. Bu durum, kaynak kısıtlı ortamlarda bağlam uzunluğu ve toplu işlemlerin dikkatli bir şekilde yönetilmesini kritik hale getirir.

Bellek Bileşeni 3: Etkinleştirmeler ve Ek Yük

Etkinleştirmeler ve geçici arabellekler, modelin katmanları arasındaki ara hesaplamaların ve çıktıların (etkinleştirmeler) depolandığı bellek alanlarıdır. Geçici arabellekler ayrıca matris çarpımı gibi işlemler için de kullanılır. Bu bileşenler genellikle toplam bellek kullanımının daha küçük bir kısmını oluşturur ve genellikle genel bir “ek yük” olarak kabul edilir.

Model ağırlıklarına ve KV önbelleğine ek olarak, etkinleştirmeler, geçici hesaplama tamponları ve işletim sistemi ile CUDA kütüphanelerinin neden olduğu bellek parçalanması gibi ek yükler de VRAM tüketir. Bu ek yükleri hesaba katmanın pratik bir yolu, toplam hesaplanan bellek gereksinimine %10 ila %20 eklemektir.

Toplam Çıkarım Belleği: Birleştirilmiş Formül

Bu bilgiler göz önüne alındığında, daha kapsamlı bir çıkarım tahmin formülü aşağıdaki gibi oluşturulabilir:

Toplam Bellek = (Model Ağırlıkları + KV Belleği) × 1.2

Bonus: Bellek Tahmini Kısayolu

Çıkarım sırasında toplam GPU bellek gereksinimlerinin hızlı bir tahmini için:

M = ( P * 4B)(32/Q) * 1.2

Burada M, gigabayt cinsinden toplam GPU belleği, P model parametrelerinin sayısı, Q bit cinsinden hassasiyettir (örneğin, FP16 için 16) ve 1.2 faktörü, etkinleştirmeler, tamponlar ve bellek parçalanması gibi tipik sistem ek yüklerini hesaba katar. Bu formül, model ağırlıklarını ve diğer bileşenleri ayrı ayrı hesaplamadan toplam VRAM tüketimini yaklaşık olarak hesaplamaya yardımcı olur. Örneğin, formülü FP16 hassasiyetinde 7 milyar parametreli bir modele (7B) uyguladığımızda şu sonucu elde ederiz:

M = (7 × 4) × (32 / 16) × 1,2 = 28 × 2 × 1.2 = 33,6 GB. 

Bu hızlı tahmin, gerçek dünyadaki bellek kullanım modelleriyle yakından uyumludur ve özellikle mevcut donanımlarda hızlı fizibilite kontrolleri için faydalıdır.

Sonuç

VRAM tüketimini anlamak sadece teorik değildir; ölçeklenebilir ve verimli LLM sistemleri kurmak için de gereklidir. Bu formüller ve sezgisel yöntemler sayesinde, bellek kısıtlamalarını yönetme, çıkarım süreçlerini optimize etme ve modeliniz için doğru dağıtım stratejisini seçme konusunda daha donanımlı olacaksınız.

Sizin Gibi Çalışan Yapay Zeka (AI) Çalışanları İçin Şimdi Demo İsteyin

Ücretsiz Demonuza Erişmek İçin İletişime Geçin