Mã nguồn mởAn toàn AI 🇺🇸 27.07.2026 21:04

Thử nghiệm với API Cross-Origin Storage đề xuất trong Transformers.js

Hugging FaceHugging Face
Đề xuất API Cross-Origin Storage (COS) nhằm giải quyết vấn đề tải xuống trùng lặp và lưu trữ đệm các tài nguyên mô hình AI và runtime dùng chung giữa các nguồn gốc web khác nhau. Transformers.js hiện gặp vấn đề lưu trữ trùng lặp trọng số mô hình và tệp Wasm do tính năng cô lập bộ nhớ đệm của trình duyệt. COS xác định tệp bằng mã băm mật mã thay vì URL, cho phép chia sẻ giữa các nguồn gốc với tính toàn vẹn và kiểm soát truy cập.
Transformers.js cho phép các nhà phát triển web chạy mô hình AI trong trình duyệt thông qua các pipeline theo tác vụ cụ thể. Tuy nhiên, các mô hình phổ biến như Xenova/whisper-tiny.en được tải xuống và lưu vào bộ nhớ đệm riêng biệt theo từng nguồn gốc (origin), dẫn đến tình trạng lưu trữ trùng lặp (ví dụ: 177 MB cho một ví dụ nhận dạng giọng nói tự động (ASR) đơn giản). Ngay cả các tệp thời gian chạy Wasm như ort-wasm-simd-threaded.asyncify.wasm từ ONNX Runtime cũng được lưu vào bộ nhớ đệm trùng lặp trên các nguồn gốc khác nhau, mặc dù nội dung giống hệt nhau. Điều này là do bộ nhớ đệm của trình duyệt bị cô lập bằng cách sử dụng Khóa cách ly mạng (Network Isolation Keys) dựa trên trang web cấp cao nhất và trang web khung hiện tại. API Lưu trữ chéo nguồn gốc (Cross-Origin Storage - COS) được đề xuất giới thiệu `navigator.crossOriginStorage` cho phép lưu trữ các tệp được xác định bằng hàm băm mật mã (ví dụ: SHA-256). Các ứng dụng có thể yêu cầu một xử lý tệp (file handle) theo hàm băm; nếu có, chúng đọc trực tiếp; nếu không, chúng tải xuống và lưu trữ với các tùy chọn về khả năng hiển thị: `origins: '*'` để chia sẻ toàn cầu, danh sách các nguồn gốc để chia sẻ hạn chế, hoặc chỉ cùng một trang web (same-site). Trình duyệt sẽ xác minh hàm băm khi ghi để đảm bảo tính toàn vẹn, và khả năng hiển thị chỉ có thể được nâng cấp, không thể hạ cấp, để ngăn chặn việc thu hẹp độc hại. COS là một đề xuất giai đoạn đầu chưa được triển khai nguyên bản, nhưng có thể được thử nghiệm thông qua một tiện ích mở rộng trình duyệt.
Nguồn: Hugging Face blog — bản gốc
Bài viết liên quan trước đây ↓
Tin mới