打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
模型概述
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
|
效果展示
热门帖子
精华帖子