【実戦】minigpt4の経験と微調整

MiniGPT-4

https://github.com/vision-cair/minigpt-4

1 環境構成

1.1 設置環境

git lfs install
//如果报错 :git: 'lfs' is not a git command. See 'git --help'.
//尝试使用:
sudo apt-get install git-lfs
git lfs install

1.2 ビクーニャウェイトの準備

(1) ビクーニャのデルタウェイトをダウンロード

git lfs install
git clone https://huggingface.co/lmsys/vicuna-13b-delta-v0  # more powerful, need at least 24G gpu memory
# or
git clone https://huggingface.co/lmsys/vicuna-7b-delta-v0  # smaller, need 12G gpu memory

(2)フォームに記入して、オリジナルの LLAMA-7B または LLAMA-13B のウェイトを取得します。
実際には、これはそれほど正直である必要はなく、ハグフェイスから引き下げるだけです
(3) 互換性のあるライブラリをダウンロードします

pip install git+https://github.com/lm-sys/[email protected]

(4) 最終的な重みを作成する

python -m fastchat.model.apply_delta --base /path/to/llama-13bOR7b-hf/  --target /path/to/save/working/vicuna/weight/  --delta /path/to/vicuna-13bOR7b-delta-v0/

同時に、minigpt4/configs/models/minigpt4.yamlllama_model のパスを変更し
、エラーを報告します。

Tokenizer class LLaMATokenizer does not exist or is not currently imported.

#59を参照して、llama-13b-hf/tokenizer_config.json の "tokenizer_class": "LLaMATokenizer" を "tokenizer_class": "LlamaTokenizer" に変更します。

1.3 事前トレーニングされた重みをダウンロードする

百度ネットディスク: ビクーニャ 7B:

Google: ビクーニャ 13B
https://drive.google.com/file/d/1a4zLvaiDBr-36pasffmgpvH5P7CKmpze/view
ビクーニャ 7B:
https://drive.google.com/file/d/1RY9jV0dyqLX-o38LrumkKRh6Jtaop58R/view

同時に、構成ファイル内のパスを実際のダウンロード パスに変更します。

2.経験

python demo.py --cfg-path eval_configs/minigpt4_eval.yaml  --gpu-id 0

ここに画像の説明を挿入

3. 微調整

貧しい子供たちを事前に訓練するのは問題ありませんが、微調整する場合でも少なくとも 16G が必要です

train_configs/minigpt4_stage2_finetune.yaml配置

  weight_decay: 0.05
  max_epoch: 5
  iters_per_epoch: 20
  batch_size_train: 1 #12
  batch_size_eval: 1 #12
  num_workers: 2
  warmup_steps: 200

2 つのパスを変更する
(1) train_configs/minigpt4_stage2_pretrain.yaml はトレーニング チェックポイントの最初の段階です
(2minigpt4/configs/datasets/cc_sbu/align.yaml はデータセット パスに変更されます)

公式トレーニング セットと第 1 段階の事前トレーニング モデルが提供されます

トレーニング セットの形式は次のとおりです。


{“annotations”: [{“image_id”: “2”, “caption”: “この画像には、橋を背景に川の隣の芝生で釣りをしている男性が写っています。
川の向こうには木々が見え、空は
曇っています。」}
对应图片:
ここに画像の説明を挿入

NUM_GPU は自分の GPU の番号です

torchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs/minigpt4_stage2_finetune.yaml

おすすめ

転載: blog.csdn.net/weixin_50862344/article/details/131169974