Modern tarayıcılara GPU programlama kapasitesi sunan W3C standardı; TensorFlow.js ve ONNX Runtime Web aracılığıyla makine öğrenmesi modellerini tarayıcıda çalıştırır.

WebGPU, modern web tarayıcılarına düşük seviyeli GPU programlama kapasitesi sunan yeni nesil bir web standardıdır. W3C tarafından geliştirilen ve 2023 yılında Chrome ile Firefox'ta kararlı desteğe kavuşan WebGPU, eski WebGL API'sinin yerini alarak grafik ve genel amaçlı GPU hesaplama (GPGPU) yeteneklerini tarayıcıya taşır. WebGPU'nun yapay zeka açısından önemi büyüktür: GPU'nun paralel hesaplama gücü artık tarayıcı içindeki makine öğrenmesi modellerine doğrudan erişilebilir hale gelmiştir. TensorFlow.js ve ONNX Runtime Web, WebGPU arka ucu aracılığıyla görüntü sınıflandırma, doğal dil işleme ve ses tanıma gibi modelleri tarayıcıda saniyeler içinde çalıştırabilmektedir; bu işlemler için hiçbir bulut sunucusu gerekmez. Hugging Face'in Transformers.js kütüphanesi BERT, Whisper ve küçük dil modellerini WebGPU ile doğrudan tarayıcıda çalıştırmakta ve kullanıcı verileri cihazdan hiç ayrılmadan işlenmektedir. WebGL ile kıyaslandığında WebGPU çok daha modern ve esnek bir programlama modeli sunar. WGSL (WebGPU Shading Language) adlı yeni bir gölgelendirici dili, hem grafik hem de hesaplama (compute) shader yazımını birleştirip güçlendirir. Compute shader desteği WebGL'de sınırlıyken WebGPU bunu birinci sınıf özellik olarak sunar; bu da matris çarpımı, paralel sıralama ve nöral ağ çıkarımı gibi görevlerin verimli biçimde GPU üzerinde gerçekleştirilmesini mümkün kılar. WebGPU'nun programlama modeli Vulkan, Metal ve D3D12 gibi yerel grafik API'lerine bir soyutlama katmanıyla bağlanır; bu tasarım Windows, macOS ve Linux platformlarında tutarlı ve öngörülebilir bir davranış garantisi verir. Güvenlik, WebGPU tasarımının merkezindedir. Bellek izolasyonu, kaynak sınırlandırması ve tarayıcı güvenlik katmanları, GPU'ya doğrudan donanım erişiminin getirebileceği riskleri çok katmanlı önlemlerle yönetir. WebGPU, yerel yapay zeka çalıştırma vizyonunun web tarafındaki temel taşını oluşturmakta ve tarayıcıyı giderek daha güçlü bir yapay zeka çalışma ortamına dönüştürmektedir.

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.