Minigpt4实战搭建

news2024/11/26 1:30:18

简介

Minigpt4虽然放出了网页版但是使用后发现网页体验的话,由于并发量比较大,很容易突然卡顿的现象,所以下面我主要讲解一下如何进行本地部署。

之前文章已经介绍过Minigpt4了这里就不重复赘述了,不了解的可以去看看https://blog.csdn.net/qq_45066628/article/details/130231186?spm=1001.2014.3001.5501

在这里插入图片描述
由于经费有限我这里使用的是7B模型,按照文档中所说,7B模型大概需要12G左右,而13B需要24G。

搭建过程

1.环境搭建

  1. 我这里使用的是Conda环境,Conda搭建过程比较简单就不赘述了,有不会的可以自行搜一下,按照教程按照就行。

  2. 装好Conda后还需要安装Cuda和torch(安装官网教程操作就行)
    Cuda:https://developer.nvidia.com/cuda-toolkit
    Torch:https://pytorch.org/get-started/locally/
    Cuda安装好后执行ncvv -V命令看到有输出表示cuda安装成功
    Torch安装后执行以下代码检查是否安装成功

    import torch
    torch.cuda.is_available()
    

2.模型下载

1.下载相关模型

v0版和v1版这,里我更加推荐v1版本,相对来讲会bug少点,具体选择更具自己

第一种方法:

直接下载即可
7b地址(v1):https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/main
13b地址(v0):https://huggingface.co/lmsys/vicuna-13b-delta-v0/tree/main
在这里插入图片描述

第二种方法:

1.使用git拉取vicuna模型

v0版:

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

v1版:

git clone https://huggingface.co/lmsys/vicuna-13b-delta-v1  # more powerful, need at least 24G gpu memory
# or
git clone https://huggingface.co/lmsys/vicuna-7b-delta-v1  # smaller, need 12G gpu memory
2.使用git拉取llama模型
git clone https://huggingface.co/decapoda-research/llama-13b-hf
# or
git clone https://huggingface.co/decapoda-research/llama-7b-hf
3.关联vicuna和llama模型

拉取完成后,就可以将其关联起来,这里使用工具为官方为了适配两个模型装门开发的FastChat,如果没有梯子或者其它加速手段,建议源码编译安装。

git clone https://github.com/lm-sys/FastChat.git
cd FastChat/
pip3 install --upgrade pip  # enable PEP 660 support
pip3 install -e .

安装没问题执行

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/

2.预训练模型下载

|–|—

namedownload
Checkpoint Aligned with Vicuna 7Bhttps://drive.google.com/file/d/1RY9jV0dyqLX-o38LrumkKRh6Jtaop58R/view?usp=sharing
Checkpoint Aligned with Vicuna 13Bhttps://drive.google.com/file/d/1a4zLvaiDBr-36pasffmgpvH5P7CKmpze/view?usp=share_link

3.配置文件修改

1.修改eval_configs/minigpt4_eval.yaml下的ckpt对应的value,改为下载的预训练模型路径
在这里插入图片描述
2.修改minigpt4/configs/models/minigpt4.yaml下的llana_model,改为下载的vicuna和llama模型的路径
在这里插入图片描述

4.运行项目

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

运行后在浏览器输入localhost:7860
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用python开发“魂斗罗”游戏

使用python开发“魂斗罗”游戏 开发完整的魂斗罗(Contra)游戏是一个庞大的任务,它涉及到图形渲染、物理碰撞、敌人AI、游戏关卡等多个方面。在这个简短的交互中,我将向你展示一个基本的魂斗罗风格的游戏框架,你可以在此…

结构化文档发布的故事和性能调优

前阵子一个TW朋友跟我抱怨他们的文档发布很慢。正常发布需要一个晚上才能完成发布。中间如果出点错,就得重新发布,那么中间是漫长的等待。 不像MS Word或者InDesign这样所见即所得的软件,结构化文档源文件是XML格式的,就像计算机…

C语言——数据在内存中的存储(下)

数据在内存中的存储(下) 1. 浮点数在内存中的存储 浮点数家族: float double long double 浮点数的表示范围: 这里要引用float.h头文件 【实例一】 //输出结果是什么? int main() {int n 9;float *pFloat (float…

【代码规范】Google开源项目风格指南

系列综述: 💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于Google开源项目风格指南进行的,每个知识点的修正和深入…

基于卡尔曼滤波实现线性目标跟踪

文章目录 前言卡尔曼滤波基本推导运算 实现目标检测卡尔曼预测器ID分配器(跟踪器) 完整代码代码总结 前言 一个需求,在一个稳定的场景当中,实现目标检测计数算法。 任务点: 实现目标检测完成对不同类别的物品进行计数…

Three.js--》实现3d字体模型展示

目录 项目搭建 初始化three.js基础代码 设置环境纹理 加载字体模型 今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 项目搭建 本案例还是借助框架书写…

前后端交互模型http协议Ajax简介

0、前言:本文只是对“前后端交互模型&http协议&Ajax简介”当中的理论,作用,方法进行总结说明,用于回顾知识,做概括总结,没有具体实现代码。 1、前后端交互模型: 前端发送请求&#xff…

信号机制上(信号概念、发送、定时器、信号捕捉、SIGCHLD)

一、信号机制 概念:信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 所有信号的产生及处理全部都是由内核完成的 信号的产生: 1 按键产生 2 系统调用函数产生(比如raise, kill) 3 硬件异…

连接MQTT服务端

MQTT客户端之间要想实现通讯,必须要通过MQTT服务端。因此MQTT客户端无论是发布消息还是订阅消息,首先都要连接MQTT服务端。 MQTT客户端连接服务端一共有两步。 第一步(CONNECT请求) 首先MQTT客户端将会向服务端发送连接请求。该…

HBase 的关键流程解析

前言 本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 正文 HBase 客户端会将查询过的 HRegion 的位置信息…

【Python爬虫】采集电商商品评价信息

目录 一、数据采集逻辑二、数据Schema三、数据爬取1.导入库2.对爬虫程序进行伪装3.抓取商品评论信息4.防止反爬,每爬取一页数据后,设置程序休眠环节 四、数据存储1. 存储到csv 2.存储到数据库 一、数据采集逻辑 在进行数据采集之前,明确哪些…

Linux下C语言文件描述符操作(dup / dup2 / sendfile / splice / tee)

Linux的哲学是一切皆文件&#xff0c;而操作文件是通过文件描述符来进行。本文梳理一下dup / dup2 / sendfile / splice/ tee函数对文件描述符的操作。 目录 1.dup 2.dup2 3.sendfile 4.splice 5.tee 1.dup #include <unistd.h> int dup(int fd); 复制一个现有的…

Java基础(maven)——maven新建项目 常用IO工具 Durid数据库工具 案例

目录 引出用Maven建项目0.Maven配置方式1.io流的工具IOUtils/FileUtils1&#xff09;可以读文件、按照行读、读网页等&#xff1b;2&#xff09;配合hasmap进行简体繁体转换 2.durid数据库连接工具1&#xff09;创建连接&#xff0c;durid进行连接管理2&#xff09;查询的方式q…

chatgpt赋能python:Python中的转置函数-一种简单而高效的矩阵操作

Python中的转置函数 - 一种简单而高效的矩阵操作 作为一名10年的Python编程经验工程师&#xff0c;掌握利用Python进行矩阵操作是必不可少的。Python中提供了各种高效的矩阵操作功能&#xff0c;其中之一就是转置函数。 什么是转置&#xff1f; 在数学中&#xff0c;矩阵转置…

追寻幸福:探索幸福的关键特征和行为

目录 1. 积极的心态 2. 良好的人际关系 3. 自我接纳和自尊 4. 追求意义和目标 5. 健康的身心状态 6. 感知和实现个人价值 幸福是一个主观的感受&#xff0c;因此不同的人对于幸福的定义和追求方式可能会有所不同。然而&#xff0c;有一些共同的特点和行为模式&#xff0c…

【数据结构】难度上一个台阶的二叉树实现

【数据结构】难度上一个台阶的二叉树实现 一、什么是树和二叉树&#xff1f;二、目标三、实现3.1、初始化工作3.2、二叉树的前序遍历3.2.1、原理图解3.2.2、代码实现 3.3、二叉树的创建3.3.1、原理解析3.3.2、代码实现 3.4、二叉树的中序遍历3.5、二叉树的后序遍历3.6、二叉树的…

K8S系列文章之快速入门K8S

搭建K8S环境 前置 目前生产部署Kubernetes 集群主要有两种方式&#xff1a; kubeadm Kubeadm 是一个K8s 部署工具&#xff0c;提供kubeadm init 和kubeadm join&#xff0c;用于快速部署Kubernetes 集群。 官方地址&#xff1a;https://kubernetes.io/docs/reference/setu…

ChatGPT出来后,为什么老有人想让我们程序员失业?

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;2022年度博客之星前端领域TOP 2&#xff0c;前端领域优质作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步…

【LeetCode每日一题】——1248.统计「优美子数组」

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 滑动窗口 二【题目难度】 中等 三【题目编号】 1248.统计「优美子数组」 四【题目描述】 给…

NVIDIA NCCL 源码学习(十)- 多机间ncclSend和ncclRecv的过程

先回忆一下单机的执行流程&#xff0c;用户执行ncclSend之后通过ncclEnqueueCheck将sendbuff&#xff0c;sendbytes&#xff0c;peer等信息保存到了comm->p2plist中&#xff1b;然后执行ncclGroupEnd&#xff0c;如果发现channel没有建立到peer的链接则先建链&#xff0c;然…