Transformers.js 测试跨域存储API提案
1 小时前 1 阅读来源:HuggingFace Blog
AI 中文改写
原文为英文,由 AI 改写为中文报道,内容完整。如需参考原文请点击下方链接
Transformers.js 迎来跨源存储 API 实验性支持,浏览器端 AI 模型重复下载问题有望解决
在浏览器端运行 AI 模型正变得越来越普遍,但一个长期困扰开发者和用户的问题是:当多个网页应用使用同一个 AI 模型时,浏览器不得不为每个应用单独下载并缓存一份完全相同的模型文件。以自动语音识别(ASR)任务为例,开发者只需几行代码就能在浏览器中调用 Whisper 模型,但不同域名下的应用每次都要重新下载约 177MB 的模型资源。更糟糕的是,即便两个应用使用不同的 AI 模型,它们可能依赖同一个 WebAssembly(Wasm)运行时文件(如 ONNX Runtime 的 ort-wasm-simd-threaded.asyncify.wasm,大小约 4.7MB),浏览器同样会重复下载和缓存。这种缓存隔离机制虽然保障了安全,却造成了严重的带宽和存储浪费。
谷歌 Chrome 团队开发者关系工程师 Thomas Steiner 在 HuggingFace 博客上介绍了针对这一问题的实验性解决方案:跨源存储 API(Cross-Origin Storage API)。该 API 允许不同来源的网页应用共享缓存资源,前提是资源来自同一 CDN 且内容完全一致。以 Transformers.js 为例,AI 模型资源默认从 HuggingFace Hub 的 CDN 加载,最终 URL 会重定向到类似 `https://huggingface.co/api/resolve-cache/models/...` 的缓存地址。通过跨源存储 API,浏览器可以识别出这些资源的来源和哈希值,当另一个应用请求相同资源时,直接从共享缓存中读取,而非重新下载。这意味着,无论用户访问多少个使用 Whisper 或 DistilBERT 模型的应用,只需下载一次模型文件和 Wasm 运行时。对于跨境电商卖家来说,如果其网站集成了 AI 客服、语音搜索或情感分析等功能,这一改进将显著降低用户首次访问时的加载时间,并减少服务器带宽成本。目前该 API 仍处于实验阶段,但已在 Chrome 中提供试用,开发者可以通过 `chrome://flags` 开启相关实验标志进行测试。
这篇文章对你有帮助吗?
觉得有用?分享给更多人
留言 · 0 条
暂无留言,来说两句吧
