网易首页 > 网易号 > 正文 申请入驻

Google把向量压缩算法塞进浏览器

0
分享至

123个Star,4次Fork,这个数字在GitHub上不算显眼。但点进Live Demo的人会发现,一个1024维的向量搜索任务,在浏览器里跑出了接近原生的速度。

这是TurboQuant-WASM——Google Research一篇ICLR 2026论文的浏览器移植版。开发者teamchong用Zig重写,再编译成WASM,最后塞进npm包。整个链条的终点,是你在Chrome里跑向量量化,压缩率约6倍,批量点积查询比单条循环快83倍。

从论文到浏览器,中间隔着多少坑

向量量化(Vector Quantization,VQ)不是新东西。把高维浮点数压缩成低维表示,省空间、加速检索,这是推荐系统和RAG(检索增强生成)的基建。但学术界的东西进浏览器,通常要脱层皮。

原论文TurboQuant的核心卖点是"在线量化"——流式数据进来,边学边压,不需要预训练码本。这对边缘场景很友好,但论文里的实现是Zig原生代码,依赖SIMD指令集。浏览器没有AVX-512,甚至连稳定的SIMD支持都是近年才补齐。

teamchong的解法分三层:先用Zig的relaxed SIMD做数学运算,@mulAdd直接映射到f32x4.relaxed_madd;再把QJL(一种随机投影签名算法)的打包解包逻辑向量化;最后用TypeScript包一层皮,暴露init/encode/decode/dot四个方法。

relaxed SIMD是关键妥协。标准WASM SIMD要求严格的IEEE 754精度,relaxed SIMD允许硬件用更快的指令,比如把乘加融合(FMA)做成单条指令。代价是结果可能因CPU而异,但向量量化本身对微小误差有容忍度——论文里的distortion bound保证了这点。

6倍压缩是怎么算的

看代码里的参数:dim=1024,输出compressed是Uint8Array。约4.5 bits/dim的压缩率,算下来每个原始float32(32比特)被压到4.5比特,压缩比7.1倍。但官方README写的是"~6x compression",取的是保守估计,留足安全边际。

实际调用链很干净:TurboQuant.init()做一次性初始化,seed固定随机投影矩阵;encode把Float32Array转成压缩字节流;decode还原;dot和dotBatch做相似度计算,后者把一批压缩向量concatenate后一次性送进WASM,避免JS-WASM边界往返。

83倍加速来自批量接口的设计。单条dot()每次都要跨边界调用WASM,dotBatch()把N个向量拼成一块内存,一次调用返回全部得分。这是边缘计算的经典trade-off:省带宽(压缩)换延迟,再用批处理摊平调用开销。

浏览器兼容性写在明处:需要支持relaxed SIMD的WASM引擎。Chrome 119+、Firefox 120+、Safari 17+都达标,但旧版浏览器会直接抛异常。这是技术选型时的清醒切割——不追求全覆盖,先拿下能跑的场景。

谁需要浏览器里的向量量化

Demo里放了三个场景:向量搜索、图像相似度、3D高斯泼溅(Gaussian Splatting)压缩。前两个是RAG和视觉搜索的标准用例,第三个更微妙——3DGS的显存占用是落地瓶颈,浏览器端压缩能缓解WebGL纹理压力。

一个具体的想象:你在做一个摄影社区,用户上传照片后自动找相似风格。传统做法是把特征向量传回服务器,现在可以浏览器里算完,只传压缩后的字节。6倍压缩意味着带宽成本打六折,或者同样带宽下多传6倍数据。

但限制也很硬。TurboQuant是在线算法,适合流式场景,不适合已经固化的海量索引。如果你的向量库是静态的、预先算好的,用传统PQ(Product Quantization)或HNSW索引会更省。换句话说,这是为"边来边压"设计的工具,不是万能药。

build.zig.zon文件暴露了依赖:基于botirk38/turboquant的Zig实现,用golden-value tests保证字节级一致。测试命令是zig test -target aarch64-macos,跨平台编译的野心写在配置里。

Zig+WASM的组合为什么值得看

选Zig而不是Rust或C++,是个值得品味的决定。Zig的编译时计算和显式内存控制,对WASM这种资源受限目标很友好。build脚本里bun run build:zig直接调Zig编译器,再用wasm-opt做二进制优化,最后用bun+TypeScript打包——整个工具链没有Webpack或Rollup的臃肿。

relaxed SIMD的启用需要显式配置,Zig的@mulAdd内置函数正好映射到这条指令。对比Rust的std::simd,Zig的底层控制更直接,代价是安全边界更薄。teamchong用golden-value tests兜底:同一组输入,Zig原生输出和WASM输出逐字节比对。

npm包的体积没写在README里,但嵌入base64编码的WASM是常规操作。预估在100KB-300KB区间,对现代Web应用可接受,但移动端仍需斟酌。

API设计显露出产品经理思维:四个方法覆盖90%场景,destroy()显式释放内存,避免WASM堆的泄漏焦虑。没有暴露底层的投影矩阵,seed参数固定随机性,降低误用风险。

GitHub页面的4个Fork里,有一个是fork到本地后改target为x86_64的尝试——社区已经开始魔改。但relaxed SIMD的指令集差异意味着,aarch64和x86_64的WASM二进制不能混用,这是移植时必须吞下的苦果。

论文的distortion bound保证了量化误差可控,但浏览器里的浮点行为本身就有平台差异。teamchong的测试矩阵覆盖了多少组合,README没提。这是开源项目的常见诚实:核心功能verified,边缘情况留待社区踩坑。

如果向量搜索的延迟能从百毫秒压到十毫秒,RAG应用的用户体验会跨过一道门槛。TurboQuant-WASM没承诺这个,但它把Google Research的算法变成了npm install就能试的东西——中间隔着Zig编译器、WASM SIMD规范和83倍加速的批量接口,这些细节堆起来,就是学术到工程的完整距离。

下一个问题是:当你的用户上传第100万张图片时,浏览器里的在线量化,和服务器端的预建索引,哪个会先摸到天花板?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
连夜签令!特朗普征100%关税,欧盟日本全豁免,独有澳大利亚挨整

连夜签令!特朗普征100%关税,欧盟日本全豁免,独有澳大利亚挨整

起喜电影
2026-04-05 17:42:02
美元兑人民币将贬值到1美元换5.5元人民币,或许只需要5到10年?

美元兑人民币将贬值到1美元换5.5元人民币,或许只需要5到10年?

丁丁鲤史纪
2026-04-03 11:50:43
18岁松岛辉空核心力量突出,日乒按照樊振东身形打法定向仿造?

18岁松岛辉空核心力量突出,日乒按照樊振东身形打法定向仿造?

杨华评论
2026-04-05 23:10:19
对于节后的A股,我只说三句话:第一,3794点绝对不会是最低点!

对于节后的A股,我只说三句话:第一,3794点绝对不会是最低点!

风风顺
2026-04-06 06:59:37
美伊停火谈判突发!黄金从4600美元反弹,却被美联储“高利率更久”死死压制

美伊停火谈判突发!黄金从4600美元反弹,却被美联储“高利率更久”死死压制

汇通网
2026-04-06 14:16:06
总台记者观察丨以多地爆发反战集会 民众对战争支持度下降

总台记者观察丨以多地爆发反战集会 民众对战争支持度下降

国际在线
2026-04-05 20:29:04
孕妇买200元水果被丈夫骂后续:双标到极致,家境曝光,网友劝离

孕妇买200元水果被丈夫骂后续:双标到极致,家境曝光,网友劝离

阿凫爱吐槽
2026-04-04 10:40:39
不再隐瞒!畸形儿传闻后,阚清子哭得一塌糊涂,章小蕙的话暴隐情

不再隐瞒!畸形儿传闻后,阚清子哭得一塌糊涂,章小蕙的话暴隐情

一盅情怀
2026-04-05 16:29:22
64岁郎平医美失败,铁榔头形象大变难辨认

64岁郎平医美失败,铁榔头形象大变难辨认

精彩背后
2026-04-04 16:14:39
4天过去,中方准时取消优惠政策,鲁比奥出局,中美恐僵持二十年

4天过去,中方准时取消优惠政策,鲁比奥出局,中美恐僵持二十年

影孖看世界
2026-04-05 22:28:52
俄防空军司令奥特罗申科坠亡!乌克兰摧毁克里米亚空军基地

俄防空军司令奥特罗申科坠亡!乌克兰摧毁克里米亚空军基地

项鹏飞
2026-04-03 20:59:53
央视直播U20女足亚洲杯时间表:4月7日CCTV5+直播中国PK泰国

央视直播U20女足亚洲杯时间表:4月7日CCTV5+直播中国PK泰国

薇说体育
2026-04-06 16:42:24
美国MATCH法案突袭:比芯片禁令更狠,中国半导体如何突围

美国MATCH法案突袭:比芯片禁令更狠,中国半导体如何突围

粤语音乐喷泉
2026-04-05 16:55:07
曹操墓前堆满的布洛芬

曹操墓前堆满的布洛芬

梳子姐
2026-04-06 11:09:08
以色列成筛子!20分钟三轮齐射,10枚集束弹头落下,美B-52已上场

以色列成筛子!20分钟三轮齐射,10枚集束弹头落下,美B-52已上场

军机Talk
2026-04-06 13:26:59
五代十国,深挖这段被教科书"删除"的53年,血腥到不敢拍成电视剧

五代十国,深挖这段被教科书"删除"的53年,血腥到不敢拍成电视剧

舆图司马
2026-04-06 10:00:08
杜月笙救人一命后,对方送来二十根金条,他只留下一个梨

杜月笙救人一命后,对方送来二十根金条,他只留下一个梨

千秋文化
2026-03-31 20:54:38
马伊琍官宣了,文章公开认爱,恭喜!

马伊琍官宣了,文章公开认爱,恭喜!

人间颂
2026-04-04 11:56:50
沈伯洋选台北市长受阻?岛内网红:怕“抗中保台”禁不起民意检验

沈伯洋选台北市长受阻?岛内网红:怕“抗中保台”禁不起民意检验

海峡导报社
2026-04-05 15:33:04
中国不记隔夜仇!巴拿马接到通知,美国终于下场,巴政府自食恶果

中国不记隔夜仇!巴拿马接到通知,美国终于下场,巴政府自食恶果

小噎论事
2026-04-06 15:12:46
2026-04-06 18:16:49
野生运营
野生运营
懂点产品,懂点AI,正在努力给平淡日子搞点新花样。
825文章数 7关注度
往期回顾 全部

科技要闻

前同事被蒸馏成Token,AI能否偷走职场经验

头条要闻

外媒:美国副总统万斯和伊朗外长等人彻夜交流

头条要闻

外媒:美国副总统万斯和伊朗外长等人彻夜交流

体育要闻

球员系列赛大满贯!赵心童10-3世界第一 加冕赛季第4冠

娱乐要闻

乔任梁离世10年 父母曝舞台光鲜的背后

财经要闻

史诗级暴跌"一周年" A股接下来如何走?

汽车要闻

阿维塔06T快上市了 旅行车还能这么玩?

态度原创

健康
数码
家居
手机
游戏

干细胞抗衰4大误区,90%的人都中招

数码要闻

只要100块钱!无敌幸运淘到绝版的AMD RX 6950 XT旗舰显卡

家居要闻

温馨多元 爱的具象化

手机要闻

苹果首款折叠屏手机已在试产

歧视女选手!G2顶级中单发声揭露行业潜规则

无障碍浏览 进入关怀版