大規模言語モデル(Large Language Model、LLM)をパソコンなどのローカル環境で動かす「ローカルLLM」が急速に広まっている。課金不要であり、情報漏洩やプライバシー問題も気にする必要がない。注目のローカルLLMの利用法を紹介する。
小型コンピュータ「Raspberry Pi 5」(以降、ラズパイ5。図1)のローカル環境でLLMを動かして、チャットAIのGUIアプリを作ってみます。ラズパイ5は「Raspberry Pi」シリーズの最新機種です。
「最新機種とはいえ、ラズパイ5でLLMを動かすのは無理だろう」と思われる方もいるかもしれませんが、何とか動きます。ただし、LLMによる推論中(返答する文章の生成中)はラズパイ5のSoC(System on a Chip。CPUなどを内蔵するチップ)が激しく発熱するので、専用クーラー(図2)などによるSoCの冷却が必要です。
なお、ラズパイ5にはRAMの容量が4GBの製品と8GBの製品がありますが、ここでは4GBの製品を使います。
TinyLlamaを動かす
実は、ラズパイ5はパソコンに匹敵するほどの性能を持っています。しかし、LLMを動かすには力不足です。
そこで、できるだけサイズの小さなLLMを選ぶ必要があります。今回は、シンガポール工科デザイン大学StatNLPリサーチグループのTinyLlamaプロジェクトが開発した「TinyLlama-1.1B-Chat-v1.0」(以降、TinyLlama)を使うことにします。Hugging FaceにTinyLlamaのWebページがあります。URLは次の通りです。
このWebページによると、TinyLlamaは次の特徴を備える小型のLLMです。
TinyLlamaの11億というパラメータ数は、他のLLMと比較してだいぶ少ないと言えます。少ないので、何とかラズパイ5でも動かせそうです。
ただし、性能があまりにも低いのでは、わざわざ動かす意味がありません。そこでHugging FaceにあるTinyLlamaを使うチャットAIで、性能を試してみましょう。次のURLにアクセスします。
ここで例えば、「What is a Large Language Model?」と聞くと、図3の返答を得られました。会話が成立しているように思えます。ただし、いろいろ聞くと、適切に返答してくれる確率はそれほど高くはないことがわかってきます。TinyLlamaは“ギリギリ使うに値するLLM”といったところでしょうか。