Consistency LLM: LLM’leri paralel kod çözücüye dönüştürerek çıkarım hızını 3,5 kata kadar artırıyor
(hao-ai-lab.github.io)- Uzun yanıtlar üretirken token’ları tek tek oluşturan otoregresif (AR) decoding, gecikmenin temel darboğazıdır; CLLM ise bunu n token’lık birimler halinde paralel decoding’e indirmeyi amaçlayan bir yaklaşımdır
- Consistency Large Language Models (CLLMs), önceden eğitilmiş LLM’leri ince ayarlayarak rastgele bir n token durumunu AR greedy sonucuyla aynı sabit noktaya hızla eşlemeyi öğrenir
- Jacobi decoding teorik olarak AR greedy üretimiyle aynı sonuca yakınsar, ancak mevcut LLM’lerde ortalama yalnızca 1,05 kat civarında sınırlı hız artışı sağladığı için pratikliği düşüktü
- CLLM, Spider, Human-Eval, GSM8k ve MT-bench deneylerinde 2,4 kat~3,4 kat üretim hızı artışı gösterdi; Medusa2 ve Eagle gibi hızlı çıkarım teknikleriyle benzer ya da daha iyi düzeyde değerlendirildi
- Çıkarım sırasında yardımcı model bileşeni veya hedef model mimarisinde değişiklik gerektirmediğinden, hem hız iyileştirmesi hem de bellek verimliliği hedeflenebilir
CLLM’in hedeflediği decoding darboğazı
- LLM’ler programlama, hukuk, sağlık tavsiyesi gibi çeşitli alanlarda kullanılsa da çıkarım aşamasında genellikle token’ları tek tek üreten otoregresif (AR) decoding kullanır
- Yanıt uzadıkça token bazlı üretim yöntemi nedeniyle gecikme artar ve kullanıcının hissettiği bekleme süresi uzar
- Mevcut hızlı çıkarım yöntemleri, birden çok token’ı tek seferde üretmek için çoğu zaman mimari değişiklik, yardımcı bileşenler veya taslak model gerektirir
Jacobi decoding’in çalışma şekli ve sınırları
- Jacobi decoding, Jacobi ve Gauss-Seidel sabit nokta yinelemelerinden yola çıkan bir yöntemdir; greedy decoding’de AR üretimiyle aynı olduğu kanıtlanmıştır
- Sıralı üretimi n değişken ve n doğrusal olmayan denklemden oluşan bir sisteme dönüştürür ve Jacobi yinelemesiyle paralel hesaplanabilir hale getirir
- Somut akış şöyledir
- Girdi prompt’undan sonraki n token rastgele tahmin edilir
- Prompt ve n token’lık dizi LLM’e verilerek yinelemeli biçimde güncellenir
- Dizi artık değişmediğinde sabit noktaya (fixed point) ulaşılır
- Nihai n token’lık dizi, greedy stratejide AR decoding’in üreteceği çıktıya yakınsar
- Başlangıçtaki rastgele tahminden nihai AR üretim sonucuna uzanan yola Jacobi yörüngesi (Jacobi trajectory) denir
- Temel Jacobi decoding, gerçek LLM’lerde AR decoding’e kıyasla ortalama yalnızca yaklaşık 1,05 kat sınırlı hız artışı gösterir
- AR ile eğitilmiş LLM’lerde önceki token’larda hata varsa sonraki token’ları doğru tahmin etmek zordur
- Jacobi yinelemelerinin çoğu n token’lık dizide yalnızca bir token’ı düzelttiği için yörünge uzar
- Lookahead decoding ve speculative decoding, Jacobi decoding ile mevcut AR decoding’in verimsizliklerini azaltmaya çalışır, ancak çıkarım sırasında ek bellek maliyeti oluşturur
Consistency LLM’in eğitim hedefi
- CLLM, önceden eğitilmiş bir LLM’i Jacobi yörüngesinin rastgele bir noktasından sabit noktaya tutarlı biçimde ilerleyecek şekilde uyarlayan bir yöntemdir
- Bu hedef, difüzyon modeli hızlandırma tekniği olan consistency models hedefiyle benzerdir
- Hedef modelden toplanan Jacobi yörüngeleri kullanılarak, Jacobi yinelemesi sırasında tek adımda yakınsamayı teşvik eden bir kayıpla model eğitilir
- Her hedef modeli CLLM’e dönüştüren eğitim iki bölümden oluşur
- Jacobi yörüngesi hazırlama
- Her prompt için n token’lık tüm kesitlerde Jacobi decoding sıralı olarak yürütülür
- Tüm yanıt dizisi, ardışık sabit noktaların birbirine eklenmiş hali olur
- Yörünge sırasında üretilen her dizi bir eğitim verisi öğesi olarak hesaplanır
- Uzun yanıtlarda tüm uzun girdiyi değerlendirmenin yol açtığı yavaşlamayı önlemek için n token’lık kesitler kullanılır
- Consistency loss ve AR loss’un ortak optimizasyonu
- Consistency loss, birden çok token’ı aynı anda tahmin etmeye yönlendirir
- AR loss, CLLM’in hedef LLM’in dağılımından sapmamasını sağlayarak üretim kalitesinin korunmasına yardımcı olur
- Jacobi yörüngesi hazırlama
Kayıp fonksiyonu yapısı
- Hedef LLM
p, CLLM iseqθolarak alınır;qθ,pparametreleriyle başlatılır - Global consistency (GC) loss, Jacobi yörüngesindeki rastgele bir durum
ygirdi olarak verildiğinde CLLM’in sabit noktay*çıktısı üretmesini teşvik eder - Local consistency (LC) loss, Jacobi yörüngesindeki komşu durumlar
y(j)vey(j+1)aynı çıktıyı verecek şekilde hizalanır - Dağılımlar arası uzaklık
D(·||·), GKD yönteminde tartışılan seçenekleri izler; bu deneyde ağırlıklı olarak forward KL kullanılır - AR loss, hedef LLM
p’nin üretim sonucultemel alınarak geleneksel otoregresif kaybı uygular ve hedef LLM dağılımından sapmayı önler - Toplam eğitim kaybı, consistency loss ile ağırlık
wuygulanmış AR loss’un toplamından oluşur
Deney kurulumu ve sonuçlar
- Deneyler üç özelleşmiş alan görevini ve bir açık alan diyalog benchmark’ını içerir
- Spider: text-to-SQL
- Human-Eval: Python kod tamamlama
- GSM8k: matematik
- MT-bench: açık alan diyalog
- Göreve bağlı olarak hedef model olarak fine-tuned coder LLM, Deepseek-coder-7B-instruct, LLaMA-2-7B, ABEL-7B-001 kullanılır
- Eğitim ve değerlendirme tamamen NVIDIA A100 40GB sunucularda gerçekleştirilir
- Özelleşmiş alanlarda, özgün hedef model, Medusa2, speculative decoding gibi taban çizgilerle karşılaştırıldığında CLLM en büyük hız artışını gösterir
- MT-bench’te, ShareGPT veri kümesiyle LLaMA2-7B üzerinde eğitilen CLLM, lookahead decoding ile birleştirildiğinde Medusa2’ye benzer hız artışı elde eder
- MT-bench puanı da karşılaştırılabilir düzeydedir
- CLLM, hedef modelin özgün mimarisinde değişiklik gerektirmez
- Yardımcı bileşeni olmadığı için bellek verimliliği yüksektir
Eğitim maliyeti
- CLLM ince ayar maliyeti orta düzeyde sunulur
- LLaMA-7B, Spider veri kümesinde yalnızca yaklaşık 1 milyon token geçirerek 3,4 kat hız artışı elde eder
- CodeSearchNet-Python gibi büyük veri kümelerinde, veri kümesinin yalnızca %10’u Jacobi yörüngesi üretiminde kullanılarak yaklaşık 2,5 kat hız artışı elde edilir
- Toplam token sayısı şu formülle tahmin edilir
- Prompt başına ortalama yörünge sayısı × ortalama yörünge uzunluğu × prompt sayısı
- Veri kümesine göre tahmini eğitim maliyetleri şöyledir
- Spider: 2 milyon token, ön eğitim maliyetinin
< %0,01’i - CodeSearchNet-Python: 100 milyon token, ön eğitim maliyetinin
~%0,1’i - GSM8K: 10 milyon token, ön eğitim maliyetinin
~%0,01’i - ShareGPT: 200 milyon token, ön eğitim maliyetinin
~%0,2’si
- Spider: 2 milyon token, ön eğitim maliyetinin
Hızlı ileri alma ve sabit token’lar
- Hedef LLM genellikle tek bir Jacobi yinelemesinde yalnızca bir doğru token üretir
- CLLM’de tek bir Jacobi yinelemesinde birden çok ardışık token’ı doğru tahmin eden hızlı ileri alma (fast forwarding) olgusu görülür
- Hedef LLM’de, daha önce doğru üretilmiş token’ların sonraki yinelemelerde yanlış token’lara dönüştüğü durumlar olabilir
- CLLM, önceki token’da hata olsa bile doğru token’ı önceden tahmin etme ve bu token’ı sonrasında da koruma yeteneği gösterir
- Bu token’lara sabit token’lar (stationary tokens) denir
- Hızlı ileri alma ve sabit token’lar, CLLM’in Jacobi decoding’inin daha hızlı yakınsamasını sağlayarak üretim hızı artışına katkıda bulunur
Dilsel kalıpları öğrenme
- CLLM’in eğitim yoluyla eşdizim (collocations) adlı dilsel kavramı edindiği gözlemlenir
- Eşdizim, rastlantısal olandan daha sık birlikte görülen kelime veya terim dizilerini ifade eder
- Hem doğal dilde hem kodda eşdizim örnekleri bulunur
- Doğal dil:
talk to,remind … of … - Fiil+isim yapısı:
make a decision,catch a cold - Alana özgü dilbilgisel yapılar:
SELECT … FROM …,if … else
- Doğal dil:
- Consistency generation hedefi, CLLM’in Jacobi yörüngesinin herhangi bir noktasında bu yapıları çıkarsamasını sağlayarak, yineleme adımlarını azaltmak için birden çok kelimeyi aynı anda tahmin etmeye teşvik eder
Kaynaklar ve kod
- Ayrıntılar makalede görülebilir
- Uygulama kod tabanı olarak sunulur
- CLLM checkpoints de yayımlanmıştır
1 yorum
Hacker News görüşleri
“Serbest çizim” (ders anlatımı yok) dersi aldığım zamanki deneyimime benziyor
Çocukluğumdan beri iyi çizim yaptığım söylenirdi ama gerçekte hatırladığım şey, eskiden çizdiğim benzer ayrıntılı çizimleri tekrarlamak ya da çok zaman harcayarak çizmekti. Yeterince zaman ve sabır varsa herkesin bir sahneyi oldukça inandırıcı çizebileceğini düşünüyorum
Derste kural ya da anlatım yoktu; herkes istediği malzemeyi getiriyordu. Kimi mürekkep, kimi kurşun kalem, ben de füzen getirmiştim; belirlenmiş olan tek şey model pozları arasındaki süreydi. İlk birkaç poz yaklaşık 1 dakika gibi çok kısaydı, sonra giderek uzayıp 5 dakikalık pozlara çıktı; istediğin zaman çizimi yırtıp aynı pozu yeniden çizebiliyordun
Kısa ısınmalar aslında oranları ve konturları ilk denemede tutturmaya zorluyordu; acele edersen batırırsın şeklindeki yaygın kanaatin aksine, bir beceriyi öğrenirken ya da inceltirken acelecilik dikkati ve öğrenmeyi tetikleyen bir stres faktörü gibi işliyor
Dersten önce de benzer kalitede çizimler yapabilirdim ama bunun 5-10 kat daha uzun süreceğinden eminim. Dolanıp durmayı engelleyen ve acele hatalarının bedelini hissettiren bu yöntem işe yaradı
Yine de bu tekniğe Consistency denmesi bana biraz yazık geliyor. Performans iyileştirmesine uygun ama çıkarım hızını artırmaya o kadar uymayan bir ad gibi; “tek tek token üretilseydi sonunda çıkacak sonuçla tutarlılık” anlamını anlıyorum. Ben olsam, aynı çıktıyı bekleyen ama aynı sonuca kekeleye kekeleye varma ketlemesi olmayan Proficiency LLM derdim
Çizimde her deneme için izin verilen süreyi belirleyip bunu giderek kısaltabilirsiniz. CLLM’de ise Jacobi yörüngesinde giderek daha uzak durumları son duruma eşleyerek eğitim sürecini zorlaştırmak mümkün olabilir
“consistency” terimi, difüzyon tabanlı görüntü üretimindeki consistency model ile consistency LLM arasındaki benzerlikten alındı; çünkü eğitim süreçleri birbirine benziyor
Öğrenciler laboratuvara giriyor, örneği alıyor ve talimat yalnızca “Bunu 30 dakika içinde çizin. Başlayın” oluyordu
“Çizim böyle yapılır”, “şunu yapın, bunu yapmayın” gibi sözler yoktu; aslında “kaygılı olman da, çizemediğini düşünmen de umurumuzda değil. Mazeret üretme, sadece çiz. Şimdi” demeye yakındı
Hepimiz çizdik; yaz boyunca daha fazla hayvan geldikçe aynı alıştırmayı tekrarladık ve hepimiz inanılmaz gelişme kaydettik
O dersin öğrettiği şey, herkesin, gerçekten herkesin çizebileceğiydi. Topluca tavrımız “bunun mümkün olup olmadığını bile bilmiyorum”dan “elbette yapılır; kolay, sıradan ve büyütülecek bir şey değil”e dönüştü
Şiddetle tavsiye edilecek bir yaklaşım; üniversitede aldığım dersler arasında en özgürleştirici ve şaşırtıcı olanıydı
Yazarlar Jacobi decoding’in açgözlü otoregresif decoding ile aynı olduğunu söylüyor, ama gerçekte tekrarları ve aşırı genel cevapları önlemek için sampling sıcaklığını çoğu zaman 0’dan yüksek tutmak istemez miyiz diye düşünüyorum
Bu decoding stratejisini hiç bilmediğim için, bunu yansıtmanın basit bir yolunu kaçırıyor da olabilirim
CLLM eğitimi bağlamında, Jacobi decoding ile elde edilen statik sabit noktayı eğitim hedefine eşlemek yerine buna dinamik sabit nokta diyoruz. Yeni ilerlemeler için GitHub deposunu takip edebilirsiniz
İstenen istatistiklere sahip n-token’lık tamamlamalara doğru yörüngenin yaklaşmasını öğreten bir ince ayar aşaması hâlâ mümkün olabilir, ancak sabit nokta doğrulama adımının neyle değiştirilebileceğinden pek emin değilim. Belki “olabilirlik için şu sabit eşik değerinin üzerinde miydi?” diye kontrol etmek gibi bir şey olabilir
LLM’in içinde neler olup bittiğini gerçekten anlamadan önce yapılması epey riskli bir optimizasyon gibi geliyor. Örneğin geometrik yoruma inananların söyleyecekleri olacaktır; “doldurma” token’ı kullanıldığında zararlı da olabilir gibi görünüyor
Ayrıca “zihninde tam bir cümle kurup sonra kelime kelime söylersin” varsayımı evrensel bir gerçek değil, yalnızca bir varsayım; zihnimizde olan etkinliği aşırı basitleştiriyor gibi. Gerçekten konuşmadan ya da yazmadan önce eksiksiz bir planımız var mı? Bir Budist olarak bunun bir yanılsamaya yakın olduğunu düşünüyorum. Dahası, eşzamanlı düşünceler ne olacak? Cümle düzeyinde doğrusal mı düşünürüz?
Her hâlükârda matematik oldukça havalı
LLM’i zihnimize benzeyen sihirli bir şey gibi ele almayalım. O sadece anlamlı cümleler üreten başka bir program
Karmaşık bir geçmiş olayı birkaç farklı koldan açıklamaları istendiğinde insanlar, olayın tamamını kapsamak için cümlenin ortasına hızla parçalar, ekler ve yan dallar sıkıştırır. Cümle düzeyi ayrıntılandırma hipotezini ciddi bir bilimsel bağlamda gördüğümü sanmıyorum
Bazen cümlenin ortasında dilbilgisel olarak çıkmaza girip düşüncemi garip bir kelime ya da ifadeyle tamamlamak zorunda kalıyorum; ya da durup baştan söylüyorum
Bu olgunun cümle düzeyinde birdenbire bozulması için de açık bir neden görünmüyor
Daha fazla ilgi görmemesi şaşırtıcı. Bu, çıkarım performansı için net bir kazanç gibi görünüyor
Bu ince ayar maliyeti makul; asıl ön eğitim maliyetinin yaklaşık %0,01'i düzeyinde. Performans kazancı da oldukça tutarlı görünüyor
LLM çıkarım performansını bu ölçüde artırabileceğini öne süren başka bir makale pek bilmiyorum. Daha önce var mıydı?
En azından çıktı kalitesini koruyup yalnızca sorgu gecikmesini değil toplam iş hacmini de iyileştiren, ek hesaplama gerektirmeyen, uygulaması da nispeten pratik olup büyük bir karmaşıklık eklemeyen koşullarda bu daha da geçerli
Paralel/Jacobi çözümleme üzerine yapılan çalışmaların üstüne inşa edildiği için içgörünün kendisi kademeli sayılabilir. Önceki sonuçlar da gerekli ve önemliydi, ama paralel çözümlemenin potansiyelinden gerçek dünya değeri çıkaran sonuç bu olabilir
Bu yüzden bu çalışma gerçekten ilginç ve bildiğim kadarıyla daha önce de daha az başarılı biçimde denenmişti; ancak gerçek etkisinin ne kadar büyük olacağı henüz net değil
Daha fazla veriyle eğitilince hız daha da artıyor. Çünkü model daha sık görülen eşdizimlerden ve ifadelerden öğrenebiliyor
Ayrıntılar için makaleye bakabilirsiniz; eğitim verisi boyutu büyüdükçe hız artışının doygunluğa ulaştığını da görebilirsiniz
Başta, sonraki token'ları tahmin etmek için unembed head'i daha fazla kullanan Medusa türü bir makale sandım, ama hiç öyle değilmiş
Gerçekten harika. Ek parametre de kullanmıyor, sadece yardımcı bir eğitim kaybı ekliyor
Eğitim tekniği ve çözümleme tekniği tamamen farklı; belirttiğin gibi CLLM ek parametreler ya da ağaç tabanlı doğrulama için attention mask ayarı gerektirmiyor
Yakında modeli mutlaka eğitmek gerekmediğinin farkına varacak gibiyiz
Gereken şey iyi indeksleme ve örnekleme
Özünde, bir düzeyde tüm LLM'ler veri kümesinin bir veritabanı gibi ve bunun üzerinde harika bir doğal dil arayüzü var diye düşünülebilir
İkisi de saklanan veriyi keşfetmenin farklı yollarından ibaret
LLM saklanan veriyi keşfetmez. LLM, eğitim verilerinin veritabanı değildir
https://news.ycombinator.com/item?id=40266791
Benim gibi pek bilmeyen birinin "yapay zeka uzmanına sor" yapabileceği bir yer var mı?
Örneğin LLM'in aynı istemi alsa bile neden aynı deterministik biçimde yanıt vermediğini sormak istiyorum
Bunu öğrenmek istiyorum; belki YouTube'daki "1 saatte LLM yapma" gibi videoları takip etmem gerekiyordur
Seçim sürecinde yanıtı yönlendiren çeşitli düğmeler olabilir. Deterministik yapmak istiyorsan ve yazılıma doğrudan erişimin varsa, kullandığın yazılıma bağlı olarak
top-k = 1ya datemperature = 0.0ayarlamak onu deterministik yaparGenellikle varsayılan ayar deterministik değildir; çünkü tamamen deterministik yapılınca sonuç kalitesi pek iyi olmama eğilimindedir
LLM modeli token'lar için bir olasılık vektörü üretir; LLM kullanıcısı da rastgelelik kullanarak yüksek olasılıklı listeden bir token seçer
Bir istem girdiğinizde bir sonraki kelimenin çıkma olasılığını hesaplar ve bu süreci tekrarlayarak sonunda bir cümle oluşturur. Öğrenilmiş olasılıklar eğitim verilerine dayanır
Bu temel olasılık modeli nedeniyle %100 deterministik değildir. Ayrıca ChatGPT gibi modeller, tüm sürece rastgelelik eklemek için kasıtlı olarak
temperatureparametresine sahiptirDaha fazla okumak isterseniz, bu yanıt şu makaleye dayanıyordu: The Matrix: A Bayesian learning model for LLMs, https://arxiv.org/abs/2402.03175
Ancak sıcaklığı mümkün olduğunca düşük ayarlamak, yanıt kalitesini çok düşürme eğilimindedir. Sistem bir yerel optimumdan çıkamaz ve kendini tekrarlamaya devam eder. Böyle yanıtlar "deterministik" olabilir ama iyi değildir
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-...
Bedava öğle yemeği yok; bana kalırsa burada da bir tür yol kaybı var
Örneğin bazı Jacobi yörüngeleri tanım gereği daha yüksek sıcaklıktaki yolları dışarıda bırakır. Veri arama açısından bu olumlu bile olabilir, ama yaratıcılığı en üst düzeye çıkarmak istiyorsanız olumsuz olabilir
"Bedava öğle yemeği yok" ifadesinin her zaman özellikle anlamlı biçimde uygulanıp uygulanmadığından emin değilim. Bazı şeyler Pareto cephesi üzerinde değildir
“Spekülatif kod çözme yönteminin çıkarım sırasında ek bellek maliyeti getirdiği” kısmına dair daha ayrıntılı bir açıklama merak ediyorum
Spekülatif kod çözmede daha küçük bir model hızlı ama hatalı olabilecek “dallar” üretir, ardından büyük model bu dalları doğrular. Ancak spekülatif kod çözme için yalnızca tek bir tokene karşılık gelen bellek gerekir; diğer dallardaki tokenler çıkarım sırasında basitçe maskelenir. Bağlam boyutu 1000 iken 5 tokenlik yaklaşık 30 dal varsa bellek ek yükü %3’tür ve ihmal edilebilir. Bağlam boyutu dal sayısına kıyasla çok daha küçükse, bağlam penceresi yalnızca 50 token olan bir üretken LLM kullanıcısının üretim hızını önemseyip önemsemeyeceğini merak ediyorum
Ayrıca spekülatif kod çözme tekniği açgözlü örneklemeyle sınırlı değildir. Özgün modelle tam olarak aynı davranmalı ve beklenen olasılıkla örnekleme yapmalıdır. Spekülatif kod çözmeye ilişkin literatürün çoğu zaten 2,6~3,5 kat hız artışı bildiriyor. Bu blog yazısı 2,4~3,4 kat üretim hızı bildiriyor; bunun bu kadar büyük bir yükseltme olup olmadığından emin değilim
Yukarıda spekülatif kod çözmeden bahsedildi ve yazarın karşılaştırdığı teknikler Medusa2 ve Eagle gibi görünüyor, ancak temel sorun aynı kalıyor. Tokenleri önceden tahmin etmek için hangi yöntem kullanılırsa kullanılsın, bir sonraki tokeni tahmin etmeden önce önceki tokene kesin olarak ihtiyaç duyulan belirli bir nokta vardır. Bu, modele ya da tekniğe bağlı bir sorun değil; matematiksel olarak neyin mümkün olduğuyla ilgili bir sorundur. Beşinci sonraki tokenin olasılık dağılımı önceki dört tokene büyük ölçüde bağlıysa, 5 tokeni tek seferde nasıl tahmin edebilirsiniz? Spekülatif kod çözme de olsa, Jacobi kod çözme de olsa, çoklu token paralel kod çözme de olsa durum aynıdır
Bu yöntem yalnızca açgözlü örneklemeyi destekliyorsa avantajının ne olduğunu merak ediyorum. Diğer tekniklerin zaten beklenen hız artışlarını sağladığı düşünüldüğünde bu daha da geçerli. Açgözlü örneklemede hız artışı ile rastgele örneklemede hız artışını karşılaştırmak elmalarla portakalları karşılaştırmak gibidir; bu yöntemi rastgele örneklemeye uyarladıktan sonra bile yukarıda bahsettiğim temel sorun nedeniyle aynı hız artışının kalacağından şüpheliyim
consistency training sayesinde, önceki tokende hatalı bir tahmin olsa bile LLM’nin sonraki n tokeni tahmin edebildiğini göstermiş olabilir
Öte yandan matematiksel olarak p(x_t|x_1,...,x_t-1)’in x_1’den x_t-1’e kadar hepsine bağlı olduğu doğru olsa da, pratikte x_t tahmini için yalnızca x_1’den x_t-2’ye kadar olanlar gerekebilir ve x_t-1’e yönelik attention önemsiz olabilir. Dolayısıyla x_1’den x_t-2’ye kadar olanlarla ve hatalı bir x_t-1 ile de x_t tahmin edilebilir
İlginç bir konu. Birçok kişinin aklına gelmiş olabilecek bir fikir ama yazı ve sunum iyi derlenmişti