連載 [第2回] :
  WasmCon 2023レポート

WasmCon 2023からLLMをWASMで実装するセッションを紹介

2023年12月1日(金)
松下 康之 - Yasuyuki Matsushita
WasmConからLLMをWASMで実装するセッションを紹介する。

2023年9月にアメリカのワシントン州ベルビューで行われたWasmConから、Second StateのCEOであるMichael Yuan氏とVMwareのAngel M De Miguel Meana氏による「Get Started with AI and WebAssembly」というセッションを紹介する。

Yuan氏とMiguel氏によるAIをWasm上に実装する方法を紹介するセッション

Yuan氏とMiguel氏によるAIをWasm上に実装する方法を紹介するセッション

●動画:Getting Started with AI and WebAssembly

WasmEdgeを開発するSecond StateのCEOであるMichael Yuan氏は、今回のWasmConで多数のセッションに参加しており、AIからランタイム、ネットワークまで多方面に精通したエンジニアだ。過去にYuan氏にはインタビューを行って掘り下げているのでそちらも参考にして欲しい。

●参考:「KubeCon NA 2022」から、WasmEdgeを開発するSecond StateのMichael Yuanのインタビュー

Angel M De Miguel Meana氏はVMwareのAI LabのStaff Engineerという肩書きを持つ。今回はAIの部分をMiguel氏が、その他の部分をYuan氏が解説するというコンビネーションだったが、プレゼンテーションをリードしていたのはYuan氏で、参加者とも積極的に対話する姿勢が強かった点が印象的だった。

セッション後に日本からの参加者と対話するMichael Yuan氏

セッション後に日本からの参加者と対話するMichael Yuan氏

セッションは画像認識に機械学習を用いるアプリケーションを例に挙げ、このワークロードをコンテナではなくWebAssemblyのモジュールとして実行することを解説するもの。画像認識は写真に含まれる犬と猫を認識するというわかりやすい内容だ。

猫と犬を認識するアプリケーションWasmEdgeをランタイムとして実行

猫と犬を認識するアプリケーションWasmEdgeをランタイムとして実行

ここではWasmEdgeのコマンドプロンプトから元の画像、認識後の画像、ログと実行結果を見せている。どちらも高い確率で認識ができていることがわかる。デモで使われたコードは以下のGitHubリポジトリを参照して欲しい。30行足らずという非常に短いRustで書かれた判定のためのソースコードも確認できる。

●デモのGitHubリポジトリ:https://github.com/juntao/demo-object-detection

次はMiguel氏が登壇し、機械学習の入門編として機械学習の内部は数式がベースになっていることを説明。

機械学習の実体は数式

機械学習の実体は数式

ニューラルネットのモデルについても、複数のレイヤーで数式が演算され学習データがモデルとして生成されること、判定を行うためにはニューラルネットをトレーニングするデータセットとその結果を確認するためのテストデータが必要となることを説明した。

ニューラルネットにはトレーニングデータとテストデータが必要

ニューラルネットにはトレーニングデータとテストデータが必要

そしてMichael Yuan氏が再度登場し、ここからWebAssembly上で機械学習を行うためのソフトウェアの状況を解説した。WASI-NNが機械学習のためのフレームワークとして開発されており、それがCPU/GPUなどのバックエンドのインフラストラクチャーと連携して実行されると説明。

WASI-NNによって高速な実行が可能になった機械学習

WASI-NNによって高速な実行が可能になった機械学習

またWASI-NNについても簡単に説明を行った。WASI-NNはWASIの拡張として2019年から開発が開始され、現在フェーズ2となっていること、Wasmtime、WAMR、WasmEdgeで利用できるようになっていることを解説した。

WASI-NNの説明

WASI-NNの説明

そしてWasmEdgeとWASI-NNについては別スライドで「標準に準拠していること」「Rustとの連携にも貢献していること」「プラグインで拡張可能であること」「前後の処理のためのSDKも用意されていること」「コンポーネントモデルにも準拠していること」「Python、JavaScript連携は開発中であること」などが説明された。

WasmEdgeのWASI-NNサポートについて

WasmEdgeのWASI-NNサポートについて

WASI-NNに対応するエコシステムとしてTensorFlowなどがあげられているが、他にもOpenCVやFFmpegなどの画像、音声関連のライブラリーにも対応しており、すでに多くの実装があることを示唆している。

WASI-NNのエコシステムの例

WASI-NNのエコシステムの例

またWASI-NN以外にもWebAssemblyで機械学習を実行するための方法はあると説明し、CPUでの実行限定にはなるが、移植性が高いことが特徴であると語った。

機械学習モデルをWasm上で実行する方法を説明

機械学習モデルをWasm上で実行する方法を説明

その一つの例として、Metaが開発したLlama 2で学習したモデルをC言語で実行するLlaMa2cを紹介。

Llama 2で学習したモデルをCで実行するLlaMa2cを説明

Llama 2で学習したモデルをCで実行するLlaMa2cを説明

ちなみにLlaMa2cについては以下の公式GitHubのReadmeが参考になるだろう。

LlaMa2cとは何かを解説した公式のReadmeの引用

LlaMa2cとは何かを解説した公式のReadmeの引用

また今後の予定についても説明を行い、Named model、Dynamic Shapesなどが紹介された。

Wasm上の機械学習エコシステムの今度の予定を概説

Wasm上の機械学習エコシステムの今度の予定を概説

Named Modelについても簡単に説明を行ったMichael Yuan氏だったが、CEOながらテクニカルな詳細についても熟知していることがわかるセッションとなった。

また最後に使われたスライドでは、WasmEdgeによる機械学習に関するリンクやVMwareのAI Labが作成しているWasm Worker Serverについても簡単に紹介しており、VMwareもこの領域に取り残されないように努力していることが伝わってきた。

最後に、現在大きな注目を集めているLarge Language ModelについてもWasmがプラットフォームとして対応していることを強く訴求するセッションとなった。FermyonもServerless AIというキャッチフレーズで、WasmがサーバーレスだけではなくLLM実行のためのプラットフォームであることを押し出しており、Wasm界隈においてLLMが焦点となりつつあるトレンドを感じさせるセッションであった。

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

連載バックナンバー

クラウドイベント
第4回

WasmCon 2023でFermyonのCTO、Radu Matei氏に訊いた。WASI進化の注目ポイントとは

2023/12/7
WasmCon 2023の会場にてFermyonのCTOであるRadu Matei氏にインタビューを実施した。WASI進化の注目ポイントはストリーミング?
クラウドイベント
第3回

WasmCon 2023からCosmonicのCEOがコンポーネントモデルを用いたデモを紹介

2023/12/5
WasmCon 2023から、CosmonicのCEOによるコンポーネントモデルを用いたデモのセッションを紹介する。
AI・人工知能イベント
第2回

WasmCon 2023からLLMをWASMで実装するセッションを紹介

2023/12/1
WasmConからLLMをWASMで実装するセッションを紹介する。

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

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

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

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