当前位置:   article > 正文

【大模型系列 07】MiniGPT-4 for PyTorch 昇腾迁移_blip_laion_cc_sbu数据下载

blip_laion_cc_sbu数据下载

源码链接

https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/PyTorch/built-in/foundation/MiniGPT-4

MiniGPT-4 for PyTorch

概述

简述

MiniGPT-4使用一个投影层将来自BLIP-2的冻结视觉编码器与冻结的LLM Vicuna对齐。通过两个阶段来训练MiniGPT-4,先是用500万图文对训练,然后再用一个3500对高质量数据集训练。

  • 参考实现:

    url=https://github.com/Vision-CAIR/MiniGPT-4
    commit_id=22d8888ca2cf0aac862f537e7d22ef5830036808
    
    • 1
    • 2
  • 适配昇腾 AI 处理器的实现:

    url=https://gitee.com/ascend/ModelZoo-PyTorch.git
    code_path=PyTorch/built-in/foundation
    
    • 1
    • 2

准备训练环境

准备环境

  • 当前模型支持的PyTorch如下表所示。

    表 1 版本支持表

    配套版本
    PyTorch1.11.0
  • 环境准备指导。

    请参考《Pytorch框架训练环境准备》。

  • 安装依赖。

    在模型源码包根目录下执行命令,安装模型对应PyTorch版本需要的依赖。

    pip install -r requirements.txt  # PyTorch1.11版本
    
    • 1
  • 替换transformers库中的相关文件。

    将当前工程目录下的transformers_modify文件夹中的文件替换到transformers安装目录下的对应位置(基于transformers 4.28.0版本):

    utils.py -> transformers/generation/utils.py
    
    • 1

准备数据集

  1. 获取预训练数据集。

    要下载和准备Laion和CC数据集,请查看第一阶段数据集准备说明
    数据集参考目录如下:

    laion_dataset
    ├── 00000.parquet
    ├── 00000_stats.json
    ├── 00000.tar
    ├── ...
    
    cc_sbu_dataset
    ├── 00000.parquet
    ├── 00000_stats.json
    ├── 00000.tar
    ├── ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  2. 获取微调数据集

    要下载和准备小型高质量图像文本对数据集,请查看第二阶段数据集准备说明
    数据集参考目录如下:

    cc_sbu_align
    ├── filter_cap.json
    ├── image
       ├── 0.jpg
       ├── ...
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

准备模型权重

  1. 准备预训练的Vicuna权重

    用户参照链接自行获取模型文件,并放于自定义目录下,微调依赖该模型权重。
    自定义参考目录如下:

    vicuna_weights
    ├── config.json
    ├── generation_config.json
    ├── pytorch_model.bin.index.json
    ├── pytorch_model-00001-of-00003.bin
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在配置文件minigpt4.yaml中修改vicuna权重所在的路径。

  2. 准备训练的MiniGPT-4检查点:

    Checkpoint Aligned with Vicuna 3BCheckpoint Aligned with Vicuna 7B
    链接链接

    然后,在评估配置文件minigpt4_eval.yaml的第11行中设置预训练检查点的路径。

  3. 准备只有第一阶段训练的MiniGPT-4检查点链接

开始训练

进入解压后的源码包根目录。

cd /${模型文件夹名称}
  • 1

预训练

微调

  • 单机单卡微调

    bash test/finetune_gpt_1p.sh
    
    • 1

    要启动第二阶段微调对齐,请先在minigpt4_stage2_finetune.yamlcc_sbu/align.yaml中分别指定第1阶段预训练的检查点文件的路径和精调数据集路径。

在线演示

  1. 修改配置文件minigpt4_eval.yaml第11行,路径为微调好的权重所在路径。

  2. 在线演示:

    python demo.py --cfg-path eval_configs/minigpt4_eval.yaml --gpu-id 0
    
    • 1
  3. 运行成功后,在服务器浏览器的输入URL链接:http://127.0.0.1:7860, 会加载UI界面。上传图像开始与MiniGPT-4聊天。

  4. 如需本地浏览器远程访问服务器,需要ssh进行端口映射:

    ssh -L 6006:127.0.0.1:7860 yourname@server.ip
    
    • 1

    在本地浏览器输入URL链接:http://127.0.0.1:6006, 即可加载聊天界面。

训练结果展示

表 1 预训练结果展示表

NAMETokensPerSecIterationsBatchSizeTorch_Version
Pretrain -竞品A88665000*4641.11
Pretrain -NPU75178000*4401.11

表 2 微调结果展示表

NAMETokensPerSecIterationsBatchSizeTorch_Version
Finetune -竞品A2805200*2121.11
Finetune -NPU2433240*2101.11

在线演示效果

这里展示了MiniGPT-4微调后的演示效果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版本说明

变更

2023.7.05:首次发布。

FAQ

无。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/380130?site
推荐阅读
相关标签
  

闽ICP备14008679号