开源GPT-4小羊驼(Vicuna)快速上手指南

news2024/7/6 20:06:00

小羊驼(Vicuna)是什么

Vicuna: 一个开源的GPT,宣称实现了GPT-4 90%的功能。
UC伯克利学者联手CMU、斯坦福等,再次推出一个全新模型70亿/130亿参数的Vicuna,俗称「小羊驼」(骆马)。
并且和其他以往不同的是你可以在自己的设备上跑起来!比如Mac,再比如你的主力机!

官网在这:https://vicuna.lmsys.org
体验点这个(如果打不开就用魔法):https://chat.lmsys.org
在这里插入图片描述

一.环境准备

  • ubuntu 20.04 (自带python3,且版本满足要求)
  • 硬盘大约200G左右(100G也不是不能用,最好是200G,50G肯定是不行)
  • 内存(计划用vicuna-7b的30G,vicuna-13b的60G,选哪个大家自己按需,满分100的话7b大概是40分,13b的话大概70分)
  • 显卡(越贵越好,风浪越贵鱼越大)
    以我自己的环境为例:
    1.E5-2697-V2,64G内存,没有用显卡,能跑但是速度十分难受。
    2.Macbook Pro M1 pro版本16+512,7b的能跑,效果还行。

二.开始操作

1.LLaMa模型下载与转换

1.1 模型下载
磁力链接:magnet:?xt=urn:btih:b8287ebfa04f879b048d4d4404108cf3e8014352&dn=LLaMA
大家自行按需下载
在这里插入图片描述
以7b为例下载之后的模型长这样

在这里插入图片描述
这里我下载的路径是/home/douding/LLaMA
1.2 模型转换

$ git clone https://github.com/huggingface/transformers.git
$ cd transformers
7B参考下面的
$ python3 src/transformers/models/llama/convert_llama_weights_to_hf.py \
    --input_dir /home/douding/LLaMA --model_size 7B --output_dir ./output/llama-7b
 13B看这个
 $ python3 src/transformers/models/llama/convert_llama_weights_to_hf.py \
    --input_dir /home/douding/LLaMA --model_size 13B --output_dir ./output/llama-13b

转换完成后会在/home/douding/transformers/output中看到你的模型
在这里插入图片描述

2.小羊驼模型合并与生成

$ pip3 install fschat
$ pip3 install git+https://github.com/huggingface/transformers 
7b参考如下
$ git clone https://huggingface.co/lmsys/vicuna-7b-delta-v0
 注意这里需要手动下载大文件到/home/douding/lmsys/vicuna-7b-delta-v0中

在这里插入图片描述

$ python3 -m fastchat.model.apply_delta \
    --base /home/douding/transformers/output/llama-7b \
    --target /home/douding/vicuna-7b \
    --delta /home/douding/lmsys/vicuna-7b-delta-v0
 13b参考如下
 $git clone https://huggingface.co/lmsys/vicuna-13b-delta-v0 /home/douding/lmsys/vicuna-13b-delta-v0

注意这里需要手动下载大文件到/home/douding/lmsys/vicuna-13b-delta-v0中
在这里插入图片描述

 $ python3 -m fastchat.model.apply_delta \
    --base /home/douding/transformers/output/llama-13b \
    --target /home/douding/vicuna-13b \
    --delta /home/douding/lmsys/vicuna-13b-delta-v0

成功后会对应的目录/home/douding/vicuna-7b和/home/douding/vicuna-13b中看到对应的小羊驼模型
在这里插入图片描述
在这里插入图片描述

我这里提供已经做好了的小羊驼模型(含7b和13b):
链接: https://pan.baidu.com/s/1t2He47-qDCYYJ38pak_beQ?pwd=w9nw 提取码: w9nw

3.运行

CPU纯享版

python3 -m fastchat.serve.cli --model-path /path/to/vicuna/weights --device cpu

GPU畅爽版

python3 -m fastchat.serve.cli --model-path /home/douding/vicuna-7b

Mac勉强享受版

python3 -m fastchat.serve.cli --model-path /home/douding/vicuna-7b --device mps --load-8bit

贴一张运行成功的截图,虽然满慢,但……充钱就可以变强!

在这里插入图片描述

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

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

相关文章

数据库管理-第六十五期 Oracle 23c新特性(20230411)

数据库管理 2023-04-11第六十五期 Oracle 23c新特性1 免费版23c目录结构2 新特性总结第六十五期 Oracle 23c新特性 上一期装了免费版23c,这一期根据安装的数据库,对Oracle 23c的部分新特性进行实验展示。 1 免费版23c目录结构 通过RPM包安装的免费版2…

静态时序分析Static Timing Analysis1——STA概述、标准工艺库、时钟、IO约束的建立

文章目录前言一、静态时序分析概述1、时序路径分类2、STA和动态仿真比较3、PVT4、不同时钟域5、建立时间、保持时间6、恢复时间、移除时间二、标准工艺库1、标准单元延时模型2、slew derate三、STA约束的建立1、时钟约束1.1 时钟定义1.2 时钟不确定性1.3 时钟延时1.4 生成时钟2…

2023年4月的编程语言排行榜,有你中意的开发语言吗?

编程世界变幻莫测,编程语言也是层出不穷,每隔一段时间就有新的风口出现。2023年的风口非人工智能莫属,人工智能领域中不可获取的编程语言就是Python,作为在算法、数据方面有独特优势的编程语言,从去年开始就展现了它不…

Linux03——文件系统及结构、命令

目录 一、前言 二、文件目录 三、文件系统 四、文件目录命令 五、系统信息命令 六、通讯网络命令 七、磁盘类命令 八、进程管理命令 一、前言 Linux特点是开放性遵循OSI国际标准;多用户每个用户有各自权限;多任务;GUI和系统调用界面&…

Java每日一练(20230411)

目录 1. 同构字符串 🌟 2. 随机字符串 🌟 3. 交错字符串 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 同构字符串 给定两个…

京东技术专家首推:Spring微服务架构设计,GitHub星标128K

前言 本书提供了实现大型响应式微服务的实用方法和指导原则,并通过示例全面 讲解如何构建微服务。本书深入介绍了Spring Boot、Spring Cloud、 Docker、Mesos和Marathon,还会教授如何用Spring Boot部署自治服务,而 无须使用重量级应用服务器…

SAP开发环境ABAP的搭建(客户端和服务器),Developer Key和AccessKey的绕过方法

目录 一.前言 二.客户端GUI安装 1.下载好SAP GUI 750 2.解压后找到SAPGUISetup.exe 3.安装 4.安装完整教程 三.服务端搭建 1.安装VmWare虚拟机 2.下载虚拟机镜像 3.打开虚拟机 4.调整内存大小 5.启动虚拟机 四.创建程序 1.创建包 2.创建程序 3.Developer Key和A…

C语言——变参函数

一、定义 一般函数的参数列表是固定的,所以在调用时传入的实参的个数和格式必须和实参匹配;在函数式中,不需要关心实参,直接调用形参即可。 变参函数,就是参数的个数及类型都不确定的函数,常见变参函数如pr…

jenkins的slave节点构建java失败

背景: 主节点构建没问题的,为了缓解压力增加了个从节点,但是发现同个应用分配到从节点构建时报错,主节点构建就正常。但是我的从节点是把主节点克隆过去的, 理论环境配置java——maven啥都是一模一样才是。不理解。 …

Markdown基础语法:快速入门指南

什么是Markdown Markdown是一种轻量级的标记语言,它的目标是让文本内容更加易读、易写和易于转换成HTML等格式。Markdown语法简单、直观,适合用于写作、博客、笔记、文档等场景。Markdown最初由John Gruber和Aaron Swartz于2004年创建,现在已…

从手动实现web开发到借助IDEA实现web开发的具体流程分析,详细介绍webapp的目录结构和web站点的欢迎页面的设置

使用Tomcat手动实现WEB开发 实现静态的web应用(没有java小程序) 第一步:找到CATALINA_HOME\webapps目录(Tomcat服务器要求所有的web应用都要放到webapps目录下, 这样它才能找到你的web应用) 第二步:在CATALINA_HOME\webapps目录下新建一个oa的子目录(…

闭环控制里的采样周期和执行周期

运动控制对系统的实时性要求都非常高。所以大家可以看到运动控制总线的刷新周期越来越快,越来越短。今天我们讨论下实时性不高的总线会带来哪些问题和挑战,以及这种大延时总线如何解决实时性问题,运动控制实时性问题还可以参看下面的文章博客: 随动控制之跟随给定和跟随反…

Python一行命令搭建HTTP服务器并外网访问【内网穿透】

文章目录1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置4.公网访问测试5.结语转载自远程内网穿透的文章:【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透」 1…

20从零开始学Java之牛闪闪的for循环是怎么用的?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在前面的文章中,壹哥给大家讲解了顺序结构、分支结构,接下来我们就来学习Java…

面试篇-Java输入输出三兄弟大比拼:IO、NIO、AIO对比分析

1、Java I/O发展史 Java IO(Input/Output)是Java语言中用于读写数据的API,它提供了一系列类和接口,用于读取和写入各种类型的数据。下面是Java IO发展史的简要介绍: JDK 1.0(1996年&#…

Android进阶宝典—事件冲突的解决方法

相信伙伴们在日常的开发工作中,一定会遇到事件冲突的问题,e.g. 一个页面当手指滑动的时候,会翻到下一页;点击的时候,需要响应页面中的元素点击事件,这个时候如果没有处理滑动事件,可能遇到的问题…

c++的多态

目录 1、多态 1.1多态的构成条件 1.2多态的好处 2、虚函数 2.1虚函数重写 2.2虚函数的默认参数 2.3纯虚函数重写 2.4抽象类 2.5虚析构,纯虚析构重写 3、重载、覆盖(重写)、隐藏(重定义)的对比 ​编辑 多态是c面向对象三大特性之一 程序调用函数时&#…

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

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

QT网络通信-服务器(一)

目录 1、简介 2 、TCP通信流程 3、基于TCP通信所需要的类 4、QT端设计 4.1项目建立 4.2 TCP网络程序设计 4.2.1 QT界面设计 4.2.2 UI布局 4.2.3 控件重命名 5、widget.h 6、widget.c 1、简介 网络有TCP和UDP。本文主要通过QT完成TCP网络设计,通过ESP8266与单片…

JavaEE简单实例——一些基本操作

在配置类中配置页面解析器 之前我们使用页面解析器是在XML配置文件中使用的,但是当我们试用了纯注解式的整合之后,我们没有了配置文件,要如何去将之前我们在配置文件中编写的前端控制器,以及静态资源的释放这些功能配置添加到项目…