Yapay Zeka

Model Distillation Nedir? Yapay Zeka Bilgi Damıtma Rehberi

Model distillation nedir? Model distillation (Türkçe kullanımıyla bilgi damıtma), büyük ve hesaplama açısından pahalı bir yapay zekâ modelinin (“öğretmen” model) bilgisini, çok daha küçük ve hızlı çalışan bir modele (“öğrenci” model) aktarma sürecidir. Amaç, öğrenci modelin öğretmen modelin performansına mümkün olduğunca yakın sonuçlar üretirken, çok daha az hesaplama gücü, bellek ve enerji tüketmesini sağlamaktır. 2026 itibarıyla GPT, Claude ve Gemini ailelerinin “mini”, “flash” veya “haiku” gibi adlandırılan küçük sürümlerinin büyük bölümü, bu teknik veya ona yakın yöntemlerle üretiliyor.

Bu rehberde model distillation’ın nasıl çalıştığını, hangi tekniklerin kullanıldığını, pratikte nasıl uygulanacağını ve hangi durumlarda tercih edilmesi gerektiğini uygulanabilir örneklerle ele alıyoruz. Ayrıca gerçek dünyadan örnekler, karşılaşılan yaygın hatalar, güvenlik ve telif boyutuyla ilgili riskler ile diğer model küçültme tekniklerine kıyasla artı ve eksilerini de inceleyeceğiz.

Table of Contents

Model Distillation Nedir? Temel Tanım ve Çalışma Mantığı

Model distillation kavramı ilk olarak 2015 yılında Geoffrey Hinton ve ekibinin yayınladığı “Distilling the Knowledge in a Neural Network” makalesiyle popülerleşti. Temel fikir basit: büyük bir model bir girdiye verdiği yanıtta sadece doğru cevabı değil, o cevaba ne kadar “emin” olduğuna dair zengin bir bilgi de taşır. Bu zengin bilgi, küçük modele aktarılabilirse, küçük model çok daha az parametreyle benzer bir performans seviyesine ulaşabilir.

Teacher-Student (Öğretmen-Öğrenci) Mimarisi

Süreç iki modelle işler:

  • Öğretmen model: Genellikle milyarlarca parametreye sahip, yüksek doğrulukla çalışan ama maliyetli bir model.
  • Öğrenci model: Öğretmen modelden çok daha az parametreye sahip, hızlı ve ucuz çalışacak şekilde tasarlanmış model.

Eğitim sırasında öğrenci model, aynı girdileri öğretmen modele de verir ve öğretmenin ürettiği çıktıları taklit etmeye çalışır. Bu taklit süreci, sadece doğru/yanlış etiketlerle değil, öğretmenin olasılık dağılımıyla yapıldığında çok daha etkili sonuç verir.

Soft Label ve Hard Label Farkı

Geleneksel eğitimde bir modele “bu resim kedidir” gibi kesin (hard) etiketler verilir. Distillation’da ise öğretmen modelin ürettiği olasılık dağılımı (soft label) kullanılır: örneğin öğretmen model bir görüntüye “%87 kedi, %11 köpek, %2 tilki” gibi bir olasılık dağılımı üretebilir. Bu dağılım, sınıflar arasındaki ince ilişkileri de taşıdığı için öğrenci modele çok daha zengin bir öğrenme sinyali sağlar. Bu yumuşatma işlemi genellikle bir “sıcaklık” (temperature) parametresiyle kontrol edilir; sıcaklık arttıkça olasılık dağılımı daha yumuşak (daha bilgilendirici) hale gelir.

Model Distillation Neden Bu Kadar Önemli?

Büyük dil modellerinin maliyeti ve gecikme süresi, üretim ortamında en büyük engellerden biri. Model distillation bu soruna doğrudan çözüm sunuyor:

  • Maliyet düşüşü: Damıtılmış bir model, öğretmen modele göre onlarca kat daha az hesaplama gücüyle çalışabilir; bu da API çağrı başına maliyeti önemli ölçüde azaltır.
  • Düşük gecikme (latency): Küçük modeller daha hızlı yanıt üretir; bu özellikle gerçek zamanlı sohbet uygulamaları ve mobil entegrasyonlar için kritik.
  • Cihaz üzerinde çalıştırma: Damıtılmış modeller, telefon veya kenar (edge) cihazlarda çalışacak kadar küçültülebilir. Bu konuyu daha önce Yerel Yapay Zeka Nedir? On-Device AI rehberimizde ayrıntılı olarak ele almıştık.
  • Enerji verimliliği: Daha az parametre, daha az enerji tüketimi anlamına gelir; bu da büyük ölçekli dağıtımlarda operasyonel maliyeti düşürür.

Gerçek Dünyadan Örnekler: Hangi Modeller Distillation Kullanıyor?

Model distillation akademik bir kavram olmaktan çıkalı uzun zaman oldu; günümüzde birçok ticari ürünün temelinde yer alıyor.

DistilBERT: Akademik Referans Nokta

2019’da Hugging Face tarafından yayınlanan DistilBERT, alanın en sık referans verilen örneklerinden biri. Yayınlanan araştırmaya göre DistilBERT, orijinal BERT modeline kıyasla parametre sayısını yaklaşık %40 azaltırken, dil anlama görevlerinde BERT performansının yaklaşık %97’sini koruyabildiğini ve çıkarım (inference) hızının da belirgin şekilde arttığını raporluyor. Bu çalışma, distillation’ın “küçük ama neredeyse aynı derecede yetenekli” model üretme potansiyelini net biçimde ortaya koyduğu için sektörde referans alınmaya devam ediyor.

Ticari Sağlayıcıların “Mini” ve “Flash” Modelleri

Mini, Haiku veya Flash gibi adlar modelin maliyet ve ürün konumlandırmasını anlatır; yalnızca bu adlardan eğitiminde damıtma kullanıldığı sonucu çıkarılamaz. Eğitim yöntemi için sağlayıcının teknik raporu gerekir. Küçük modeli kendi görev setinizde maliyet, gecikme ve hata türleriyle karşılaştırın.

Model Distillation Türleri

Distillation tek bir yöntem değil; farklı senaryolara göre birkaç yaklaşım öne çıkıyor.

Response-Based Distillation

En yaygın kullanılan yöntem. Öğrenci model, yalnızca öğretmenin son katman çıktısını (nihai olasılık dağılımını) taklit etmeye çalışır. Uygulaması en kolay yöntem olduğu için ticari API’lerde sunulan distillation özellikleri genellikle bu yaklaşımı kullanır.

Feature-Based Distillation

Bu yöntemde öğrenci, sadece son çıktıyı değil, öğretmen modelin ara katmanlarındaki gizli temsilleri (hidden states) de taklit etmeye çalışır. Daha karmaşık bir eğitim süreci gerektirir ama genellikle daha yüksek doğruluk sağlar.

Relation-Based Distillation

Burada odak, tek bir örneğin çıktısından çok, farklı örnekler arasındaki ilişkilerin (örneğin hangi girdilerin birbirine ne kadar benzer olduğunun) öğrenciye aktarılmasıdır. Özellikle temsil öğrenme (representation learning) gerektiren görevlerde tercih edilir.

Model Distillation Nasıl Yapılır? Adım Adım Süreç

  1. Öğretmen modeli belirleyin: Yeterince yüksek doğruluğa sahip, kararlı bir model seçin. Ticari bir API kullanıyorsanız sağlayıcının distillation için izin verdiği modelleri kontrol edin.
  2. Öğrenci model mimarisini tasarlayın: Hedef donanım ve gecikme bütçenize göre parametre sayısını belirleyin (örneğin öğretmenin 1/10 ila 1/50’si).
  3. Eğitim verisini toplayın: Gerçek kullanım senaryolarını temsil eden, çeşitli girdilerden oluşan bir veri seti hazırlayın. Sentetik veri üretimi için öğretmen modelin kendisi de kullanılabilir.
  4. Öğretmenden çıktı toplayın: Her girdi için öğretmen modelin olasılık dağılımlarını (soft label) kaydedin.
  5. Kayıp fonksiyonunu tanımlayın: Genellikle KL diverjansı (Kullback-Leibler divergence) ile gerçek etiket kaybının ağırlıklı bir kombinasyonu kullanılır.
  6. Eğitimi çalıştırın ve izleyin: Öğrenci modelin doğrulama setindeki performansını öğretmenle karşılaştırarak eğitimi izleyin.
  7. Değerlendirme ve devreye alma: Öğrenci modeli gerçek görevlerde test edin, gecikme ve maliyet kazanımlarını ölçün, ardından üretime alın.

Hangi Araçlarla Yapılır?

Sıfırdan bir eğitim döngüsü yazmak zorunda değilsiniz. Açık kaynak ekosisteminde bu süreci kolaylaştıran birkaç olgun araç bulunuyor:

  • Hugging Face Transformers + Trainer API: Özel bir kayıp fonksiyonu tanımlayarak mevcut Trainer sınıfını distillation için uyarlamak mümkün.
  • Hugging Face TRL: Pekiştirmeli öğrenme ve distillation iş akışlarını birleştiren yardımcı kütüphaneler sunuyor.
  • TensorFlow Model Optimization Toolkit: TensorFlow ekosisteminde pruning ve quantization gibi optimizasyon araçları sunar; damıtma için ayrıca bir eğitim döngüsü gerekebilir.
  • Sağlayıcı API’leri: Bazı büyük model sağlayıcıları, kendi platformları üzerinden yönetilen distillation iş akışları sunuyor; bu durumda altyapıyı kendiniz kurmanıza gerek kalmıyor.

Küçük ölçekli bir proje için hazır kütüphaneleri kullanmak, geliştirme süresini önemli ölçüde kısaltır; büyük ölçekli ve özelleştirilmiş ihtiyaçlarda ise özel eğitim döngüsü yazmak daha fazla kontrol sağlar.

Kod Örneği: PyTorch ile Basit Distillation Kaybı

Aşağıdaki örnek, bir öğrenci modelin öğretmen modelin çıktısını taklit etmesini sağlayan basitleştirilmiş bir kayıp fonksiyonunu gösteriyor:

import torch
import torch.nn.functional as F

def distillation_loss(student_logits, teacher_logits, true_labels, temperature=2.0, alpha=0.5):
    # Ogretmen ve ogrenci ciktilarini sicaklikla yumusat
    soft_teacher = F.softmax(teacher_logits.detach() / temperature, dim=-1)
    soft_student = F.log_softmax(student_logits / temperature, dim=-1)

    # KL diverjansi ile "damitma" kaybi
    distill_loss = F.kl_div(
        soft_student, soft_teacher, reduction="batchmean"
    ) * (temperature ** 2)

    # Gercek etiketlerle standart kayip
    hard_loss = F.cross_entropy(student_logits, true_labels)

    # Iki kaybin agirlikli toplami
    return alpha * distill_loss + (1 - alpha) * hard_loss

Buradaki temperature parametresi olasılık dağılımının ne kadar yumuşatılacağını, alpha ise damıtma kaybı ile gerçek etiket kaybı arasındaki dengeyi kontrol ediyor. Pratikte temperature değeri genelde 2 ile 5 arasında, alpha ise 0.3 ile 0.7 arasında denenerek en iyi sonuç bulunuyor.

API Üzerinden Distillation: Pratik Bir Örnek

Aşağıdaki alan adı, model adları ve method.type=distillation alanı varsayımsal şemadır; çalışan bir sağlayıcı API isteği değildir. Gerçek bir iş için önce öğretmen çıktılarının kullanım iznini doğrulayın, eğitim dosyasını sağlayıcının desteklediği biçimde hazırlayın ve desteklenen fine-tuning yöntemini seçin.

curl https://api.example-provider.com/v1/fine_tuning/jobs \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "training_file": "file-teacher-outputs-001",
    "model": "small-base-model-v1",
    "method": {
      "type": "distillation",
      "distillation": {
        "teacher_model": "large-teacher-model-v1",
        "temperature": 2.0
      }
    }
  }'

Gerçek sağlayıcıların API alan adları ve parametre isimleri farklılık gösterebilir; bu örnek genel mantığı göstermek amacıyla sadeleştirilmiştir. Kendi kullandığınız sağlayıcının güncel API dokümantasyonunu mutlaka kontrol edin.

Model Distillation vs Diğer Küçültme Teknikleri

Distillation, bir modeli küçültmenin tek yolu değil. Quantization (niceleme) ve pruning (budama) gibi tekniklerle sıkça karıştırılıyor. Aşağıdaki tablo temel farkları özetliyor:

Teknik Ne Yapar Tipik Kazanım Zorluk Seviyesi
Distillation Küçük modeli büyük modelin çıktılarıyla yeniden eğitir Boyut öğrenci mimarisine bağlı; doğruluk kaybı ölçülür Yüksek (ayrı eğitim süreci gerekir)
Quantization Ağırlıkların sayısal hassasiyetini düşürür (ör. FP16 → INT8) Boyut bit genişliğine bağlı azalır; hız donanıma bağlı Düşük-orta (genelde eğitim sonrası uygulanır)
Pruning Modeldeki önemsiz ağırlıkları veya nöronları kaldırır Kazanç budama türüne ve sparse desteğe bağlı Orta (yeniden eğitim gerekebilir)

Pratikte bu üç teknik birbirini dışlamıyor; birçok üretim modeli önce distillation ile küçültülüp ardından quantization ile daha da hafifletiliyor.

Maliyet ve Performans Dengesini Nasıl Değerlendirmeli?

Bir distillation projesine başlamadan önce sorulması gereken temel soru şu: “Küçük modelin kaybettiği doğruluk, elde edilecek maliyet ve hız kazanımına değer mi?” Bu sorunun cevabı görevden göreve büyük ölçüde değişiyor.

Kriter Büyük Modeli Doğrudan Kullanmak Damıtılmış Küçük Model Kullanmak
Geliştirme süresi Kısa (ek eğitim gerekmez) Uzun (veri toplama + eğitim + değerlendirme)
Çalışma maliyeti (istek başına) Yüksek Düşük
Gecikme süresi Görece yüksek Düşük
Karmaşık görevlerdeki doğruluk Yüksek Görev kapsamına göre değişken
Cihaz üzerinde (offline) çalıştırma Genelde mümkün değil Uygun mimaride mümkün

Pratikte birçok ekip, yüksek hacimli ve tekrar eden görevleri (örneğin müşteri destek talebi sınıflandırma, basit özetleme, içerik etiketleme) damıtılmış küçük modellere devrederken, düşük hacimli ama yüksek karmaşıklık gerektiren görevleri (örneğin çok adımlı akıl yürütme, uzun bağlamlı analiz) büyük modelde tutmayı tercih ediyor. Bu karma yaklaşım, hem maliyeti kontrol altında tutmaya hem de kritik görevlerde doğruluktan ödün vermemeye yardımcı oluyor.

Sık Yapılan Hatalar ve Çözümleri

1. Sıcaklık (temperature) parametresini hiç denemeden varsayılan bırakmak

Sorun: Varsayılan veya rastgele seçilen bir sıcaklık değeri, öğrenci modelin öğretmenden yeterince bilgi almasını engelleyebilir.

Çözüm: 1, 2, 4 ve 8 gibi birkaç farklı değeri doğrulama setinde test edip en iyi sonucu veren değeri seçin.

2. Eğitim verisinin gerçek kullanım dağılımını yansıtmaması

Sorun: Öğretmenden toplanan örnekler, üretimde karşılaşılacak girdi çeşitliliğini kapsamıyorsa, öğrenci model üretimde beklenmedik hatalar verir.

Çözüm: Eğitim verisini gerçek kullanıcı loglarından veya temsil gücü yüksek senaryolardan oluşturun; tek tip veya çok dar kapsamlı veri setlerinden kaçının.

3. Sadece son katman çıktısına odaklanıp ara temsilleri göz ardı etmek

Sorun: Karmaşık görevlerde yalnızca response-based distillation yeterli doğruluğu sağlamayabilir.

Çözüm: Doğruluk yeterli değilse feature-based distillation gibi daha gelişmiş yöntemleri deneyin.

4. Değerlendirmeyi yalnızca ortalama doğrulukla yapmak

Sorun: Ortalama doğruluk iyi görünse bile, öğrenci model belirli kritik senaryolarda (ör. güvenlik, hassas içerik) öğretmenden önemli ölçüde sapabilir.

Çözüm: Genel doğruluğun yanında, kritik senaryolar için ayrı test setleri oluşturup sonuçları ayrı ayrı izleyin.

5. Lisans ve kullanım koşullarını kontrol etmemek

Sorun: Bazı sağlayıcılar, kendi modellerinin çıktılarının rakip model eğitiminde kullanılmasını hizmet şartlarında açıkça yasaklıyor.

Çözüm: Distillation için kullanacağınız öğretmen modelin hizmet şartlarını ve lisansını işe başlamadan önce mutlaka inceleyin.

6. Eğitim tamamlandıktan sonra modeli hiç yeniden değerlendirmemek

Sorun: Üretimdeki kullanım kalıpları zamanla değişir; ilk eğitimde iyi performans gösteren bir öğrenci model, aylar sonra yeni kullanım senaryolarında zayıf kalabilir.

Çözüm: Üretimdeki gerçek sorgu örneklerini periyodik olarak toplayıp modelin performansını yeniden ölçün; gerekirse eğitim verisini güncelleyip modeli yeniden damıtın.

Güvenlik ve Telif Boyutu: Yetkisiz Distillation Riski

Distillation’ın her zaman izinli ve şeffaf yapılmadığı vakalar da yaşanıyor. Anthropic’in kısa süre önce yedi firmayı, kendi izinleri olmadan Claude modelinin çıktılarını kullanarak rakip model eğittikleri gerekçesiyle ifşa ettiği Claude damıtma saldırısı haberi, bu riskin ne kadar somut olduğunu gösteriyor. Yetkisiz distillation, hem hizmet şartları ihlali hem de model sağlayıcısının iş modeline doğrudan zarar veren bir uygulama olarak değerlendiriliyor. Bu nedenle büyük API sağlayıcıları, anormal derecede yüksek hacimli ve sistematik sorgu desenlerini tespit etmek için izleme sistemleri kullanıyor.

Kendi projeniz için distillation uygularken, yalnızca kullanım şartlarının açıkça izin verdiği modelleri öğretmen olarak seçmeniz, hem hukuki hem operasyonel riskleri önemli ölçüde azaltır.

Sonuç: Model Distillation Kimin İçin Uygun?

Model distillation, özellikle yüksek hacimli, gecikmeye duyarlı veya maliyet baskısı yüksek üretim sistemleri için pratik bir çözüm sunuyor. Mobil uygulama geliştiren, gerçek zamanlı sohbet asistanı çalıştıran veya API maliyetlerini düşürmek isteyen ekipler için doğrudan fayda sağlayabilir. Öte yandan, tek seferlik veya düşük hacimli kullanım senaryolarında bu sürecin eğitim ve doğrulama maliyeti, elde edilecek kazanımı aşabilir; bu durumda doğrudan büyük modeli kullanmak veya daha basit bir fine-tuning yaklaşımı tercih etmek daha mantıklı olabilir. Karar verirken hem beklenen kazanımı hem de kendi ekibinizin eğitim altyapısını yönetme kapasitesini birlikte değerlendirmeniz öneriliyor. Küçük bir pilot proje ile başlayıp gerçek maliyet ve doğruluk kazanımlarını ölçmek, büyük ölçekli bir yatırım kararı almadan önce en güvenli yaklaşım olarak öne çıkıyor.

Sık Sorulan Sorular

Model distillation ile fine-tuning arasındaki fark nedir?

Fine-tuning, mevcut bir modeli belirli bir görev için yeniden eğitirken modelin boyutunu değiştirmez. Model distillation ise farklı (genelde çok daha küçük) bir modeli, büyük bir modelin çıktılarını taklit ederek eğitir; amaç boyut ve hız kazanımı elde etmektir.

Distillation sonrası öğrenci model her zaman öğretmenden daha mı kötü performans gösterir?

Genellikle evet, ancak fark iyi tasarlanmış bir süreçte oldukça küçük tutulabilir. Bazı dar kapsamlı görevlerde, iyi damıtılmış bir küçük model, o göreve özel olarak optimize edildiği için öğretmene çok yakın hatta belirli metriklerde ona eşdeğer sonuç verebilir.

Model distillation için ne kadar veri gerekir?

Kesin bir sayı vermek zor; görev karmaşıklığına göre değişir. Basit sınıflandırma görevleri birkaç bin örnekle iyi sonuç verebilirken, karmaşık dil görevleri için on binlerce örnek gerekebilir. En doğru yaklaşım, küçük bir veri setiyle başlayıp doğrulama performansını izleyerek kademeli artırmaktır.

Kendi modelimi distillation ile küçültmek için özel donanıma mı ihtiyacım var?

Öğretmen modelden çıktı toplama ve öğrenci modeli eğitme süreci, modelin boyutuna bağlı olarak standart bir GPU ile yapılabilir. Çok büyük öğretmen modelleri kullanıyorsanız, en azından çıktı toplama aşamasında bulut tabanlı API’lere güvenmek daha pratik olabilir.

Distillation modelin güvenlik davranışlarını da aktarır mı?

Kısmen. Öğrenci model öğretmenin genel davranış kalıplarını öğrenme eğiliminde olsa da, güvenlik ve içerik moderasyonu davranışlarının birebir aynı şekilde aktarıldığı garanti edilemez. Bu nedenle damıtılmış modellerin güvenlik testlerinin ayrıca ve bağımsız olarak yapılması öneriliyor. Özellikle üretime almadan önce, öğrenci modelin sınır durumlarda (belirsiz veya hassas sorgularda) nasıl davrandığını ayrı bir test setiyle doğrulamak, sürpriz davranışların önüne geçmenin en pratik yolu.

Kod Örneğinin Kapsamı

PyTorch örneği aynı sınıf sırasına sahip logits ile sınıflandırma içindir. Öğretmeni eval moduna alın ve çıktısını no_grad altında üretin; öğrenci kaybı öğretmenin ağırlıklarını güncellememelidir. Büyük dil modelinin yalnızca metin yanıtını veren API’si, bütün token olasılıklarını sağlamayabilir. Metin çıktılarıyla denetimli fine-tuning, tam dağılım üzerinden KL damıtmasından farklıdır.

Teknik kaynak: PyTorch — Knowledge distillation.

özgür BAYRAM

Özgür Bayram, WordPress, Laravel, yapay zekâ ve web performansı alanlarında çalışan bir yazılım geliştiricisidir. Bilim Meraklısı’nda teknoloji, yazılım, hosting, SEO ve dijital araçlar hakkında anlaşılır, uygulanabilir rehberler hazırlar. Amacı, teknik konuları sade bir dille anlatarak okuyucuların doğru kararlar vermesine ve sorunlarını güvenle çözmesine yardımcı olmaktır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu