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

2023-10-26

运行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 | 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可以支持多路用户并行访问!下图两个请求是同时发的

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

win10,win11 下部署Vicuna-7B,Vicuna-13B模型,gpu cpu运行 的相关文章

  • 我可以使用子模块制作 git 存储库的“深层副本”吗?

    克隆整个项目及其所有子模块很容易 git clone recursive email protected cdn cgi l email protection homer powerplant git 但是 如何创建一个克隆 将所有这些子模
  • 无法在 AWS Opsworks 上使用 Chef 12 找到 Chef 社区食谱

    问题 在 AWS OpsWorks 上运行自定义说明书时setup failed状态针对实例显示 并且故障日志中显示以下内容 2016 03 26T22 53 48 00 00 INFO Started chef zero at chefz
  • 在 GIT 中处理 Rails db/schema.rb 文件的正确方法是什么?

    我们应该包括schema rb同时致力于 GIT 或者我们应该忽略它 什么是正确的做法 好标准schema rbRails 2 文件在文件顶部的注释块末尾有这样的内容 It s strongly recommended to check t
  • Xcode:多人共享相同的 Bundle ID

    我正在和朋友一起开发 iOS 应用程序 我们都以个人身份报名参加了 Apple 开发计划 我们没有组织 我们正在使用 git 并且希望能够从 Mac 构建应用程序 但我无法编译 因为 Bundle ID 已被我的朋友使用 是否有可能在不成为
  • 一台机器上有多个 gitolite 用户

    我已经在远程计算机上设置了 gitolite 并从本地配置了它 我不想让我的活动显示为 admin 并创建用户和密钥 noah 为 noah 创建存储库后 我被拒绝访问 我相信 因为我仍然是 管理员 所以我在一台机器上有两个帐户 我该如何切
  • 忽略 git 项目上的任何“bin”目录

    我有一个这样的目录结构 git gitignore main tools 在 main 和 tools 以及任何其他目录中 在任何级别 都可以有一个 bin 目录 我想忽略它 并且我也想忽略它下面的所有内容 我已经在 gitignore 中
  • 有没有办法摆脱 git status 中的帮助消息?

    Changes not staged for commit use git add
  • 如何在本地执行 Capistrano 任务?

    我定义了一个自定义 Capistrano 任务 该任务应该在本地运行 在我的开发计算机上 desc Push code to Dreamhost task push do run git push dreamhost end 但是当我尝试跑
  • 如何删除 git 中的本地存储库? [复制]

    这个问题在这里已经有答案了 我找不到命令 我尝试谷歌搜索 git 删除存储库 删除 git如果您只想删除与 git 相关的信息 分支 版本 请在存储库的根目录中删除该目录 如果你想删除所有内容 git data 代码等 只需删除整个目录即可
  • git push 忽略 cocoapods

    我开发 iOS 应用程序已有几个月了 现在 我想将其推送到 bitBucket 上 问题是 git push 忽略与 cocoapods 相关的所有文件 例如 project xcworkspace Podfile Podfile lock
  • Jenkins 多分支管道扫描无限重建

    我必须处理以下情况 我正在 Blue Ocean Git Maven 上运行 Jenkins Pipeline 我已经设置了 扫描多分支管道 选项来检查每个X如果 Git 存储库上发生更改 则需要几分钟 在这种情况下 请重新启动作业 我的管
  • Jenkins Git Publisher 标签未检测到环境变量

    在我的 Jenkins bash 脚本中 我导出以下环境变量 export TAG NAME v LIVE VERSION LIVE BUILD 在 Git 发布者部分中 我尝试创建一个标签 其标签名称字段填充为 TAG NAME 但它试图
  • git add 错误:“致命:malloc,内存不足”

    当我尝试执行 git add 时 出现错误 致命 malloc 内存不足 我想系统显然已经耗尽了内存 但是有没有办法解决这个问题 我还运行 Windows Server 2003 并使用 msysGit 编辑 经过更多搜索后 我认为这是 g
  • Git 挑选文件,从目录 A 到目录 B

    我有一个项目 一直在进行一些实验性的改变 到目录 A 中的子项目 但是 在项目的 master 分支中 子项目已移动到一个单独的目录 即目录 B 我有大约 10 个提交 我想有效地将 其挑选到 master 中 但是我如何告诉 git 将旧
  • 如何在 GitLab CI 构建期间从私有 GitLab Git 存储库中提取 NPM 依赖项

    我有一份工作 gitlab ci yml执行以下操作的文件npm install像这样 test image node 10 script npm install npm test 问题是我在我的项目中引用了一个私有的 GitLab 存储库
  • 无法使用 git 扩展加载我的私钥

    过去2小时我一直在努力 我使用 xp dev 作为 git 存储库提供程序 因为我已经付款并且那里有 svn 存储库 我已经给了 xp dev 我的公钥 但是当克隆我的仓库时 我被拒绝了 C Program Files x86 Git bi
  • 为什么 git checkout 不创建新的跟踪分支?

    TLDR 如果 X 作为远程分支存在 则git checkout X应该创建它的本地分支 就我而言 对于单个分支来说 情况并非如此 远程存储库有一个master release 和其他一些分支 比如refactor update I do
  • 使用git打开文件的命令

    我将 Sublime Text 作为 git 中的默认编辑器 并且它有效 git config edit在 Sublime Text 中打开配置文件 很棒 我的问题 打开命令是什么index html or style css从项目目录内部
  • 在 Visual Studio 2013 中禁用 git

    我有一个由 tfs 管理的存储库 然而在本地 我想通过 git 管理它 并将更改推送到 tfs 一旦我在团队资源管理器中创建 git 存储库 VS2013 就会显示该解决方案仅由 git 管理 如果我尝试编辑任何文件 它会抱怨该文件是只读的
  • GIT 和推送忽略的文件

    使用 git 时必须遵循的具体程序是什么 我将给出我的程序 不知何故 它工作得不太顺利 cloned a repository works fine added settings files to gitignore to prevent

随机推荐

  • 算法训练营第三十六天(8.26)

    目录 Leecode 198 打家劫舍 Leecode 213 打家劫舍 II Leecode 337 打家劫舍III Leecode 198 打家劫舍 题目地址 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 题目类型 打家劫舍
  • Android Studio快捷键的设置

    设置好主题和字体之后 http blog csdn net yzzdmzdfq article details 51291322 很多小伙伴们开始迫不及待的编程了 很快就会发现 好像快捷键用起来不太舒服 于是想要设置一下快捷键 那么问题来了
  • JS原型、原型链到底是什么?

    前言 在js的学习中 原型毫无疑问是一个难点 但也是一个不可忽视的重点 在前端面试中也是一个高频考题 在接下来的深入学习中 你会发现原型 原型链等知识点其实并不难 1 一切皆为对象 JavaScript是一个面向 原型 对象的语言 对象是属
  • Linux网络基础 — 网络层

    目录 IP协议 IP协议报头格式 网段划分 特殊的IP地址 IP地址的数量限制 私有IP地址和公网IP地址 路由 补充 网络层 在复杂的环境中确定一个合适的路径 IP协议 ip具有将数据从 主机A 跨网络送到 主机B 的能力 主机 配有IP
  • 如何在CMD下增加IP地址

    1 修改IP地址 注意事项 如果是设置有多IP的情况下 将清除其它IP 只保留此次命令中设置的IP地址 netsh interface ip set address name 本地连接 source static addr 192 168
  • 最大区间交

    先将所有区间按照左端点排序 然后遍历所有区间进行以下操作 第i个区间 a b ans max ans min maxr b a 1 maxr max maxr b
  • 从零开始实现C++ TinyWebServer(九)---- 项目知识点总结

    文章目录 前言 项目介绍 为什么要做这样一个项目 项目背景 项目描述 项目功能 项目流程 项目重难点 项目效果 解决方案 个人收获 线程池 线程的同步机制有哪些 线程池中的工作线程是一直等待的吗 如果同时1000个客户端进行访问请求 线程数
  • com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼...

    Spring boot使用MyBatis mysql配置运行时报错com mysql cj exceptions InvalidConnectionAttributeException The server time zone value
  • Odoo的XMLRPC调用

    Odoo的XMLRPC调用 使用场景 需要运行脚本调用odoo的模型方法 对数据库进行修改 企业内部有多个系统服务 系统间互相调用模型方法 基本调用过程 服务端定义好模型和方法 服务端odoo orm方法能被调用 加了 api model装
  • pytorch 详解NLLloss 与crossEntry

    NLLloss 与CrossEntry
  • 【Java进阶】多线程&高并发(一)<线程概述>

    一 线程相关概念 1 进程 进程 process 是计算机中的程序关于某数据集合上的一次运行活动 是操作系统进行资源分配与调度的基本单位 进程可以简单理解为正在操作系统中运行的一个程序 2 线程 线程 thread 是进程的一个执行单元 一
  • qt自定义带参数的构造函数(构造函数传参)

    源文件 h中 class Test public QMainWindow Q OBJECT public explicit Test QString path QWidget parent 0 构造函数有默认值的要放右边 新添加的参数需要放
  • 《软件工程》第七章 实现 作业

    1 什么是模块测试和集成测试 它们各有什么特点 1 模块测试 指把每个模块作为一个单独的实体来测试 目的是发现模块内部可能存在的差错 保证每个模块作为一个单元能正确运行 所以又称单元测试 对多个模块的测试可以并发进行 在这个测试步骤中所发现
  • vscode安装go插件以及语言开发包

    vscode安装go插件及语言安装包过程 没有go环境和vscode的可以先安装go和vscode 接下来步骤主要通过vscode插件的方式安装go的插件以及语言开发包 vscode安装go插件 启动vscode选择插件 gt 搜go选择G
  • [分布式]:分布式系统的CAP理论

    2000年7月 加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想 2年后 麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP 之后 CAP理论正式成为分布式计算领域的公认定
  • Latex(texlive)安装配置教程(详细)

    1 下载安装及打开方式 在浏览器里输入 texlive mirror 一般会找到清华大学的镜像网站 我这里是选择texlive2021 20210325 iso文件下载的 iso文件其实就像一个硬盘 下载好以后在你下载的目录双击打开这个is
  • 关于linux下android studio更新下载SDK和加速访问Github的方法

    文章参照以下的两篇文章 这里做一下总结 Linux中加速访问github zonyZhang 博客园 解决连不上dl google com的问题 简书 1 登录 dl google com A记录 cname检测结果 Dns查询 dns查询
  • 数据挖掘是如何解决问题的

    数据挖掘是如何解决问题的 本节通过几个数据挖掘实际案例来诠释如何通过数据挖掘解决商业中遇到的问题 2 1 1节中关于 啤酒和尿不湿 的故事是数据挖掘中最经典的案例 而Target公司通过 怀孕预测指数 来预测女顾客是否怀孕的案例也是近来为数
  • 一个完整的测试流程包括哪些?测试人员需要做什么?

    目录 前言 1 需求交接 2 编写测试用例 3 冒烟测试 4 SIT测试 5 数据升级测试 视情况而定 6 系统培训 视情况而定 7 UAT测试 8 上线 结语 前言 在实际工作中 其实很少有公司把一个完整的测试流程一步一步走下来 大多会执
  • win10,win11 下部署Vicuna-7B,Vicuna-13B模型,gpu cpu运行

    运行Vicuna 7B需要RAM gt 30GB或者14GB的显存 运行Vicuna 13B需要RAM gt 60GB或者28GB的显存 如果没有上面的硬件配置请绕行了 我笔记本有64G内存 两个都跑跑看 使用python3 9 当时转换1