win10,win11 下部署Vicuna-7B,Vicuna-13B模型,gpu cpu运行

news2024/11/28 12:47:39

运行Vicuna-7B需要RAM>30GB或者14GB的显存
运行Vicuna-13B需要RAM>60GB或者28GB的显存

如果没有上面的硬件配置请绕行了,我笔记本有64G内存,两个都跑跑看,使用python3.9,当时转换13b时一直崩溃后来发现是没有设定虚拟内存,后来加上了9个G,才可以跑起来

下载llama原始模型 

nyanko7/LLaMA-7B at mainWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://huggingface.co/nyanko7/LLaMA-7B/tree/mainhuggyllama/llama-13b at mainWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://huggingface.co/huggyllama/llama-13b/tree/main也可以用迅雷下载下面的链接,注只要7b,13b就可以了

磁力链接:magnet:?xt=urn:btih:b8287ebfa04f879b048d4d4404108cf3e8014352&dn=LLaMA

下载的文件如下:

下载vicuna-7b-delta-v1.1 和vicuna-13b-delta-v1.1 

https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/mainWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/mainlmsys/vicuna-13b-delta-v1.1 at mainWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://huggingface.co/lmsys/vicuna-13b-delta-v1.1/tree/main 

 安装相关软件

pip install fschat
pip install protobuf==3.20.0
git clone https://github.com/huggingface/transformers.git
cd transformers
python setup.py install

转换llaMA模型

7b

python transformers/src/transformers/models/llama/convert_llama_weights_to_hf.py  --input_dir LLaMA/  --model_size 7B  --output_dir ./output/llama-7b

13b

python transformers/src/transformers/models/llama/convert_llama_weights_to_hf.py  --input_dir LLaMA/  --model_size 13B  --output_dir ./output/llama-13b

 

 合并生成Vicuna模型,13b的64g内存罩不住,得要设定虚拟内存16G-64G左右就够了

python -m fastchat.model.apply_delta --base ./output/llama-7b --target ./vicuna-7b --delta ./vicuna-7b-delta-v1.1

python -m fastchat.model.apply_delta --base ./output/llama-13b --target ./vicuna-13b --delta ./vicuna-13b-delta-v1.1

 参数介绍:

base转换llaMA模型后的路径
target合并生成后的保存路径
delta下载的vicuna-7b-delta-v1.1路径

 

运行模型,使用半浮点数16位

python -m fastchat.serve.cli --model-path ./vicuna-7b --device cpu

python -m fastchat.serve.cli --model-path ./vicuna-13b --device cpu

 

 7b的占用约26G内存,在64G内存上,i9 12900h运行、响应速度还可以,

13b的占用大约50G内存,在64G内存上,i9 12900h运行缓慢

使用量化版本,就是把32位的浮点参数压缩成8位 ,速度会快,占用内存变小,智商会下降

python -m fastchat.serve.cli --model-path ./vicuna-7b --device cpu --load-8bit

python -m fastchat.serve.cli --model-path ./vicuna-13b --device cpu --load-8bit

 7B占了7个G

 13B占了13个G

 

 总结:尽管小点的模型可以运行了,如果想自己进行微调还是要使用gpu ,推荐A100显卡,或者A800. 先期不投硬件先租用可以用矩池云 - 专注于人工智能领域的云服务商矩池云是一家专注于人工智能领域的GPU云服务商。提供稳定的人工智能云服务器、人工智能教学实训环境、高速网盘等服务,支持公有云、私有云、专有云、硬件直采等专业级人工智能解决方案。https://matpool.com/

不过在上述机器上cpu运行得很慢,于是想尝试一下gpu版本,我手里只有一张1080ti,11g内存的,就只能勉强运行一下6B的再加上量化才可以。如何部署呢?

Start Locally | PyTorchicon-default.png?t=N3I4https://pytorch.org/get-started/locally/

 

由于这台电脑 之前的NVIDIA GPU Computing Toolkit是 v10.0的这个pytorch 2.0.1 要求的是11.8的,于是要更新一下CUDA Toolkit Archive | NVIDIA Developericon-default.png?t=N3I4https://developer.nvidia.com/cuda-toolkit-archive

要注册帐号下载,11.8的版本

 下载完这个以后安装,这时环境变量也发生了变化。

 然后必须再下载cuDNN,也要下载对应的版本

cuDNN Archive | NVIDIA Developericon-default.png?t=N3I4https://developer.nvidia.com/rdp/cudnn-archive

上图中红框的都可以。下载完成后解压缩,

 

 然后把这个目录的东西全部拷贝到

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

目录会重合,这样就不用再配一次环境变量了。

装好这两个应用后,我们再到最上面下载pytorch gpu版本 

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

之后写个代码testgpu.py看看gup是否有效

import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))

输出为true时,就表示可以用了 

运行gpu执行,因为我的1080ti只有11G,只能用--load-8bit

python -m fastchat.serve.cli --model-path ./vicuna-7b --load-8bit

如果有12G以上显存的 运行

python -m fastchat.serve.cli --model-path ./vicuna-7b 

 

 

模型推理(Web UI方式)
如果想要以web UI方式提供服务,则需要配置3个部分。

 

web servers,用户的交互界面
model workers,托管模型
controller,用以协调web server和model worker
启动控制器

python -m fastchat.serve.controller --host 0.0.0.0

启动model worker,使用cpu 

python -m fastchat.serve.model_worker  --model-path ./vicuna-7b --model-name vicuna-7b --host 0.0.0.0 --device cpu --load-8bit

使用gpu 

python -m fastchat.serve.model_worker --model-path ./vicuna-7b --model-name vicuna-7b --host 0.0.0.0  --load-8bit 

等到该过程完成加载模型,您会看到“Uvicorn 正在运行......".模型工作者会将自身注册到控制器。

要确保您的模型工作人员已正确连接到控制器,请使用以下命令发送测试消息:

python -m fastchat.serve.test_message --model-name vicuna-7b

 l输出如下就表示可以了

 然后启动一个web服务器

python -m fastchat.serve.gradio_web_server --port 8809

这时在浏览器上输入

http://localhost:8809

就可以使用了!好像用gpu可以支持多路用户并行访问!下图两个请求是同时发的

 

 

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

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

相关文章

火爆B站的阿玮老师,他带着课程走来了(含4天入门到精通Java直播课)

他来啦、他来啦 终于把百万B站用户都爱的阿玮老师盼来啦! 此处应该有掌声 如果你是B站资深用户 相信早就耳闻阿玮老师的大名啦 阿玮老师在B站有多受欢迎,你往下康康~~ 这究竟是什么神仙老师呀 来啦就出不去啦 听了阿玮老师的课 才发现 原来学习…

二分类结局变量Logistic回归临床模型预测(二)——单因素多因素logistic回归分析(二)

本节讲的是二分类结局变量的临床模型预测,与之前讲的Cox回归不同,https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/1300…

Linux shell脚本 免交互

Here Document 免交互 使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、cat 或 read 命令。 是标准输入的一种替代品 可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生产出一个“文件”并用作“命令”的标准输入。 H…

《LeetCode》—— 买卖股票的最佳时机

本期,我将给大家讲解的是有关动态规划类的题——买卖股票的最佳时机。这个系列总共有四道题。接下来,让我们一起去看看!!! 目录 (一)买卖股票的最佳时机 (二)买卖股票的…

应用案例 | 使用dataFEED OPC Tunnel解决基于DCOM的OPC Classic通信难题

一 背景 OPC(OLE for Process Control)Classic是一种基于COM(Component Object Model)的协议,用于在工业控制系统中实现数据通信和集成。它为工业自动化提供了一种标准接口,可使不同厂商的设备和系统之间进…

使用transformers框架导入t5-small模型做文本翻译

前言 在上一篇的博客基于transformer的Seq2Seq机器翻译模型训练、预测教程讲述了怎么训练一个翻译的Seq2Seq模型,这篇博客则来说说怎么使用huggingface中训练好的模型来完成翻译的任务。 环境和模型说明 要想使用huggingface中的预训练模型,首先要安装…

并行分布式计算 并行算法常用设计技术

文章目录 并行分布式计算 并行算法常用设计技术划分设计技术均匀划分 - PSRS方根划分- Valiant 归并算法对数划分功能划分 分治设计技术双调归并网络凸包问题 平衡树设计技术求最大值前缀和 倍增设计技术表序问题 流水线设计技术卷积 并行分布式计算 并行算法常用设计技术 这里…

空调群控、智能报警,这些设备有点牛

空调绝对是夏季使用率高的电器之一,尤其是今年全国各地高温不断,说“命都是空调给的”都不为过...... 在家的时候,我们可以随手开关空调,非常方便,如果是学校教学楼、工厂宿舍、银行网点、办公大楼、机房等地的管理者…

原神服务端搭建架设Centos系统

原神服务端搭建架设Centos系统 我是艾西,今天为大家带来原神服务端centos系统的教程 Step1. 准备工具 这个端在Windows、Linux系统上都可以跑,本次教程基于Linux。 准备如下工具: 服务器1台 centos7 系统 最低配置32核32G 公网联机 2. 手…

Python采集<灵剑尊>全本内容,一次性看个爽~

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 Pycharm 模块使用: requests >>> pip install requests 数据请求模块 parsel >>> pip install parsel 数据解析模块 使用知识点: python基础语法: print 输出函数 字符…

如何在繁重的工作中持续成长?

目录 一、认知:打破成长误区误区 1:个人成长和工作相互冲突误区 2:做自己没了解过的事情才是成长误区 3:学的东西越多,成长越快 二、实施:如何高效的利用时间2.1常见的时间管理法2.2 记录:提醒事…

三、easyUI中的accordion(分类)组件

1.accordion(分类)组件的概述 分类空间允许用户使用多面板,但在同一时间只会显示一个。每个面板都内建支持展开和折叠功能。点击一个面板的标题将会展开或折叠面板主体。面板内容可以通过指定的href属性使用ajax方式读取面板内容。用户可以定…

NISP含金量如何?NISP一级好考吗?

国家信息安全水平测试(NationalInformationSecurityTestProgram,通称NISP),是通过中国信息安全测评中心执行塑造我国网络空间安全优秀人才的一个项目。 含金量很高值得考,NISP分为一级、二级、三级,其中一…

【JAVA程序设计】(C00136)基于SSM(非maven)的养老院综合服务管理系统

基于SSM(非maven)的养老院综合服务管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本项目为基于SSM养老院综合服务系统,本项目分为二种角色:管理员、护工; 管理员角色包含以下功能: 管理员登录,个人资料…

java语法(二)线程并发、Juit单元测试、反射机制、注解、动态代理、XML解析、JVM

文章目录 线程并发多线程多线程的创建Thread常用API 线程同步与通信线程同步:单例模式的三种写法同步代码块同步方法Lock锁 线程通信 线程池获取线程池对象ThreadPoolExecutor线程池处理runnable任务线程池处理callable任务 Executors定时器Timer调度可重复执行任务…

Springboot +Flowable,会签、或签简单使用(一)

一.简介 **会签:**在一个流程中的某一个 Task 上,这个 Task 需要多个用户审批,当多个用户全部审批通过,或者多个用户中的某几个用户审批通过,就算通过。 例如:之前的请假流程,假设这个请假流程…

勇于创新,全力以赴,流辰信息快速开发平台助力企业提质增效!

在科技、社会、信息都快速发展的今天,每一家企业都希望能跟上时代的发展步伐,提质增效,获得长远发展。如今,办公自动化正在迅猛发展,数字化转型升级成为了各大企业的发展趋势和奋斗目标,流辰信息快速开发平…

【大数据模型】使用Claude浅试一下

汝之观览,吾之幸也!本文主要聊聊Claude使用的流程,在最后对国内外做了一个简单问题的对比,希望国内的大数据模型更快的发展。 一、产品介绍 claude官网 Claude是一款由前OpenAI的研究员和工程师开发的新型聊天机器人,…

chatGPT嵌入浏览器搜索

正文 看效果,注意右侧: 更牛的是你还可以继续向他回答的进行下一步更细节的提问,互动交流问题,妥妥的一对一辅导啊。 安装此插件后,你还可以通过选中 文字 来解读,真是爱了爱了,只想说 "&a…

数据安全治理流程设计

在上一篇讲了 政务数据分级安全保护要求(明细) 只能说可以作为前期咨询工作的理论依据之一,但数据治理具体如何展开工作?这篇简单设计下,后续会有定期更新数据安全治理这方面的文章。 数据治理是大数据发展而来也是信息技术发展而来,在之前最多是数据安全防护,当然目前很…