M5stackずんだもんローカル推論界隈

IT,LLM,M5stack

この記事は人間(カラス)が書いています

こんにちは、最近エーアイがアツいですよね。

我が家にもエーアイがきました

見ての通り、Tesla V100というクッソ古いデータセンタ落ちのジャンクみたいなGPU(VRAM32GB)を2枚搭載したトンチキマシンです。熱い。

で、これでQwen3.8-flash-nextとかqwen3.8-27bとかgemma4で遊んでるのですが、基本的にローカルAIでできる事ってほとんどクラウドのつよAIに任せちゃった方が精度高いんですね。

今ならGLM5.3flashがタダみたいな値段で動くのでそっちを使った方がいいです。

量子化でアンポンタンになったGLM5.3をローカルで無理して動かす価値はない

で、地元のLLMでしかできないことといったらやっぱりAI学習データ作成ですよね。

つくりましたLLM

ずんだもん超軽量LLMについて

みなさんはずんだもん好き?好きです(愛)

crowpilot/zundamon-tiny-llm: M5Stack Core2 でも動く小さなずんだもんLLM(非公式ファン作品)

はい。ずんだもんのLLMを作りました。かわいいね。

作り方

1.ずんだもんのような会話をするハーネスを作る

具体的なやり方?ずんだもん愛によります。やってみれば分かるのですが、自然な会話をしてかつ毎回同じにならないずんだもんの原稿を生成するの結構大変です。

ルールファイルとか追加プロンプトだけでできると思ったら大間違いやぞ!!

ここだけの話、ずんだもんに詳しければCodex x20プランを使って1か月くらい頑張ればLLM知識ゼロでもいけます!がんばれ!

2.ずんだもんの会話原稿をいっぱいつくる

地元のLLMで会話原稿をいっぱい作りましょう

これ、クラウドLLMでやると蒸留攻撃扱いされたりされなかったりらしいゾ

安定していろんな種類の原稿を作るのマジ大変なんでがんばってください(LLMはプロフィールに書かれた事項に引っ張られるのでプロフィールを書き込むと原稿が似たようなものに収束します)

具体的なやり方?ずんだもんに聞いてください

3.学習!

LLMの学習関連のセッティングやらスクリプト準備はねぇ

もうGPT6-AstraとかClaudeに頼んじゃいましたよ。あっという間でした。

「M5stackで使いたいから1M前後で」みたいに伝えておきましょう

4.焼き上がり

かわいいずんだもんができあがりました

幼生ずんだもん

ここで試せます。

最初は赤ちゃんくらいの感じになるかと思っていたのですが、M5stack上でもなんとなく話題に追随する感じになってお話できるようになりました。

特徴

M5stackでのLLM推論(LLMモジュールなし)はTinystoriesの先行例がありますが、あちらは童話を無限生成するもの、こちらは超簡易チャットボットという感じです。

あんまり強調していなかったのですが、じつはこのLLM、「感情タグ」を搭載していて会話に感情を付けています。

つまり…

M5stackのスタックちゃんっているじゃないですか。工夫すればあれの制御なども可能なのだ

M5stackに入れちゃうもんね

M5stackに搭載するのですが、うちにあるM5stackはCore2でした。(ちょっち古い)

最新のM5stack-s3とかは音声認識(ウェイクワードだけ?)のチップが入っているらしいのですが、Core2にはそんなものは無い(無慈悲)

でもさ、会話、したいよね。冷静に考えてピカチュウ元気でちゅうとか64のスペックで音声認識してたんだからいけるだろ…

ローカル音声認識、いけました

音声認識に使用したのはCTCです。モデルとなるデータをいっぱい用意して学習させると精度が上がる感じです。

学習データについて、そのままだとM5stackのマイク特性に合わなくて2文字しか拾えないのでM5stackのマイクで音声データを再録音することでごまかしました。

また、自由文の認識は困難なのである程度の語彙を作ってそっちに吸着するようにしておきました。

認識モデル自体もまだ向上の余地がかなりあって、学習データ増やせば増やすほど聞き取りが良くなるのですがとりあえず最低限の聞き取りできるようになったやつで組みました

M5stackにVOICEVOX入らないんですけど…

ずんだもんボイスでしゃべらせたい!!でも自由文全部用意するのは現実的ではない!

というわけで、ずんだもんの音声をチョップしてつなぐことにしました

日本語のイントネーションは音高によるので各音をLow/Highで用意していい感じにつなぎます。

あとは小型の辞書を入れて読み上げさせます。辞書にないやつは読めませんがあかちゃん妖精ずんだもんがそんな変な語彙持ってる事はないでしょう(希望)

ちなみに…公式の利用規約上、チョッピング。サンプリングは禁止されていません。のだだだだ!のだだだだ!ずんずん!

が、ずんだもん(東北ファミリー)以外は個別キャラクタの利用規約があるのでちゃんと読みましょう

できた…

VOICEVOX/ずんだもん

これ全部、ローカル推論です。

モデルの改良、特に学習データの蓄積に莫大な時間が掛かるのでまだまだ発展途上ですが、手ごたえがあります。

特にずんだもんLLMは過去バージョンもサンプルとして残しているので見てみてね。全然違うので

今回わかったこと

自然言語→自然言語だとM5stackローカル推論では赤ちゃんくらいの会話になるが、自然言語→タグであれば結構高精度でいけそうな感じがする

M5stack LLMモジュールいらんじゃん

ずんだもんカワイイ

広告