rinna nekomataモデルをローカル環境で動かしてみようとしたのですが、インストールガイドがあまり見当たらなかったので書いてみました。

環境

windows11

RAM 64GB

VRAM 16GB (RXT4090 laptop)

インストール

公式ページのrinna/nekomata-14b-instructionモデルのページを参考に動かしてみます。

conda create -n rinna python=3.9
activate rinna

How to use the modelのサンプルコードからtorch,transformersを用意します。(CUDAは11.8を選択)

このままサンプルコードを動かすとエラーが出るので、エラーの指示に従って他のライブラリもインストールします。

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers

以上で動きますが、このままではパラメータサイズの変更が出来ないのでbitsandbytesをインストールします。

pip install tiktoken transformers_stream_generator einops accelerate

windowsによくあることですが、bitsandbytesはwindowsサポートが曖昧なので私の場合はエラーが出ました。

bitsandbytes-windowsというプロジェクトがありますが、これはbitsandbytesのv0.37.5で更新が止まっているのでインストールに成功してもv0.39以上を使うようにエラーが出ます。

解決策としてはbitsandbytes not working with windows 11で紹介されているbitsandbytes-windows-webuiからインストールします。

pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.1-py3-none-win_amd64.whl

以上をまとめると下記のようになります。

PackageVersion
accelerate0.27.2
bitsandbytes0.41.1
einops0.7.0
tiktoken 0.6.0
transformer4.38.2
transformers-stream-generator0.0.4
torch
torchaudio
torchvision
2.2.1+cu118
2.2.1+cu118
0.17.1+cu118
Python 3.9.18

 

モデルのダウンロード

How to use the modelのサンプルコード4行目で実行されます。(AutoTokenizer.from_pretrained)

DLフォルダは”C:\Users\自分.cache\huggingface\hub\models–rinna–nekomata-14b-instruction\snapshots\ハッシュ\pytroch_model.bin“で28GBのモデルがダウンロードされます。

ダウンロード関連のエラーが出る場合はコマンドプロンプトを管理者として実行してみてください。

 

サンプルコード実行結果

そのまま実行すると下記のコードでモデルの展開方法が選ばれるので、私の環境ではRAM13GB程度、VRAM13GB~15GB消費され推論時間は70~90sec程度かかりました。

そこで、bitsandbytesを頑張ってインストールした恩恵を受けるためload_in_4bit、load_in_8bitオプションをつけて速度計測してみました。

VRAM [GB]RAM [GB]速度 [sec]
load_in_4bit13.620~23(展開時のみ)12.9
load_in_8bit1120~23 (展開時のみ)11.5

ちなみにオプションのつけ方のサンプルは下記の通りです。

model = AutoModelForCausalLM.from_pretrained(
                        "rinna/nekomata-14b-instruction",
                        device_map="cuda",
                        trust_remote_code=True,
                        load_in_4bit=True,
                        bf16=True )
sam

sam

流山おおたかの森Techブログの管理人です。 お仕事のご依頼などはmail or Twitter[https://twitter.com/sam_sumario]で連絡頂けると反応出来ます。
Previous post FastSAMで動画をマスク表示する
Next post Silero VADの使い方 | 音声区間認識

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です