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

Second StateのMichael Yuan氏が解説する大規模言語モデルをWasmで実行するデモのセッションを紹介する。

松下 康之 - Yasuyuki Matsushita

2024年2月8日 6:00

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となった。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30