[大模型]MiniCPM-2B-chat WebDemo部署

MiniCPM-2B-chat 介绍

MiniCPM 是面壁智能与清华大学自然语言处理实验室共同开源的系列端侧大模型,主体语言模型 MiniCPM-2B 仅有 24亿(2.4B)的非词嵌入参数量。

经过 SFT 后,MiniCPM 在公开综合性评测集上,MiniCPM 与 Mistral-7B相近(中文、数学、代码能力更优),整体性能超越 Llama2-13B、MPT-30B、Falcon-40B 等模型。
经过 DPO 后,MiniCPM 在当前最接近用户体感的评测集 MTBench上,MiniCPM-2B 也超越了 Llama2-70B-Chat、Vicuna-33B、Mistral-7B-Instruct-v0.1、Zephyr-7B-alpha 等众多代表性开源大模型。
以 MiniCPM-2B 为基础构建端侧多模态大模型 MiniCPM-V,整体性能在同规模模型中实现最佳,超越基于 Phi-2 构建的现有多模态大模型,在部分评测集上达到与 9.6B Qwen-VL-Chat 相当甚至更好的性能。
经过 Int4 量化后,MiniCPM 可在手机上进行部署推理,流式输出速度略高于人类说话速度。MiniCPM-V 也直接跑通了多模态大模型在手机上的部署。
一张1080/2080可高效参数微调,一张3090/4090可全参数微调,一台机器可持续训练 MiniCPM,二次开发成本较低。

环境准备

在autodl平台中租一个单卡3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–>2.1.0–>3.10(ubuntu22.04)–>12.1
接下来打开刚刚租用服务器的JupyterLab, 图像 并且打开其中的终端开始环境配置、模型下载和运行演示。
在这里插入图片描述

接下来打开刚刚租用服务器的JupyterLab,并且打开其中的终端开始环境配置、模型下载和运行demo
首先clone代码,打开autodl平台自带的学术镜像加速。学术镜像加速详细使用请看:https://www.autodl.com/docs/network_turbo/

直接在终端执行以下代码即可完成学术镜像加速、代码clone及pip换源和安装依赖包

# 因为涉及到访问github因此最好打开autodl的学术镜像加速
source /etc/network_turbo
# 升级pip
python -m pip install --upgrade pip
# 更换 pypi 源加速库的安装
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install modelscope transformers sentencepiece accelerate gradioMAX_JOBS=8 pip install flash-attn --no-build-isolation# clone项目代码
git clone https://github.com/OpenBMB/MiniCPM.git
# 切换到项目路径
cd MiniCPM

注意:flash-attn 安装会比较慢,大概需要十几分钟。

模型下载

使用 modelscope 中的snapshot_download函数下载模型,第一个参数为模型名称,参数cache_dir为模型的下载路径。

/root/autodl-tmp 路径下新建 download.py 文件并在其中输入以下内容,粘贴代码后记得保存文件,如下图所示。并运行 python /root/autodl-tmp/download.py执行下载,模型大小为 10 GB,下载模型大概需要 5~10 分钟

import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
model_dir = snapshot_download('OpenBMB/MiniCPM-2B-sft-fp32', cache_dir='/root/autodl-tmp', revision='master')

Web Demo运行

进入代码目录,运行demo启动脚本,在–model_name_or_path 参数后填写下载的模型目录

# 启动Demo,model_path参数填写刚刚下载的模型目录
python demo/hf_based_demo.py --model_path "/root/autodl-tmp/OpenBMB/MiniCPM-2B-sft-fp32"

启动成功后终端显示如下:
在这里插入图片描述

设置代理访问

在Autodl容器实例页面找到自定义服务,下载对应的代理工具
在这里插入图片描述
在这里插入图片描述

启动代理工具,拷贝对应的ssh指令及密码,设置代理端口为7860,点击开始代理
在这里插入图片描述

代理成功后点击下方链接即可访问web-demo
在这里插入图片描述

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

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

相关文章

124M中国十大城市群规划范围数据

城市群是由若干个都市圈构成的广域城镇化形态,其内部应该包含若干个中心城市。 都市圈是指围绕某一个中心城市,即超大或特大城市的城镇化形态。 无论在体量还是在层级上,都市圈要低于城市群的概念。 现在,我们就来为你分享一下…

Ubuntu 22.04 一键安装 Oracle 11GR2 单机

前言 Oracle 一键安装脚本,演示华为 Ubuntu 22.04 一键安装 Oracle 11GR2 单机版过程(全程无需人工干预)。 ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 安装准备 1、安装好操作系统,建议安装图形化2、配置好网络3…

MTU简介

MTU 概念定义 最大传输单元MTU(Maximum Transmission Unit,MTU),是指网络能够传输的最大数据包大小,以字节为单位。 是一种网络协议中规定的在一次传输中所能承载的最大数据量。是一个关键的网络参数,对数…

不入耳的蓝牙耳机平价推荐,五大爆款分析测评

开放式耳机在如今社会中已经迅速成为大家购买耳机的新趋势。它作为骨传导耳机,深受用户的喜爱,不仅可以随时感知周围环境,还提供了高质量的音效体验,对于热爱运动的人士而言,高品质的骨传导耳机无疑是首选。同时&#…

Spring是如何设计IOC容器的?BeanFactory ApplicationContext

BeanFactory是Spring框架中最底层的接口,用于实例化、配置和管理bean。它使用控制反转(IOC)模式,将对象的创建、管理和装配的职责从应用程序代码中转移给Spring容器。这样,应用程序代码就无需关心对象如何创建和装配&a…

如何配置docker通过代理服务器拉取镜像

如果 docker 所在的环境是通过代理服务器和互联网连通的,那么需要一番配置才能让 docker 正常从外网正常拉取镜像。然而仅仅通过配置环境变量的方法是不够的。本文结合已有文档,介绍如何配置代理服务器能使docker正常拉取镜像。 本文使用的docker 版本是…

【vue3】vue3中使用reactive定义的变量响应式丢失问题

这里写目录标题 1. 解构响应式对象属性2. 添加新属性到响应式对象3. 异步更新响应式状态4.总结 当你说“vue3中使用reactive定义的变量响应式丢失问题”时,以下是一些更具体的例子和解决方案: 1. 解构响应式对象属性 问题: import { reacti…

Django里的模板变量

变量是模板中最基本的组成单位,是视图传递给模板的数据; 当模板引擎遇到变量时,会将该变量计算为结果; 变量以{{variable}}表示,如: obj{“name”:“张三”,“age”:18} {{obj.name}} #输出 …

Python网络安全项目开发实战,如何看清Web攻击

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python网络安全项目开发实战_看清Web攻击_编程案例解析实例详解课程教程.pdf 一、引言 在网络安全领域,Web攻击一直是一个严峻的问题。攻击者通过各…

卡本医疗VENUS登陆香港国际医疗展,探索全球医疗发展新机遇

由香港贸易发展局主办的第15届香港国际医疗及保健展、以及联合香港特别行政区政府举办的第四届亚洲医疗健康高峰论坛在中国香港圆满落幕。 香港国际医疗及保健展是亚太地区最具影响力的B2B医疗贸易展览会之一,辐射海内外市场,本次邀请了超过8500家买家以…

模型部署onnx入门

一、定义 1.定义 2. 环境安装 3. 案例 4. 可视化界面 5. 参考网址 6. 推理引擎 onnx Runtime 进行单张图片推理,本地部署 7. 推理引擎onnx Runtime 进行单张图片推理,调用摄像头获取画面 8. 推理引擎onnx Runtime 进行图片推理,调用摄像头获…

美国原装二手KEITHELY2410替代新品keithley2470数字源表

Keithley 2470 高压 SourceMeter 源测量单元 (SMU) 仪器将先进的 Touch, Test, Invent 技术带到您的指尖。它将创新的图形用户界面 (GUI) 与电容式触摸屏技术相结合,使测试变得直观,并最大限度地缩短学习曲线,帮助工程师和科学家更快地学习、…

【字符串解析】IP地址字段解析提取函数接口

在嵌入式业务逻辑中,我们有时需要从配置文件、串口或者服务端接收的消息数据中进行字符串解析,来提取需要的目标字符串字段。通常我们会调用字符串处理相关的函数,例如strstr,strchr,sscanf等,再结合指针偏…

数据驱动决策:工单统计工具如何赋能企业精准运营

在当今这个数字化飞速发展的时代,企业对于内部运营效率的追求已经达到了前所未有的高度。你是否曾为了繁杂的工单统计管理而头疼不已?是否曾因为无法准确进行工单统计数据而错失商机?今天,我将向你展示一款革命性的工单统计工具&a…

Web前端经验汇总:深入探索与实战心得

Web前端经验汇总:深入探索与实战心得 在数字化时代的浪潮中,Web前端技术作为连接用户与互联网世界的桥梁,其重要性日益凸显。作为一名长期奋战在Web前端领域的开发者,我积累了一些宝贵的经验,并愿意在此与大家分享。 …

MBR40100CT-ASEMI无人机专用MBR40100CT

编辑:ll MBR40100CT-ASEMI无人机专用MBR40100CT 型号:MBR40100CT 品牌:ASEMI 封装:TO-220 最大平均正向电流(IF):40A 最大循环峰值反向电压(VRRM):100V…

TypeScript中的枚举

在 TypeScript(TS)中,枚举(Enum)是一种特殊的数据类型,它允许我们为一组命名的数值(称为枚举成员或枚举项)定义常量集。TypeScript 中的枚举是 TypeScript 语言扩展的一部分&#xf…

el-date-picker中popper-class的使用,自定义时间框的弹出位置

el-date-picker中popper-class的使用,自定义时间框的弹出位置 问题解决方法 问题 有时候时间选择框会根据位置自动计算出现的位置.但有时会造成被遮挡的问题使用popper-class自定义时间弹框样式不生效问题 解决方法 使用popper-class时 不要放在<style scoped></st…

【数据分析】线性及逻辑回归模型和Python实现

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

深入了解python函数与函数内存使用

函数的定义 函数作为代码复用的基本单元&#xff0c;可以帮助我们组织代码、减少重复、提高可读性和可维护性。 在 Python 中&#xff0c;函数本质上是对象&#xff0c;可以赋值给变量、存储在数据结构中、作为参数传递和返回。 函数与内存 函数的加载和调用过程中&#xff…