以下の内容はhttps://supernove.hatenadiary.jp/entry/2026/02/23/143804より取得しました。


M5StackのAIアクセラレーターカード「LLM8850」でLLMを試してみた

気がついたら2026年から2ヶ月経過しましたが新年一発名の投稿ですね(あけましておめでとうございますw)

突然ですが昨年、6年ぶりに深センに行ってきました。社会人になってから初めての海外で結構楽しめました。

この時、深センではMaker Faireが開催するということで海外のMaker Faireに行けるチャンスだと感じてタイミング合わせて行ってきました。

日本とは違った雰囲気で野外で伸び伸びやっているのが印象的でした。

そんな中、M5Stackのブースで気になるやつを見つけました。

デカデカとAIアクセラレータのレプリカが置いてあるそばで実際のボードのデモが行われていました。

画像を認識して骨格や物体を認識したり認識した顔を遠隔操作でスタックチャンがトラッキングするというデモでした。滑らかに画像認識してるしLLMも動かせるなら買うしか無いと思い、その場で衝動買いしましたw。(AIアクセラレータボードを買ったら写真に写ってる新製品はじめいろいろおまけを頂きました!)

で、帰国してから追加パーツも用意せず、ずっと放置してたので今回はこれを開封して実際に触ってみたいと思います

用意するもの

  • LLM8850
  • Raspberry Pi 5(今回は4GBで検証)
  • Raspberry Pi M.2 HAT+
  • 5V5Aの電源(AIアクセラレーターを動かすので、十分な電力が供給されるものが必要)

LLM8850はM.2で接続する必要がありますが、PCI接続が前提かつUSBでM.2に接続できるアダプタには対応してないので、M.2 HATを使ってRaspberry Pi5を使う構成で試していきます。

ハードウェアのセットアップ

EEPROMの更新

ハードウェアはM.2 HATにLLM8850を取り付けてRaspberry Piに装着するだけです。電源は必ず外した状態でセットアップを行います。

また、ピンヘッダは先にRaspberry Pi側に差し込んでから接続すると確実に接続できます(HAT側に接続したら接続が不安定でした…)

ドライバのセットアップ

ハードウェアをセットアップしたらLLM8850が使えるようにドライバのセットアップをしていきます。

Raspberry Piを起動したら、以下のコマンドでEEPROMのバージョンを確認します。パソコンのBIOSと同様でEEPROMはマザーボード側に書き込まれる設定なので、Raspberry PiのOSを最新にしてもEEPROMが最新になるとは限りません。

sudo rpi-eeprom-update 

結果は以下の通りになります。

BOOTLOADER: update available
   CURRENT: Fri 13 Jun 09:39:26 UTC 2025 (1749807566)
    LATEST: Mon  8 Dec 19:29:54 UTC 2025 (1765222194)
   RELEASE: default (/usr/lib/firmware/raspberrypi/bootloader-2712/default)
            Use raspi-config to change the release

この時 LATESTRELEASE が異なる場合は最新版にアップデートしておきます。

アップデートでは以下のコマンドを実行します。

sudo rpi-eeprom-update -a 

アップデートが終わったら一度再起動します。再起動後、 sudo rpi-eeprom-update で確認して最新版になっていればEEPROMの更新は正常に完了しています。

sudo reboot

続けて接続したアクセラレーターカードが認識しているか確認します。以下のコマンドでPCIで接続されたハードウェアを確認します。

lspci 

以下の実行結果になるかと思います。

0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0001:01:00.0 Multimedia video controller: Axera Semiconductor Co., Ltd Device 0650 (rev 01) # <- これが表示されてたらOK
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

実行結果にある Multimedia video controller: Axera Semiconductor Co., Ltd Device 0650 (rev 01) がLLM8850にあたります。これが表示されていればハードウェアは正常に認識されています。

もし表示されない場合は、ケーブルの接触不良の可能性があるのでケーブルの接続を確認してください。

ドライバーのインストール

今度はLLM8850のドライバーをインストールしていきます。

まずはドライバーのパッケージを以下のコマンドで取得します

sudo wget -qO /etc/apt/keyrings/StackFlow.gpg https://repo.llm.m5stack.com/m5stack-apt-repo/key/StackFlow.gpg
echo 'deb [signed-by=/etc/apt/keyrings/StackFlow.gpg] https://repo.llm.m5stack.com/m5stack-apt-repo axclhost main' | sudo tee /etc/apt/sources.list.d/axclhost.list 

以下のコマンドでドライバーをインストールします

sudo apt update 
sudo apt install dkms 
sudo apt install axclhost 

インストールが終わると、環境変数を反映すればドライバーが使える状態になります。

今作業を行っているターミナルで作業を続ける場合は以下のコマンドを実行すると環境変数が再度読み込まれます。

source /etc/profile 

ドライバーがインストールされたか確認するため、以下のコマンドでデバイスのステータスを確認します。

axcl-smi 

実行すると以下の通りデバイスの仕様ステータスが詳細に表示されます。ステータスが表示されたらLLM8850を動かすセットアップは一通り完了です。

+------------------------------------------------------------------------------------------------+
| AXCL-SMI  V3.6.4_20250822020158                                  Driver  V3.6.4_20250822020158 |
+-----------------------------------------+--------------+---------------------------------------+
| Card  Name                     Firmware | Bus-Id       |                          Memory-Usage |
| Fan   Temp                Pwr:Usage/Cap | CPU      NPU |                             CMM-Usage |
|=========================================+==============+=======================================|
|    0  AX650N                     V3.6.4 | 0001:01:00.0 |                145 MiB /      945 MiB |
|   --   42C                      -- / -- | 1%        0% |                 18 MiB /     7040 MiB |
+-----------------------------------------+--------------+---------------------------------------+

+------------------------------------------------------------------------------------------------+
| Processes:                                                                                     |
| Card      PID  Process Name                                                   NPU Memory Usage |
|================================================================================================|

LLMを走らせてみる

ここまでアクセラレーターカードのセットアップができたので、今度は実際にLLMを試してみます。

今回は公式で紹介されていたDeepSeek R1をセットアップしてみます。

docs.m5stack.com

ファイル一式はHugging FaceからGitでクローンしていきます。この時通常のGit Cloneだと取得できない大きいサイズのモデルがあるため、それを取得するためにGit LFSをインストールします。

sudo apt install git-lfs

以下のコマンドでインストールされたか確認します。

git lfs install

Git LFSがインストールされたら、以下のコマンドでファイル一式をクローンします。

git clone https://huggingface.co/AXERA-TECH/DeepSeek-R1-Distill-Qwen-1.5B-GPTQ-Int4

ls -lh 以下のファイル構成・ファイルサイズになっていれば問題ありません。

-rw-rw-r-- 1 pi pi    0 Feb 23 01:06 config.json
drwxrwxr-x 2 pi pi 4.0K Feb 23 01:08 deepseek-r1-1.5b-gptq-int4-ax650
drwxrwxr-x 2 pi pi 4.0K Feb 23 01:06 deepseek-r1_tokenizer
-rw-rw-r-- 1 pi pi 4.2K Feb 23 01:06 deepseek-r1_tokenizer.py
-rw-rw-r-- 1 pi pi 976K Feb 23 01:07 main_axcl_aarch64
-rw-rw-r-- 1 pi pi 999K Feb 23 01:07 main_axcl_x86
-rw-rw-r-- 1 pi pi 932K Feb 23 01:07 main_prefill
-rw-rw-r-- 1 pi pi  277 Feb 23 01:06 post_config.json
-rw-rw-r-- 1 pi pi 7.4K Feb 23 01:06 README.md
-rw-rw-r-- 1 pi pi  533 Feb 23 01:06 run_deepseek-r1_1.5b_gptq_int4_ax650.sh
-rw-rw-r-- 1 pi pi  538 Feb 23 01:06 run_deepseek-r1_1.5b_gptq_int4_axcl_aarch64.sh
-rw-rw-r-- 1 pi pi  534 Feb 23 01:06 run_deepseek-r1_1.5b_gptq_int4_axcl_x86.sh

クローンされたディレクトリ上でPythonの仮想環境をセットアップします。

python -m venv deepseek 

仮想環境を有効にします。

source deepseek/bin/activate

以下のコマンドで必要なPythonライブラリをインストールします。

pip install transformers jinja2 

tokenizer parserを起動します。

 python deepseek-r1_tokenizer.py --port 12345

別のターミナルを立ち上げてクローンしたレポジトリのディレクトリ上で以下のコマンドを実行し、スクリプトの実行権限を付与します。

chmod +x main_axcl_aarch64 run_deepseek-r1_1.5b_gptq_int4_axcl_aarch64.sh 

以下のコマンドでスクリプトを実行します。

./run_deepseek-r1_1.5b_gptq_int4_axcl_aarch64.sh 

以下の通り対話環境が起動されればセットアップは正常に完了しています。

pi@raspberrypi:~/Codes/DeepSeek-R1-Distill-Qwen-1.5B-GPTQ-Int4 $ ./run_deepseek-r1_1.5b_gptq_int4_axcl_aarch64.sh
build time: Feb 13 2025 15:44:57
[I][                            Init][ 111]: LLM init start
bos_id: 151646, eos_id: 151643
100% | ████████████████████████████████ |  31 /  31 [25.35s<25.35s, 1.22 count/s] init post axmodel okremain_cmm(-1 MB)
[I][                            Init][ 226]: max_token_len : 1023
[I][                            Init][ 231]: kv_cache_size : 256, kv_cache_num: 1023
[I][                     load_config][ 282]: load config:
{
    "enable_repetition_penalty": false,
    "enable_temperature": true,
    "enable_top_k_sampling": true,
    "enable_top_p_sampling": false,
    "penalty_window": 20,
    "repetition_penalty": 1.2,
    "temperature": 0.9,
    "top_k": 10,
    "top_p": 0.8
}

[I][                            Init][ 288]: LLM init ok
Type "q" to exit, Ctrl+c to stop current running
>>

どうやら英語か中国語にしか対応してなさそうなので英語で適当なプロンプトを投げてみました。スペースやタブが文字化けするのが気になりますが、それを解消すれば普通に使えそうです。

Raspberry Pi単体だけでLLMを動かしたことがないのでなんともいえませんが、簡単な質問は秒で返答しますしちょっと複雑な質問でも詰まることなくスムーズに返答を出力できてたので、モデルをファインチューニングして日本語に対応できれば、日本語でも全然使えそうな印象があります。(やるかどうかは別だけど…

>> Hello
<think>ĊOkay,ĠIĠneedĠtoĠhelpĠtheĠuserĠwithĠtheirĠquery.ĠTheyĠstartedĠwithĠ"YouareDeepSeek-R1,Youareahelpfulassistant."ĠItĠseemsĠlikeĠthey'reĠprovidingĠsomeĠinformationĠorĠaĠprompt.ĠTheĠresponseĠwasĠ"Hello!"ĠwhichĠisĠfriendlyĠandĠwelcoming.ĊĊIĠshouldĠconsiderĠwhatĠtheyĠmightĠneed.ĠTheyĠcouldĠbeĠseekingĠassistance,Ġinformation,Ġfeedback,ĠorĠjustĠhappyĠtoĠbeĠpartĠofĠaĠconversation.ĠMaybeĠthey'reĠlookingĠforĠhelpĠwithĠaĠspecificĠtask,ĠorĠtheyĠcouldĠbeĠseekingĠaĠfriendlyĠgreeting.ĊĊIĠshouldĠrespondĠinĠaĠwayĠthat'sĠpositiveĠandĠhelpful.ĠIĠwantĠtoĠacknowledgeĠtheirĠmessageĠpositivelyĠandĠsetĠaĠgoodĠexample.ĠSo,ĠI'llĠsayĠsomethingĠlike,Ġ"I'mĠhereĠtoĠhelp!ĠLetĠmeĠknowĠhowĠIĠcanĠassistĠyouĠtoday."ĠThat'sĠopen-ended,ĠinvitingĠthemĠtoĠaskĠforĠanythingĠtheyĠneed.Ċ</think>ĊĊI'mĠhereĠtoĠhelp!ĠLetĠmeĠknowĠhowĠIĠcanĠassistĠyouĠtoday.

[N][                             Run][ 610]: hit eos,avg 13.90 token/s

>>

まとめ

今回は、M5StackのAIアクセラレーターカードをセットアップしてRaspberry PiでLLMを動かしてみました。

消しゴムぐらいのサイズのアクセラレーターカードですが、動かしてみるとかなりパワフルでLLMもスムーズに返答できるのはかなり面白いです。

他にもMaker FaireでやってたYOLOを使った画像認識などのサンプルもあったので、色々試してみたいところです!

参考

note.com




以上の内容はhttps://supernove.hatenadiary.jp/entry/2026/02/23/143804より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14