はじめに
LLM8850 は、M5Stack社から発売された、m.2インタフェースで接続できるAIアクセラレーターです。
AXERA社のAX8850を搭載しており、従来のM5Stack LLM Module (AX630C) と比較しても、RAMの容量が2倍の8GBになっていて、より大きいサイズのモデルが利用できることが期待されます。
クイックスタートで書かれているよりも大容量のLLMモデル(Qwen3-4B, Qwen2.5-3B-Instruct)の実行を試してみた結果を雑に書いておきます。
構成
Raspberry Pi 5 8GB と合わせて利用します。
m.2 HAT+ が必要です。
自分の場合は、ネットワーク越しにsshでRaspberry Piにアクセスしますが、画面とキーボードを繋いでターミナルで操作しても良いでしょう。
基本
こちらのクイックスタートが極めて親切なので、順番に実行していけば大丈夫です。
https://docs.m5stack.com/ja/guide/ai_accelerator/overview
ハードに問題がなければ、Qwen3-1.7B などすんなりいけると思います。
でもせっかく8GB RAMを搭載しているので、よりサイズの大きなモデルを動かしたくなりました。
ハードの問題がある場合
そもそもちゃんと繋がっていない場合、電源ON時にファンが回りません。この場合はM.2 HATの仕様などを確認しましょう。正常な場合、ファンが全力で回ってから20秒後ぐらいにドライバによってファンが落ち着く、という動作になります。
また、axcl-smi、lspciでアクセラレーターの表示がない場合も不具合の状態です。デバイスを再起動すると治ることがあります。
Qwen3-4B
Qwen3-1.7B と同様の手法で動作を試みます。
HuggingfaceのAXERAのところにQwen3-4Bのリポジトリがあるので、これをgit cloneします。
https://huggingface.co/AXERA-TECH/Qwen3-4B
git clone https://huggingface.co/AXERA-TECH/Qwen3-4B
当初、以下のようなエラーが出ましたが、デバイスIDの指定しなおしにより、若干改善しました。この修正は最新版にすでに入っていますので無視してOKです。
https://x.com/hammmm/status/1976907698928337058
上記の状態だと、モデルのロード最終段階でエラーになります。
そこで、M5Stack関係者と思われる「ちいかわ」氏の修正バイナリで main_axcl_aarch64 を置き換えました。
https://x.com/Abandonyou886/status/1977697194678329753
rm main_axcl_aarch64
wget https://huggingface.co/Abandon-ht/Qwen3-4B-LLM8850/resolve/main/main_axcl_aarch64
chmod +x main_axcl_aarch64
すると、Qwen3-4B が動作するようになりました。
1.7B版よりは受け答えがしっかりする印象です。
3.88token/s
AIの利用RAM 6432MB
Qwen2.5-3B-Instruct
こちらもHuggingfaceにリポジトリがあるので利用します。
https://huggingface.co/AXERA-TECH/Qwen2.5-3B-Instruct
git clone https://huggingface.co/AXERA-TECH/Qwen2.5-3B-Instruct
こちらは割とすんなり動くには動きます。
しかし、ところどころの文字化けが気になりました。
何となく原因を推測すると、トークン断片の処理に問題がありそうでした。
https://x.com/hammmm/status/1977222416725328169
こちら のやり取りに従い、トークナイザーを以下のものに置き換えて実行したところ、文字化けが解消しました。
https://github.com/AXERA-TECH/ax-llm/blob/ax-context/scripts/qwen2.5_tokenizer_uid.py
ところどころ怪しいけど話が通じる感じはするといったところ。
出力速度は 5.4 〜 5.5 token/s といったところです。
AIの利用RAM 4405MiB
なお、int4版 (run_qwen2.5_3b_ctx_int4_axcl_aarch64.sh) だと少し速くなります。特段精度が落ちた感じもないので、案外実用的かもしれません。
7.70 token/s
AIの利用RAM 3058 MiB