knowledge distillation model damıtma llm derin öğrenme model optimizasyon

Knowledge Distillation Nedir? Büyük Modellerden Küçük Model Üretme Tekniği

person Yapay Zeka Uzmanı

Knowledge Distillation: büyük modelin bilgisini küçük modele aktaran teacher-student mimarisi

Phi-4 çıktığında yapay zeka camiası epey şaşırdı. GPT-4 sınıfı performans, 14 milyar parametre. Bu sayı, GPT-4’ün tahmin edilen 1.7 trilyon parametresinin yanında gülünç küçük kalıyor. Microsoft’un Phi-4’ü, Meta’nın Llama 3.2 1B/3B serisi, Google’ın Gemma 3 modelleri: hepsi benzer bir soruyu akla getiriyor. Bu kadar küçük modeller nasıl bu kadar iyi çalışabiliyor?

Cevabın önemli bir parçası knowledge distillation (model damıtma). Sadece modeli küçültmek değil, büyük bir modelin öğrendiği şeyleri küçük bir modele aktarmak. Quantization veya pruning gibi yöntemler mevcut modeli sıkıştırır; distillation ise küçük modeli sıfırdan, ama büyük modelin rehberliğinde eğitir.

Knowledge distillation teacher-student mimarisi: büyük modelden küçük modele bilgi aktarımı

Knowledge Distillation Nedir?

Knowledge distillation, 2015 yılında Geoffrey Hinton ve ekibinin yayımladığı “Distilling the Knowledge in a Neural Network” makalesiyle tanındı. Temel fikir: büyük ve güçlü bir model (teacher) ile küçük ve hızlı bir model (student) arasında bir öğretme-öğrenme ilişkisi kurmak.

Normal bir eğitimde model ham veri etiketlerinden öğrenir. “Bu fotoğraf bir kedi mi, köpek mi?” sorusuna 0 ya da 1 şeklinde yanıt üretmeye çalışır. Buna hard label diyoruz.

Distillation’da ise student model, teacher modelin ürettiği olasılık dağılımlarından öğrenir. Teacher model “bu fotoğraf %85 kedi, %10 köpek, %5 kurt köpeği” diyebilir. Student bu dağılımı öğrenmeye çalışır. Bu soft label yaklaşımı ham etiketlere göre çok daha zengin bir bilgi içeriyor: modelin sınıflar arasındaki benzerliklere dair örtük anlayışını da yansıtıyor.

Fark şuradan kaynaklanıyor. Bir kedi fotoğrafını “1 = kedi” olarak etiketlemek, o fotoğrafın köpeğe ne kadar benzediği hakkında hiçbir şey söylemez. Teacher modelin olasılık çıktısı ise bu ilişkiyi içerir.

Neden Knowledge Distillation?

Büyük modeller pahalı. 70 milyar parametreli bir modeli çalıştırmak için yüksek VRAM’e sahip birden fazla GPU gerekiyor. Bulut çıkarım maliyetleri yüksek, gecikme süresi uzun, mobil veya edge cihazlarda bu modeller hiç çalışmıyor.

Küçük ama yetkin bir model çok daha geniş dağıtım senaryolarına kapı açar:

  • Telefon ve edge cihazlar: 1-3 milyar parametreli modeller modern akıllı telefonlarda çalışabiliyor.
  • Gerçek zamanlı uygulamalar: Düşük gecikme gerektiren chatbotlar ve otomatik tamamlama sistemleri.
  • Maliyet: Üretim ortamlarında büyük model yerine küçük model kullanmak operasyonel gideri önemli ölçüde düşürür.
  • Offline kullanım: İnternet bağlantısı olmayan senaryolarda küçük modeller kritik önem taşır.

Salt küçük modeli sıfırdan eğitmek de bir seçenek, ama verimi düşük. Knowledge distillation ile eğitilen küçük modeller, aynı mimariyle sıfırdan eğitilenlere kıyasla genellikle daha iyi performans gösteriyor. Bunun nedeni teacher modelin bilgisinin aktarımı: student model yalnızca etiketleri değil, büyük modelin öğrendiği örtük bilgiyi de absorbe ediyor.

Nasıl Çalışır: Teacher-Student Yapısı

Distillation eğitiminin üç temel bileşeni var.

Teacher model büyük, önceden eğitilmiş ve yüksek performanslı bir modeldir. GPT-4, Llama 3.1 70B, BERT-Large gibi modeller teacher rolünde kullanılabilir. Teacher model eğitim sürecinde değişmez; yalnızca student modele öğretici olarak katılır.

Student model küçük ve hızlı mimariye sahiptir. Teacher’dan daha az parametre içerir; hedef, teacher’ın performansına mümkün olduğunca yaklaşmaktır.

Distillation’ın asıl mekanizması soft label’larda yatıyor. Teacher modelin son katmanından çıkan ham logit’ler, bir softmax fonksiyonuyla olasılığa dönüştürülür. Normal softmax kullanıldığında çoğu olasılık sıfıra yakın kalır; doğru sınıfın olasılığı ezici biçimde yüksek çıkar. Hard label’dan pek farklı değildir bu durum.

Temperature scaling bu noktada devreye girer. Softmax formülündeki sıcaklık parametresi T’yi 1’in üstüne çıkardığınızda dağılım düzleşir: doğru sınıfın olasılığı düşer, diğer sınıflar daha görünür hale gelir. T = 4 ile üretilen soft label, modelin belirsizliğini ve sınıflar arası benzerlik yapısını daha net ortaya koyar.

Bu yumuşatılmış olasılık dağılımı student modelin öğrenmesinde kullanılır.

Loss Fonksiyonu

Distillation eğitiminde loss iki bileşenden oluşur:

  1. Distillation Loss: Student modelin çıktısı ile teacher modelin soft label’ları arasındaki KL Divergence (Kullback-Leibler sapması). Bu bileşen, student’in teacher’ın “düşünce biçimini” öğrenmesini güvence altına alır.

  2. Student Loss: Student modelin çıktısı ile ground truth hard label’lar arasındaki cross-entropy. Modelin doğru etiketleri de öğrenmesini sağlar.

Toplam loss genellikle şu şekilde ifade edilir:

L = α × L_CE(student, hard_labels) + (1 - α) × T² × L_KL(student, teacher_soft_labels)

α katsayısı iki bileşenin ağırlığını belirler. çarpanı, temperature scaling’in loss ölçeğini dengelemek için gereklidir.

Üç Ana Distillation Türü

Distillation yalnızca teacher’ın son çıktısından öğrenmekle sınırlı değil. Araştırmacılar üç farklı yol geliştirdi.

Yanıt Damıtma (Response Distillation) en yaygın yaklaşım. Student model yalnızca teacher’ın son katmanından gelen soft label’ları öğrenir. Uygulaması basit, hesaplama maliyeti düşük. DistilBERT bu yöntemi kullanıyor.

Özellik Damıtma (Feature Distillation) ise student modelin, teacher’ın ara katman aktivasyonlarını da öğrenmesini içeriyor. Modelin iç temsilleri kopyalanmaya çalışılır. TinyBERT bu yaklaşımın en bilinen örneği. Daha karmaşık ve daha fazla hesaplama gerektiriyor; performans kazanımı da daha yüksek olabiliyor.

İlişki Damıtma (Relation Distillation) örnekler arasındaki ilişkileri aktarır. “Bu örnek diğer örneklere nasıl benziyor?” sorusunu sorar. Representation learning görevlerinde tercih ediliyor.

Model sıkıştırma teknikleri karşılaştırması: Knowledge Distillation, Quantization ve Pruning

Gerçek Dünya Örnekleri

Piyasadaki en popüler modellerin üretim sürecine bakıldığında knowledge distillation’ın parmak izi görünüyor.

DistilBERT, 2019’da Hugging Face tarafından yayımlandı. BERT-base’in %60 boyutunda: 110 milyon parametre yerine 66 milyon. BERT’in genel dil anlama performansının %97’sini korurken çalışma hızı %60 daha yüksek. Hugging Face’in pek çok pipeline’ında varsayılan model olarak yer alıyor.

TinyBERT, Huawei Research’ın 2020 tarihli çalışması. BERT’in hem transformer katman çıktılarını hem de attention matrislerini öğreniyor. 4 katmanlı TinyBERT, tam boyutlu BERT’in GLUE kıyaslamasındaki performansının %96’sına ulaşıyor, boyutu ise 7.5 kat küçük.

Phi-4, Microsoft’un distillation’ı agresif biçimde kullandığı bir örnek. 14 milyar parametre, ama büyük ölçüde sentetik veri ve distillation yöntemleriyle eğitildi. Microsoft’un makaleleri, eğitim verilerinin önemli bir bölümünün GPT-4 sınıfı modellerden elde edildiğini belirtiyor. Geleneksel distillation ile sentetik veri üretiminin kesişiminde yer alan bir yaklaşım.

Google’ın Gemma 3 modelleri (1B, 4B, 12B, 27B) Gemini ailesinden damıtıldı. Küçük varyantlar (1B-4B) edge ve mobil cihazlar için tasarlandı.

Meta, Llama 3.2’nin 1B ve 3B versiyonlarını büyük Llama 3.1 modellerinden (8B, 70B) damıttı. Pruning ve distillation kombinasyonu birlikte kullanılmış.

Knowledge Distillation vs Quantization vs Pruning

Model sıkıştırma söz konusu olduğunda sık karıştırılan üç teknik var.

TeknikYöntemYeniden EğitimKullanım Amacı
Knowledge DistillationKüçük modeli büyük modelden öğreterek eğitirEvet (student model eğitimi)Yeni, küçük ve verimli model oluşturmak
QuantizationAğırlık hassasiyetini düşürür (float16 → int4)Hayır (PTQ) / Az (QAT)Mevcut modeli küçültmek ve hızlandırmak
PruningÖnemsiz nöron ve bağlantıları silerBazenMevcut modelden gereksiz ağırlıkları temizlemek

Elinizdeki modeli dağıtım için optimize etmek istiyorsanız quantization veya pruning’e bakın; sıfırdan küçük bir model üretmek istiyorsanız distillation kullanın. Bu teknikler birbirini dışlamıyor; Llama 3.2 örneğinde olduğu gibi üretim sürecinde birlikte uygulanabiliyor.

PyTorch ile Basit Distillation Örneği

Aşağıda temel bir teacher-student eğitim döngüsü yer alıyor. CIFAR-10 gibi bir görüntü sınıflandırma görevi üzerinde çalışıyor:

import torch
import torch.nn.functional as F

def distillation_loss(student_logits, teacher_logits, labels, T=4.0, alpha=0.7):
    """
    T: temperature (soft label yumuşatma)
    alpha: hard label ağırlığı (1-alpha = distillation ağırlığı)
    """
    # Soft labels (teacher'dan)
    soft_targets = F.softmax(teacher_logits / T, dim=1)
    soft_predictions = F.log_softmax(student_logits / T, dim=1)
    distill_loss = F.kl_div(soft_predictions, soft_targets, reduction='batchmean') * (T ** 2)

    # Hard labels (ground truth'tan)
    hard_loss = F.cross_entropy(student_logits, labels)

    return alpha * hard_loss + (1 - alpha) * distill_loss

# Eğitim döngüsü
for images, labels in train_loader:
    with torch.no_grad():
        teacher_logits = teacher_model(images)  # Teacher dondurulmuş

    student_logits = student_model(images)
    loss = distillation_loss(student_logits, teacher_logits, labels)

    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

Gerçek dünya uygulamalarında bu temel şablon, model mimarisine ve göreve göre özelleştiriliyor. Özellik damıtma için ara katman çıktılarını da kayıp fonksiyonuna eklemek gerekiyor.

Avantajlar ve Sınırlılıklar

Knowledge distillation her senaryoya uygun değil.

Artıları açık: küçük modele büyük modelin bilgisini aktarıyor ve aynı boyuttaki sıfırdan eğitilmiş modelden daha iyi performans üretiyor. Sınırlı etiketli veri olan durumlarda teacher modelin soft label’ları ek bir gözetim sinyali işlevi görüyor. Dağıtım maliyeti ve gecikme süresi ciddi ölçüde düşüyor.

Eksileri de görmezden gelinemez. Teacher modelin varlığını ve çıkarım kapasitesini gerektiriyor; büyük bir modeli eğitim boyunca çalıştırmak ek hesaplama maliyeti demek. Student model teacher’dan çok daha küçük olduğunda bazı bilgiler aktarılamıyor. “Kapasite boşluğu” (capacity gap) sorunu olarak bilinen bu durum, fazla büyük teacher ile fazla küçük student arasındaki uyumsuzluktan kaynaklanıyor. Bir de hiperparametre duyarlılığı var: T ve α değerleri sonucu doğrudan etkiliyor, iyi nokta için deneme yanılma kaçınılmaz.

Distillation’ın Geleceği

Distillation’ın kullanım alanı son yıllarda değişti. Artık yalnızca sınıflandırma görevleriyle sınırlı değil; büyük dil modellerinin davranışını küçük modellere aktarmak için de kullanılıyor.

Sentetik veri ile distillation’ın birleşimi bu dönemin en belirgin trendi. Büyük modeller, küçük modelleri eğitmek için veri üretiyor. Doğrudan distillation’dan farklı, ama temel mantık aynı: büyük modelin bilgisi küçük modele aktarılıyor, çıktı olasılıkları yerine bu kez örnek veriler üzerinden.

Speculative decoding ise büyük modelin küçük modelin taslak çıktısını doğrulaması üzerine kurulu. Token üretim hızını artırmak için kullanılıyor; bilgi akışı yine büyükten küçüğe doğru.

Alignment distillation da giderek yaygınlaşıyor. İnsan geri bildirimiyle hizalanmış büyük modellerin davranışını küçük modellere aktarmak için RLHF sürecini her model için tekrarlamak yerine büyük modelden damıtmak hem zaman hem maliyet açısından daha mantıklı.

Llama 3.2 1B’nin telefonda çalışabilir hale gelmesi soyut bir başarı değil; distillation araştırmalarının somut, elle tutulur çıktısı. Modellerin hem küçük hem güçlü olması için baskı arttıkça bu teknik daha çok kullanılacak.