MiniGPT4がv2になったので従来版もアップデート
v2版になって以前の記事とは使い方が違っているようです。この記事で動くはずです。同様にAPI版も最新のリポジトリをgitするとこの変更と同様な変更が必要になります。要点はモデルのアーキテクチャ名が変更になったことです。その他のconfigも所々で変更があるようです。
影響のある記事
大きな変更
arch: mini_gpt4 → arch: minigpt4
これは影響大きいですね。以下順次インストールです。anacondaのbeseからスタートです。CUDAも自動的にインストールされるようです。
(動かしながら記事を書いたので間違いは無いと思いますが、念の為必ず、リポジトリの説明を合わせてお読みください。)
git clone https://github.com/Vision-CAIR/MiniGPT-4.git
cd MiniGPT-4
conda env create -f environment.yml
conda activate minigptv
モデルダウンロード
チェックポイント
checkpointホルダーを作成しダウンロードしたファイルを移動
pretrained_minigpt4_llama2_7b.pth
モデル
Llama-2-7b-chat-hfホルダーを作成し以下のファイルをダウンロード
configファイルにパスを設定
MiniGPT-4/minigpt4/configs/modelsminigpt4_llama2.yaml
model:
arch: minigpt4
# vit encoder
image_size: 224
drop_path_rate: 0
use_grad_checkpoint: False
vit_precision: "fp16"
freeze_vit: True
has_qformer: False
# generation configs
prompt: ""
llama_model: "./Llama-2-7b-chat-hf/"
preprocess:
vis_processor:
train:
name: "blip2_image_train"
image_size: 224
eval:
name: "blip2_image_eval"
image_size: 224
text_processor:
train:
name: "blip_caption"
eval:
name: "blip_caption"
/MiniGPT-4/eval_configs/minigpt4_llama2_eval.yaml
model:
arch: mini_gpt4
model_type: pretrain_llama2
max_txt_len: 160
end_sym: "</s>"
low_resource: True
prompt_template: '[INST] {} [/INST] '
ckpt: './checkpoint/pretrained_minigpt4_llama2_7b.pth'
datasets:
cc_sbu_align:
vis_processor:
train:
name: "blip2_image_eval"
image_size: 224
text_processor:
train:
name: "blip_caption"
run:
task: image_text_pretrain
起動コマンド
python demo.py --cfg-path eval_configs/minigpt4_llama2_eval.yaml --gpu-id 0
エラーが出ます
ModuleNotFoundError: No module named 'skimage'
ModuleNotFoundError: No module named 'visual_genome'
各々以下のようにインストール
pip install scikit-image
pip install visual_genome
再度コマンドで起動
python demo.py --cfg-path eval_configs/minigpt4_llama2_eval.yaml --gpu-id 0
今度は起動できて以下のようなメッセージが出ます。(筆者の環境)
~/MiniGPT-4$ python demo.py --cfg-path eval_configs/minigpt4_llama2_eval.yaml --gpu-id 0
===================================BUG REPORT===================================
Welcome to bitsandbytes. For bug reports, please submit your error trace to: https://github.com/TimDettmers/bitsandbytes/issues
================================================================================
Initializing Chat
Loading checkpoint shards: 100%|██████████████████| 2/2 [00:28<00:00, 14.01s/it]
Do not use Q-Former here.
Load MiniGPT-4 Checkpoint: ./checkpoint/pretrained_minigpt4_llama2_7b.pth
Initialization Finished
/home/animede/MiniGPT-4/demo.py:171: GradioDeprecationWarning: The `enable_queue` parameter has been deprecated. Please use the `.queue()` method instead.
demo.launch(share=True, enable_queue=True)
Running on local URL: http://127.0.0.1:7860
Running on public URL: https://f5532e45d515267304.gradio.live
This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)
http://127.0.0.1:7860にアクセスするとデモ画面が表示されます。
最後に
今回、新規で以前の記事通りに動かすととエラーになることがわかったため、最新リポジトリで旧バージョンを動かす方法を確認しました。