LoginSignup
5
3

Raspberry Pi 5 でTinyLlamaを試してみた

Posted at

目的

Raspberry Pi 5 が買えたので軽量LLMであるTinyLlamaを使えるようにしてみた。
すべて参考にした記事のままなので新しいことは特にないです。
自分メモのようなものです。

環境

本体 : Raspberry Pi 5
メモリ : 8GByte

Raspberry Pi 5 の初期設定

OSのインストールまでは省略。
その後TinyLlamaには関係ないけど下記もインストール&設定した。

更新

$ sudo apt update
$ sudo apt upgrade

その後再起動。

日本語入力

$ sudo apt install fcitx5-mozc
$ im-config -n fcitx5

Chromiumの入力設定

Chromiumのtext inputのサポートバージョンが古いせいでChromiumではfcitx5を使ってもそのままでは日本語入力できないとのことなので、メニューからの起動で下記の引数がつくように設定した。

$ chromium-browser --gtk-version=4

docker

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo gpasswd -a $USER docker

TinyLlamaのインストール

モデルのダウンロード

$ mkdir tinyllama
$ cd tinyllama
$ wget https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf

ライブラリのインストール

$ python -m venv llama2
$ llama2/bin/pip install llama-cpp-python

スクリプトの作成

llama2.py というファイルを下記の内容で保存する。

import sys
from llama_cpp import Llama

llm = Llama(model_path="tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf", verbose=False)
output = llm("<user>\n" + sys.argv[1] + "\n<assistant>\n", max_tokens=40)
print(output['choices'][0]["text"] + "...")

実行してみる

$ llama2/bin/python llama2.py "How tall Mt. Fuji?"
Mt. Fuji is approximately 3,776 meters (12,384 feet) tall....

$ llama2/bin/python llama2.py "富士山の高さは?"
The height of Mount Fuji is unknown....

$ llama2/bin/python llama2.py "How tall Mt. Everest?"
Mt. Everest is a mountain located in the Himalayan region of Nepal, and it stands at approximately 29,029 feet (8841 meters)...

$ llama2/bin/python llama2.py "How to use python venv"
1. Creating a new virtual environment:
   python -m venv env_name

2. Activating the virtual environment:

ちゃんと5秒くらいで回答がされていることを確認しました。
日本語がうまく認識できないわけではなさそうだけど、富士山の固有名詞が分からないのかな?
ラズパイでここまで動くのはすごいですね。

スクリプト内のmax_tokensを100にすると11秒くらいかかりました。

$ llama2/bin/python llama2.py "How to use python venv"
1. Create a virtual environment:
   python -m venv my_env

2. Activate the virtual environment:
   source my_env/bin/activate

3. Install required packages:
   pip install packages here

4. Test package installation:
   pip install packages here

5. Run your...

参考URL

Raspberry Pi 5上で軽量LLM、TinyLlamaを動かしてみる
https://qiita.com/kazuhitoyokoi/items/66e8c9e1b447a2850ba7

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3