Full transcript
0:00Bu, Meta'nın Llama 3.2 büyük dil modelinin kayıp manzarası.
0:05Neredeyse tüm modern yapay zeka modelleri gradient descent ile öğrenir.
0:08Görsel olarak bu, manzaramızda rastgele bir konumda başlayıp aşağı doğru, daha düşük kayıp ve daha yüksek performanslı çözümlere ilerlememize benzer.
0:17Ancak modelimiz bunun gibi yerel vadilere takılıp kalmaktan nasıl kaçınır?
0:21Bu soru, birçok erken dönem yapay zeka öncüsünü durdurmuştu.
0:26tam da bu nedenle 2024'te Nobel Ödülü'nü kazanacak olan Jeff Hinton, yapay zeka alanındaki çalışmalarıyla,
0:31başlangıçta Llama gibi sinir ağlarını gradient descent ile eğitmeyi tamamen reddetmişti,
0:37Elbette, şimdi bildiğimiz gibi, gradient descent aslında inanılmaz derecede iyi çalışıyor.
0:43Hinton'ın eksik olduğu anlayış neydi ve resmimizde neyin yanlış olduğunu bu seride ele alacağız.
0:47Yapay zeka modellerinin nasıl öğrendiğine yeni bir bakış atacağız. Görsel öncelikli bir yaklaşımla başlayarak,
0:54tam olarak nasıl Llama modelimizin gerçek eğitim örneklerinden öğrendiğini,
0:58loss landscape'lerimizin bize neyi gösterip neyi gösteremeyeceğini
1:01ve sonuçta büyük modeller için gradient descent'in neden sadece yokuş aşağı gitmekten ziyade bir solucan deliğine düşmeye daha çok benzediğini göreceğiz,
1:08İkinci bölümde, daha matematik odaklı bir yaklaşıma geçeceğiz,
1:12bu da bu modellerin içinde çalıştığı inanılmaz derecede yüksek boyutlu uzaylarla başa çıkmamıza yardımcı olacak.
1:18Bu seriyi araştırırken, anlamam için derin bir odaklanma zamanı gerektiren
1:22gerçekten ilginç görselleştirme teknikleri buldum ve bu konuda videonun sponsoru Incogni bana gerçekten yardımcı oldu.
1:276 aydır Incogni müşterisiyim ve ne kadar daha az
1:33spam metin, arama ve e-posta aldığımı gördükçe hala şaşırıyorum, bu da bana daha kaliteli odaklanma zamanı sağlıyor. Incogni'nin bunu yapma şekli
1:39gerçekten etkileyici. Bir hesap için kaydolduktan sonra, sizin adınıza çalışması için
1:44verilerinizi kaldırmaları için veri komisyoncularıyla iletişime geçmesi için Incogni'ye izin veriyorsunuz. Komisyoncular genellikle yasal olarak bu isteği yerine getirmekle yükümlüdür.
1:50Buradan, devam eden tüm kaldırma isteklerini takip eden bu harika kontrol paneline ulaşıyorsunuz.
1:55Gerçekten etkileyici ve her zaman arka planda çalışıyor. Geçen yılın sonunda kontrol ettiğimde,
2:00verilerim 115 farklı veri komisyoncusundan kaldırılmıştı ve sayı şimdi 220'ye ulaştı.
2:07Incogni'nin bana kişisel verilerim üzerinde sağladığı kontrolü gerçekten değerli buluyorum. Amerika Birleşik Devletleri'nde,
2:12küçük bir ücret karşılığında herkesin sizin hakkınızda adresiniz, e-postanız,
2:17telefon numaranız, eğitiminiz, iş geçmişiniz, mahkeme kayıtlarınız ve sosyal medya hesaplarınız gibi bilgileri arayabildiği
2:23bu "insan arama" siteleri var. Bu size veri komisyoncularının toplayıp satabildiği tüm bilgiler hakkında bir fikir veriyor.
2:29Birkaç ay Incogni kullandıktan sonra bu insan arama sitelerinden birinde bir hesap açtım
2:34ve etkileyici bir şekilde kendime dair herhangi bir kayıt bulamadım. Welch Labs kodunu kullanarak veya
2:40aşağıdaki açıklamada yer alan bağlantıyı takip ederek yıllık planda %60 indirimle Incogni'den harika bir fırsat yakalayabilirsiniz.
2:46Böyle çok bölümlü bir seri yapmayalı uzun zaman olmuştu. Incogni'ye bu seriyi mümkün kıldığı
2:51ve üzerinde çalışırken daha kaliteli odaklanma zamanı bulmama yardımcı olduğu için çok teşekkür ederim.
2:56Şimdi yapay zeka modellerinin nasıl öğrendiğine geri dönelim, görsel olarak açıklayalım.
3:00Gerçek bir büyük dil modeliyle denemeler yaparak başlayalım: Meta'nın Llama 3.2 - 1.2 milyar parametreli modeli.
3:08Llama ve ChatGPT gibi modeller, bir metin dizisi verildiğinde, bir sonraki kelimeyi veya 'token' olarak bilinen kelime parçasını tahmin etmek üzere eğitilir.
3:16Örneğin, "the capital of France is Paris" metni üzerinde eğitim yapılırken, bu metin altı token'a ayrılır,
3:22her biri tek bir sayıyla temsil edilir ve modelimize aktarılır.
3:26Her bir girdi token'ı için Llama modelimiz, bir sonraki token'ın ne olacağına dair bir olasılık vektörü şeklinde bir tahmin döndürür.
3:34Yani "the capital of France is Paris" için altı token'ı girdiğimizde,
3:38modelimiz her biri 128,256 uzunluğunda altı vektör döndürür;
3:44Llama'nın 128,256 token'lık kelime dağarcığındaki her bir token için bir tahmin edilen olasılık değeriyle.
3:51Beşinci vektörümüz, 12,366 indeksinde maksimum 0.39 olasılığa sahiptir, bu da Paris token'ına karşılık gelir.
4:00Yani modelimiz, "the capital of France is" ifadesini takip eden token olarak Paris'e %39 olasılık atıyor.
4:08Modele göre bir sonraki en olası token, %8.4 olasılıkla "a" kelimesidir.
4:14Bu, "the capital of France is a beautiful place to visit" gibi cümlelere yol açabilir.
4:18Eğitim sırasında, modelin her pozisyondaki tahmin edilen olasılıkları, eğitim metnindeki doğru sonraki token ile karşılaştırılır.
4:26Yani ilk pozisyonda modelimiz, "capital" token'ını tahmin etmek üzere eğitilir.
4:30Ve beşinci pozisyonda model, Paris token'ını tahmin etmek üzere eğitilir.
4:34Buradan sonra, modelimizin ne kadar iyi çalıştığını ölçmek için bir yola ihtiyacımız var.
4:38Burada seçeceğimiz metrik, öğrenme sürecini yönlendirecektir.
4:41Bir seçenek, modelin hatasını doğrudan, modelin doğru sonraki token için tahmin ettiği olasılıktan 1 çıkararak ölçmektir.
4:49Örneğin beşinci pozisyonda, eğer model Paris token'ını 1.0 olasılıkla tamamen emin bir şekilde tahmin etseydi, hatamız 1 - 1 = 0 olurdu.
4:59Eğer modelin tahmin ettiği olasılık 0.9'a düşseydi, hatamız 1 - 0.9 = 0.1'e yükselirdi ve bu şekilde devam eder.
5:07Bu metrik L1 loss olarak bilinir ve back propagation'ın matematiğine baktığımızda göreceğimiz gibi, öğrenmede çok önemli bir rol oynar.
5:16Ancak, modellerin bunun yerine 'cross entropy loss' adı verilen bir fonksiyonu kullanırsak daha etkili bir şekilde öğrenebildiği ortaya çıkmıştır.
5:23Cross entropy loss'u hesaplamak için, modelin doğru sonraki token için tahmin ettiği olasılıktan bir çıkarmak yerine, bu olasılığın negatif logaritmasını alırız.
5:33Bu, L1 loss'umuza benzer bir sonuç verir.
5:36Eğer modelin doğru sonraki token için olasılığı bir ise, cross entropy loss'umuz -log1, yani 0 olur, L1 loss'umuzla eşleşir.
5:46Eğer modelin doğru sonraki token için olasılığı 0.9'a düşerse, L1 loss'umuz 0.1'e, cross entropy loss'umuz ise 0.105'e eşit olur.
5:55Ve eğer modelin olasılığı 0.8'e düşerse, L1 loss'umuz 0.2, cross entropy loss'umuz ise 0.223 olur.
6:03Buradaki temel fark, modelimiz doğru cevap konusunda giderek daha az emin oldukça, cross entropy loss'umuzun fırlamasıdır, böylece modelimizi daha fazla cezalandırır.
6:12Büyük dil modeli eğitimi tamamen bu cross entropy loss'u azaltmaya dayanır.
6:18Peki, modelimizi daha iyi hale getirmek için bu kaybı nasıl kullanırız ve bu süreci nasıl görselleştirebiliriz?
6:24Modelimizin mevcut parametreleri, bir sonraki token olarak Paris için 0.39 olasılık veriyor,
6:30bu da 0.94'lük bir cross entropy loss'a yol açıyor.
6:33Normalde kaybımızı her token pozisyonunda hesaplayıp sonuçların ortalamasını alırdık.
6:39Ama şimdilik sadece modelimizi beşinci pozisyonda Paris token'ı konusunda daha emin olacak şekilde eğitmeye odaklanalım.
6:45Yani toplam cross entropy loss'umuz 0.94.
6:49Şimdi, modelin Paris'e olan güvenini artırmak ve bu kaybı azaltmak için model parametrelerimizi nasıl ayarlarız?
6:56Llama modelimiz oldukça standart bir transformer mimarisini takip eder.
7:00Her biri bir attention ve bir multi-layer perceptron hesaplama bloğu içeren 16 katmandan oluşur.
7:06Bu videoda, bu katmanların nasıl çalıştığıyla çok fazla ilgilenmeyeceğiz. Yardımcı ve giderek daha doğru hale gelen bir zihinsel model,
7:13tüm transformer'ı, tek bir f fonksiyonu olarak düşünmektir. Girdi metnimiz x'i alan ve parametreleri Ø'yı kullanarak bir sonraki token olasılıklarını hesaplayan
7:23Model parametrelerimizi değiştirdikçe modelimizin çıktısının nasıl değiştiğini keşfedeceğiz.
7:28Ve göreceğimiz gibi, bunu yapılandırılmış bir şekilde yapmak, tam olarak bu modellerin nasıl öğrendiğidir.
7:33Hadi 1.2 milyar model parametremizden sadece birinin modelimizin çıktısı üzerindeki etkisini görselleştirerek başlayalım.
7:40Modelin son katmanındaki multi-layer perceptron hesaplama bloğu yaklaşık 50 milyon toplam parametreye sahiptir.
7:46Bu parametrelerden birini seçeceğiz ve bunun modelimizin nihai çıktısını nasıl etkilediğini göreceğiz.
7:51Parametremizin mevcut değeri -0.007.
7:55Bu parametrenin değerini 0.01 azaltalım, girdi metnimizi modelimizden tekrar geçirelim ve tahminlerimizin ve kaybımızın nasıl değiştiğini görelim.
8:04Modelimizin son token olarak Paris olasılığı 0.3916'dan 0.3901'e biraz düşüyor.
8:13Diğer yönde bir değişiklik yaparak,
8:15yani parametremizin değerini 0.01 artırarak test ettiğimizde, modelimizin güveni 0.3930'a yükseliyor.
8:22Yani bu tek parametre ve bu örnek metin için,
8:25bu parametrenin değerini artırarak modelimizi doğru cevap konusunda daha emin hale getirebileceğimizi biliyoruz.
8:30Ama ne kadar artırmalıyız? Bu parametreyi daha da artırarak modeli doğru cevap konusunda daha emin hale getirebilir miyiz?
8:38Bu fikri genişletip görselleştirerek, daha fazla değeri test edebilir ve parametremizin çeşitli değerleri için modelimizin çıktı olasılığını çizebiliriz
8:46ve bu tek parametrenin değerinin bir fonksiyonu olarak güzel, parabol benzeri bir eğri görürüz.
8:51Gördüğümüz gibi, cross entropy loss'umuz bu çıktı olasılık değerlerinin negatif logaritmasıdır.
8:57Bu kayıp değerlerini hesaplayıp görselleştirdiğimizde, parabolümüzün ters çevrilmiş bir versiyonunu elde ederiz.
9:02Bu sonuçlar, modelimizin doğru cevaba dair tahmin edilen olasılığını en üst düzeye çıkarıp, kaybımızı en aza indirmek için
9:09parametremizi yaklaşık 1.61'e ayarlamamız gerektiğini gösteriyor.
9:12Daha sonra her bir parametreyi tek tek ele alıp, aynı analizi uygulayarak her parametreyi çıktı kaybımızı en aza indirecek şekilde ayarlayabiliriz.
9:20Şimdi bu fikrin neden işe yaramadığını görsel olarak görelim.
9:23İlk parametremiz Ø1'i 1.61 değerine ayarladıktan sonra, modelin Paris token'ına olan güvenini en üst düzeye çıkarıp kaybımızı en aza indirmek için
9:31ikinci bir parametreye geçersek, yine bir dizi değeri test edebilir ve ikinci parametre Ø 2'yi kaybımızı en aza indiren değere ayarlayabiliriz,
9:39bu durumda sonucumuz 1.76'dır.
9:42İşte sorun burada.
9:44Daha önce test edip 1.61 değerine ayarladığımız ilk parametremize geri döner ve aynı analizi çalıştırırsak, eğrimizin şekli değişir.
9:55Şimdi 1.11 değerinin aslında kaybımızı en aza indireceği görülüyor.
9:59Her bir parametrenin modelimizin çıktısı üzerindeki etkileri bağımsız değildir.
10:04İkinci parametremizin değerini değiştirmek, ilk kayıp eğrimizin şeklini değiştirir ve tam tersi de geçerlidir.
10:10Bu yüzden, parametreleri tek tek ayarlayarak etkili bir şekilde öğrenemeyeceğiz.
10:15Bunu, parametre değerlerimizi birlikte değiştirirken kaybımızın nasıl değiştiğini test ederek görsel olarak görebiliriz:
10:20bir değerler alanı test edip her bir parametre kombinasyonu için kaybımızı bir yüzeyin yüksekliği olarak çizerek.
10:26Daha önce neyin yanlış gittiğini görmek artık çok kolay.
10:29Sadece ilk parametremizi dikkate alırsak, etkin bir şekilde bunun gibi bir dilime bakıyoruz.
10:34Bu eğrinin en altına inip ardından ikinci parametremizi ayarladığımızda, şimdi bunun gibi bir dilime bakıyoruz.
10:40Bu ikinci eğrinin en altına indiğimizde, loss landscape'imizde artık ilk parametremizin yönünde bir vadinin dibinde olmadığımız yeni bir konuma ulaşırız.
10:51Bu iki parametreli görselleştirmede, hangi parametre değerleri kombinasyonunun genel kaybımızı en aza indirdiğini görmek kolaydır.
10:58Sadece iki parametremizi kasenin dibindeki değerlere ayarlamamız gerekiyor.
11:02Artık bu iki parametreye göre her iki yönde de optimal bir çözüme sahibiz.
11:08Tabii ki, sadece bu iki parametre birbiriyle bağlantılı değil.
11:11Etkin bir şekilde modelimizin 1.2 milyar parametresinin hepsi birbiriyle bağlantılıdır.
11:15Bu da kayıp manzaramızın aslında 1.2 milyar boyutlu olduğu
11:20ve iki test parametremizle yaptığımız gibi tüm parametre kombinasyonlarını keşfetmenin hesaplama açısından imkansız olduğu anlamına gelir.
11:26Her parametre için 20 değer test edersek, az önce yaptığımız gibi iki parametreyi test etmek 400 değerlendirme gerektirir.
11:34Üç parametreyi birlikte test etmek, 20x20x20'lik bir küpteki 8.000 değerin hepsini test etmeye eşdeğerdir.
11:41Ve 1.2 milyar model parametresinin tamamını bu şekilde test etmek, astronomik bir sayı olan (20 üzeri 1.2 milyar) hesaplama gerektirir.
11:50Çok daha ölçeklenebilir bir yaklaşıma ihtiyacımız var.
11:53İki boyutlu loss landscape'imize dönersek, vadinin dibini, landscape'teki her noktanın yüksekliğini hesaplamadan bulmanın bir yolu var mıdır?
12:02Eğer bir dağdaki ormanda kaybolmuş olsanız ve haritasız bir şekilde aşağıdaki vadiye inmeye çalışsanız,
12:08yapılacak oldukça makul bir şey, sürekli olarak yokuş aşağı gitmektir. Aşağıdaki vadiyi göremeseniz bile.
12:14Bunu matematiksel olarak etkili bir şekilde yapabiliriz.
12:17Her parametre için, bir dizi değer boyunca kaybı hesaplamak yerine,
12:21kayıp eğrisinin eğimini hesaplayabiliriz, bu da bize her yönde yokuş aşağının ne taraf olduğunu ve inişin ne kadar dik olduğunu söyler.
12:29İkinci bölümde göreceğimiz gibi, bu eğimleri çok verimli bir şekilde hesaplayabildiğimiz ortaya çıkıyor.
12:34Kayıp eğrimizin gerçek değerlerini hiç hesaplamamız bile gerekmeyecek.
12:39Buradan, eğimlerimizi gradient adı verilen tek bir vektörde birleştirebiliriz, bu da bize yokuş aşağıyı gösteren küçük bir pusula gibi davranır.
12:47Teknik olarak gradient'in yokuş yukarıyı gösterdiğini ve yokuş aşağı gitmek için ters yönde hareket ettiğimizi unutmayın.
12:52Bunun nedenini ikinci bölümde göreceğiz.
12:54Şimdi fikir, yokuş aşağı küçük yinelemeli adımlar atmak,
12:58her adımdan sonra bir sonraki adımımıza rehberlik etmesi için gradient'i yeniden hesaplamaktır.
13:02Bu, gradient descent olarak bilinir ve neredeyse tüm modern yapay zeka modelleri yokuş aşağı küçük adımlar atarak bu şekilde öğrenir.
13:09Pratikte, hesaplama yoluyla asla tam olarak keşfedemeyeceğimiz çok yüksek boyutlu loss landscape'le bile çok iyi çözümler bulabiliyoruz.
13:19Elbette dil modelimizin 1.2 milyar boyutlu loss landscape ve bu yüksek boyutlu uzayda yokuş aşağı gitmenin gerçekten neye benzediğini görselleştirmek biraz zor.
13:29Burada deneyebileceğimiz bir yaklaşım, yüksek boyutlu uzayımızda rastgele bir yön seçmek ve o yönde küçük adımlar atarken kaybımızı ölçmektir.
13:38Burada rastgele bir yön seçmenin, her model parametresi için bir tane olmak üzere 1.2 milyar rastgele sayı üretmek anlamına geldiğini unutmayın.
13:46Ve bu yönde küçük bir adım atmak, bu 1.2 milyar rastgele sayıyı küçük bir ölçekleme faktörüyle çarpmak ve
13:53bu ölçeklenmiş rastgele sayıları ağırlıklarımıza eklemek ve ardından kaybımızı yeniden hesaplamak anlamına gelir.
13:58Ölçekleme faktörümüzü artırarak rastgele yönümüzde daha da ilerledikçe, her adımda kaybımızı hesaplayabilir
14:05ve bu model ağırlıkları kombinasyonunun kaybımızı nasıl etkilediğini görebiliriz.
14:09Bu, modelimizi gradient descent ile eğitirken yaptığımız şeyle neredeyse tamamen aynıdır,
14:13tek fark burada yönümüzü gradient hesaplamamızdan gelen yokuş aşağı yön yerine rastgele seçmemizdir.
14:19Bu şekilde rastgele bir yön seçmek, umarım loss landscape'imizin neye benzediği hakkında bize daha geniş bir fikir verecektir.
14:26İşte Llama modelimiz için rastgele seçilmiş bir yönde ilerlerken loss landscape'in nasıl göründüğü.
14:31Yüksek boyutlu loss landscape'i bu şekilde keşfetmek, tepeler, vadiler, uçurumlar ve platolarla ilginç yapılar ortaya çıkarır.
14:39İşte rastgele seçilmiş ikinci bir yöndeki kayıp manzarası.
14:44Bu iki grafik, eğitimden önce rastgele başlatılmış bir model içindir.
14:48İşte eğitimden sonraki modelimiz için iki grafik daha.
14:52Eğitilmiş modelimizle, modelin eğitim yoluyla öğrendiği daha düşük kayıp değerini açıkça görebiliriz.
14:57Adım büyüklüğümüz için pozitif ve negatif değerler kullandığımızı unutmayın,
15:01bu yüzden değiştirilmemiş model ağırlıklarımız grafiğimizde alfa eşittir sıfırda görünür.
15:06Son olarak, rastgele yönlerimizi belirli katmanlarla sınırlamak ilginç olabilir.
15:10İşte eğitilmiş modelimizin toplam 16 katmanının ilk sekiz katmanında iki rastgele yönü keşfederken kayıp manzaramızın nasıl göründüğü.
15:20Bu yaklaşımı bir adım daha ileri götürerek, bu iki rastgele yönü bir 2D ızgaraya yerleştirebilir
15:25ve iki rastgele yönümüzün her birindeki adımların kombinasyonları için kaybımızı hesaplayabiliriz.
15:31Artık bu iki rastgele yönü birlikte keşfederken loss landscape'imizi görselleştirebiliriz.
15:37Şimdi bu kayıp manzarasında gradient descent algoritmamızın perspektifinden gezindiğinizi hayal edin.
15:43Eğitimden önce, modelimizin parametreleri rastgele başlatılır,
15:47bu da etkin bir şekilde bu manzarada rastgele bir konuma bırakıldığımız anlamına gelir.
15:52Buradan sonra görevimiz, vadinin dibine, ideal olarak buradaki global minimuma ulaşmaktır.
15:57Ama tek rehberimiz gradient'tir, bu sadece şu anda bulunduğumuz manzaranın küçücük yerel kısmında yokuş aşağının ne taraf olduğunu söyler.
16:06Modern yapay zeka hakkında şaşırtıcı bir gerçek ve birçok erken dönem yapay zeka araştırmacısının bu yaklaşımı reddetmesinin nedenlerinden biri,
16:13gradient descent'in bu yüksek boyutlu loss landscape'lerde en iyi veya hatta iyi bir çözüm bulacağına dair hiçbir garanti olmamasıdır.
16:20Manzaramızın bu görünümü, gradient descent'in potansiyel olarak takılıp kalabileceği birçok yerel minimuma sahiptir.
16:27Ama unutmayın, akıllıca rastgele yön sondalama hilemizle bile, hala 1.2 milyar boyutlu bir manzaranın iki boyutlu bir gölgesine bakıyoruz.
16:36~Sondalama: bir fonksiyonun yüzeyini anlamak için rastgele seçilen yönlerde yapılan test adımlarıdır.
16:37Eğer gerçekten gradient descent'i çalıştırır ve modelimizi örnek metnimiz üzerinde eğitirsek,
16:41öğrenmenin, parametrelerimizin manzarada yokuş aşağı ilerleyen bir nokta gibi göründüğünü hayal edebiliriz.
16:47Ve belki de gerçek optimizasyon sürecinin daha yüksek boyutlu olması,
16:51gradient descent'in bunun gibi yerel minimumlara takılıp kalmaktan kaçınabileceği anlamına gelir.
16:55Bu videoda çalışmaya başladığımda kafamdaki zihinsel imge kabaca buydu.
17:00Ama biraz deney yaptıktan sonra, modelimiz öğrenirken bunun gerçekten de böyle olmadığını fark ettim.
17:06Nedeni, modelimizin parametrelerinin tam yüksek boyutlu uzayında küçük bir adım bile attığımız anda,
17:12manzaranın iki boyutlu görselleştirmesinin dramatik bir şekilde değişmesidir.
17:17Görsel olarak, gradient descent'i çalıştırdığımızda, sanki manzaramızda bir solucan deliği açılıyor ve
17:22parametrelerimizi hızla temelde yoktan var olan çok düşük kayıplı bir vadiye indiriyor gibi görünüyor.
17:28Ve tüm bunlar, küçük noktamızın manzaramızda gerçekten bir yere gitme şansı bile bulamadan oluyor.
17:33Global minimum yönünde biraz hareket ediyor, ama görselleştirmemizde fark edilecek kadar değil.
17:39Burada tam olarak ne oluyor?
17:41Şu anda sadece "The capital of France is Paris" tek bir cümle üzerinde eğitim yapıyoruz.
17:47Bu yeni öğrenilen parametreler, modelimizin bir sonraki token olarak Paris olasılığını hızla
17:52maksimum değer olan 1.0'a yaklaştırıyor ve kaybımızı sıfıra yaklaştırıyor.
17:56Elbette, büyük bir dil modelini sadece tek bir kısa cümle üzerinde eğitmek, bu modellerin pratikte nasıl eğitildiği değildir.
18:03Aynı görselleştirmeye bakalım, ama bu sefer modelimiz Wiki text veri setinden örneklerle eğitiliyor.
18:09Dörtlük bir batch boyutu kullanacağız, yani aynı anda dört farklı örnekten öğreniyoruz.
18:14Loss landscape'imiz daha pürüzsüz hale geliyor.
18:17Bu mantıklı çünkü kaybımız artık batch'imizdeki tüm token'ların ortalaması alınıyor.
18:23Bir gradient descent adımı attığımızda, loss landscape'imiz başlangıç noktamızın etrafında aşağı indiğini görüyoruz.
18:28Tıpkı Paris örneğimizde gördüğümüz gibi,
18:31bu, modelimizin bu batch'teki örnekler üzerindeki kaybı azalttığını ve daha iyi performans gösterdiğini gösteriyor.
18:36Bir sonraki veri batch'ine geçtiğimizde,
18:38kayıp manzaramızın şekli değişiyor ve son batch'ten elde ettiğimiz kazanımlar kısmen kayboluyor.
18:44Adım adım bu şekilde, gradient descent algoritmamız iyi bir çözüme doğru ilerleyecek
18:50ve model öğrendikçe görselleştirilmiş manzaramız değişecek.
18:54Her iki durumda da, 2D görselleştirilmiş loss landscape'imiz öğrendikçe değişir,
18:58çünkü etkin bir şekilde yüksek boyutlu uzayda yeni bir bakış açısından rastgele seçilmiş yönlerimize bakıyoruz.
19:06Bu, daha önce modelimizin kaybını tek bir parametreyi değiştirerekve ardından iki parametreyi birlikte değiştirerek keşfetmemize benzer.
19:13Bir an için, kaybımızı sadece iki parametremizden birine göre görselleştirebildiğimizi hayal edelim.
19:19Kaybımız, ilk parametremize göre bu eğri gibi görünebilir.
19:24Şimdi, her iki parametrenin tam 2D uzayında hareket ettiğimiz gradient descent'i çalıştırırsak, ilk parametreye göre olan tüm eğrimiz değişir.
19:33Etkin bir şekilde tam 2D kayıp yüzeyimizin farklı bir dilimine geçiyoruz.
19:37Eğer yakınımızda güzel bir vadi varsa ama oraya gitmenin tek yolu ikinci parametremizin yönünde hareket etmekse,
19:44ilk parametremize göre olan ilk 1D görselleştirmemizde onu hiç göremeyiz.
19:49Ve onu gradient descent ile bulduğumuzda, 1D görselleştirmemizde yoktan var olmuş gibi görünecektir,
19:54tıpkı solucan deliğimizin tam görselleştirmemizde yoktan var olduğu gibi.
19:59Solucan deliği örneği biraz aşırı çünkü sadece tek bir kısa cümle üzerinde eğitim yapıyoruz,
20:04ama bize görselleştirmeye ve anlamaya çalıştığımız yüksek boyutlu loss landscape'imiz hakkında ilginç bir şey söylüyor.
20:10Bu örnekte, yüksek boyutlu uzayda bize çok yakın çok iyi çözümler var.
20:16Sadece tam yüksek boyutlu gradient'imizi hesaplayıp o yönde hareket edene kadar onları göremiyoruz.
20:22Jeff Hinton, Boltzmann makineleri adlı başka bir yaklaşımla takılıp kaldıktan sonra sonunda gradient descent'i denediğinde,
20:28yaklaşık 50 parametreli bir model üzerinde test etti ve ne kadar iyi çalıştığına şaşırdı.
20:34Gradient descent'in bir yerel minimumda tamamen takılıp kalması için, her boyutta aynı anda takılıp kalması gerekir.
20:40Ve bunun olma olasılığı, daha fazla parametre ekledikçe giderek azalır.
20:46Lineer regresyon gibi problemlerde gördüğümüz basit iki parametreli modellerde,
20:50loss landscape'leri bize tam bir resim sunar ve bu modellerin nasıl öğrendiğine dair yardımcı sezgiler sağlayabilir.
20:57Ancak, modellerimiz giderek daha fazla parametreyle daha karmaşık hale geldikçe,
21:01loss landscape'i görselleştirmelerimiz modelin gerçek öğrenme sürecinin giderek daha uzak bir gölgesi haline gelir.
21:08Bir dahaki sefere göreceğimiz gibi, bu manzaraları görselleştirme yeteneğimiz daha fazla boyut ekledikçe giderek daha sınırlı hale gelse de,
21:16matematiğimizin bu inanılmaz derecede yüksek boyutlu manzaralarda çalışmakla hiçbir sorunu yoktur.
21:21İzlediğiniz için teşekkürler ~Çeviren: Baran Başaran
21:24loss landscape'ler hakkında meraklıysanız, bu videonun posterine göz atın. Bu,
21:28daha önce bu kadar yüksek baskı kalitesinde yapamadığım yeni, daha büyük bir format.
21:33Ve poster için farklı modellerin manzaralarını keşfetmek için çok fazla hesaplama zamanı harcadım.
21:38Üstte ve ortada, bu videoda ele aldığımız Llama 1 milyar parametrelik manzarayı bulacaksınız.
21:43Solda, daha pürüzsüz ve daha basit bir manzarayla sonuçlanan daha basit bir model olan GPT2'yi koydum.
21:49Sağ üstte, ilginç bir şekilde Llama'dan daha büyük pürüzsüz alanlara sahip olan Deepseek R1'in damıtılmış bir versiyonunu bulacaksınız.
21:55Bu, Deepseek'in talimat ayarlı (instruction tuned) olmasından kaynaklanıyor olabilir. Ayrıca, bir sonraki token olarak Paris için
22:01kutudan çıktığı gibi yaklaşık %70 gibi çok daha yüksek bir güven üretiyor. Alt sırada,
22:07Gemma 1B'yi bulacaksınız. Bu, Google'ın Gemini modelinin daha küçük, açık kaynaklı bir versiyonudur. Ve sağ altta,
22:12popüler Qwen modellerinin birkaç varyantını ekledim. Burada yine talimat ayarlaması ile sadece ön eğitimi
22:17karşılaştırmak ilginç. Posterin altında, kayıp manzaralarımızı nasıl hesapladığımızı açıklayan
22:23videodaki bazı anahtar figürleri ekledim. Bu posterin nasıl çıktığından gerçekten memnunum
22:28ve bu daha büyük 17x22 inç boyutunu çok yüksek kalitede sunabildiğim için heyecanlıyım.
22:34Bu tür grafiklerde tüm ince detayları ve renkleri doğru elde etmek için gerçekten fotoğraf yazıcıları kullanmanız gerektiğini öğrendim.
22:39Fiziksel veya dijital bir kopyasını welchlabs.com'dan alabilir veya
22:45Imaginary Numbers kitabımla birlikte paketlendiğinde indirimli bir fiyata satın alabilirsiniz.
22:50Mağazadan alışveriş yapan herkese çok teşekkür ederim. Satın alımlarınız daha fazla harika içerik üretmeme büyük katkı sağlıyor.