WebGL'den WebGPU'ya Geçiş
WebGL, 2011'den bu yana tarayıcı grafik standardı oldu; ancak OpenGL ES 2.0 üzerine inşa edilen bu API onlarca yıllık tasarım kısıtlamalarını taşıyordu. WebGPU, sıfırdan tasarlanarak Vulkan, Metal ve D3D12'nin modern yaklaşımlarını birleştirir. Pipeline state yönetimi, komut tamponu ve bağlama grupları gibi kavramlar GPU sürücüsü üzerindeki gereksiz yükü azaltarak hem grafik hem de hesaplama performansını artırır.
Tarayıcıda AI Çıkarımı
WebGPU'nun en heyecan verici kullanımı, büyük modellerin sunucu olmadan tarayıcıda çalıştırılmasıdır. Hugging Face'in Transformers.js kütüphanesi, BERT, Whisper ve LLM modellerini WebGPU arka ucuyla tarayıcıda çalıştırır. MediaPipe ve TensorFlow.js ise gerçek zamanlı yüz tespiti, el kestirimi ve doğal dil sınıflandırmasını WebGPU üzerinde düşük gecikmeyle sunar.
WGSL: Yeni Gölgelendirici Dili
WGSL (WebGPU Shading Language), WebGPU'nun hem grafik hem de compute shader yazımı için tasarlanmış yeni bir dildir. Rust'ın bellek güvenliği anlayışından ilham alan WGSL, güçlü tipleme ve bellek erişim denetimleriyle güvenliği ön plana çıkarır. GLSL veya HLSL gibi eski dillerle kısmen benzeşir; ancak web güvenlik modeline uyum için özellikle bazı işaretçi ve bellek modeli kısıtlamaları getirilmiştir.
Güvenlik ve İzolasyon
GPU'ya doğrudan donanım erişimi ciddi güvenlik riskleri doğurabilir. WebGPU bu riskleri birkaç katmanlı önlemle yönetir: bellek tampon izolasyonu farklı sekmelerin birbirinin GPU belleğine erişmesini engeller; kaynak limitleyiciler GPU'yu tekeline alan kod çalıştırılmasını önler; tarayıcı güvenlik denetim katmanı platforma özgü saldırıları filtreler.
🎮 WebGPU ile Tarayıcıda AI Hızlandırma
- check_circle Compute shader: GPU'da genel amaçlı hesaplama; matris çarpımı ve konvolüsyon tarayıcıda hızlanır
- check_circle WebGPU + WASM: transformer.js ve MediaPipe gibi kütüphaneler için çift katmanlı hız artışı
- check_circle Bellek yönetimi: GPU bellek tamponu ve veri aktarımını manual yönetmek optimize etme fırsatı
- check_circle Tarayıcı desteği: Chrome 113+ ve Edge; Firefox ve Safari desteği devam etmekte
- check_circle LLM çıkarımı: WebLLM ile 7B model tarayıcıda GPU ile saniyede 20+ token üretim imkânı
Sıkça Sorulan Sorular
- check_circle WebGPU hangi tarayıcılarda çalışır? Chrome 113+, Firefox 119+ ve Safari 18+ (deneysel) WebGPU'yu destekler. Mobil cihazlarda destek hızla genişliyor; Android Chrome ve iOS Safari WebGPU desteğini aktif olarak geliştiriyor.
- check_circle WebGPU için donanım gereklilikleri nedir? Vulkan 1.1+, Metal 2+ veya D3D12 destekleyen herhangi bir modern GPU yeterlidir. 2016 sonrası tüketici GPU'larının büyük çoğunluğu bu kriterleri karşılar.
- check_circle WebAssembly ile ilişkisi nedir? WebAssembly CPU kodu çalıştırırken WebGPU GPU kodu çalıştırır. İkisi birlikte kullanıldığında (wasm-bindgen ile) yüksek performanslı AI pipeline'ları oluşturulabilir; büyük model çıkarımı GPU'ya, ön/son işleme CPU'ya devredilebilir.
- check_circle WebGPU ile ne tür modeller çalıştırılabilir? Transformers.js aracılığıyla BERT, Whisper, LLaMA benzeri küçük dil modelleri ve görüntü modelleri çalıştırılabilir. Tam boyutlu GPT-4 sınıfı modeller için tarayıcı belleği hâlâ yetersizdir; ancak 7B altı modeller makul sürelerde çalışır.