Cloud Native Wasm Dayから大規模言語モデルをWasmで実行するデモを解説するセッションを紹介

2024年2月8日(木)
松下 康之 - Yasuyuki Matsushita
Second StateのMichael Yuan氏が解説する大規模言語モデルをWasmで実行するデモのセッションを紹介する。

KubeCon+CloudNativeCon North America 2023の前日に開催されたCo-located EventであるCloud Native Wasm Dayから、Second StateのCEOであるMichael Yuan氏が行ったセッションを紹介する。Second StateはWebAssemblyのランタイムであるWasmEdgeを開発していることで知られている。タイトルは「Wasm as the runtime for LLMs AGI」というもので、大規模言語モデルをWasmで実行するという内容だ。

大規模言語モデルの代わりにAGI、汎用人工知能に使えることを訴えた

大規模言語モデルの代わりにAGI、汎用人工知能に使えることを訴えた

セッションの動画は以下を参照して欲しい。公開されている動画とセッションで用いられたスライドではタイトルが異なっている。

●動画:Wasm Is Becoming the Runtime for LLMs

タイトルでは「LLMs」となっていたスライドに修正を加えて「AGI」、汎用人工知能のアプリケーションを実行するためにWasmを利用するというのが今回の大きなテーマだ。LLM以上にさまざまな用途に使えることを示すのが目的で、セッションの内容はスライドを使ってはいるものの実際にYuan氏のMacBookでアプリケーションを実行するためのコマンドラインを見せるためなどに使われており、ほとんど概念的な解説は省かれていたのが特徴的だ。

セッションを行うYuan氏。お馴染みのベースボールキャップとTシャツというカジュアルスタイル

セッションを行うYuan氏。お馴染みのベースボールキャップとTシャツというカジュアルスタイル

Yuan氏はまずLLMに「Wasmとは何か?」を質問してある程度、納得できる回答が得られたが、WASI-NNという単語に関して質問を行ったところLLMが存在しない用語を使って説明しようとしたという例を示して、LLM自体にはまだ限界があることを説明した。モデルはLlama2の7億トークンのモデルを利用しているという。

WASI-NN(WASIからNeural Networkを使う)とはほど遠い内容の説明をしようとするLLM

WASI-NN(WASIからNeural Networkを使う)とはほど遠い内容の説明をしようとするLLM

このような状況に対して、Llama2のモデルにWASM関連の情報を与えて強化したモデルをMacBookで動かすというデモを行った。期待するのは同じ質問をした時により良い回答を得ることだ。

新しくWASMでLLMを実行するLlawaを紹介

新しくWASMでLLMを実行するLlawaを紹介

ここからデモを動かすための準備作業の解説が始まった。

ランタイムであるWasmEdgeのインストールを説明

ランタイムであるWasmEdgeのインストールを説明

そして推論を実行するためのアプリケーションをダウンロードするコマンドを紹介。これがWasmのフォーマットで生成されたアプリケーションだが、実体は数十行のRustのコードである。

Wasmのアプリケーションをデバイスにダウンロード

Wasmのアプリケーションをデバイスにダウンロード

このアプリケーションには依存関係が存在せず単一のバイナリーとなっているところがポイントだ。

Wasm関連の情報が強化されたモデルをダウンロード

Wasm関連の情報が強化されたモデルをダウンロード

このスライドに出てくるコマンドや実際のモデルに関する説明はYuan氏のHugging Faceのページにそのまま記載されているので参考にして欲しい。

●参考:https://huggingface.co/juntaoyuan/llawa

このページには今回のデモの要点がシンプルに説明されている。以下はページからの引用だ。

この説明のポイントはPythonやPyTorchを使っていないというところだろう

この説明のポイントはPythonやPyTorchを使っていないというところだろう

そして実際のデモを実行するコマンドも紹介。WasmEdgeのコマンドラインインターフェースからチャットの形式で回答を得られる。

WasmEdgeのコマンドとして質問を行うやり方を説明

WasmEdgeのコマンドとして質問を行うやり方を説明

実際に会場のWi-Fiを使わずにMacBookの中で完結する形で実行した画面は以下の通りだ。

What is Wasm ?やWhat is WASI-NN ?という質問に、簡潔ながら正しい回答を返している

What is Wasm ?やWhat is WASI-NN ?という質問に、簡潔ながら正しい回答を返している

この推論のアプリケーションのコードを見せてRustでスライド1枚に収まる行数になっていることを紹介したのが次のスライドだ。

Rustで書かれた短いコードが推論を実行

Rustで書かれた短いコードが推論を実行

Rustに慣れていないデベロッパーに対してはJavaScriptのAPIを開発予定であることも説明された。

また単体で実行する形式ではなくクラウドでのサービスとして公開する際のコマンドラインも説明を行い、同じアプリケーションを公開できることも強調した。

アプリケーションをクラウドサービスとして公開する方法を解説

アプリケーションをクラウドサービスとして公開する方法を解説

またチャットボットとして公開する方法やRAG(Retrieval Augmented Generation)アプリケーションとして実装するための解説も、すでにSecond Stateのサイトなどに公開されていることを説明。Yuan氏は大規模言語モデルを、Pythonに依存しがちな従来のコードからWebAssemblyに置き換えることでその特徴を最大限に活用してさまざまな応用が拡がることを説明。

チャットボットを作る方法を解説するページを紹介

チャットボットを作る方法を解説するページを紹介

Yuan氏は言語モデルに限定せずに同じ発想で画像認識にも使えることを紹介した。

言語モデルだけではなく画像認識にも使えることを紹介

言語モデルだけではなく画像認識にも使えることを紹介

そして実際に画像認識のデモとしてホットドッグとピザの画像を用意して認識するデモを見せてその可能性を説明した。

画像認識にも使えるWasmを紹介

画像認識にも使えるWasmを紹介

しかし最も強調したかったことは単に応用が効くというだけではなく、Wasm+LLMはPythonに比べて実行ファイルのサイズが小さいという点だろう。

Rust+Wasmの組み合わせがC言語ベースのフレームワークよりも高速で軽量

Rust+Wasmの組み合わせがC言語ベースのフレームワークよりも高速で軽量

このスライドで訴えたいことは、PythonはC言語によって開発されたフレームワークであり、サイズも大きく依存関係を管理することも難しいという点だ。

Elon Muskは「汎用人工知能の開発にはPythonではなくRustである」と答えている

Elon Muskは「汎用人工知能の開発にはPythonではなくRustである」と答えている

ここではTwitterを買収して積極的に改革を進めるElon Muskのコメント紹介。Musk氏は汎用人工知能の開発にはPythonではなくRustが適していると簡潔にコメントしている。

単なるオーナーのコメントだけではなくX(旧Twitter)の新しいプロジェクトとして登場したGrokの紹介文からの引用を使って、Kubernetes、Rustがベースになると説明した。ここでもRustが開発言語として注目されていることを強調したかったのだろう。

Xが開発する新しいプロジェクトでも開発言語としてRustが引用されている

Xが開発する新しいプロジェクトでも開発言語としてRustが引用されている

最後にRustとWasmの組み合わせをPython、C++と比較しているスライドを使って解説を行った。

PythonやC++に比べても高速で軽量なRust+Wasm

PythonやC++に比べても高速で軽量なRust+Wasm

特にPythonに対してはサイズで0.1%、処理時間は遥かに高速であり、Cに対しては単一のバイナリーであること、さまざまな言語で記述できることなどが強調された。C言語に比べてRustはメモリーセーフであることが省かれているのは脆弱性を防ぐ上では大きな意味があるはずだが、ここでは特に強調されていないのが残念だ。

サーバーレスをユースケースとして訴求するFermyon、WasmのPaaSとしてマルチリージョンでの分散アプリケーションを可能にするwasmCloudを訴求するCosmonicに対して、大規模言語モデル、そして汎用人工知能のアプリケーションを積極的に訴求するSecond StateとWebAssemblyに関わるベンチャーがそれぞれの差別化ポイントを訴えたWasm Dayとなった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第5回

KubeCon+CloudNativeCon North America 2023のキーノートとショーケースを紹介

2024/2/16
パンデミック後、最大のOSS系カンファレンスとなったKubeCon+CloudNativeCon North America 2023のキーノートと会場のようすを駆け足で紹介する。
クラウドイベント
第4回

Cloud Native Wasm Dayから大規模言語モデルをWasmで実行するデモを解説するセッションを紹介

2024/2/8
Second StateのMichael Yuan氏が解説する大規模言語モデルをWasmで実行するデモのセッションを紹介する。
クラウドイベント
第3回

Cloud Native Wasm DayからWebAssemblyのスケジューラーWADMを解説するセッションを紹介

2024/1/31
Cloud Native Wasm DayからCosmonicのエンジニアが解説する新しいスケジューラー、WADMのセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています