【ITニュース解説】How We Built a Private, On-Device AI That Runs Entirely in Your Browser
2025年09月14日に「Dev.to」が公開したITニュース「How We Built a Private, On-Device AI That Runs Entirely in Your Browser」について初心者にもわかりやすく解説しています。
ITニュース概要
ブラウザだけで動くプライベートAI「Gemma Web」を開発した。インストールや複雑な設定は不要で、Webサイトのように手軽に高性能AIが使える。WebAssembly技術とGemmaモデルを活用し、データは全て端末内で処理するため、高いプライバシーと高速動作を実現した。
ITニュース解説
このニュース記事は、ウェブブラウザだけで動作する、個人向けのプライベートなAIシステム「Gemma Web」がどのように開発されたかについて詳しく解説している。開発チームは、「強力なAIを、ウェブサイトを閲覧するのと同じくらい簡単に、ユーザー自身のデバイス上で動かせないか」という疑問から、この画期的なプロジェクトを開始した。
彼らはまず、OllamaやLM Studioといった、大規模なAIモデルをユーザーのパソコン上で実行できる既存のツールを試した。これらのツールは非常に高性能だったが、利用するにはターミナルでの複雑なコマンド操作や、設定、インストールの手間が必要だった。これは、ウェブサイトのように手軽に利用できるAI体験とは大きく異なるものだったため、開発チームはここに、ブラウザ内で完結する新しいAIの形を実現するチャンスを見出した。
彼らが目指したのは、完全にプライベートで、ユーザーのデバイス上で動作し、さらにウェブブラウザの中で完結するAIワークスペースである。この目標を達成するための着想は、グラフィックデザインツールのFigmaから得られた。Figmaは非常にグラフィック処理が重いアプリケーションであるにもかかわらず、すべてクライアントサイド、つまりユーザーのブラウザ上で動作する。Figmaがそれができるのであれば、言語モデルも同様にブラウザ上で動かせるはずだと考え、この発想がWebAssembly(Wasm)という技術をプロジェクトの基盤として採用するきっかけとなった。WebAssemblyは、ウェブブラウザ内で高性能なプログラムを高速に実行するための技術であり、複雑な計算をブラウザで行うことを可能にする。
開発の初期段階で、既存のJavaScriptで書かれたAI関連モジュールを試したが、それらは開発チームが目指す「ほとんど遅延がない(ゼロレイテンシー)」体験や十分な処理速度を提供できなかった。そのため、より直接的にハードウェアの性能を引き出せる技術が必要だと判断した。
この課題を解決する転機となったのが、Googleが提供する二つの重要な技術の発見だった。一つは「Gemmaモデル」である。これは、特にユーザーのデバイス上での動作に最適化された、新しい種類のオープンソースAIモデルのファミリーだ。もう一つは、当時まだプレビュー版だった「MediaPipe LLM Task API」である。これは、GemmaのようなAIモデルをWebAssemblyのバックエンドを使って効率的に実行するために設計されたライブラリだった。これらの技術の組み合わせが、開発チームの進むべき道を明確にした。
プロジェクトの核となる技術構成は、主に三つの主要な要素から成り立っている。
まず、「オンデバイス推論エンジン」がその中心である。これは、サーバーを介さず、ユーザーのパソコン上で直接AIが思考し、推論を行う部分を指す。開発チームはWebAssemblyとMediaPipe LLM Task APIを組み合わせ、GoogleのGemmaモデルを直接ブラウザ内に展開した。このアプローチにより、ユーザーはほとんど遅延を感じさせない推論速度でAIを利用できる。さらに、すべてのデータ処理がユーザーのデバイス内で完結するため、100%のデータプライバシーが保証される。また、インターネットに接続していなくてもAIを利用できる完全なオフライン機能も提供される。
次に、「クライアントサイドRAG(Retrieval-Augmented Generation)パイプライン」が挙げられる。これは、AIがユーザー固有の文脈を理解し、アップロードされた資料に基づいてより正確で役立つ回答を生成するための仕組みである。このRAGパイプラインもすべてクライアントサイド、つまりブラウザ内で動作する。例えば、ユーザーがPDFやテキストファイルをアップロードして、その内容についてAIに質問するような場合だ。大きなファイルを処理する際にアプリケーションが一時的に固まってしまうのを防ぐため、彼らは「Web Worker」という技術を利用した。Web Workerは、ウェブページの主要な処理とは別に、裏側で重い処理を非同期に実行できるため、ユーザーがアプリを快適に使い続けられる。このWeb Workerが、ユーザーがアップロードしたファイルをバックグラウンドで処理し、それらの情報をTensorFlow.jsというライブラリを使って「ベクトル埋め込み」という形に変換する。ベクトル埋め込みは、テキストの意味内容を数値データとして表現するもので、これによりAIはテキストの文脈を理解し、それに基づいた会話や情報生成が可能になる。
そして、「IndexedDBを活用した堅牢なローカルストレージ」も重要な要素である。真のオフライン機能を実現し、ユーザーが快適にAIを利用できるようにするためには、AIモデル自体や、これまでの会話履歴、さらにはRAGパイプラインで生成されたドキュメントのベクトル埋め込みなど、すべてのデータをユーザーのデバイス内に永続的に保存する必要がある。開発チームは、ウェブブラウザに組み込まれたデータベースであるIndexedDBを使用し、この要件を満たす強固なクライアントサイドの保存ソリューションを構築した。これにより、数ギガバイトにも及ぶAIモデルや、大量の会話履歴、ドキュメントのデータなどをユーザーのパソコンに保存できるようになった。この堅牢なローカルストレージの存在が、Gemma Webがまるでパソコンにインストールされたアプリケーションのように、スムーズに動作する「プログレッシブウェブアプリ(PWA)」として機能する基盤となっている。
これらの技術的な挑戦と努力の集大成が、Gemma Webというツールである。開発チームは、このGemma Webが、個人で利用するプライベートなAIの未来に向けた大きな一歩だと考えている。このプロジェクトを通して、彼らはウェブブラウザが、かつては専門のサーバーでしか処理できなかったような、複雑で計算負荷の高いタスクを十分にこなせる能力を持っていることを再認識した。