7MBの埋め込みモデルがブラウザで動作

原題: Ternlight – 7 MB embedding model that runs in browser (WASM)

なぜ重要か

サーバーレス・プライバシー保護型のセマンティック検索をフロントエンドのみで実現できる点は、エッジAI活用の新たな可能性を示す。

Ternlightは、わずか7MB(miniバリアントは5MB)の埋め込みモデルをブラウザ上でWASMを利用してCPUのみで動作させるnpmパッケージ。APIサーバーへの通信は不要で、単一の`embed()`呼び出しの遅延は約5ミリ秒。MITライセンスで公開されており、`npm install @ternlight/base`で導入できる。

Ternlightは、テキスト埋め込み(embedding)をブラウザ内で完結させるために設計された軽量モデルおよびnpmパッケージ。標準の`@ternlight/base`パッケージは7MB、より小さい`@ternlight/mini`は5MBで提供される。

動作にはGPUやサーバーへのAPIコールが一切不要で、WebAssembly(WASM)を利用してCPUのみで推論を実行する。単一の`embed()`呼び出しにかかる時間は約5ミリ秒とされており、初回ロード後はブラウザキャッシュに保存されるためネットワーク通信も発生しない。

アーキテクチャには三値(ternary)の重みを使用したBitLinear層を採用したTransformerが使われており、モデルサイズの大幅な削減を実現している。具体的なTransformerの層数やアテンションヘッド数、`d_model`などの詳細はデモページ上で確認できる形式を取っている。

利用方法はシンプルで、`npm install @ternlight/base`でインストール後、`embed`と`similar`関数をインポートするだけでセマンティック検索が実装可能。デモとして、Reactの公式ドキュメント(reactjs/react.dev・CC BY 4.0)を対象としたブラウザ内セマンティック検索が公開されており、ユーザーが質問を入力するとドキュメントの関連箇所をランキング表示する。

ライセンスはMITで、GitHubおよびnpmで公開されている。

出典

ternlight-demo.vercel.app — 元記事を読む →