文章摘要
TurboQuant是一个基于WASM SIMD的向量压缩工具,能以3位/维的高效压缩率实现快速点积运算,需要支持宽松SIMD的现代浏览器或Node.js环境(Chrome 114+、Firefox 128+、Safari 18+、Node 20+)。
文章总结
TurboQuant WASM 项目简介
项目名称:TurboQuant WASM
核心功能:基于WASM和SIMD技术的向量压缩工具,支持3比特/维度的压缩率,并提供快速点积计算。
技术来源:基于Google Research的ICLR 2026论文《TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate》及参考实现botirk38/turboquant。
关键特性
高效压缩
- 压缩率约4.5比特/维度(不含22字节头信息),支持快速编解码。
- 通过SIMD指令优化(如
f32x4.relaxed_madd),提升计算性能。
跨平台支持
- 浏览器要求:需支持Relaxed SIMD的运行时环境(Chrome 114+、Firefox 128+、Safari 18+、Node.js 20+)。
- npm集成:可直接通过
npm install turboquant-wasm安装。
API示例
typescript import { TurboQuant } from "turboquant-wasm"; const tq = await TurboQuant.init({ dim: 1024, seed: 42 }); const compressed = tq.encode(myFloat32Array); // 压缩 const score = tq.dot(queryVector, compressed); // 直接计算点积质量保证
- 通过黄金值测试验证与原始Zig实现的字节级一致性。
- 支持MSE(均方误差)和点积保留率等指标评估。
构建与开发
- 工具链:需Zig 0.15.2和Bun。
- 构建命令:
shell zig test -target aarch64-macos src/turboquant.zig # 运行测试 bun run build # 完整构建(WASM + TypeScript)
应用场景
- 实时演示:提供在线Demo,展示向量搜索、图像相似度和3D高斯泼溅压缩。
- 性能场景:适用于高维向量快速处理的场景,如机器学习推理、数据库检索等。
许可与致谢
- 许可证:MIT
- 致谢:原始Zig实现作者Botir Khaltaev及Google Research团队。
备注:项目目前标记为实验性,未来可能进一步优化。
评论总结
这篇评论主要围绕一项技术展示展开讨论,包含两个正面评价:
- 对技术演示的赞赏:
- 用户hhthrowaway1230称赞:"Awesome! Also love the gaussian splat demo, cool use case!"(太棒了!还喜欢高斯溅射演示,很酷的应用场景!)
- 用户glohbalrob表示:"Very cool."(非常酷)
- 对技术实用性的期待:
- glohbalrob提到已在实际项目中应用类似技术:"I added the new multi embedding 2 model to my site the other week from google"(我上周刚把谷歌的新多嵌入2模型加到我的网站上)
- 并表达进一步探索的兴趣:"see if it's faster and has more use cases"(看看是否更快且具有更多应用场景)