web-llm: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか
web-llm: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか
解決する問題
WebLLMは、大規模言語モデル(LLM)をウェブブラウザ内で直接実行できるようにする高性能な推論エンジンです。これにより、サーバーサイドの処理が不要になり、WebGPUを介してユーザー自身のハードウェアアクセラレーションを活用することで、ユーザーのプライバシーを向上させ、サーバーコストを削減できます。
仕組み
WebLLMは、ハードウェアアクセラレーションにWebGPUを、最適なパフォーマンスのためにWebAssembly (WASM) を使用します。Webアプリケーションに統合可能なモジュール式のnpmパッケージとして設計されています。モデルの重みをブラウザ内にローカルに保存するために、さまざまなキャッシュバックエンド(Cache API、IndexedDB、およびOPFSなど)をサポートしています。これにより、毎回ダウンロードする必要がなくなります。UIの遅延を防ぐために、Dedicated Web WorkersまたはService Workersにオフロードすることも可能です。
対象者
バックエンドのインフラストラクチャを管理することなく、LLMをブラウザ内でローカルに展開したい、AIアシスタント、チャットボット、またはChrome拡張機能を作成しているウェブ開発者。
ハイライト
- OpenAI APIとの完全な互換性: OpenAIで使用されるものと同じAPIパターンを、ストリーミング、JSON-mode、およびseedingに使用できます。
- WebGPUアクセラレーション: クライアントサイドのみで動作する高性能な推論。
- 幅広いモデルサポート: Llama 3、Phi 3、Gemma、Mistral、およびQwenをネイティブにサポートしています。
- 構造化されたJSON生成: 構造化された出力を保証するための最先端のJSON mode。
- 柔軟なデプロイ: NPM、Yarn、またはCDNを介した統合をサポートし、Web WorkersまたはService Workers内で実行してパフォーマンスを向上させることができます。
Sources
- undefinedmlc-ai/web-llm