Yapay Zekada Öğrenme ve Eğitim: Fark Ne?
Eğitim bir işlemdir: bir veri kümesi, bir kayıp fonksiyonu, bir optimizasyon algoritması ve modelin ağırlıklarını durana kadar güncelleyen bir koşu. Öğrenme ise o işlemden çıkmasını umduğun sonuçtur: modelin daha önce hiç görmediği veride davranışının iyileşmesi. Her eğitim koşusu bir öğrenme denemesidir, ama bir koşu haftalarca eğitim yapıp hiçbir işe yarar şey öğrenmeyebilir, bazı öğrenmeler de hiç eğitim koşusu olmadan gerçekleşir.
Günlük konuşmada iki terim birbirinin yerine kullanılıyor ve çoğu zaman bir şey bozulmuyor. Birbirinin yerine geçmeyi bıraktıkları an, bir modelde hata aradığın, hesaplama bütçesi çıkardığın ya da bir makaleyi dikkatle okuduğun andır.
Bir bakışta öğrenme ve eğitim
| Soru | Öğrenme | Eğitim |
|---|---|---|
| Kelime neyi adlandırıyor | Sonucu: davranış deneyimle iyileşiyor | İşlemi: ağırlıklar optimizasyonla güncelleniyor |
| Ne zaman olur | Modelin tüm ömrü boyunca, istem anı dahil | Başlangıcı, bitişi ve faturası olan sınırlı bir işte |
| Neyi ölçersin | Modelin görmediği ayrılmış veride başarım | Kayıp eğrileri, verim, saniyedeki adım, maliyet |
| Kim kullanır | Araştırmacılar, makaleler, yeteneği tarif eden herkes | Mühendisler, altyapı ekipleri, GPU faturasını ödeyen herkes |
| Diğeri olmadan olur mu | Evet: bağlam içi öğrenme eğitim koşusu istemez | Evet: aşırı uyan bir koşu çok eğitilir, hiç genelleme yapmaz |
| Neyi üretir | Bir yetenek | Bir kontrol noktası, yani sayılardan oluşan bir dosya |
Bu ayrım dilin içine baştan yerleşmiş. Geri yayılımı bilinir kılan Rumelhart, Hinton ve Williams imzalı 1986 tarihli Nature makalesinin adı "Learning representations by back-propagating errors" idi: amaç olarak öğrenme, mekanizma olarak yayılım işlemi.
Eğitim aslında ne
Bir eğitim koşusu, "öğrenme" kelimesinin gizlediği kadar mekanik ve sıkıcıdır. Bir örnek yığınını modelden ileri doğru geçirirsin, çıktıyı hedefle bir kayıp fonksiyonu üzerinden karşılaştırırsın, bu kaybın her parametreye göre gradyanını hesaplarsın ve parametreleri kaybı azaltan yöne doğru azıcık itersin. Sonra bunu milyonlarca kez tekrar edersin.
Bunun her parçası sayılabilir. Yığın boyutu, öğrenme oranı, adım sayısı, GPU saati, para. Bir mühendislik toplantısında biri "eğitim" dediğinde genellikle bu koşuyu ve bütçesini kastediyordur, bir makinenin akıllanması gibi soyut bir fikri değil.
Eğitimin kendi adları olan net aşamaları da var:
- Ön eğitim: temel modeli üreten, büyük ve genel bir derlem üzerinde yapılan uzun ve pahalı koşu.
- İnce ayar: mevcut bir kontrol noktasını daha dar bir göreve ya da üsluba uyarlayan kısa koşu.
- Tercih ayarı: modelin nasıl yanıt vereceğini şekillendirmek için insan veya model geri bildirimi üzerinde yapılan ek eğitim.
Üçü de eğitimdir. Üçü de ağırlıkları günceller. Ölçek ve kullandıkları veri bakımından ayrışırlar.
Öğrenmenin kapsadığı, eğitimin kapsamadığı şey
Ayrımı korumaya değer kılan kısım burası. Bir model, hiçbir ağırlık güncellemesi olmadan davranışını değiştirebilir.
Bir dil modeline istemin içinde üç çözümlü örnek ver, çoğu zaman deseni yakalayıp dördüncü duruma uygular. Hiçbir şey kaydedilmedi. Oturumu kapat, model bir bayt bile değişmemiş aynı dosyadır. Buna bağlam içi öğrenme deniyor ve Brown ile meslektaşlarının 2020 tarihli GPT-3 makalesiyle öne çıktı, makalenin adı doğrudan "Language Models are Few-Shot Learners" idi. Davranış anlamında öğrenme gerçek, depolama anlamında tamamen yok.
Erişim (retrieval) sistemleri benzer bir şeyi öbür uçtan yapar. Modeli bir belge deposuna bağla, üzerinde hiç eğitilmediği materyale dair soruları yanıtlayabilsin. Sistem iyileşti. Model değişmedi. Aslında belgelerin üzerine erişim kurduğun halde "modeli kendi belgelerimizle eğittik" dersen, o sistemi sonradan sürdürecek herkesi yanıltırsın.
Bunun aynadaki görüntüsü de var: öğrenmesiz eğitim. Eğitim kaybı düşerken doğrulama kaybı tırmanan bir koşu, eğitim kümesini ezberlemiştir. Eğitildi. Ama tek önemli anlamda, yani görmediği veride başarım anlamında, öğrenmedi.
Modeli inşa eden koşu ile soruya yanıt verdiği an arasındaki akraba ayrımı merak ediyorsan, eğitim ve çıkarım arasında gerçekte ne değişiyor yazısı ağırlıkların nerede donduğunu, nerede donmadığını anlatıyor.
Hangi kelimeyi kullanmalısın
- Somut bir koşuyu kastediyorsan eğitim de: verisi, maliyeti, süresi, çıktı dosyası. Biri "ne zaman biter?" diye sorup bir yanıt bekleyebiliyorsa, kelime eğitimdir.
- Yeteneği kastediyorsan öğrenme de: sistemin daha önce yapamadığı, şimdi yapabildiği ve ayrılmış bir veri üzerinde ölçülen şey. Biri "nereden biliyorsun?" diye sorabiliyorsa, kelime öğrenmedir.
- Erişimi, istem yazmayı ya da yapılandırmayı kastediyorsan ikisini de kullanma. Yanlış kelimenin, davranışı değiştirmek için gerçekte neyin gerektiği konusunda ciddi karışıklık yarattığı durumlar tam olarak bunlar.
Bu aramanın arkasındaki diğer soru
"Yapay zekada öğrenme ve eğitim farkı" yazanların bir kısmı optimizasyon algoritmalarını sormuyor. Yapay zekayı kendi başına öğrenmekle yapılandırılmış bir eğitim programına kaydolmak arasında karar veriyorlar. Bu da adil bir karşılaştırma, ve dürüst yanıt şu: ikisi farklı biçimlerde başarısız oluyor.
Yapılandırılmış bir program sana sıra veriyor ve belirli bir takvimde ortaya çıkmak için sebep veriyor. Konuyu hiç çalışmadıysan ve neyin hangi sırayla geleceğini kestiremiyorsan bu çok değerli. Kendi kendine çalışmak daha hızlı ve gerçekten inşa ettiğin şeye bağlı kalıyor, ama kolayca materyali uygulamak yerine izlemeye kayıyor.
Kalıcılığı belirleyen fark biçim değil. Senden hafızadan cevap üretmenin istenip istenmediği. Roediger ve Karpicke'nin 2006 tarihli deneylerinde, çalışma süresinin bir kısmını kendini test ederek geçiren öğrenciler, aynı metinleri yeniden okuyanlara göre bir hafta sonra belirgin biçimde daha fazlasını hatırladı. Üstelik yeniden okuyanlar o anda kendilerini daha emin hissediyordu. Programlı ya da programsız, materyal ancak bir şey seni hatırlamaya zorlarsa yerleşiyor.
Bu bir zihniyet meselesi değil, pratik bir kısıt. Girdi olarak elinde bir ders PDF'i, bir ders kaydı ya da kendi notların varsa, Qora bu materyali kısa bir derse ve o materyalden yazılmış sorulara çeviriyor, fotoğraf ve ses işleme telefonunda yapılıyor. Pratiği kendin kurmayı tercih edersen, notlarını deneme sınavına çevirmek hiçbir araç olmadan da aynı şekilde işliyor. Konunun kendisinde sıfırdan başlıyorsan, yeni başlayanlar için adım adım bir yol ikisinden de daha iyi bir ilk durak.
Bu ayrımın işe yaramayı bıraktığı yer
Çoğu zaman bu farkta ısrar etmek kılı kırk yarmaktır. "Modeli X yapması için eğittik" gayet iyi bir cümledir ve bunu "X yapmayı öğrenen bir model üreten bir eğitim işlemi koşturduk" diye düzeltmek kimsenin işine yaramaz. Makalelerde, blog yazılarında ve ürün metinlerinde iki kelime neredeyse eş anlamlıdır, okur da bununla sorunsuz başa çıkar.
Ayrım tam olarak üç durumda hakkını veriyor: bir modelin neden çalışmadığını teşhis ederken, çünkü aşırı uyan bir koşu için "eğitim sorunsuz geçti" ve "hiçbir şey öğrenmedi" aynı anda doğrudur; maliyet çıkarırken, çünkü eğitim bir bütçe kalemidir, öğrenme değildir; ve neyi değiştireceğine karar verirken, çünkü bilgi eksikliği gibi görünen bir sorun çoğu kez pahalı bir koşu yerine erişimle ya da daha iyi bir istemle çözülür. Bunların dışında, okurunun anlayacağı kelimeyi kullan.
Sık sorulan sorular
Eğitim ile makine öğrenmesi aynı şey mi?
Hayır. Makine öğrenmesi alanın kendisi ve genel yaklaşım: elle yazılmış kurallar yerine veriden iyileşen sistemler kurmak. Eğitim ise bu alanın içindeki tek bir etkinlik, modelin parametrelerinin ayarlandığı koşu. Makine öğrenmesi ayrıca veri işini, değerlendirmeyi, dağıtımı ve izlemeyi de kapsar; bunların hiçbiri eğitim değildir.
Yapay zeka eğitimden sonra öğrenmeye devam ediyor mu?
Bugün kullandığın sistemlerin çoğunda, ağırlıklar anlamında hayır. Bir eğitim koşusu bittiğinde model dosyası donar ve her konuşma aynı parametrelerden başlar. Oturumlar arasında değişen şey bağlamdır: isteme ne koyduğun, bir erişim sisteminin neyi getirdiği, ürünün tercihlerin hakkında neyi sakladığı. Sağlayıcılar güncellenmiş modeller yayınlıyor elbette, ama o yeni bir eğitim koşusudur, eski modelin öğrenmeye devam etmesi değil.
Eğitim ile ince ayar arasındaki fark ne?
İnce ayar da eğitimdir. Fark kapsamda: ön eğitim büyük bir derlemden yüksek maliyetle genel bir model kurar, ince ayar ise o bitmiş kontrol noktasından başlayıp çok daha düşük maliyetle daha küçük ve dar bir veri kümesinde ayarlama yapar. İkisi de ağırlıkları günceller, ikisi de yeni bir kontrol noktası üretir. Biri "eğitim" ile "ince ayar"ı karşı karşıya koyuyorsa, "eğitim" derken neredeyse her zaman ön eğitimi kastediyordur.
Bağlam içi öğrenme gerçek öğrenme sayılır mı?
Hangi tanımı kullandığına bağlı, ki terimleri ayırmaya değmesinin bütün sebebi bu. Davranış olarak sayılır: model örnekleri gördükten sonra görevi görmediği duruma göre daha iyi yapıyor. Yapısal olarak sayılmaz: hiçbir şey saklanmıyor ve bağlam penceresi kapanınca etki de kayboluyor. İki cümle aynı anda doğru, hangisini kastettiğini söylemek de karışıklığın çoğunu baştan önlüyor.
Pratik özet: eğitim koşturduğun bir iş, öğrenme ölçtüğün bir sonuç, aradaki boşluk da model hatalarının çoğunun ayıklandığı yer. Bir dahaki sefere bir sistemin "daha fazla eğitime ihtiyacı var" demeye hazırlanırken, önce şunu kontrol et: istediğin davranış ağırlıklarında mı eksik, yoksa sadece bağlamında mı? İkinci sorunu çözmek birkaç kat daha ucuz, ve daha sık karşılaşılanı da o.