Önerilen Çapraz Köken Depolama API'si ile Transformers.js'de Denemeler
Hugging Face
Çapraz Köken Depolama (COS) API teklifi, farklı web kökenleri arasında paylaşılan yapay zeka modeli ve çalışma zamanı kaynaklarının gereksiz indirmelerini ve önbelleklemesini çözmeyi amaçlar. Transformers.js şu anda tarayıcı önbellek izolasyonu nedeniyle model ağırlıklarının ve WebAssembly dosyalarının yinelenen depolanmasından muzdariptir. COS, dosyaları URL yerine kriptografik hash ile tanımlayarak bütünlük ve erişim kontrolü ile çapraz köken paylaşımını sağlar.
Transformers.js, web geliştiricilerin göreve özgü ardışık düzenler aracılığıyla tarayıcıda AI modelleri çalıştırmasına olanak tanır. Ancak, Xenova/whisper-tiny.en gibi popüler modeller her kaynak için ayrı ayrı indirilip önbelleğe alındığından, yinelenen depolamaya yol açar (örneğin, basit bir ASR örneği için 177 MB). ONNX Runtime'daki ort-wasm-simd-threaded.asyncify.wasm gibi Wasm çalışma zamanı dosyaları bile, aynı içeriğe rağmen kaynaklar arasında gereksiz yere önbelleğe alınır. Bunun nedeni, üst düzey ve geçerli çerçeve sitelerine dayalı Ağ Yalıtım Anahtarları kullanan tarayıcı önbellek yalıtımıdır. Önerilen Çapraz Kaynak Depolama (COS) API'si, kriptografik bir karmayla (örneğin, SHA-256) tanımlanan dosyaları depolayan `navigator.crossOriginStorage` öğesini sunar. Uygulamalar, karma yoluyla bir dosya tanıtıcısı talep edebilir; mevcutsa doğrudan okur, değilse indirir ve görünürlük seçenekleriyle depolar: `origins: '*'` (küresel paylaşım), kısıtlı paylaşım için bir kaynak listesi veya yalnızca aynı site. Tarayıcı, bütünlük için yazma sırasında karmayı doğrular ve görünürlük yalnızca yükseltilebilir, düşürülemez, böylece kötü niyetli daraltma önlenir. COS, henüz yerel olarak uygulanmamış erken aşama bir öneridir, ancak bir tarayıcı eklentisi aracılığıyla test edilebilir.
Kaynak: Hugging Face blog —
orijinal
