**Show HN: TurboQuant‑WASM ― ブラウザ上で動く Google のベクトル量子化**

2026/04/04 23:53

**Show HN: TurboQuant‑WASM ― ブラウザ上で動く Google のベクトル量子化**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

(以下は日本語訳です)

Summary

この記事では、botirk38/turboquant の新しい実験的 WebAssembly ビルドを発表しています。これは npm パッケージ

turboquant-wasm
として配布されます。このビルドは Zig 0.15.2 と Bun ツールチェーンのおかげで、Web ブラウザと Node.js の両方で動作します。WASM バイナリは緩和された SIMD 命令セット(
@mulAdd FMA → f32x4.relaxed_madd
)を使用し、ベクトル化された QJL 符号のパッキング/アンパックとスケーリングを実現します。簡易 TypeScript API(
TurboQuant.init()
encode()
decode()
dot()
)により、開発者は高次元ベクトルを圧縮しつつ内積精度を保持できます;出力は金額値テストで検証され、オリジナルの Zig 参照と完全に一致します。

主な技術的詳細:

  • 実行環境要件:Chrome 114+、Firefox 128+、Safari 18+;Node.js 20+。
  • 圧縮性能:1024 次元ベクトルで約 4.5 ビット/次元(約 6 倍圧縮)。
  • ドット積精度
    dot()
    はデコードせずにドット積を計算し、単位ベクトルで dim = 128 の場合、平均絶対誤差 < 1.0。

リリースは Google Research の TurboQuant 論文(ICLR 2026)を基盤としており、botirk38/turboquant のオリジナル Zig 実装に感謝しています。将来のアップデートではブラウザ/Node.js サポートの拡大や、より高い次元での圧縮率・誤差メトリックの改善が期待されます。Web とサーバー環境で効率的かつ忠実なベクトル圧縮を可能にすることで、

turboquant-wasm
は開発者が帯域幅とストレージ負荷を削減しながら計算精度を維持できるよう支援します。

本文

実験的 WASM + relaxed SIMD ビルド(botirk38/turboquant)のブラウザ・Node.js 用バージョン

Google Research の論文 TurboQuant: Online Vector Quantization with Near‑optimal Distortion Rate(ICLR 2026)に基づいています。


ライブデモ

ブラウザ上で動作するベクトル検索、画像類似度判定、および 3D ガウススプラッティング圧縮を体験できます。


このリリースの特徴

  • npm パッケージ:WASM が埋め込まれた
    turboquant-wasm
    npm install turboquant-wasm
    でインストール
  • Relaxed SIMD
    @mulAdd FMA
    f32x4.relaxed_madd
    にマップ
  • SIMD ベクトル化された QJL の符号パッキング/アンパックとスケーリング
  • TypeScript API
    TurboQuant.init() / encode() / decode() / dot()
  • ゴールデンテスト:参照 Zig 実装とのバイト単位で同一の出力を保証

ブラウザ/Node.js 要件

ランタイム最小バージョン
Chrome114+
Firefox128+
Safari18+
Node.js20+

WASM バイナリは relaxed SIMD 命令を使用しています。


クイックスタート

import { TurboQuant } from "turboquant-wasm";

const tq = await TurboQuant.init({ dim: 1024, seed: 42 });

// ベクトルの圧縮(≈ 4.5 bits/dim、約6倍圧縮)
const compressed = tq.encode(myFloat32Array);

// 復号
const decoded = tq.decode(compressed);

// 復号せずに高速ドット積計算
const score = tq.dot(queryVector, compressed);

tq.destroy();

API

class TurboQuant {
  static async init(config: { dim: number; seed: number }): Promise<TurboQuant>;
  encode(vector: Float32Array): Uint8Array;
  decode(compressed: Uint8Array): Float32Array;
  dot(query: Float32Array, compressed: Uint8Array): number;
  destroy(): void;
}

ビルド手順

# テスト実行(Zig 0.15.2 必須)
zig test -target aarch64-macos src/turboquant.zig

# npm パッケージ全体ビルド(Zig → wasm‑opt → base64 埋め込み → Bun + tsc)
bun run build

# WASM のみビルド
bun run build:zig

Zig 0.15.2 と Bun が必要です。


品質保証

  • エンコードは内積を保全
    • ユニットベクトルで MSE は次元が増えるほど低下
    • bits/dim ≈ 4.5(ヘッダー22バイト除く)
    • 内積保持:平均絶対誤差 < 1.0(dim = 128 のユニットベクトルで)
  • ビット単位で同一
    botirk38/turboquant
    と同じ入力・シードの場合、出力は完全に一致

クレジット

  • botirk38/turboquant
    – 元の Zig 実装
  • TurboQuant 論文(Google Research, ICLR 2026)– アルゴリズム設計

ライセンス

MIT

同じ日のほかのニュース

一覧に戻る →

2026/04/05 4:39

Microsoft は現在、**「Copilot」という名称を冠した主力製品が4つあります。** | # | 製品 | 主な機能 | |---|------|-----------| | 1 | **GitHub Copilot** | Visual Studio Code、GitHub.com、その他の IDE で開発者向けに AI がコード補完を行うサービス。 | | 2 | **Microsoft 365 Copilot** | Word・Excel・PowerPoint・Outlook・Teams 等の Office アプリ内で、メール作成や文書作成、プレゼンテーション制作、データ分析などを支援する統合アシスタント。 | | 3 | **Power Platform Copilot** | Power Apps、Power Automate、Power Virtual Agents の AI 強化機能。自然言語で入力した内容をアプリロジックやフロー、チャットボットへと変換します。 | | 4 | **Dynamics 365 Copilot** | Dynamics 365 スイート全体(営業・顧客サービス・財務・運営など)において、文脈に応じた AI アシスタントが機能を補完します。 | Azure 内の「Copilot」ツール(例:Azure OpenAI Studio など)やその他ニッチな製品もありますが、上記4つが Copilot ブランドを掲げる主要商用製品です。

## Japanese Translation: **要約:** マイクロソフトは、現在「Copilot」という名称を自社エコシステム内の少なくとも75個の異なる製品・サービス・機能に使用しています。著者は、単一の情報源がすべての事例を列挙していないため、製品ページ、ローンチアナウンス、およびマーケティング資料を精査しながらこのリストを作成しました。この「Copilot」は、アプリや組み込みAIヘルパーからキーボードキー、ノートパソコンライン全体、さらには開発者が独自のCopilotを作成できるツールまで多岐にわたり、マイクロソフト製品群内でブランドがどれほど浸透しているかを示しています。読者がこの複雑な環境をナビゲートしやすくするため、各Copilotをカテゴリ別にグループ化し、それらの間のリンクを表示した視覚的マップを作成しました。このインタラクティブ図は、個々の項目をクリックして相互関係を見ることができるため、マイクロソフトの戦略を明確にし、企業や開発者にとって統合機会を浮き彫りにする可能性があります。

2026/04/04 19:26

**「極めてシンプルな自己蒸留でコード生成性能を向上させる」**

## Japanese Translation: (欠落していた詳細を追加したもの)** Self‑distillation(SSD)は、外部検証や強化学習を用いずに、自身のサンプリング出力で微調整することでLLMのコード生成精度を向上させる軽量手法です。Qwen3‑30B‑Instruct に適用すると、SSDは LiveCodeBench v6 の pass@1 を 42.4 % から 55.3 % に引き上げ、特に難易度の高いコーディングタスクで最大の改善を示しました。Qwen と Llama モデル(サイズ 4B、8B、30B)のインストラクションスタイルとシンキングスタイル両方で同様の向上が観測されました。技術は温度0.9で解答をサンプリングし、最初の512トークンで切り捨てた後、そのサンプルに対して標準的な教師付き微調整を行います。SSD の効果は、文脈依存でトークン分布を再構築することで、精度と探索性の矛盾を解決できる点に起因します。高い精度が必要な際には注意喚起トレイルを抑制し、探索中には多様性を保持します。コストのかからないポストトレーニング拡張として、RLや人間による検証を回避できるSSDは、他のLLMがコード生成性能を向上させ、ソフトウェア開発ツールや教育への広範な展開を促進する魅力的な選択肢となります。

2026/04/04 23:48

「『ケアレス・ピープル』の作者は、Metaに対して否定的な発言を行うことが禁じられています。

## Japanese Translation: ### 要約 著者の本『Careless People』は、大手企業でのセクシャルハラスメントと検閲を主張しています。これに対し、同社は彼女を黙らせる措置を取り、これは書籍内で述べられた主張に対する報復の証拠となります。この事件は、企業が有害な物語を発表した内部告発者や批評家を処罰する方法を示しています