win10,win11 下部署Vicuna-7B,Vicuna-13B模型,gpu cpu运行
运行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.1python -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 cpupython -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-8bitpython -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 | PyTorchhttps://pytorch.org/get-started/locally/
由于这台电脑 之前的NVIDIA GPU Computing Toolkit是 v10.0的这个pytorch 2.0.1 要求的是11.8的,于是要更新一下CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive
要注册帐号下载,11.8的版本
下载完这个以后安装,这时环境变量也发生了变化。
然后必须再下载cuDNN,也要下载对应的版本
cuDNN Archive | NVIDIA Developerhttps://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可以支持多路用户并行访问!下图两个请求是同时发的
win10,win11 下部署Vicuna-7B,Vicuna-13B模型,gpu cpu运行相关推荐
- 【win10/win11下启动wsl/wsl2出现“占位程序接收到错误数据“启动失败的解决办法】
win10/win11下启动wsl/wsl2出现"占位程序接收到错误数据"启动失败的解决办法 出现场景: 出现原因: 解决方法: github上有相关的issue: https:/ ...
- Win10/Win11下图片扩展安装 HEVC/HEIF/CR2等
一.安装Microsoft 照片和电影和电视 图像扩展和视频扩展只在微软自己的照片和播放器支持,也就是说对应格式的文件也只能用这俩应用打开. Microsoft 照片https://www.micro ...
- Win10/Win11下清除windows defender安全中心病毒和威胁防护历史记录
一.手动清理方式 资源管理器打开下面路径: 1.定位到C:\ProgramData\Microsoft\Windows Defender\Scans\History\Results 把子文件夹Quic ...
- 【切片软件】win10/win11下Cura4.13.1打开STL崩溃
更改环境变量中的Temp 官方bug尚未修复: https://github.com/Ultimaker/Cura/issues/9644 https://support.ultimaker.com/ ...
- WIN7/WIN10/WIN11系统下触屏软键盘无法跟随跳出,桌面模式无法自动弹出(随动键盘)
1.开启自动弹出软键盘的功能. 按组合键 "Win+I" 进入Windows设置,选择设备 > 输入,勾上 "不处于平板电脑模式且未连接键盘时显示触摸键盘" ...
- 【windows】win10/win11 更改window文件夹下的中文用户名 C:\Users\用户名\
win10/win11 家庭版中文用户名改英文用户名方法(包括User下的用户文件夹) 问题描述:在最开始新电脑设置用户名称的时候,为了方便,就把用户名设置成自己的中文名字了.但是在后面越来越多的情况 ...
- 【工具使用】Win10/Win11 系统下获得管理员权限
文章目录 1.获得管理员权限 2.获得真·管理员权限 3.重启电脑生效 4.修改打开方式 5.修改Win10/Win11通知 经常出现一种情况:我明明是管理员,但打开时还是显示不是管理员权限 1.获得 ...
- 【WSL2小技巧】Win10/Win11 开机自动启动 WSL2 下 Ubuntu 内 Linux 程序
Win10 开机自动启动 WSL2 下 Ubuntu 内 Linux 程序 前言 一.启动过程 二.开机自启举例 1. 安装Linux程序(以redis为例,redis安装过程略) 2. 编写启动re ...
- win10系统下使用onnxruntime部署yolov5模型
文章目录 前言 一.环境 1.硬件 2.软件 二.YOLO模型 三.新建Qt项目 1.pro文件 2.mainwindow.h 3.mainwindow.cpp 四.YOLO 类封装 1.yolov5 ...
最新文章
- 毕业后的五年拉开大家差距的原因在哪里
- JavaScript正则表达式在线测试工具
- 快搜浏览器_郑秀晶因腿粗再上热搜:怎么减肥才能不反弹?
- 方立勋_30天掌握JavaWeb_使用httpUrlConnection模似ie
- Effective Objective-C 2.0 初读小结
- There is no public key available for the following key IDs:3B4FE6ACC0B21F32
- idea如何反编译字节码指令_美团点评:Java字节码增强技术,线上问题诊断利器...
- 【分享用于学习C++图像处理的代码示例】框架
- LINUX给进程内容窗口改名的代码
- 3-订单持续时间的计算
- 干货 | 产品经理如何画脑图
- 网络协议基础05--数据链路层
- 红米4鸿蒙系统刷机包,小米 红米4 高配版获取Root权限服务含精简系统方案
- axure中备注线_axure 备注怎么写
- 基础博弈论(NIm,威佐夫,巴什游戏)
- NFC通信基本原理 主动和被动通信
- 使用U盘安装 mac os
- 和 谐 文 化 简 介
- 低频超声检测c语言程序设计教程课后答案,《超声检测》课后习题
- 用JAVA编制电子白板软件