見出し画像

FastChatでGPTQの使い方

GPTQ 量子化モデルをFastChatで使う方法


OS:Windows10
Python:3.10.11
CUDA:12.3

実行環境

FastChatのインストール

FastChatは、大規模な言語モデル ベースのチャットボットをトレーニング、提供、評価するためのオープン プラットフォームです。

GitHub

GitHubからFastChatのクローンを作成します

git clone https://github.com/lm-sys/FastChat.git

作成したFastChatフォルダに移動します

cd FastChat

移動したら仮想環境を作ります

python -m venv .venv

仮想環境に入ります

.venv\Scripts\activate

FastChatのパッケージをインストール

pip3 install -e ".[model_worker,webui]"


GPTQ-for-LLaMaのセットアップ

簡単にGPTQは、GPT-3のような大規模言語モデルを、量子化と呼ばれる技術を使って軽量化・高速化するための手法です。

ドキュメントに従ってインストールします
FastChatディレクトリの下にold-cudaブランチをクローンします

git clone -b old-cuda https://github.com/qwopqwop200/GPTQ-for-LLaMa.git repositories/GPTQ-for-LLaMa

git clone -b [ブランチ名][リポジトリのアドレス][保存先]

gitコマンドの説明

クローンしたディレクトリに移動します

cd repositories/GPTQ-for-LLaMa

FastChatでインストールされたパッケージにはCPU用のpytorchがインストールされているので、GPUを使えるようにします

CUDAのバージョンを確認します

nvcc -V

自分に合ったpytorchをインストールしてください

# 11
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 12
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

セットアップ

python setup_cuda.py install

実行したときに、もし以下のようなエラーが出たときの対処法

OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

翻訳:CUDA_HOME 環境変数が設定されていません。 CUDA インストールルートに設定してください。

1. システム環境変数の編集を検索します
2. 値にインストールしたpytorchと同じバージョンのCUDAを探します
3. 変数を一時的にCUDA_HOMEに変更します(セットアップが終了すれば戻しても問題ないはずです)

pip3 install texttable

GPTQ-for-LLaMa内のrequirements.txtをインストール

pip install -r requirements.txt


モデルのダウンロード

GPTQ量子化モデルをhuggingfaceからダウンロード

モデルのダウンロードするディレクトリはどこでも構いません
FastChatディレクトリに保存するのをおすすめします

git clone https://huggingface.co/TheBloke/vicuna-7B-1.1-GPTQ-4bit-128g models/vicuna-7B-1.1-GPTQ-4bit-128g

実行

順番に進めていけば

# 簡易ツリー
fastchat
└── repositories
    └──GPTQ-for-LLaMa ---作業ディレクトリ
        └── models
            └── vicuna-7B-1.1-GPTQ-4bit-128g

FastChatディレクトリに移動してモデルのダウンロードした場合

fastchat ---作業ディレクトリ
└── models
    └── vicuna-7B-1.1-GPTQ-4bit-128g

cliでの実行
modelsフォルダがあるディレクトリでコマンドの実行

python -m fastchat.serve.cli --model-path models/vicuna-7B-1.1-GPTQ-4bit-128g --gptq-wbits 4 --gptq-groupsize 128


備考

rinnaのGPTQモデルを使いたい場合cliだけならモデルのダウンロードだけで使えます
ただしmodel_workerを使う場合はFastChatのいくつかファイルの編集をする必要がある
モデル追加方法を参照

モデルの追加方法

簡易的な実装方法

詳しい実装方法

出会ったエラーのまとめ


この記事が気に入ったらサポートをしてみませんか?