- Quiet-STaR, doğru cevabı olan QA veri kümeleri yerine genel web metinlerini öğrenme sinyali olarak kullanarak, dil modellerini konuşmadan önce içsel gerekçeler üretmeye eğiten bir yöntemdir
- Mevcut STaR yalnızca doğru cevaba götüren gerekçeleri seçip öğrenirken, Quiet-STaR gelecekteki metin tahminini iyileştiren gerekçeleri ödüllendirerek yapılandırılmamış metinlerdeki örtük akıl yürütmeden yararlanır
- Her token konumunda gerekçeleri paralel olarak örnekler; gerekçeli ve gerekçesiz tahminleri karıştırarak gerçek bir sonraki metni daha iyi tutturacak yönde öğrenir
- Mistral 7B’nin OpenWebMath ve C4 ile sürekli ön eğitime tabi tutulması sonucunda, göreve özel fine-tuning olmadan doğruluk GSM8K’de %5,9→%10,9’a, CommonsenseQA’da %36,3→%47,2’ye yükseldi
- Etki, tahmin edilmesi zor token’larda daha belirgin görüldü; içsel düşünce için kullanılan token sayısı uzadıkça doğrudan akıl yürütme performansındaki iyileşmenin de artma eğiliminde olduğu gözlendi
Genel metni akıl yürütme öğreniminin hedefi yapmak
- İnsanlar yazarken veya konuşurken kısa bir süre durup düşünür; metnin anlamının önemli bir bölümü, cümleler arasında açıkça görünmeyen nedenler ve imalarda yer alır
- Mevcut akıl yürütme odaklı yaklaşımlar çoğunlukla soruları yanıtlamaya veya ajan görevlerini tamamlamaya odaklanırken, Quiet-STaR akıl yürütmenin neredeyse tüm yazılarda örtük olarak var olduğunu kabul eder
- Örtük akıl yürütme örnekleri şunlardır
- Bir ispatta açıkça belirtilmeyen ara adımlar
- Bir diyalogda karşı tarafın zihinsel durumunu tahmin eden kuram
STaR’ı dil modellemeye genişletmek
- STaR(Self-Taught Reasoner), soru-cevap veri kümelerinde az sayıda örnek temelinde gerekçeleri örnekleyen ve yalnızca doğru cevaba götüren gerekçeleri öğrenerek daha zor problemleri yinelemeli biçimde çözmesini sağlayan bir yöntemdir
- STaR’ın, yüksek kaliteli QA veri kümeleri gibi özenle kürate edilmiş verilere bağımlı olması gibi bir kısıtı vardır
- Bu tür veri kümeleri yalnızca belirli akıl yürütme görevlerini içerebilir
- Gerekçenin kendisini sağlamayı veya belirli bir akıl yürütme görevi sunmayı gerektiren durumlar olabilir
- Quiet-STaR, belirli bir matematik QA görevi yerine, dil modelini büyük ölçekli internet metinlerinde gelecekteki metni akıl yürüterek tahmin etmeye yardımcı olan gerekçeler üretmeye eğitir
- Bu yaklaşım, “dil modelleri gözetimsiz çoklu görev öğrenicileridir” şeklindeki dil modelleme paradigmasının sezgisi üzerine kuruludur
Öğrenme süreci: think, talk, learn
- Quiet-STaR üç aşamada çalışır
- think: Metindeki her token’ın ardından gelecekteki metni açıklayan gerekçeleri paralel olarak üretir
- talk: Gerekçe varken ve yokken yapılan sonraki token tahminlerini karıştırır
- learn: REINFORCE tabanlı ödülle, gelecekteki metin tahminine yardımcı olan gerekçelerin olasılığını artırır; zarar veren gerekçeleri eler
- Eğitim sırasında tek bir thought için model, düşüncenin başlangıcını ve sonunu
STARTveENDgibi öğrenilebilir meta token’larla işaretler - Gerekçe üretildikten sonra mixing head, bu gerekçeye dayalı tahminin gelecekteki token tahminine ne kadar yansıtılacağına karar verir
Her token’da düşündürmenin uygulama zorlukları
- Genel metinde her token için gerekçe üretmek gerektiğinden hesaplama maliyeti yüksektir
- Bunu azaltmak için, dizge içindeki tüm token konumlarında gerekçe üreten token bazlı paralel örnekleme algoritması önerilmiş ve uygulanmıştır
- Dil modelinin baştan itibaren içsel düşünce üretmeyi veya kullanmayı bilmemesi sorunu da ele alınır
- Düşüncenin başlangıcını ve sonunu temsil eden özel meta token’lar tanıtılır
- Modelin ne zaman gerekçe üretmesi gerektiğini ve bu gerekçeye dayanarak ne zaman tahmin yapması gerektiğini öğrenmesi sağlanır
- Yalnızca tek bir sonraki token’a bakan miyop öğrenmeden kaçınmak için, birden çok token sonrasını da kapsayan miyop olmayan kayıp (non-myopic loss) kullanılır
- Genişletilmiş teacher-forcing tekniğiyle, tekil sonraki token’ın ötesindeki tahminler de öğrenmeye yansıtılır
Deney kurulumu ve sonuçlar
- Deneyler, Quiet-STaR’ın Mistral 7B üzerine uygulanmasıyla yürütüldü
- Sürekli ön eğitimde web metni veri kümeleri olan OpenWebMath ve C4(Colossal Clean Crawled Corpus) kullanıldı
- Göreve özel fine-tuning olmadan sıfır atış doğrudan akıl yürütme performansı iyileşti
- GSM8K: %5,9→%10,9
- CommonsenseQA: %36,3→%47,2
- Hem GSM8K hem de CommonsenseQA’da, Quiet-STaR eğitimi sırasında kullanılan düşünce token’larının sayısı uzadıkça performans iyileşmesi tutarlı biçimde arttı
- Doğal metinlerde, tahmin edilmesi zor token’ların perplexity değeri iyileşti
- Üretilen gerekçeler özellikle tahmin edilmesi zor token’lara orantısız derecede daha fazla yardımcı oldu
Quiet-STaR’ın katkıları
- Quiet-STaR, STaR’ı kürate edilmiş akıl yürütme görevleri yerine çeşitli yapılandırılmamış metin verilerinden akıl yürütme öğrenilecek şekilde genelleştirir
- Paralel örnekleme algoritmasıyla, verilen bir dizgenin tüm token konumlarında gerekçe üreten eğitim sürecini ölçeklenebilir hale getirir
- Düşüncenin başlangıcını ve sonunu temsil eden özel meta token’lar, modelin gerekçe üretimi ile gerekçeye dayalı tahminin zamanlamasını öğrenmesi için kullanılır
- mixing head, belirli bir thought’tan gelen sonraki token tahmininin mevcut tahmine ne kadar yansıtılacağını sonradan belirler
- Birden çok token sonrasını kapsayan dil modelleme kaybı, düşüncenin etkisini iyileştirir
- Birden fazla görevde düşünce kullanıldığında, aynı web metniyle eğitilen modellere kıyasla zor token’ları daha iyi tahmin eder ve daha uzun thought’larda iyileşme miktarı artar
1 yorum
Hacker News yorumları
Örneğin 50 katman derinliğinde bir ağın sembolik bir soru için ancak yaklaşık 50 adım akıl yürütebilmesi sezgisel olarak gayet doğal görünüyor
Daha karmaşık görünmesinin nedeni, modelin öğrendiği bir veya daha fazla altuzayda 50 adım gerçekleştirmesi; ayrıca o tek bir “adım” bir insanın tek adımından daha fazla iş yapıyor olabilir
İnsanlar bunun ötesinde de akıl yürütebilir, ama bunun için gerçek düşünme ve etraflıca değerlendirme, bazen de bir not defteri gerekir
ChatGPT’nin hiç düşünmeden ya da “kâğıt” kullanmadan 4 basamaklı çarpmayı doğru yapmasını beklemek epey şaşırtıcı; zaten böyle hesapları zihinden yapan insan sayısı da çok değildir
Örnekte model çalıştırma başına 50 adım var ve model her çıktı token’ı için bir kez çalıştırılıyor
Bu yüzden modelin gerçekte ne kadar “düşünebildiğini” hesaplamak daha karmaşık
Elbette bir token çıktıktan sonra varsayılan ayarlarda model o token’a bağlanmış olur; ama bu, sonraki token’ları üretirken “düşünmeye” devam etmediği anlamına gelmez
Bağlam ve önceki çıktı token’ları bir sonraki model adımının girdisi olduğundan, sözünü ettiğiniz not defteri gibi görülebilir
Deney sonuçları, transformer tabanlı büyük dil modellerinin çok adımlı bileşimsel akıl yürütmeyi sistematik problem çözme yeteneğiyle çözmektense, doğrusal hale getirilmiş altgraf eşleştirmesine indirgeme eğiliminde olduğunu gösteriyor
Ayrıca soyut çok adımlı akıl yürütme problemlerine ilişkin teorik bir argümanla, görev karmaşıklığı arttıkça otoregresif üretim performansının hızla düşebileceğini gösteriyor
Bandın tükenmediğini varsayarsak, büyük dil modellerinin yalnızca basit işlemlerle sınırlı kalması için bir neden yok
Modelin otoregresif olduğu düşünülünce de aynı şekilde pek oturmuyor
Edsger Dijkstra kusursuz bir İngilizce üsluba sahipti; ana dili Felemenkçe olmasına rağmen İngilizceyi birçok ana dil konuşurundan daha iyi kullandığını düşünüyorum
Bir EWD’de, çocukken “bir cümleyi nasıl bitireceğini daha baştan bilmeden konuşmaya başlama” diye öğrendiğini hatırlıyordu
Bu iki gözlem arasında nedensel bir ilişki var gibi
Bunu nasıl yaptığını merak ediyordum; bir gün öğle yemeğinde birlikteyken bunu ciddi ciddi açıkladı
Kafasında tek bir cümleyi tamamen söyleyip bitirmeden ağzından çıkarmazmış; sözcükleri birkaç kez aklından geçirip cümleyi düzeltir, karşısındakinin nasıl tepki vereceğini hayal eder, ancak istediği tepkiyi gözünde canlandırabildiğinde konuşurmuş
Bu tavsiye aynı zamanda düşünmeden konuştuğumu nokta atışı gösteriyordu ve sormadığım soruyu doğru okuyup cevaplamış gibiydi
Bu yöntemi denediğimde harcadığım çabanın karşılığını aldım, ama bunu alışkanlığa dönüştüremedim; hâlâ ağzım zihnimden önce davranıyor
Eskiden konuşmadan önce ne söyleyeceğimi takıntılı biçimde düşünmeye çalışırdım; sosyal açıdan biraz garip biri olmama rağmen bunun hiç faydası olmadı
Yazmayı seviyorum, çünkü asenkron olduğu için düşüncelerimi tam olarak düzenleyip düzeltebiliyorum; ama sosyal durumlarda büyük bir engel oluyor
İkincisi, ana diliniz olmayan bir dilde konuşurken, birazdan söyleyeceklerinizi daha derin düşünürsünüz. Deyimler azalır, anlamın doğru aktarılıp aktarılmadığına daha çok odaklanırsınız ve karşınızdakini istemeden kırma ihtimaline karşı daha hassas olursunuz gibi
Bu yeni bir şey de değil. Bilim gibi alanlar da çoğu zaman araştırmacıların ana dili olmayan Fransızca, Almanca, Latince gibi dillerde yürütülmüştür
Ayrıca alanlara özgü terminoloji de işin içinde. “Kubernetes is een open-bron houder orkestratiesysteem voor het automatiseren van de inzet, schalen, en het beheer van zachte waren” diye düz biçimde söylersem, ana dilimi konuşan dinleyicilerimin yarısı muhtemelen şaşırıp kalır
Öğrencilerin hata yapma olasılığını azaltmaya mı çalışıyordu acaba?
Bunun yapabileceğim bir hata olduğunu hiç düşünmemiştim; ‘wet’ ile ‘vet’i karıştırmaya benzer geliyor
Ana dil konuşurlarıyla ana dili olmayanların dil kullanımı arasında kesinlikle fark var
Birkaç gün önce aklıma geldi: büyük dil modeli tabanlı sistemlerde düşünce zinciri çıkarım örüntüsünün performans artışına katkıda bulunması, Kahneman’ın Thinking, Fast and Slow kitabındaki zihnin iki sistemli modeliyle yan yana konabilecek gibi görünüyor.
Kitabı birkaç yıldır yeniden okumadım ama düşük çaba ve düşük hesaplama gerektiren düşünme için çoğunlukla “System 1”in kullanıldığını söylediğini hatırlıyorum. Örneğin 1+1=? ya da “gökyüzü ____” gibi şeyler.
Buna karşılık “System 2” kasıtlı, bilinçli ve bilişsel yükü yüksek işler için kullanılır. Büyük çarpmalar, muhakeme soruları, araç kullanımı, genel olarak karar verme gibi odaklanma veya zihinsel kaynak gerektiren şeyler.
“Büyük dil modelleri stokastik papağandır, zekâları yoktur” eleştirisi aslında modelin yalnızca “System 1” kullanacak şekilde donatıldığı gözlemi gibi geliyor.
Büyük dil modeline adım adım düşünmesi için prompt verdiğinizde, ona kendi düşüncelerini yazabileceği bir çalışma alanı vermiş ve bir sonraki token tahmininde bunu yeniden hesaba katmasını sağlamış olursunuz; bu da bir tür ilkel System 2, yani düşünme için bir sandbox hâline gelir.
İnsan da System 2’yi kullanırken zihninin önünde dünyanın bir dioramasını tutar ve belirli bir eylem yaptığında ortamın nasıl tepki vereceğini simüle eder. Arkadaşının ne yanıt vereceğini, sac levhanın kuvvetle nasıl büküleceğini, kodun nasıl bozulacağını, lastiğin yolu nasıl tutacağını gözünde canlandırır; olasılıklar ağacını tarayıp getirisi en yüksek eylemi seçer.
Uzman değilim ama bu makale de benzer bir çerçeveyi fark etmiş gibi. Özellikle robotikte görülen davranış modellerine ileride yinelemeli tefekkür/simülasyon mekanizmaları girebilir.
Birkaç hafta önce tam uyanık da olmadığım, tam uyumadığım da bir hâlde, hızlı düşünen beynin ışık hızıyla sözcükler ve kavramlar püskürttüğünü, yavaş düşünen beynin de bunları gerçek cümlelere dönüştürdüğünü fark ettiğim bir döngüye girdim.
Düşünce zincirini bir fikir listesi gibi görüyordum; o liste inanılmaz hızla doluyor, sonra özenle seçilmiş sözcüklerden oluşan düzgün bir “düşünce”ye özetleniyordu.
O zamandan beri düşünce olarak algıladığımız şeyin, hemen öncesindeki beyin fırtınası sürecinden çıkan seçilmiş çıktı olduğu görüşüne inanır oldum.
Yine de zekâ ya hep ya hiç değildir; bir spektrum üzerindedir. Benim tanımım “geçmiş deneyime dayanarak gelecekteki sonuçları doğru tahmin edebilme derecesi” ve biyolojik ya da yapay olsun, bir sistemin örüntüleri tanımak ve tahmin etmek için kullanabildiği mekanizmalara bağlıdır.
Zekâ deneyime de bağlıdır. Çünkü deneyimlemediğiniz şeyi tanıyamaz, dolayısıyla tahmin de edemezsiniz. Yine de tahmin yeteneğini ve deneyimi birlikte “zekâ” diye paketlemek yerine bunları ayıran bir söz dağarcığı olsa daha iyi olabilir.
Büyük dil modellerinin tahmin mekanizmasını insan beyniyle karşılaştırınca eksik çok şey var. “Konuşmadan önce düşünmek” bunlardan biri; Q* yaklaşımı ya da düşünce ağacı yöntemi burada yardımcı olacaktır.
Talamus-korteks döngüsü gibi yinelemeli yapılar da büyük dil modeli/Transformer yaklaşımına eklenebilir mi bilmiyorum; ama insan düzeyi yetenekler için kritik eksik parçanın çevrimiçi öğrenme olduğunu düşünüyorum. Eyleme geçmek, sonucunu görmek ve oradan öğrenmek.
Mevcut yaklaşımla “kitaptan öğrenmiş” bir AGI yapılabilir; ama beceriler pratik ve deney olmadan öğrenilemez. Geliştirici olmak ya da başka bir şey olmak fark etmez; yalnızca kitap okuyarak veya başkalarının yaptığı çıktıları analiz ederek öğrenilemez. Kendi tahminlerinin ve eylemlerinin gerçek dünyada doğurduğu sonuçları anlamak ve onlardan öğrenmek gerekir.
İlgili bölüm bağlantısı: https://youtu.be/zjkBMFhNj_g?t=2120
Zevkle okumuştum ve çok içgörü barındırdığını düşünmüştüm; ama sonradan o alandan bir arkadaşım kitabın doğru olmadığını ve yazarın bazı iddialarını “geri çektiğini” söyledi.
Ama konuşurken ben de ne söyleyeceğimi, söylediğimi duyana kadar bilmediğim deneyimler yaşıyorum.
Bazen zihnimde ifadeleri deniyor, üzerinde düşünüp plan yapıyorum; ama çoğu zaman ben de sadece token akışı üreten bir büyük dil modeline benziyor gibiyim.
Yine baseline’ı berbat olan bir pekiştirmeli öğrenme makalesi. GSM8k’de çıktı biçimi epey belirli, ama 0-shot yönerge ayarı yapılmamış Mistral kullanmışlar.
İyileştirmeden sonra doğruluk %11 olmuş; oysa few-shot prompting %37’ye ulaşıyor[1]. GPT-4 ise prompting ile yaklaşık %97’ye kadar çıkabiliyor.
[1]: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderb...
En güncel performansa ölçeklemek de mümkün olabilir; ama amaçları basit bir düzende kendi değişikliklerinin etkisini ölçmek olabilir.
Birden fazla sistem bileşimini karıştırıp en güncel performansı çıkarmayı mühendislere bırakmak yeterli.
OpenAI’ın söylentilere konu olan Q*, yani q-star modeliyle ilgisi var mı? Bu makalenin yazarları ilgili görünmüyor.
Sadece isim tesadüfen mi çakışmış?
Yine de Q başka bir anlama geliyor olabilir.
Muhakeme yeteneğine sahip yapay zekâyı eğitmekte eksik kalan parça bu.
Cevabı bilinen ama çıkarım adımları eksik olan çok sayıda görev var. Bu yöntemle daha az etiketli veriyle o yeteneğe ulaşılabilir.
İlginç olan, üretilen düşünceler insanlar için anlaşılması zor olsa bile doğru cevaba ulaşmada çok daha fazla yardımcı olabilmesi.
Böyle olursa bizden daha zeki bir şey yaratmış oluruz.
Bu sabah prompt düzeyinde temelde benzer bir şey denedim ama sonuçlar berbat çıktı. Yine de kafamdaki kaba fikir daha ileri gidip, büyük dil modelinin kendi bağlamını yeniden keşfetmesine yardımcı olacak kontrol akışı meta token’ları getirmekti
Bu bakış açısından bağlamı, kendi kendini düzenleyen yapılandırılmış bir zihin haritası olarak yeniden düşünebiliriz; belirli bir T anındaki doğrusal bağlam ise o zihin haritası keşfinin o ana kadarki yürütme izi olur
Bazı meta token’lar bağlamın bazı bölümlerini vurgulamak, yapılandırmak, özetlemek, unutmak vb. yan etkilere sahip olabilir
Böylece json gibi sözdizimsel biçimler ya da LMQL tarzı programlama yapıları olmadan yerel yapılandırılmış çıktı, bellek uygulamaları vb. mümkün olabilir
Amaç büyük dil modeline yalnızca mantık/akıl yürütme yeteneği kazandırmak değil, kendi bilişsel mimarisini oluşturabileceği araçları vermek
Yapılandırılmış çıktıda ... token’ını kullanıp bellek ya da scratchpad de uygularsanız, böyle bir bilişsel yapının denetlenebilirliğini de bonus olarak elde edebilirsiniz
Elbette nasıl uygulanacağı hakkında hiçbir fikrim yok. Makine öğrenmesi turistiyim sonuçta
Kendi çalışmalarından neredeyse 8 yıl önce çıkmış, dil modellemeye uygulanmış RNN’lerde öğrenilmiş değişken hesaplama makalesine [1] atıf yapmıyorlar
[1] https://openreview.net/pdf?id=S1LVSrcge
Microsoft’un da o dönemde görüntü tanıma için benzer bir şeyi vardı. Girdide CNN kullanıp sınıflandırma aşamasında değişken hesaplama yapıyorlardı
Değerlendirmede Base Mistral 7B kullanmak pek uygun değil. Intel’den bir ekip de NeuralChat’te tam olarak aynı şekilde kurnazlık yapmaya çalışmıştı https://huggingface.co/Intel/neural-chat-7b-v3#quantitative-...
“Metnin anlamının büyük kısmı satır aralarında gizlidir. Bir belgede o cümlelerin neden yer aldığını anlamazsa okur yalnızca yüzeysel bir anlayışa sahip olur” cümlesi, benim okuma biçimim ya da tanıdığım çoğu insan için doğru değil gibi
Neredeyse her zaman bir dünya modelimiz olduğunu ve bu cümlelerin kitapta neden yer aldığını bir ölçüde bildiğimizi düşünüyorum
Akışkanlar mekaniği ders kitabı okurken matematiği anlamayabilirsiniz ama o cümlelerin teoriyi öğrenmeye yardımcı olan matematiksel ifadeler olduğunu ve önemli kavramları öğretmek için bir örüntü izlediğini bilirsiniz
Örneğin kavramlar önceki kavramların üzerine inşa edilir. Bernoulli denklemi, enerji korunumu yasası daha önce geldiği için ortaya çıkar ve benim ikincisini anladığımı varsaydığı için oradadır