はじめに
私は、GPT-3などの大規模LLMが出始めたぐらいのころ、rinna/japanese-gpt-1bでローカル動作するチャットボットを作ろうとして挫折したことがあります。
当時試した1b級のモデルは、どれも全然会話になりませんでした。
独自のデータセットを作成し、ファインチューニングとか色々試したんですが、どうしてもダメ。
「1b台のモデルじゃどうやったって無理だな」とあきらめていました。
↓当時ファインチューニングしたAIモデルとの会話(なぜか何を言っても会話を打ち切ろうとしてくる)
ところが、最近Sakana.AIが公開した TinySwallow-1.5B を試したとき、衝撃が走りました。これはすごい。どうやら新しい手法を使った知識蒸留をしているようで、ローカル上でまともに会話できています。まさかこのサイズでそんなことができるなんて......
ということで、技術の進歩に感動した勢いでこのモデルをAndroid上で動かす記事を書くことにしたわけです。
できるだけ簡単に動かしたい
Termuxを利用してLlama.cppを動作させるなどあるようですが、私はコマンド使いたくない。できるだけ簡単に、できるだけ既にある物を利用して動作させたいと思いました。
そこで調べたところ、「PocketPal」というアプリがよさそうだなーと思ったので使ってみます。
環境:
HUAWEI Matepad 11
Qualcomm Snapdragon 865
RAM 6GB
HarmonyOS 2 (Android10~11相当らしい)
右下の+マークから、「Add from Hugging Face」を押す。
ロードが完了したら自動でチャット画面に移行し、AIとチャットできるようになります。
(TinySwallowはQwenが元になっていますが、Gemmaのデータも使ってるらしく、自分のことをGemmaと自称してきた。)
おわりに
思ったより簡単すぎてビビりました。ダウンロードまでやってくれるアプリがあるとは......
今までスマホでローカルAI動作なんて無理だろって思ってましたが、実現してしまったことに驚き。
技術の進歩ってすごいなぁ......