LLM:Vicuna 7B模型简单部署体验

news2024/12/22 19:44:11

  • 0、引入
  • 1、保存权重文件到阿里云盘
  • 2、部署环境
  • 3、上传权重文件到3090
  • 4、下载安装源码
    • 4.1 下载编译安装源码
    • 4.2 安装
  • 5、开始使用
  • 6、直接使用我的镜像立即开启人机对话
  • Debug:可能的报错

0、引入

随着ChatGPT的火热,科技公司们各显神通,针对大语言模型LLM通常需要极大的算力支持,且没有开源,阻碍了进一步的研究和应用落地。受 Meta LLaMA 和 Stanford Alpaca 项目的启发,来自加州大学伯克利分校、CMU、斯坦福大学和加州大学圣地亚哥分校的成员,共同推出了一个 Vicuna-13B 开源大模型。

根据论文显示,其Vicuna-13B可以达到ChatGPT/Bard 90%以上水平,并且开源,并且Vicuna-7B模型可以在单卡上面运行(github说7B需要16GB的现存,亲测在3090上面可以运行,速度挺快)。

目前Vicuna开源了模型权重以供大家进行研究和微调,本文受限于算力仅尝试运行7B模型。

本文大概的流程是:首先将权重文件保存到阿里云盘中(12GB),然后在autodl云服务器中开一台3090,使用autodl提供的离线下载将阿里云盘的权重下载到3090中,然后下载Vicuna的代码进行编译安装,就可以执行测试了。

章节1-5为具体部署方法,如果觉得太麻烦,可以直接看章节6:直接使用我的镜像立即开启人机对话,通过加载镜像后两行代码就可以开启对话

1、保存权重文件到阿里云盘

官方没有直接放出权重文件,而是需要通过增量和LLM自己进行转换,转换7B的权重需要30GB的RAM才可以。所以这里直接分享转换后的权重下载即可。

vicuna-7b-小羊驼 点击链接保存到自己云盘(note:不需要下载)

2、部署环境

Vicuna最小的7B模型也需要14GB的显存,(穷,没有)所以使用autodl租一台3090,也便宜一般1~1.5一小时。选择一台3090,它拥有24GB显存,运行7B模型已经够了。

在创建时选择框架:Pytorch1.10+Py3.8+CUDA11.3
在这里插入图片描述

3、上传权重文件到3090

该部分在autodl的帮助下,将阿里云盘权重直接下载到3090,不需要经过本机下载再上传。

当我们开启一台机器后可以看到下面的信息
在这里插入图片描述
点击“AutoPanel”进入面板,选择“公网网盘”,此时选择阿里云盘并扫码登录,就可以看到你的文件了。

找到vicuna-7b文件夹(里面就是相关权重文件),点击下载。
在这里插入图片描述

下载完成后,该模型权重就在我们3090的/root/autodl-tmp/里了,一会儿就可以直接使用。
权重文件较大,传输比较耗时,你可以点击右上角的传输任务查看进度。
在这里插入图片描述

4、下载安装源码

4.1 下载编译安装源码

首先从 v0.1.10下载“Dource code(zip)”并上传。如下如所示在1标记处可以上传文件,基本的上传进度条完成后可以在左侧看到FashChat-0.1.10.zip

然后,点击“终端”打开终端,使用命令"unzip FastChat-0.1.10.zip -d ./"进行解压,成功后可以看到FastChat-0.1.10文件夹

note:不要去主页下最新版,最新版与本文的权重不符,会有小bug。
在这里插入图片描述

4.2 安装

首先在终端进入文件夹:cd FastChat-0.1.10
在这里插入图片描述
为了方便访问从github下载,请根据自己机器的区域设置代理AutoDL帮助文档
比如我的是毕业季A去所以执行:
export http_proxy=http://10.0.0.7:12798 && export https_proxy=http://10.0.0.7:12798
在这里插入图片描述

然后依次执行:
sudo pip3 install --upgrade pip
sudo pip3 install -e .

至此一切就绪!

5、开始使用

一些配置好后,在终端中执行使用命令:
python3 -m fastchat.serve.cli --model-path ~/autodl-tmp/vicuna-7b/
等待加载chckpoint完成后,就会有提示符“Human:”就可以进行人机对话了
在这里插入图片描述

6、直接使用我的镜像立即开启人机对话

如果觉得上面的步骤太麻烦,使用我制作好的镜像,直接输入命令就可开启对话。

首先你需要获取我准备好的镜像,受限于autodl镜像分享只能通过指定id的方式,你可以在评论区留下你的autodl的ID,我分享给你。

你的id在这里查看:
在这里插入图片描述
假设你已经有了镜像,然后去租一台3090,在控制台将3090关机,从“更多”中选择“更换镜像”,选中我分享的镜像,等待重置完成。

开机后,一次执行:
cd FastChat-0.1.10
python3 -m fastchat.serve.cli --model-path vicuna-7b/
在这里插入图片描述
就可以开启对话了

Debug:可能的报错

在这里插入图片描述
上次执行使用命令占用的显存没有释放,只需要如下图关闭该终端,然后新开终端进入FastChat文件夹后再使用执行命令即可再次对话
在这里插入图片描述

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

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

相关文章

设计模式之中介者模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、中介者模式是什么? 中介者模式是一种行为型的软件设计模式,也称为仲裁者模式,顾名思义&am…

nginx--基本配置

目录 1.安装目录 2.文件详解 2.编译参数 3.Nginx基本配置语法 1./etc/nginx/nginx.conf 2./etc/nginx/conf.d/default.conf 3.启动重启命令 4.设置404跳转页面 1./etc/nginx/conf.d/default.conf修改 ​2. 重启 5.最前面内容模块 6.事件模块 1.安装目录 # etc cd …

排序-时间复杂度

技巧:先处理 内层 一次排序,在处理外面 直接插入排序 升序 最坏(遇到降序):O(N^2) 等差数列 123…(n-1) (n^2-n)/2 最好(有序) O(N) 希尔排序 gap 任何数字/2都是1 gap/3 1 保证gap最后是1 gap是多少 就分了多少组,每组数据可能少一点&…

根文件系统移植:bulidroot根文件系统搭建详细步骤

bulidroot根文件系统 文章目录bulidroot根文件系统1.buildroot 下载2 配置 buildroot1、配置 Target options2、配置 Toolchain3、 配置 System configuration4、配置 Filesystem images5、 禁止编译 Linux 内核和 uboot6、配置 Target packages3 编译 buildroot4 buildroot 根…

第一章 计算机网络概述

计算机网络基本概念 计算机网络是计算机技术与通信技术相互融合的产物计算机网络是互连的、自治的计算机的集合 自治——互连的计算机系统彼此独立,不存在主从或者控制与被控制关系互连——利用通信链路连接相互独立的计算机系统 目前最大的、应用最广泛的计算机网…

函数栈帧的创建和销毁(带你进一步深入理解函数的执行流程)

本文主题 什么是函数栈帧? 理解函数栈帧能解决什么问题? 函数栈帧的创建和销毁解析 1. 什么是函数栈帧 ? 我们在写C语言代码的时候,经常会把一个独立的功能抽象为函数,所以C程序是以函数为基本单位的。 那函数是如何…

人人都是数据分析师-数据分析之数据图表可视化(上)

BI报表、运营同学的汇报报告中数据图表大多为 表格、折线图、柱状图和饼图,但是实际上还有很多具有代表性的可视化图表,因此将对常见的可视化图表进行介绍,希望这些图表可视化方法能够更好的提供数据的可用性。 导语 数据是我们在数据分析工…

通过1个IP地址同时采集2台西门子S7200 Smart的数据

一、应用场景 制药厂的颗粒包装机,控制系统由2台西门子S7200 Smart的PLC和1台昆仑通泰MCGS的触摸屏组成。现在MES管理系统,需要采集设备的数据,只提供一个IP地址,且IP地址和原系统不在同一个网络段内。 二、原系统架构 2台西门子S…

浅析DNS Rebinding

0x01 攻击简介 DNS Rebinding也叫做DNS重绑定攻击或者DNS重定向攻击。在这种攻击中,恶意网页会导致访问者运行客户端脚本,攻击网络上其他地方的计算机。 在介绍DNS Rebinding攻击机制之前我们先了解一下Web同源策略, Web同源策略 同源策略…

智慧校园人员定位系统解决方案

人员定位是安全管理中最重要的一个环节,尤其是石化、矿业、电力、建筑等高危行业,人员安全管理更是重中之重,除了工业领域,其它领域也需要人员安全管理,比如:学校、医院、养老院、物业、环卫等。下面我们以…

SpringSecurity之基本原理——过滤器加载过程

前言 前一篇讲解了SpringSecurity的过滤器链的基本只是,今天我们就要进入过滤器,看看其加载过程是如何的? 相信认真度过第一篇文章的小伙伴还记得,我说在SpringBoot出现后,帮助我们省去了那些繁琐的配置,…

2023年MathorCup数模A题赛题

A 题 量子计算机在信用评分卡组合优化中的应用 在银行信用卡或相关的贷款等业务中,对客户授信之前,需要先通过 各种审核规则对客户的信用等级进行评定,通过评定后的客户才能获得信 用或贷款资格。规则审核过程实际是经过一重或者多重组合规则…

树的直径问题

一,定义 树的直径就树中所有最短路经距离的最大值 求取树的直径可以使用两遍dfs或者树形dp获得 二,两遍dfs获得树的直径(注意,该方法边权必须都为正边权) 思路: 我们首先任取一点走dfs,然后…

索引:索引知识重复习,什么是索引、索引的类型、建立索引及【最左匹配原则】、Explain查看sql的执行计划

文章目录什么是索引索引的类型主键索引(primary key)普通索引(index)复合索引全文索引(fulltext)空间索引唯一索引索引修改及删除Explain一、using filesort(减慢查询效率)二、Using temporary三、using in…

TensorFlow 1.x学习(系列二 :3):变量与tensorboard可视化

文章目录1.变量2.可视化学习 Tensorboard3.可视化过程中遇到的问题:import tensorflow as tf1.变量 变量op: 变量也是一种OP,是一种特殊的张量,能够进行存储持久化,它的值就是张量,默认被训练和常量不同(…

15个 AI-powered应用,加速学术写作和阅读

文章目录写作方面1.Jenni AI(推荐)2.Paperpal阅读方面3.Schoarlcy4.chatpdf5.Casper6.SciSpace(推荐)文献管理/写论文笔记用7.lateral8. ClioVis9.Glasp10. Audiopen学术目的的搜索引擎11. Consensus(推荐)…

【私有云盘】搭建PHP轻量文件管理器 - TinyFileManager「公网远程访问」

文章目录前言1. Tiny File Manager网站搭建1.1.Tiny file manager下载和安装1.2.Tiny file manager网页测试2. Cpolar内网穿透的安装和注册2.1 本地网页发布2.2 Cpolar云端设置2.3 Cpolar本地设置3. 公网访问测试4. 结语前言 文件共享和查阅是现在网络最常见的应用场景&#x…

windows环境nodejs卸载与安装

windows环境nodejs卸载与安装一、卸载1.1 控制面板卸载程序1.2 手动清理相关文件夹二、安装2.1 下载安装包2.2 安装操作2.3 验证安装是否成功2.4 环境变量设置2.4.1 node程序添加到系统环境变量PATH2.4.2 修改全局模块下载路径2.4.2.1 node_global路径变量2.4.2.2 node_modules…

Docker应用部署

文章目录Docker 应用部署一、部署MySQL二、部署Tomcat三、部署Nginx四、部署RedisDocker 应用部署 一、部署MySQL 搜索mysql镜像 docker search mysql拉取mysql镜像 docker pull mysql:5.6创建容器,设置端口映射、目录映射 # 在/root目录下创建mysql目录用于存…

【Go语言从入门到精通系列-基础篇】Go语言包的管理以及基础语法与使用。

系列文章目录 【Go语言从入门到精通系列-基础篇】Go安装 语言特性,以及开启你人生中的第一个go程序 【Go语言从入门到精通系列-基础篇】Go语言包的管理以及基础语法与使用。 Go语言从入门到精通系列-基础篇系列文章目录前言第二章 Go语言包的管理以及基础语法与使…