RAFT (Retrieval-Augmented Fine-Tuning) (Geri Getirim Destekli İnce Ayar)

Dagitik sistemlerde tutarlilik saglamak icin kullanilan, anlasılir yapisiyla one cikan konsensus algoritmasi.

RAFT, 2014 yılında Diego Ongaro ve John Ousterhout tarafından Paxos'a alternatif olarak tasarlanmış, anlaşılırlığı (understandability) birincil tasarım hedefi olarak benimseyen bir dağıtık konsensus algoritmasıdır. Dağıtık sistemlerde birden fazla sunucu birlikte çalışırken ağ bölünmesi veya düğüm arızası durumunda veri tutarsızlığı riski doğabilir; RAFT bu riski üç net alt probleme bölerek çözer: lider seçimi, günlük replikasyonu ve güvenlik garantileri. Lider seçimi mekanizmasında her düğüm başlangıçta izleyici (follower) konumundadır. Belirli bir süre (election timeout) liderden mesaj alamayan düğüm aday (candidate) olur ve diğer düğümlerden oy ister; kendi oyunu da sayarak çoğunluğu alan aday yeni lider olur. Rastgele belirlenen election timeout değerleri aynı anda birden fazla adayın rekabete girmesini önler ve hızlı, belirleyici bir seçim gerçekleşmesini sağlar. Her dönem (term) boyunca en fazla bir lider seçilebilir; bu kural bölünmüş beyin (split-brain) senaryolarına karşı temel güvenlik güvencesidir. Günlük replikasyonunda lider, istemciden bir komut aldığında önce kendi günlüğüne yazar, ardından AppendEntries RPC mesajlarıyla izleyicilere iletir. İzleyiciler tutarlılığı doğrulayıp kabul ederse lider çoğunluk onayını aldıktan sonra girişi commit eder. Commit edilen girişler kalıcıdır: lider değişse bile yeni lider bu girişleri mutlaka taşımak zorundadır; bu özellik günlüğün tüm düğümlerde aynı sırayla büyümesini garanti eder. etcd (Kubernetes'in durum deposu), CockroachDB ve HashiCorp Consul gibi üretim sistemleri RAFT tabanlıdır. Paxos'a kıyasla çok daha anlaşılır olması RAFT'ı modern dağıtık sistemlerin standart konsensus tercihi haline getirmiştir. Güçlü tutarlılık (strong consistency) gerektiren her sistemde RAFT, kanıtlanmış ve güvenilir bir çözüm olarak öne çıkmaktadır. Snapshot mekanizması aracılığıyla büyüyen günlük dosyaları periyodik aralıklarla sıkıştırılabilir; bu özellik uzun ömürlü kümeler için depolama yönetimini önemli ölçüde kolaylaştırır.

RAFT Neden Gereklidir?

Dağıtık sistemlerde birden fazla sunucu birlikte çalıştığında, ağ bölünmesi veya düğüm arızasında veri tutarsızlığı riski doğabilir. Konsensus algoritmaları, dağıtık günlüğün tüm sağlıklı düğümler arasında tutarlı kalmasını garanti eder. RAFT, Paxos'un akademik yoğunluğunu azaltarak lider seçimi, günlük replikasyonu ve güvenlik garantilerini net bir şekilde tanımlar.

Lider Seçimi

Her düğüm başlangıçta izleyici konumundadır. Belirli bir süre (election timeout) liderden mesaj almazsa aday olur ve kendi oyu dahil diğerlerinden oy ister. Çoğunluğu alan aday yeni lider olur. Rastgele election timeout, aynı anda birden fazla adayın rekabete girmesini engeller; böylece hızlı ve belirleyici bir seçim gerçekleşir.

Günlük Replikasyonu ve Commit

Lider, istemciden bir komut aldığında önce kendi günlüğüne yazar, ardından AppendEntries RPC ile izleyicilere iletir. İzleyiciler, gönderilecek olan girişin önceki günlükle tutarlılığını kontrol edip kabul ederse lider çoğunluk onayını aldıktan sonra girişi commit eder. Commit edilen giriş artık kaybedilemez: liderin değişmesi durumunda bile yeni lider bu girişi mutlaka taşımak zorundadır.

Üretim Kullanım Örnekleri

etcd, Kubernetes API sunucusunun tüm küme durumunu depoladığı RAFT tabanlı bir anahtar-değer deposudur. CockroachDB her veri aralığı (range) için ayrı bir RAFT grubu çalıştırarak satır düzeyinde tutarlılık sağlar. Consul ise servis kaydı ve sağlık kontrolü verilerini RAFT ile replike eder. Bu sistemlerin üretim başarısı büyük ölçüde RAFT'ın sağladığı tutarlılık garantilerine dayanır.

RAFT ile Etki Alanı Uyarlaması

Olumsuz Belgeler

Yanıtla ilgisiz belgeler de eğitime dahil edilir; model alakasız kaynakları görmezden gelmeyi öğrenir.

Zincir Düşünce Eğitimi

Yalnızca cevap değil, belgeye dayalı akıl yürütme adımları da eğitim çıktısı olarak kullanılır.

RAG Kombinasyonu

RAFT ile ince ayarlı model, çıkarım zamanında da RAG ile çalışarak performans artışı sağlar.

Alan Özelleştirmesi

Tıp, hukuk veya finans gibi alanlarda domain-specific belgelerle eğitim yapılarak uzmanlaşma hızlandırılır.

Sıkça Sorulan Sorular

  • check_circle RAFT ile Paxos arasındaki fark nedir? İkisi de konsensus sağlar; ancak RAFT anlaşılır tasarımıyla öğrenmesi ve uygulaması çok daha kolaydır. Paxos teorik olarak güçlüdür ancak belirsizlik içeren noktaları pratikte zorluklara yol açar.
  • check_circle Kaç düğüm gerekir? Hataya tolerans için tek sayıda düğüm önerilir: 3 düğüm 1 hata, 5 düğüm 2 hata tolere eder. 2f+1 düğümle f hata tolere edilebilir.
  • check_circle Lider çökerse ne olur? Diğer düğümler election timeout süresinde tepki alamayınca yeni seçim başlatır; sistem birkaç saniye içinde yeni bir lider seçerek çalışmaya devam eder.
  • check_circle RAFT her dağıtık sistemde kullanılır mı? Hayır; RAFT güçlü tutarlılık (strong consistency) sağlar. Nihai tutarlılık (eventual consistency) yeterli olan sistemler Gossip gibi daha hafif protokolleri tercih edebilir.