Knowledge Distillation
Bilgi damıtmanın zekâyı büyük öğretmenlerden kompakt öğrencilere nasıl aktardığını öğren. Hızlı ve verimli uç dağıtımı için Ultralytics YOLO26'yı optimize et.
Bilgi damıtma, makine öğrenimi alanında, "öğrenci" olarak adlandırılan kompakt bir sinir ağının, "öğretmen" olarak bilinen daha büyük ve karmaşık bir ağın davranışını ve performansını yeniden üretmek üzere eğitildiği gelişmiş bir tekniktir. Bu sürecin temel amacı model optimizasyonu sağlayarak ağır mimarilerin tahmin yeteneklerini, kaynakları kısıtlı donanımlarda dağıtıma uygun hafif modellere aktarmaktır. Öğretmenin tahminlerinde kodlanan zengin bilgiyi yakalayan öğrenci modeli, yalnızca ham veriler üzerinde eğitilmesine kıyasla genellikle önemli ölçüde daha yüksek doğruluk elde eder ve böylece yüksek performans ile verimlilik arasındaki boşluğu etkili bir şekilde kapatır.
Bilgi Aktarımının Mekanizması#
Geleneksel denetimli öğrenmede modeller, eğitim verilerindeki "kesin etiketler" kullanılarak eğitilir; burada bir görüntü kesin olarak sınıflandırılır (örneğin %100 "köpek" ve %0 "kedi"). Buna karşılık, önceden eğitilmiş bir öğretmen modeli, tüm sınıflara olasılıklar atayan bir softmax işlevi aracılığıyla çıktı üretir. Bu olasılık dağılımları "yumuşak etiketler" veya "karanlık bilgi" olarak bilinir.
Örneğin, bir öğretmen modeli bir kurt görüntüsünü analiz ederse %90 kurt, %9 köpek ve %1 kedi tahmininde bulunabilir. Bu dağılım, kurdun bir köpekle görsel özellikleri paylaştığını ortaya koyar; kesin etiket ise bu bağlamı göz ardı eder. Damıtma sürecinde öğrenci, tahminlerini öğretmenin yumuşak etiketleriyle uyumlu hâle getirmek için Kullback-Leibler ıraksaması gibi bir kayıp işlevini en aza indirir. Geoffrey Hinton'ın araştırmaları tarafından popüler hâle getirilen bu yöntem, öğrencinin daha iyi genelleme yapmasına yardımcı olur ve daha küçük veri kümelerinde aşırı öğrenmeyi azaltır.
Gerçek Dünya Uygulamaları#
Bilgi damıtma, hesaplama kaynaklarının kısıtlı olduğu ancak yüksek performanstan taviz verilemeyen sektörlerde kritik bir rol oynar.
- Uçta Yapay Zekâ ve Mobil Görü: Akıllı telefonlarda veya IoT cihazlarında karmaşık nesne algılama görevlerini çalıştırmak, düşük çıkarım gecikmesine sahip modeller gerektirir. Mühendisler, devasa ağları YOLO26 (özellikle nano veya small varyantları) gibi mobil cihazlara uygun mimarilere damıtır. Bu sayede [pil ömrünü](https://ultralytics-translation-4.invalid tüketmeden), yüz tanıma veya artırılmış gerçeklik filtreleri gibi gerçek zamanlı uygulamalar sorunsuz şekilde çalıştırılabilir.
- Doğal Dil İşleme (NLP): Modern büyük dil modellerinin (LLMs) çalışması için çok büyük GPU kümeleri gerekir. Damıtma, geliştiricilerin bu modellerin temel dil modelleme yeteneklerini koruyan daha küçük ve hızlı sürümler oluşturmasını sağlar. Bu da duyarlı sohbet botlarını ve sanal asistanları standart tüketici donanımlarında veya daha basit bulut örneklerinde dağıtmayı mümkün kılar.
İlişkili Optimizasyon Terimlerini Ayırt Etme#
Modelleri temelde farklı şekillerde değiştirdikleri için bilgi damıtmayı diğer sıkıştırma stratejilerinden ayırt etmek önemlidir.
- Aktarım Öğrenimi: Bu teknik, kapsamlı bir kıyaslama veri kümesi üzerinde önceden eğitilmiş bir modelin alınarak yeni ve belirli bir göreve uyarlanmasını içerir (örneğin, genel bir görüntü sınıflandırıcının tıbbi anomalileri algılayacak şekilde ince ayarlanması). Buna karşılık damıtma, alanı değiştirmek yerine aynı bilgiyi daha küçük bir biçime sıkıştırmaya odaklanır.
- Model Budama: Budama, seyrek hâle getirmek için mevcut eğitilmiş bir ağdaki yedek bağlantıları veya nöronları fiziksel olarak kaldırır. Damıtma ise genellikle öğretmenin rehberliğini kullanarak tamamen ayrı ve daha küçük bir öğrenci mimarisinin sıfırdan eğitilmesini içerir.
- Model Niceleme: Niceleme, bellekten tasarruf etmek ve hesaplamayı hızlandırmak için model ağırlıklarının duyarlığını azaltır (örneğin 32 bit kayan noktadan 8 bit tam sayılara). Bu genellikle TensorRT veya OpenVINO gibi motorlarla uyumlu bir model dağıtımının son adımıdır ve en yüksek verimlilik için damıtmayla birleştirilebilir.
Öğrenci Modeli Uygulama#
Pratik bir iş akışında ilk olarak öğrenci olarak görev yapacak hafif bir mimari seçersin. Ultralytics Platformu, bu verimli modellerin veri kümelerini yönetmek ve eğitim deneylerini izlemek için kullanılabilir. Aşağıda, uçta dağıtım ve öğrenci ağı olarak hizmet verme için ideal olan kompakt bir YOLO26 modelinin başlatılmasına ilişkin bir örnek verilmiştir:
from ultralytics import YOLO
# Load a lightweight YOLO26 nano model (acts as the student)
# The 'n' suffix denotes the nano version, optimized for speed
student_model = YOLO("yolo26n.pt")
# Train the model on a dataset
# In a custom distillation loop, the loss would be influenced by a teacher model
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)








