« Wi-Fiルーターを買った | トップページ | 「統計でウソをつく法」 »

2024年3月10日 (日)

Raspberry Pi 5に日本語LLM(ELYZA-Japanese-Llama-2-7b-fast-Instruct)を入れてみた

最近はやりの「生成AI」をRaspberry Pi 5で動かしたくなり、入れてみました。
(今回は画像生成AIではなく、いわゆるChatGPTのような会話型のやつです)

しかも「日本語じゃなきゃヤダ」ということで、以下のサイトを参考に入れてみました。

Raspberry Pi 5の基本セットアップとLLM動かしてみた - hacomono TECH BLOG

が、ここを見ただけでは分かりづらかったので、手順を書きます。

最初に、venvってやつで大規模言語モデル用の環境を作っておきます。
どうやらpython 3.11からは、venvで作った環境下でないとpipが使えなくなってます。
前回の記事(Raspberry Pi 5 8GBが来たので画像生成AI「Stable Diffusion」と物体検出「YOLOX」を動かしてみた: EeePCの軌跡)では無理やりインストールしましたが、これが一番楽です。

python -m venv llm

続いて、以下のコマンドを実行。

/home/(ラズパイ上のユーザー名)/llm/pip install llama-cpp-python

これで、必要な環境がインストールできちゃいます。

pipのところを絶対パスで入力してるのは、venvで作った環境をsourceコマンドを使って切り替えるのが面倒なので、直接呼び出してるためです。

続いて、以下のサイトへ行き、モデルをダウンロードします。

mmnga/ELYZA-japanese-Llama-2-7b-fast-instruct-gguf · Hugging Face 

このサイトの「Files and versions」タブをクリック。

Raspi5llm01

こんな一覧が出てきます。
これの一番最初の方にある「Upload ELYZA-Japanese-Llama-2-7b-instruct-q2_K.gguf」てやつの行にある赤丸のところをクリックします。
(PCでも可能ですが、Raspberry Pi 5上でやると直接拾えます)
これは以前(ChatGPT 3.5並みの日本語能力を持つとされるLLM「ELYZA-japanese-Llama-2-13b-instruct」を使ってみた: EeePCの軌跡)でも使ったELYZA Japanese Llama2の70億パラメータ版の量子化モデルで、メモリー使用量が少なく、Raspberry Pi 5でも辛うじて動かせます。

つづいて、「elyza.py」というコードを作成します。

私の場合はvi使いなので、

vi elyza.py

ですが、viをnanoに変えてもらってもいいです。
コードの中身は以下。

import sys
from llama_cpp import Llama
llm = Llama(model_path="ELYZA-japanese-Llama-2-7b-fast-instruct-q2_K.gguf", verbose=False)
output = llm("<user>\n" + sys.argv[1] + "\n<assistant>\n", max_tokens=128)
print(output['choices'][0]["text"] + "...")

これを、先のダウンロードしたモデル(ELYZA-japanese-Llama-2-7b-fast-instruct-q2_K.gguf)と同じフォルダに置きます。

この状態で、

/home/(ラズパイ上のユーザー名)/llm/python elyza.py "名古屋の名物は何ですか?"

と実行します。
(なお” ”内は適当な質問を日本語で入れます)

ところで、Raspberry Piでの日本語入力設定は、以下が参考になります。

Raspberry Piに日本語で入力できる設定方法(fcitx-mozc) | ラズパイダ

で、待つこと30〜40秒ほど、

Img_4832

上のような答えが返ってきました。

うん、まあまあの答え……でもないな。名古屋めしに味噌汁?とんかつ?ひよこっこ?最後のはなんじゃ?

でも、文章はかなり自然です。さすがはElyzaの日本語LLM。

ということで、Raspberry Pi 5 8GB上で日本語LLMが動いてくれたのですが。

使い道がないですよね。遅いのはともかく、いちいちコマンドで打つのは面倒。

チャット風インターフェースにする方法もリンク先にありましたが、あれはうちではうまく動きませんでした。

まあ、Raspberry Piと会話したいという人以外は、あまりやるメリットなさそうです。

ところで、最近無線LANルーターを変えた影響か、Raspberry PiにSSHで接続できなくなりました。原因は不明ですが、無線LANルーター変える前はつながってたので、おそらくはそれが影響している可能性大です。

おかげで、Raspberry Pi↔︎PCのファイルのやり取りがしづらいので、ちょっと不便です。そのうち、直し方を探さないと。


面倒なことはChatGPTにやらせよう (KS情報科学専門書)

« Wi-Fiルーターを買った | トップページ | 「統計でウソをつく法」 »

Raspberry Pi・Arduino・電子工作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« Wi-Fiルーターを買った | トップページ | 「統計でウソをつく法」 »

当ブログ内検索

スポンサード リンク

ブログ村

無料ブログはココログ