×

签到

分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

基于寒武纪PyTorch的miniGPT4 Demo部署应用 肖奇2023-07-31 15:00:20 回复 2 查看 经验交流 社区交流 干货资源
基于寒武纪PyTorch的miniGPT4 Demo部署应用
分享到:

  • 模型概述

   1. MiniGPT-4 是在一些开源大模型基础上训练得到的,提供类似gpt4的图像理解,对话能力,其中:

        visual encoder: 在视觉感知方面,作者采用了与BLIP-2相同的预训练视觉组件,其中该组件由EVA-CLIP的ViT-G/14和Q-Former组成。

        language decoder: 在语言表征方面,使用大型语言模型 (LLM)--Vicuna(其中 Vicuna 是基于 LLaMA 构建的文本生成大模型,江湖人称:小羊驼)进行调优,在文本语言方面可以达到 ChatGPT 能力的90%。

        MiniGPT-4 只添加了一个线性投影层,将编码的视觉特征与Vicuna语言模型对齐,冻结了所有视觉模型和语言模型参数。

    2.本示例展示了如何在寒武纪板卡(MLU370 X8)上使用寒武纪PyTorch框架来部署MiniGPT-4模型。

    3.MLU实现代码:https://gitee.com/xiaoqi25478/minigpt4_mlu  用户可clone该代码快速部署。

  • 环境准备

    示例基于寒武纪PyTorch环境部署,为方便快速部署和体验该示例,用户可联系寒武纪技术人员获取寒武纪PyTorch最新镜像包。后续操作步默认在Docker内部运行。

  • 下载仓库

git clone https://gitee.com/xiaoqi25478/minigpt4_mlu

  • 环境安装

pip install -r requirements.txt
transformers 改动:vim /torch/venv3/pytorch/lib/python3.7/site-packages/transformers/modeling_utils.py +2195 将require_version_core("torch>=1.10") 修改为 require_version_core("torch>=1.9")
fastchat 安装
cd FastChat_mlu
pip3 install --upgrade pip && pip3 install -e .
  • 模型处理

    llama模型 llama-7b-hf 增量模型 vicuna-7b-delta-v1.1 合并后的权重模型 vicuna-7b-all-v1.1 方法如下:

# 权重合并
python3 -m fastchat.model.apply_delta \
    --  /data/AE/llm/models/llama-7b-hf/ \
    --delta /data/AE/llm/models/vicuna-7b-delta-v1.1/ \
    --target ..//vicuna-7b-all-v1.1 \
    --low-cpu-mem

    下载miniGPT-4 预训练权重  https://huggingface.co/wangrongsheng/MiniGPT4-7B/resolve/main/prerained_minigpt4_7b.pth 

    修改minigpt4/configs/models/minigpt4.yaml 文件中llama_model的值为vicuna-7b的路径

    修改eval_configs/minigpt4_eval.yaml,将ckpt的值改成prerained_minigpt4_7b.pth的路径 

    修改minigpt4/configs/datasets/cc_sbu/align.yaml  storage: ./cc_sbu_align/ 


  • 模型推理

python demo.py --cfg-path eval_configs/minigpt4_eval.yaml  --gpu-id 0
  • 效果展示

1.png

版权所有 © 2024 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭