Paperspace GradientでRWKV-LM-LoRA-Alpaca-Cleaned-Japanを動かす
shi3zさんがRWKV14Bを日本語AlpacaデータセットでLoRAしたものを公開されていたので、早速Paperspace Gradientで動かしてみました。
Notebookの用意
ランタイムは「Start from Scratch」を選択し、マシンは比較的空いている「A6000(8CPU、45GiB RAM、48GiB GPU)」を選択します。
リポジトリとモデルのダウンロード
RWKVでLoRAデータを適用して動かすためのリポジトリとしてRWKV-LM-LoRAというフォークがあります。こちらのRWKV-v4neoディレクトリ内のコードでLoRAデータを適用してRWKVを実行することができるので、クローン&コード編集して実行します。
まずは適当な名前のJupyter Notebook(rwkv-lora.ipynbなど)を作成してコードを実行していきます。リポジトリの容量は小さいので /notebooks 直下にクローンします。
%cd /notebooks
# 1. RWKV-LM-LoRAのダウンロード
repository_url = "https://github.com/Blealtan/RWKV-LM-LoRA.git"
git_branch = "main"
!git clone {repository_url}
%cd RWKV-LM-LoRA
!git checkout {git_branch}
RWKV14Bは26.3GBあるので、/tmpディレクトリにダウンロードするようにします。
%cd /tmp
# 2. モデルのダウンロード
# RWKV-4-Pile-14B-Instruct-test5-20230329-ctx4096
# url: https://huggingface.co/BlinkDL/rwkv-4-pile-14b
!curl --location -O https://huggingface.co/BlinkDL/rwkv-4-pile-14b/resolve/main/RWKV-4-Pile-14B-Instruct-test5-20230329-ctx4096.pth
# RWKV-LM-LoRA-Alpaca-Cleaned-Japan
# url: https://huggingface.co/shi3z/RWKV-LM-LoRA-Alpaca-Cleaned-Japan
!curl --location -O https://huggingface.co/shi3z/RWKV-LM-LoRA-Alpaca-Cleaned-Japan/resolve/main/rwkv-120-2304270732.pth
chat.pyのコード変更
次にRWKV-LM-LoRA/RWKV-v4neoディレクトリ内にあるchat.pyの内容を変更します。
まず38行目のarg.MODEL_NAMEの値を、先ほどダウンロードしたモデルのパスに変更します。
args.MODEL_NAME = '/tmp/RWKV-4-Pile-14B-Instruct-test5-20230329-ctx4096'
更にLoRAのパスも変更します。
args.MODEL_LORA = '/tmp/rwkv-120-2304270732.pth'
また標準のプロンプトが英語なので、日本語で応答されるよう66行目からのプロンプト表記を以下のように変更します。
init_prompt = f'''
以下は、{bot}と呼ばれるAIアシスタントと{user}と呼ばれる人間のユーザーとの間の詳細な会話である。{bot}は知的で、知識が豊富で、賢明で、礼儀正しい。
{user}{interface} フランス革命は何年ですか?
{bot}{interface} フランス革命は1789年に始まり、1799年まで10年間続いた。
{user}{interface} 3+5=?
{bot}{interface} 答えは8です。
{user}{interface} 私は誰と結婚すると思いますか?
{bot}{interface} あなたのことをもっと教えて下さい。あなたの興味は何ですか?
{user}{interface} 9-a=2のとき、aの値を求めよ。
{bot}{interface} 答えはa=7です。なぜなら9-7=2だからです。
{user}{interface} LHCとは何ですか?
{bot}{interface} LHCは、CERNが建設し、2008年に完成した高エネルギー粒子衝突型加速器です。2012年にヒッグス粒子の存在を確認するために使用されました。
'''
(ちゃんとCHAT_LANG == 'Japanese'のバージョンを作った方が良いとは思いつつ、とりあえず動くところを優先で)
chat.pyの実行
Paperspace GradientのNotebookでは対話型のコマンドラインを扱うことができないので、ターミナルを起動し、ターミナルからchat.pyを実行します。
cd /notebooks/RWKV-LM-LoRA/RWKV-v4neo
!RWKV_JIT_ON=0 python chat.py
応答にツイ廃感が溢れていますが動いてはいるようです。
メトリクスを見てみると、起動の時にCPUとメモリをガッツリ使って、推論時にはGPUが使われているみたい。
現場からは以上です。
この記事が気に入ったらサポートをしてみませんか?