ブラウザで爆速動作!7MBの超軽量埋め込みモデル「Ternlight」が凄すぎる
Ternlight – 7 MB embedding model that runs in browser (WASM)
Ternlight – 7 MB embedding model that runs in browser (WASM)
「Ternlight」は、WASM(WebAssembly)を活用することで、わずか7MBという驚異的なサイズを実現したブラウザ上で動作する埋め込みモデルです。軽量ながらも実用的なパフォーマンスを発揮するため、ローカル環境でAI機能を実装したいエンジニアにとって、今まさに注目のライブラリです。
趣味のプロジェクトなんだけど、「ブラウザ上で動く便利なモデルをリリースする」ことを目標にやってみた。MiniLMから小さな文エンコーダーを蒸留して、Ternary Quantization-aware trainingを適用してる。推論エンジンもゼロからRustで書いて、WASM SIMDで動くようにしたよ。
これはLLMじゃなくて埋め込みモデル。テキストを入力すると384次元のベクトルが出てくる仕組みで、2つのベクトルのコサイン類似度を見ることで、単語が重複してなくても意味的な関連性がわかる(例えば「パスワードをリセットする」と「パスワードを忘れた」なら0.88になる)。セマンティック検索やFAQ・意図の照合、クラスタリングに使えるよ。デバイス上で完結するから、APIに依存せず爆速でインクリメンタルなセマンティック検索が可能だ。
デモ(Reactのドキュメント2000件、完全にオンデバイスで動作):https://ternlight-demo.vercel.app
npmでは2つのパッケージを用意してる:
Nodeとブラウザの両方で使えるようにバンドル済み。
リポジトリ(技術詳細やMITライセンス、学習パイプラインを含む):https://github.com/soycaporal/ternlight
これって役に立ちそうかな?みんながオンデバイスで埋め込みモデルを使うとしたら、どんなケースがあるか教えてほしい。
30秒かかる埋め込み処理は、事前に終わらせておいてからブラウザに送ることはできないの?
それができれば、その後の推論はサクサク動いて快適そうだけど。
これすごくいい!
ただ、ランディングページにデモを開始するボタンを置いてほしいかも。ページを開いた瞬間にファンが回り始めてビビっちゃうから。
今必要なのはW3C LLM APIだと思う。