見出し画像

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にアクセスするとデモ画面が表示されます。

最後に

今回、新規で以前の記事通りに動かすととエラーになることがわかったため、最新リポジトリで旧バージョンを動かす方法を確認しました。