15/07/2026
Umut Çıtak- Umeaplatform kurucusu abimizden yine yapay zeka konusunda ilginç bir bilgi paylaşmış.Paylaşımı olduğu gibi yayınlıyoruz.
LLM projelerini canlıya alırken karşılaştığım en büyük iki teknik zorluk; yüksek donanım gereksinimleri ve modellerin uydurma (halüsinasyon) eğilimidir. Bu sorunları aşmak için geleneksel yöntemler yerine neden Voronoi-RAG mimarisini tercih ettiğimi ve aralarındaki teknik farkları 3 başlıkta özetlemek istedim:
1. Donanım Maliyetlerinin Optimizasyonu
Geleneksel yaklaşımda, bilginin doğrudan modelin parametrelerine gömülmesi hedeflenir. Örneğin, 70 Milyar (70B) parametreli bir modeli FP16 hassasiyetinde sadece belleğe yüklemek bile en az 140 GB VRAM gerektiriyor. Bu durum, birden fazla kurumsal seviye (A100/H100 gibi) GPU tahsisi ve yüksek altyapı maliyeti anlamına geliyor.
Voronoi-RAG mimarisinde ise bilgiyi dışarıda, bir vektör veritabanında tutuyorum. Dil modelini (örn: 8B veya 3B) yalnızca gelen bilgiyi yönlendirme ve sentezleme işlemi için kullanıyorum.
VRAM İhtiyacı: ~16 GB seviyesindedir (Standart donanımlarda dahi rahatlıkla çalışabiliyor).
RAM İhtiyacı: Milyonlarca dökümanın Voronoi hücre indeksi (FAISS) için yalnızca 2-4 GB standart sistem belleği yeterli oluyor. Bu yapı sayesinde GPU bellek ihtiyacını %80-90 oranında düşürerek sunucu maliyetlerini optimize edebiliyoruz.
2. Halüsinasyon Eğilimini Minimize Etme
LLM'ler doğası gereği olasılıksal çalışır; yani istatistiksel olarak bir sonraki kelimeyi tahmin ederler. Bilgi sadece model ağırlıklarında olduğunda, modelin bu olasılıksal yapısı uydurma (halüsinasyon) riskini artırır.
Voronoi (IVF) tabanlı RAG entegrasyonu ile bu bilgiye erişim sürecini daha deterministik bir çerçeveye oturtuyorum:
[Sorgu] ➔ (Mesafe Hesabı: L2/Cosine) ➔ [Voronoi Hücresi] ➔ (Filtreleme) ➔ [Gerçek Bağlam]
Sistem, kullanıcının sorusunun vektör uzayında hangi Voronoi hücresine düştüğünü hesaplıyor. O hücrenin sınırları içerisindeki doğrulanmış metin blokları (chunk) çekiliyor ve modele yalnızca bu bağlama sadık kalması, bilgi yoksa "Bilmiyorum" demesi talimatı veriliyor. Arama uzayı hücre sınırlarıyla kısıtlandığı için modelin serbest tahmin yürütme ve halüsinasyon üretme alanı büyük ölçüde daraltılmış oluyor.
3. Arama Hızı ve Zaman Karmaşıklığı (Neden Voronoi/IVF?)
Veritabanında N adet döküman vektörü bulunduğunu varsayalım.
Düz arama (Flat Search - kNN) yönteminde, her sorgu için tüm veri setinin taranması gerekir. Bunun zaman karmaşıklığı: Zaman Karmaşıklığı = O(N) Milyonlarca dökümanda bu işlem ciddi bir CPU/GPU yükü ve gecikme (latency) yaratıyor.
Voronoi (IVF) aramasında ise uzayı C adet hücreye bölüyoruz. Sorgu geldiğinde önce en yakın hücre merkezini buluyor, ardından sadece o hücrenin içindeki ortalama N/C adet vektörü tarıyoruz. Zaman Karmaşıklığı = O(N/C)
Örneğin 1.000.000 dökümanı 1.000 Voronoi hücresine böldüğümüzde, arama işlemi için 1 milyon vektör yerine sadece ilgili hücredeki yaklaşık 1.000 vektör taranıyor. Bu da işlemci yükünü matematiksel olarak 1000 kat azaltıyor.