« Tüm yayınlar

Text-to-SQL benchmarklarında cevap anahtarı yerine veritabanı üretmek

UIUC'nin denetimi BIRD ve Spider 2.0'daki anotasyonların yarısından fazlasının hatalı olduğunu gösterdi. Bir geliştirici, cevabı önce tanımlayıp veritabanını sonra üreten ters bir yaklaşım denedi.

UIUC ekibinin VLDB 2026'da yayımladığı denetim, text-to-SQL alanının referans aldığı BIRD Mini-Dev ve Spider 2.0-Snow benchmarklarındaki anotasyonların sırasıyla %52,8 ve %62,8'inin yanlış olduğunu ortaya koydu. Sadece 100 örneğin düzeltilmesi bile 16 açık kaynak ajanın göreceli performansını %31'e varan oranda değiştirip liderlik tablosundaki sıralamaları 9 basamağa kadar kaydırdı. Sorunun kökü yapısal: veritabanı önce oluşturuluyor, sorular ve altın SQL cevapları sonradan, şemayı tasarlamamış insanlar tarafından veriye bakılarak yazılıyor — bu da anlam kaymaları, şema yanlış anlaşılmaları ve alan bilgisi hatalarına yol açıyor.

Bir geliştirici bu süreci tersine çevirdi: önce cevabı (örneğin 2025 için aylık ciro veya belirli bir dolandırıcılık oranı) bir spesifikasyon olarak tanımlayıp, bu spesifikasyonu tam olarak karşılayan sentetik bir veritabanı üretti. Sorular veriden değil, deklarasyondan türetiliyor; böylece beklenen cevap birinin veriyi okuyarak hesapladığı bir şey değil, verinin öyle üretilmiş olmasının doğrudan sonucu oluyor. Üretim iki aşamalı ve deterministik: hedef ve ortalama işlem değerinden satır sayısı tahsis edilip, lognormal dağılımdan değerler çekiliyor, sonra toplam tam olarak hedefe eşitlenecek şekilde yeniden ölçekleniyor.

Doğrulama kısmı kritik: üretici kendi ürettiğini kendi doğrulamıyor. Yazılan CSV dosyaları, motorla hiçbir kod paylaşmayan DuckDB tarafından sorgulanıyor ve gözlemlenen sonuç deklare edilen değerle karşılaştırılıyor. Yayımlanan örnek pakette 40 aday sorudan 5'i, tamsayı aritmetiği yüzünden (örneğin yüzde 2 oranının tam sayı satıra bölünememesi) hedefi tam karşılayamadığı için elenip, bu ret gerekçeleriyle birlikte manifestoya kaydedilmiş — bu şeffaflık, sessizce yanlış cevap anahtarı barındıran statik benchmarklara karşı güçlü bir kontrast oluşturuyor.

Ayrıca bu yaklaşım kontaminasyon sorununu da çözüyor: bir 'evalpack' spesifikasyon artı bir tohum değerinden ibaret olduğu için, tohum değiştirilerek aynı deklare edilmiş cevaplara sahip fakat neredeyse tamamen farklı satırlardan oluşan yeni bir veritabanı üretilebiliyor. Bir modelin eval verisini görmüş olabileceğinden şüphelenilirse, tohum döndürülüyor ve cevap anahtarı geçerliliğini koruyor.