T.UZUN_
‹ YAPAY ZEKA

LLM Sözlüğü Bölüm 1: Prefill vs. Decode ve Bellek Yönetimi

LLM soyut birer yazılım değil, girdi vektörlerini matris dönüşümleriyle bir sonraki olasılıksal token eviren donanım ve algoritma odaklı hesaplama motorlarıdır. Tokenizasyondan başlayıp Prefill ve Decode fazları üzerinden PagedAttention bellek yönetimine uzanan teknik yolculuğunu inceliyoruz.

Paylaş
llm.jpg

Büyük Dil Modelleri (LLM) soyut birer yazılım değil, girdi vektörlerini matris dönüşümleriyle bir sonraki olasılıksal belirtece (token) eviren donanım ve algoritma odaklı hesaplama motorlarıdır. Bu yazıda, bir istemin tokenizasyondan başlayıp Prefill ve Decode fazları üzerinden PagedAttention bellek yönetimine uzanan teknik yolculuğunu inceliyoruz.


1. Metinden Tensöre: Tokenizasyon ve Temsil Uzayı

Büyük dil modelleri ham metin karakterlerini doğrudan işleyemezler. Girdi metinleri öncelikle token adı verilen sayısal kimliklere (token ID) bölünür. Tokenizasyon modülü, kelimeleri, kelime köklerini veya ekleri sabit bir sözlükten (vocabulary) alınan alt sözcük birimlerine (subwords) ayırır.

Uygulamada yaygın olarak kullanılan Byte Pair Encoding (BPE) ve SentencePiece algoritmaları, metni istatistiksel sık görülme oranlarına göre parçalar. Ortalamada 1 token yaklaşık 0.75 İngilizce kelimeye karşılık gelir.

Ham Metin: "LLM mimarisi hızlıdır"
     │
     ▼ (Tokenizasyon - BPE / SentencePiece)
Token Dizisi: ["LLM", " mim", "arisi", " hız", "lıdır"] 
     │
     ▼ (Token ID Eşleme)
ID Vektörü: [1542, 8921, 4102, 612, 1904]

Tokenize edilen her sayısal ID, modelin embedding katmanına beslenir. Bu katman, her token ID'sini yüksek boyutlu bir gizil uzayda (latent space; örneğin 768, 1536 veya 3072 boyutlu) gerçek sayılı bir vektöre dönüştürür. Anlamsal olarak birbirine yakın kavramlar bu çok boyutlu vektör uzayında birbirine yakın konumlanır.


2. Transformer Mimarisi ve Dikkat Mekanizmaları

Modern LLM'lerin ezici çoğunluğu Transformer mimarisini taban alır. GPT ve Llama aileleri gibi üretim odaklı modeller, otoregresif biçimde sonraki token'ı tahmin eden kod çözücü odaklı (Decoder-Only) Transformer mimarisine dayanır. Mimari, verinin sıralı ilişkilerini anlamak için Self-Attention (Öz-Dikkat) mekanizmasını kullanır.

Self-Attention işleminde, her token için üç temel vektör hesaplanır: Sorgu (Query - Q), Anahtar (Key - K) ve Değer (Value - V). Model, dizideki token'ların birbiriyle olan ilişkisel ağırlıklarını matris çarpımları ve Softmax normalizasyonu ile hesaplar:

  • Kod / Hesaplama Formatı:

    Attention(Q, K, V) = Softmax((Q * K^T) / sqrt(d_k)) * V
    Dikkat = Softmax((Sorgu * Anahtarın_Transpozu) / Karekök(Boyut)) * Değer

Geleneksel Multi-Head Attention (MHA) mekanizması, dikkat hesaplamasını birden fazla paralel alt uzayda yürüterek farklı ilişki türlerini öğrenir. Ancak MHA, her dikkat başlığı için ayrı Key ve Value matrisleri oluşturduğundan bellek üzerinde büyük yük yaratır.

Bu kısıtı aşmak amacıyla geliştirilen Grouped-Query Attention (GQA), Key ve Value başlıklarını gruplayarak bellek tüketimini ve KV Cache boyutunu ciddi oranda düşürür. Ayrıca, uzun bağlam penceresi (context window) yönetiminde konumsal bilgiyi dönel matris dönüşümleriyle kodlayan Rotary Position Embedding (RoPE) mekanizması tercih edilmektedir.


3. Otoregresif İlerleme: Prefill ve Decode Fazlarının Ayrımı

Bir LLM'e istem gönderildiğinde, çıkarım (inference) süreci donanım düzeyinde iki ana fazda gerçekleşir:

  • Prefill Fazı (Ön Doldurma - Compute-Bound): Kullanıcı isteminin, sistem yönergelerinin ve bağlam dokümanlarının tamamının modele ilk sunulduğu aşamadır. Prefill aşamasında girdideki tüm token'lar paralel olarak matris çarpımlarına tabi tutulur. Bu faz, matris işlemlerinin yoğunluğu nedeniyle GPU'nun paralel hesaplama gücüne (FLOPS) bağımlıdır ve hesaplama yoğun (compute-bound) nitelik taşır.

  • Decode Fazı (Kod Çözme - Memory Bandwidth-Bound): Modelin yanıtı adım adım, otoregresif olarak tek bir yeni token ürettiği aşamadır. Her yeni token üretim adımında, model ağırlıklarının ve geçmiş KV matrislerinin tamamı VRAM'den GPU işlem çekirdeklerine (SRAM/ALU) tekrar taşınmalıdır. Bu nedenle decode fazı hesaplama gücünden ziyade bellek bant genişliği darboğazına (memory bandwidth-bound) takılır.


4. Bellek Mimarisi: KV Cache ve PagedAttention

Decode fazında her yeni adımda geçmiş tüm bağlamı sıfırdan hesaplama maliyetini ortadan kaldırmak için Key-Value Cache (KV Cache) mekanizması kullanılır. KV Cache, daha önce hesaplanmış token'ların Key ve Value matris vektörlerini VRAM'de saklar. Böylece model yalnızca yeni üretilen tek bir token için hesaplama yapar.

Ancak geleneksel KV Cache yönetimi, belleği kesintisiz (contiguous) bloklar halinde tahsis ettiğinden devasa VRAM parçalanmasına (fragmentation) yol açar. Saha analizleri ve bellek profilleme verileri, geleneksel KV Cache yapılarında VRAM'in %60 ila %80'inin atıl kaldığını ve parçalanma nedeniyle israf edildiğini göstermektedir.

Geleneksel işletim sistemlerindeki sanal bellek sayfalamasından esinlenen PagedAttention teknolojisi, KV Cache verilerini kesintisiz bloklar yerine dinamik, bölünmüş ve sayfalara ayrılmış bellek bloklarında yönetir. PagedAttention, bellek israfını neredeyse sıfıra indirerek aynı sunucu ve GPU üzerinde eşzamanlı işlenen istek (concurrency) kapasitesini 2 ila 4 kat artırmaktadır.


Yapılandırılmış Veri Tablosu

Kavram / Mimari Bileşen

Temel Odak Noktası

Sağladığı Avantaj / Çıktı

BPE & SentencePiece

Metni istatistiksel frekansa dayalı alt sözcük token ID'lerine bölme

Sabit boyutlu sözlükle kelime dışı (OOV) kalma sorununu çözme ve metni sayısal tensöre çevirme

Embedding Katmanı

Token ID'lerini yüksek boyutlu gizil uzay vektörlerine eşleme

Anlamsal ve ilişkisel kavramları matematiksel vektör koordinatlarına dönüştürme

Multi-Head Attention (MHA)

Q, K, V tensörlerini bağımsız alt uzaylarda paralel hesaplama

Metin içi ilişkileri çok yönlü yakalama, ancak yüksek KV Cache VRAM maliyeti

Grouped-Query Attention (GQA)

Birden çok Query başlığına paylaşımlı Key ve Value başlığı atama

Çıkarım sırasında KV Cache boyutunu küçültme ve bellek bant genişliği yükünü azaltma

Prefill Fazı

Girdi isteminin tamamını eşzamanlı matris çarpımlarıyla işleme

Paralel hesaplama (compute-bound) odaklı yüksek GPU FLOPS kullanımı

Decode Fazı

Otoregresif olarak tek token bazlı ardışık çıktı üretimi

Bellek bant genişliği darboğazlı (memory bandwidth-bound) çıkarım adımı

KV Cache

Önceki token'ların Key ve Value matrislerini VRAM üzerinde tutma

Her yeni token üretiminde tüm bağlamı tekrar hesaplama maliyetini ortadan kaldırma

PagedAttention

KV Cache tensörlerini sanal bellek sayfalamasıyla dinamik bloklarda yönetme

Bellek parçalanmasını sıfırlayarak sunucu başına eşzamanlı istek (concurrency) kapasitesini 2-4 kat artırma

Sonraki Bölüm:

Serimizin 2. yazısında, prodüksiyon ortamlarında LLM performansını ölçen TTFT ve TPOT metriklerini, AWQ/GPTQ kuantizasyonunu, FlashAttention ve Speculative Decoding hızlandırma tekniklerini detaylandıracağız.

Sık Sorulan Sorular

+LLM çıkarımında Prefill ve Decode fazları arasındaki donanım farkı nedir?

Prefill fazı tüm girdi metnini tek seferde paralel matris çarpımlarıyla işleyerek GPU hesaplama çekirdeklerine (compute-bound) dayanırken; Decode fazı her adımda tek bir yeni token ürettiği için model ağırlıklarının ve KV tensörlerinin sürekli VRAM'den çekirdeklere taşınmasını gerektirir ve bellek bant genişliğine (memory bandwidth-bound) takılır.

+PagedAttention teknolojisi geleneksel KV Cache yönetimine göre ne tür bir avantaj sağlar?

Geleneksel KV Cache belleği kesintisiz bloklar halinde tahsis ederek %60-80 oranında VRAM parçalanmasına ve alan israfına yol açarken, PagedAttention sanal bellek sayfalamasıyla dinamik blok yönetimi sunar, bellek israfını sıfıra indirir ve eşzamanlı işlenen istek kapasitesini 2 ila 4 kat artırır.

Bu içerik sana ne hissettirdi?

İlgili Yazılar