Llamas on the Web: Memory-Efficient, Performance-Portable, and Multi-Precision LLM Inference with WebGPU
本論文は、静的メモリ計画、調整可能なカーネルライブラリ、およびテンプレート化された GPU カーネルを活用して、ブラウザ上でメモリ効率に優れ、パフォーマンスの移植性が高く、かつ多精度の LLM 推論を実現する llama.cpp 向けの WebGPU バックエンド「LlamaWeb」を導入し、多様なハードウェアにわたる既存のフレームワークと比較して、メモリ使用量を大幅に削減し、デコードスループットを向上させる結果をもたらす。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
超スマートな AI アシスタント(大規模言語モデル、または LLM)を、Chrome や Safari といったウェブブラウザの内部で直接実行したいと想像してみてください。通常、これらの AI の頭脳はあまりにも巨大でメモリを大量に消費するため、実行するには莫大で高価なサーバーが必要です。この論文の目的は、その巨大な頭脳を縮小し、ブラウザをクラッシュさせることなくラップトップやスマートフォンに収まるようにすること、そして同時に高速性とプライバシーを維持することです。
著者たちは「LlamaWeb」という新しいツールを構築しました。これは、人気のある AI エンジン llama.cpp がウェブブラウザ(具体的には WebGPU という技術)の言語を話せるようにする、専門的な「翻訳機」のようなものです。
彼らが 3 つの最大の課題をどのように解決したか、日常の比喩を用いて以下に示します。
1. メモリ問題:「引越しトラック vs. パッキングリスト」
課題: 既存のブラウザ用 AI ツールは、混沌とした引越し業者のようでした。作業中に次々と新しい箱(メモリ)を掴み取り、時には必要以上に多くの箱を掴んでしまい、ブラウザがクラッシュしたり、極端に遅くなったりしていました。また、家具(モデルの重み)を移動させる前に、不要なコピーを作成していました。
LlamaWeb の解決策:
- 静的プランニング: トラックが到着する前に家全体を見て、必要な箱の数を正確に計算し、その場で全てを事前にサイズ調整された単一の「メモリアリーナ」に詰め込みます。移動中に余分な箱を掴み取ることはもうありません。
- 直接読み込み: 家具を車道(CPU メモリ)に一度下ろしてからトラック(GPU メモリ)に積み込むのではなく、倉庫から直接トラックに積み込みます。
- 結果: LlamaWeb は競合他社に比べて29〜33% 少ないメモリで動作することが分かりました。まるで、以前はソファしか積めなかったバンに、リビングルーム全体を収めたかのようです。
2. パフォーマンス問題:「万能リモコン vs. カスタムリモコン」
課題: インターネットにはさまざまなコンピュータが存在します。NVIDIA のグラフィックカードを持つもの、Apple チップを持つもの、スマートフォン、ラップトップなどです。既存のツールは、あらゆるものに動作しようとする「万能リモコン」のようでしたが、どの特定のテレビの特殊ボタンも活用できず、結果としてパフォーマンスが遅いものでした。
LlamaWeb の解決策:
- チューニング可能なカーネル: LlamaWeb は、自らを再プログラムできるスマートなリモコンのようです。起動時に、自分がどの種類の「テレビ」(ハードウェア)で動作しているかを確認します。高性能な NVIDIA カードであれば、高速な「サブグループ」機能を使用します。スマートフォンであれば、より効率的なモードに切り替えます。
- 結果: 4 種類の異なるグラフィックカードにおいて、LlamaWeb はテキスト生成(デコード)において他のブラウザツールより45〜69% 高速でした。これは単なる万能リモコンではなく、特定のテレビから最高の画質を引き出す方法を正確に知っているリモコンなのです。
3. フォーマット問題:「スイスアーミーナイフ」
課題: AI 開発者は、モデルを小さくするために、AI モデルを圧縮する新しい方法(「量子化」と呼ばれる)を次々と生み出しています。4 ビットのものもあれば、8 ビット、1 ビットのものもあります。古いツールは、一種類のネジにしか合わないドライバーのようでした。新しいネジが登場すれば、そのツールは役に立たなくなります。
LlamaWeb の解決策:
- テンプレート化されたカーネル: LlamaWeb はスイスアーミーナイフのように構築されています。工具の頭部を即座に交換して、どのネジ(量子化フォーマット)にも適合できる「テンプレート」システムを持っています。ナイフ全体を再構築する必要はありません。
- 結果: 競合他社が 6〜7 種類しかサポートしていないのに対し、LlamaWeb は23 種類の異なる重みフォーマットをサポートしています。つまり、明日、開発者が新しい超効率的な圧縮方法を発明しても、LlamaWeb はソフトウェアの更新なしに即座に実行できる可能性があります。
全体像としての結果
チームは、NVIDIA、Apple、Intel、AMD、モバイルチップを含む8 社メーカーの16 種類の異なるデバイスでこれをテストしました。
- メモリ: 大量の RAM を節約し、メモリが限られたデバイス(iPhone など)でのクラッシュを防ぎました。
- 速度: 他のブラウザベースの AI ツールよりも著しく高速でした。
- 汎用性:
llama.cppコミュニティがサポートするほぼすべてのモデルを実行できます。これは 17 万 7,000 以上のモデルを誇る巨大なライブラリです。
一つの注意点: LlamaWeb は、単語を一つずつ生成する「デコード」フェーズでは優れていますが、初期のプロンプトを読み取る「プリフィル」フェーズでは、一部の競合他社に比べてやや遅いのが現状です。ただし、著者らは、ブラウザ技術の進歩に伴い、この差は埋まると指摘しています。
要するに、LlamaWeb は、ブラウザ内で強力な AI を実行することを可能にし、プライバシーを守り、効率的にする新しいエンジンです。これにより、AI とチャットしている間も、あなたのコンピュータが過熱して溶けることを防ぎます。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。