Bilgi distilasyonu, büyük sinir ağlarındaki bilgilerin daha küçük modellere aktarılmasını sağlayan bir yöntemdir. Bu sayede, bellek ve işlem gücü gereksinimi azalır, modeller mobil ve gömülü cihazlarda daha hızlı çalışabilir. Distilasyonun işleyişi, avantajları ve diğer sıkıştırma teknikleriyle farklarını bu yazıda bulabilirsiniz.
Bilgi distilasyonu, büyük ve karmaşık bir yapay sinir ağının sahip olduğu bilgilerin, daha küçük ve kompakt bir modele aktarılması yöntemidir. Burada büyük ağ öğretmen, küçük ağ ise öğrenci rolünü üstlenir. Bu yaklaşımın amacı, daha az bellek ve işlem gücü gerektiren, ancak orijinal sistemin kalitesini büyük ölçüde koruyan bir model elde etmektir.
Günümüzde milyarlarca parametreye sahip sinir ağları yaygınlaşırken, bu modelleri sadece güçlü sunucularda ve özel hızlandırıcılarda çalıştırmak mümkündür. Mobil cihazlar, dizüstü bilgisayarlar veya gömülü sistemlerde kullanmak ise çok daha zordur. Bilgi distilasyonu, büyük modelin yeteneklerinin bir kısmını daha hafif bir yapıya aktarmayı mümkün kılar.
Standart öğrenmede, sinir ağına giriş verileri ve bu verilere karşılık gelen doğru cevaplar verilir. Örneğin, modele bir kedi fotoğrafı gösterilir ve doğru sınıfın "kedi" olduğu belirtilir. Ağ, doğru yanıtın olasılığını artıracak şekilde parametrelerini ayarlamayı öğrenir.
Distilasyon sırasında ise ek bir bilgi kaynağı devreye girer: zaten eğitilmiş büyük bir model. Bu model, aynı verileri analiz ederek hem nihai doğru cevabı hem de olası diğer seçeneklere dair kendi değerlendirmesini öğrenci modele aktarır.
Örneğin, büyük model bir görseli şöyle değerlendirebilir: kedi %85, kaplan %8, köpek %5, diğer seçenekler %2. Standart eğitimde öğrenci sadece "kedi" etiketini görürken, distilasyon sayesinde hangi sınıfların birbirine benzer olduğunu da öğrenir.
Sinir ağının boyutu, saklayabileceği ve kullanabileceği kalıpların sayısını sınırlar. Küçük bir mimariyi büyük modelle aynı verilerde eğitmek, genellikle daha düşük performansa yol açar.
Büyük model, eğitimi sırasında nesneler, kelimeler ve özellikler arasındaki ilişkilerin içsel bir temsilini oluşturur. Bu düzenliliklerin bir kısmı, cevaplar üzerinden küçük modele aktarılabilir.
Distilasyonun amacı, yalnızca sonucu kopyalamak değil; öğrencinin öğretmenin davranışını taklit ederek aynı eğitim verilerinden daha fazla bilgi çıkarmasını sağlamaktır.
Klasik distilasyon şemasında iki sinir ağı bulunur: öğretmen model (teacher model) ve öğrenci model (student model).
Böylece sinir ağlarında "öğretmen-öğrenci" yapısı, hesaplama açısından maliyetli büyük modelin yalnızca hazırlık aşamasında kullanılmasına olanak tanır. Eğitimin ardından gerçek sistemde sadece öğrenci model kalır ve çok daha hızlı, az kaynakla çalışır.
Distilasyonun temel fikri, öğrenci modelin sadece doğru yanıtları değil, öğretmen modelin davranışını da taklit etmesidir. Her iki ağ da aynı girişleri alır; öğrencinin sonucu, öğretmenin sonucu ile karşılaştırılır.
Eğitim sırasında hata, birden fazla kaynaktan hesaplanır: biri öğrencinin yanıtının veri setindeki doğru etiket ile ne kadar uyumlu olduğunu, diğeri ise öğrencinin olasılık dağılımının büyük modelden ne kadar farklı olduğunu ölçer. Küçük ağın parametreleri iki hatayı da azaltacak şekilde ayarlanır.
Görüntü tanıma örneğini ele alalım. Veri setinde bir araba fotoğrafının tek doğru etiketi "araba"dır. Standart eğitimde, modelin doğru sınıfa en yüksek olasılığı vermesi beklenir.
Öğretmen model ise çok daha ayrıntılı bir dağılım sunabilir: araba %90, kamyon %6, otobüs %3, diğerleri %1'in altında. Bu dağılım distilasyonda kullanılır. Öğrenci, yalnızca doğru cevabı değil, öğretmenin hangi alternatifleri benzer gördüğünü de öğrenir. Böylece, sadece etiketin gösterdiğinden çok daha fazla ilişkiyi kavrayabilir.
Dil modellerinde de benzer bir ilke geçerlidir. Sınıflar yerine olası sonraki token'lar (kelimeler veya parça kelimeler) dikkate alınır. Büyük model, hangi kelimelerin belirli bir bağlamda en uygun devam olduğunu öğrenciye gösterebilir.
Model yalnızca nihai cevabı bildirirse, seçim sürecine dair önemli bilgiler kaybolur. İki örnekte doğru etiket aynı olabilir, ancak modelin algısı farklıdır.
Örneğin, bir ev kedisi fotoğrafı için öğretmen diğer seçenekleri neredeyse tamamen dışlar. Büyük bir yaban kedisi fotoğrafında ise "kaplan" veya "leopar" sınıfı olasılığı artar. Yine de etiket her iki durumda da "kedi" olabilir.
Bu tür ikincil olasılıklar yumuşak etiketler (soft targets) olarak adlandırılır. Öğrenciye yalnızca doğru-yanlış ayrımını değil, farklı seçeneklerin göreli benzerliğini de anlamasında yardımcı olur.
Böylece, küçük bir sinir ağının büyük bir modelle eğitilmesi, sadece orijinal verilere dayalı eğitimden daha verimli olabilir.
Öğrenciye daha fazla bilgi aktarmak için, öğretmenin olasılık dağılımı genellikle daha yumuşak hale getirilir. Bu amaçla temperature (sıcaklık) parametresi kullanılır.
Normalde, tek bir sınıfın olasılığı baskın olur (ör. %98), diğerleri ise çok düşük kalır. Bu durumda ek bilgi neredeyse görünmez.
Sıcaklık arttıkça dağılım daha dengeli hâle gelir: ana seçenek baskın kalır, ancak diğerlerinin değeri de artar. Böylece öğrenci, öğretmenin hangi alternatifleri daha uygun gördüğünü daha iyi anlayabilir.
Eğitimden sonra sıcaklığa gerek kalmaz; bu parametre yalnızca bilgi aktarımını zenginleştirmek için kullanılır.
Distilasyonun temel amacı, büyük modelin kalitesinden tamamen vazgeçmeden sinir ağını sıkıştırmaktır. Milyarlarca parametreye sahip bir sistemi her sorguda çalıştırmak yerine, daha küçük ve hızlı bir model eğitip, özellikle hız, maliyet ve bellek kritik olduğunda bu modeli kullanmak mümkündür.
Distilasyon, mimariyi sadece küçültmekten farklıdır. Büyük bir modeli katman veya parametre sayısını azaltarak küçültmek, kaliteyi ciddi şekilde düşürebilir. Distilasyonda ise küçük model, güçlü bir öğretmenin davranışını yeniden üretmek için özel olarak eğitilir ve yeteneklerin bir kısmını koruyabilir.
Parametre sayısı, bir modelin çalıştırılması ve saklanması için gereken bellek miktarını doğrudan etkiler. Daha kompakt bir ağ, cihaz belleğine veya GPU belleğine kolayca sığar.
Bu, akıllı telefonlar, dizüstü bilgisayarlar, gömülü sistemler ve belleği sınırlı diğer cihazlar için özellikle önemlidir. Distilasyon sonrası, sinir ağı çok daha az yer kaplar ve daha erişilebilir donanımlarda çalışabilir.
Ayrıca, kompakt bir model daha az işlem gücü gerektirir; bu da tek bir sunucunun daha fazla isteği karşılamasını sağlar.
İnferans, eğitilmiş bir sinir ağının giriş verisini alıp çıktı üretme aşamasıdır. Model ne kadar büyükse, her sorguda o kadar çok işlem yapması gerekir.
Parametre ve hesaplama sayısının azaltılması, gecikmeyi düşürür. Bu; sesli asistanlar, çeviri uygulamaları, görsel tanıma, sohbet botları ve yerel yapay zeka gerektiren uygulamalarda anlık yanıt için kritiktir.
Büyük ölçekli çevrim içi hizmetlerde hızın yanında maliyet avantajı da sağlar. Daha az hesaplama gereksinimi, sunucu ve enerji maliyetlerini düşürür. Milyonlarca sorguda, model başına küçük bir tasarruf bile büyük bir fark yaratır.
Distilasyon, büyük bir ağın tüm yeteneklerini çok daha küçük bir yapıya birebir aktaramaz. Öğrenci modelin daha az parametresi ve hesaplama kapasitesi vardır.
Yöntemin amacı, öğretmenin en faydalı davranışlarını koruyup kalite ile boyut arasında iyi bir denge bulmaktır. Model ne kadar küçülürse, orijinal doğruluk seviyesini korumak o kadar zorlaşır.
Sonuç, öğrencinin mimarisi, veri kalitesi ve bilgi aktarım yöntemine bağlıdır. İyi ayarlanmış bir distilasyon, yalnızca orijinal verilerle eğitilmiş aynı boyutta bir modelden çok daha iyi sonuç verebilir.
Bu nedenle, distilasyonla sıkıştırılmış modeller, maksimum kalite tek öncelik olmadığında özellikle kullanışlıdır. Bazen biraz daha az hassas bir model, daha hızlı ve uygun maliyetli olduğu için daha pratik olabilir.
Distilasyon, modern büyük dil modelleri (LLM) ile çalışırken özellikle önemlidir. Bu modellerde parametre sayısı on milyarları, hatta yüz milyarları bulabilir ve çalıştırmak için güçlü GPU'lar, büyük bellek ve kapsamlı sunucu altyapısı gerekir.
Pek çok uygulama için bu kadar yüksek işlem gücüne ihtiyaç yoktur. Mesaj sınıflandırmak, metinden veri çıkarmak, tipik soruları yanıtlamak ya da yerel çalışmak gibi görevlerde daha küçük bir model çok daha elverişlidir. Bu yüzden büyük LLM öğretmen olarak kullanılır; cevapları ve olasılık dağılımları üzerinden küçük model eğitilir.
Distilasyon sırasında öğretmen model, çok sayıda metin sorgusuna cevaplar üretir. Bu veriler, standart eğitim örnekleriyle birlikte öğrenci modelin eğitiminde kullanılır.
Sadece hazır metinler değil, öğretmenin içsel çıktıları, token olasılıkları, ara temsiller ve diğer sinyaller de aktarılabilir. Öğretmenden daha fazla bilgi alınabildikçe, öğrencinin davranışı da daha başarılı şekilde kopyalanabilir.
Böylece küçük model, daha düşük boyutuna rağmen öğretmeninkine benzer cevaplar üretmeyi öğrenir. Üstelik mimarisi büyük modelle aynı olmak zorunda değildir.
Küçük dil modelleri, düşük enerji tüketimi ve hızlı yanıt gerektiren durumlarda özellikle faydalıdır. Dizüstü, akıllı telefon, tek kartlı bilgisayar gibi donanımda veya buluta sürekli bağlı olmadan çalışabilirler.
Yerel çalıştırma, internet bağlantısına bağımlılığı azaltır ve bazı verilerin doğrudan cihazda işlenmesine olanak tanır. İş dünyasında, düşük altyapı gereksinimiyle çok sayıda talebi karşılamak için küçük modeller tercih edilir.
Daha fazla fark için "Küçük Dil Modelleri (SLM) vs LLM: İş Dünyasında Verimli ve Güvenli Yapay Zeka" başlıklı makaleye göz atabilirsiniz.
Başarılı bir bilgi distilasyonu bile küçük modeli öğretmenin birebir kopyasına dönüştürmez. Daha az parametre ve işlem gücü, tüm düzenliliklerin ve yeteneklerin taşınmasını fiziksel olarak imkânsız kılar.
Ayrıca, distilasyonun hangi veriyle yapıldığı da önemlidir. Öğrenci sadece belirli bir görev kümesinde öğretmenin cevaplarını görmüşse, o alanlarda öğretmenin davranışını daha iyi taklit eder. Yeni ya da çok daha karmaşık sorgularda fark daha belirgin olur.
Bu nedenle distilasyon sırasında, orijinal LLM'in tüm yeteneklerini değil, belirli kullanım senaryosu için en kritik olan beceriler korunmaya çalışılır. Böylece, çalıştırma maliyeti düşük ama amaca uygun özel bir küçük model elde edilir.
Bilgi distilasyonu, sinir ağlarını küçültmek ve çalıştırma maliyetini azaltmak için tek yol değildir. Kuantizasyon, pruning (budama), mimari küçültme gibi yöntemler de kullanılır. Her biri benzer amaca hizmet etse de, farklı şekilde çalışır.
Distilasyonun en temel farkı, baştan ayrı bir öğrenci modelin oluşturulup eğitilmesidir. Bu model, daha az katman, parametre ve hesaplama birimine sahip olabilir; büyük model ise sadece eğitim sırasında bilgi kaynağıdır.
Kuantizasyonda modelin mimarisi genellikle değişmez, ancak sayısal değerlerin depolanma ve işlenme biçimi değişir. Örneğin, 16 veya 32 bit yerine 8 bitlik daha kompakt formatlar tercih edilir.
Bu, modeli daha az bellekte saklamayı ve uygun donanımda çıkarımı hızlandırmayı sağlar; fakat ağın yapısı aynı kalır.
Distilasyon ise farklıdır: Küçük, ayrı bir model alınır ve büyük modelin davranışını taklit edecek şekilde eğitilir. Sonuçta, yalnızca sayısal hassasiyet değil, modelin hesaplama karmaşıklığı da azalır.
Yani, kuantizasyon mevcut bir ağı daha kompakt biçimde temsil etmeye çalışırken, distilasyon yeni bir küçük ağı, büyük modelin bilgisiyle eğitir.
Parametre sayısı, modelin boyutu ve yeteneklerinde kilit rol oynar. Bu konuyu daha detaylı incelemek için "Yapay Sinir Ağı Parametreleri: Milyarlarca Parametre Ne Anlama Gelir?" adlı makaleye göz atabilirsiniz.
Distilasyon ve kuantizasyon birbirini dışlamaz. Pratikte, önce büyük modelden bilgi alarak küçük bir öğrenci eğitmek, ardından bu modeli kuantize etmek mümkündür.
Örneğin, büyük model bilgiyi daha az parametreli öğrenciye aktarır. Eğitimden sonra, öğrencinin ağırlıkları daha kompakt bir sayısal biçime dönüştürülür. Böylece bellek gereksinimi daha da azaltılır ve işlemler hızlanır.
Ayrıca, distilasyon pruning (gereksiz bağlantıların veya düğümlerin silinmesi) ile de birleştirilebilir. Bu çok aşamalı optimizasyon, özellikle yerel yapay zeka ve sınırlı kaynaklı sistemlerde faydalıdır.
Ancak, aşırı sıkıştırma kaliteyi ciddi şekilde düşürebilir. Bu nedenle geliştiriciler, model boyutu, hız, enerji tüketimi ve doğruluk arasında optimum dengeyi bulmaya çalışır.
Bilgi distilasyonu, büyük sinir ağlarının yeteneklerinin bir kısmını daha kompakt modellere aktarmayı sağlar. Öğrenci model, yalnızca orijinal verilerle değil, öğretmen modelden gelen cevap olasılıkları, seçenekler arası ilişkiler ve diğer sinyallerle de eğitilir.
Bu yöntem, sinir ağlarının boyutunu küçültmeye, bellek gereksinimini azaltmaya ve çıkarımı hızlandırmaya yardımcı olur. Özellikle büyük dil modellerinde distilasyon sayesinde, modeller daha az güçlü sunucularda, dizüstü bilgisayarlarda ve hatta mobil cihazlarda çalıştırılabilir.
Küçük model, hiçbir zaman büyük modelin tam kopyası olmaz; yapı küçüldükçe öğretmenin tüm yeteneklerini korumak zorlaşır. Bu sebeple, distilasyon pratikte kalite, hız ve maliyet arasında denge kurmak için kullanılır. Kaynaklar hâlâ yetersizse, distilasyon kuantizasyon ve diğer optimizasyon yöntemleriyle birleştirilebilir.