Model Sıkıştırma, büyük yapay zeka modellerini performansı koruyarak küçülten ve hızlandıran tekniklerin genel adıdır.

Model sıkıştırma (model compression), derin öğrenme ve makine öğrenimi modellerinin boyutunu, hesaplama maliyetini ve bellek gereksinimlerini azaltmaya yönelik tekniklerin genel adıdır. Milyarlarca parametre içeren büyük yapay zeka modelleri; eğitim sürecinde muazzam donanım kaynakları tüketir ve üretim ortamında yüksek gecikme ile enerji maliyeti yaratır. Model sıkıştırma, bu ağır modelleri orijinal doğruluk değerlerine yakın tutarken çok daha küçük, hızlı ve verimli hale getirir. Temel model sıkıştırma yöntemleri dört ana başlık altında incelenir. Birincisi budama (pruning): modeldeki önemsiz ağırlıkları veya nöronları tespit edip kaldırarak bağlantılar seyreltilir; bu yöntemle %50-90 oranında parametre azaltımı elde edilebilir. İkincisi niceleme (quantization): 32-bit kayan noktalı ağırlık değerleri 8-bit veya 4-bit tam sayılara dönüştürülür; böylece hem bellek hem de çıkarım (inference) süresi 2-8 kat iyileştirilebilir. Üçüncüsü bilgi damıtma (knowledge distillation): büyük bir öğretmen modelin yümuşak olasılık çıktıları küçük bir öğrenci modele aktarılarak kompakt ama güçlü modeller elde edilir. Dördüncüsü ise düşük ranklı ayrıştırma (low-rank factorization): büyük ağırlık matrisleri iki küçük matrisin çarpımına ayrıştırılır; LoRA ve QLoRA bu yaklaşımın modern uygulamalarıdır. Pratik ekosistemde GPTQ, AWQ, GGUF ve bitsandbytes gibi araçlar, büyük dil modellerini tüketici sınıfı GPU'larda ve hatta CPU üzerinde çalıştırılabilir hale getirmiştir. llama.cpp projesi sayesinde 70 milyar parametreli modeller sıradan dizüstü bilgisayarlarda bile çalışabilmektedir. Model sıkıştırma; akıllı telefon tabanlı konuşma tanıma, gerçek zamanlı nesne algılama, uç cihaz (edge) yapay zekası ve kaynak kısıtlı IoT sistemleri gibi alanlarda kritik önem taşımaktadır.

Model Sıkıştırma Nedir?

Model sıkıştırma, büyük yapay zeka ve derin öğrenme modellerini daha küçük, hızlı ve verimli hale getiren tekniklerin bütünüdür. GPT-4 gibi büyük dil modelleri yüzlerce milyar parametre barındırabilir; bunların çalıştırılması için veri merkezlerinde pahalı GPU kümeleri gerekir. Model sıkıştırma teknikleri, bu devasa modelleri orijinal doğruluk değerlerine yakın tutarken akıllı telefonlar, IoT cihazları ve edge sistemler gibi kısıtlı ortamlarda çalışabilecek forma sokar. Sıkıştırma sayesinde hem çıkarım (inference) maliyeti hem de enerji tüketimi önemli ölçüde düşer. Bu durum yapay zekayı yalnızca büyük şirketlerin değil, herkesin kullanabileceği bir teknoloji haline getirir. Son yıllarda açık kaynak topluluğunun geliştirdiği araçlar sayesinde 70 milyar parametreli modeller sıradan dizüstü bilgisayarlarda bile çalışabilmektedir.

Temel Sıkıştırma Teknikleri

Budama (Pruning)

Modeldeki önemsiz bağlantılar veya nöronlar kaldırılır. Yapısal budama tüm filtre/katmanları eler; seyrek budama bireysel ağırlıkları sıfırlar. %50-90 seyreklik elde edilebilir.

Niceleme (Quantization)

Ağırlık değerleri 32-bit'ten 8-bit veya 4-bit formata indirgenir. GPTQ ve AWQ gibi araçlar post-training quantization (PTQ) uygular; boyut 4-8× küçülür.

Bilgi Damıtma (Knowledge Distillation)

Büyük bir öğretmen modelin yumuşak olasılık çıktıları küçük bir öğrenci modele aktarılır. DistilBERT, BERT'in %40 daha küçük ama %97 performanslı versiyonudur.

Düşük Ranklı Ayrıştırma (Low-Rank Factorization)

Büyük ağırlık matrisleri iki küçük matrisin çarpımına ayrıştırılır. LoRA ve QLoRA bu yaklaşımı ince ayar (fine-tuning) için kullanır; %90 daha az parametre güncellemesi gerekir.

Araçlar ve Ekosistem

  • check_circle GPTQ / AutoGPTQ: Post-training quantization için önde gelen Python kütüphanesi; LLM'leri 4-bit veya 8-bit'e indirger.
  • check_circle AWQ (Activation-aware Weight Quantization): Aktivasyon istatistiklerini kullanarak daha doğru niceleme yapan modern yaklaşım; Hugging Face ekibiyle yaygınlaştı.
  • check_circle GGUF / llama.cpp: CPU üzerinde LLM çıkarımı için optimize edilmiş format ve C++ runtime; macOS, Linux ve Windows'ta çalışır.
  • check_circle bitsandbytes: PyTorch için 8-bit ve 4-bit niceleme kütüphanesi; QLoRA fine-tuning'in temel bileşenidir.
  • check_circle ONNX Runtime: Farklı donanım ve çerçeveler arasında optimize çıkarım sağlayan çapraz platform runtime; pruning ve quantization destekler.

Uygulama Alanları

  • check_circle Mobil Yapay Zeka: Akıllı telefon asistanları, gerçek zamanlı çeviri ve sesli tanıma uygulamaları sıkıştırılmış modeller kullanır.
  • check_circle Edge ve IoT Sistemleri: Fabrika robotları, güvenlik kameraları ve tıbbi cihazlar gibi düşük güçlü donanımlarda yerel model çıkarımı.
  • check_circle Tarayıcı Tabanlı AI: WebAssembly ve WebGPU üzerinde çalışan sıkıştırılmış modeller; kullanıcı verisi sunucuya gönderilmeden işlenir.
  • check_circle LLM Fine-Tuning: QLoRA sayesinde 70B parametreli modeller tek bir tüketici GPU'sundan (24 GB VRAM) ince ayar alabilir.

Sıkça Sorulan Sorular

  • check_circle Model sıkıştırma doğruluğu ne kadar düşürür?: Tekniğe ve sıkıştırma oranına göre değişir. 4-bit GPTQ niceleme genellikle orijinal modele kıyasla %1-3 doğruluk kaybıyla %75 boyut azaltımı sağlar. Bilgi damıtma ise bazen öğrenci modeli öğretmeni geçebilir çünkü öğretmenin 'karanlık bilgisi' aktarılır.
  • check_circle Budama ile niceleme arasındaki fark nedir?: Budama bağlantıları tamamen kaldırır (parametre sayısını azaltır); niceleme ise parametreleri korur ama daha düşük hassasiyetle temsil eder (bit sayısını azaltır). Pratikte her ikisi birlikte uygulanarak maksimum sıkıştırma elde edilir.
  • check_circle LoRA model sıkıştırma mıdır?: LoRA teknik olarak bir ince ayar (fine-tuning) yöntemidir ama düşük ranklı ayrıştırma kullanması nedeniyle model sıkıştırmayla yakından ilişkilidir. Fine-tuning sırasında güncellenecek parametre sayısını %90 oranında azaltır ve QLoRA ile nicelemeyle birleştirilebilir.
  • check_circle Hangi modeller için sıkıştırma önerilir?: Çıkarım hızı veya bellek kısıtı olan tüm durumlar için önerilir. Özellikle üretimde çok istek alan modeller (maliyet düşürme), mobil/edge dağıtımlar ve tek GPU'da çalıştırılacak büyük dil modelleri için idealdir.