Vicuna 模型学习与实战

news/2024/11/24 13:51:07/

1 环境搭建

构建python环境

conda create -n vicuna python=3.8    # 创建新环境
source activate vicuna                       # 激活环境

安装 FastChat

pip install fschat

从 github 下载 FastChat repository 安装

  1. clone repository,然后 加入 FastChat folder
git clone https://github.com/lm-sys/FastChat.git
cd FastChat

PS : FastChat commit version : 55051ad0f23fef5eeecbda14a2e3e128ffcb2a98

2 Vicuna Weights 生成

官方提供 的 Vicuna Weights 生成方式

我们将 Vicuna Weights 作为 delta weights 发布,以符合LLaMA模型许可证。您可以将我们的delta添加到 原始 LLaMA Weights 中,以获得 Vicuna Weights 。说明:

按照 此处 的说明,以 huggingface format 获取原始 LLaMA Weights;
使用以下脚本通过应用我们的delta来获得 Vicuna weights 。他们会自动从我们的 Hugging Face account 下载 Vicuna Weights 。

  • 注:权重v1.1 仅与 transformers>=4.28.0 和 fschat>=0.2.0 兼容。请相应地更新您的 本地package 。如果您按照上面的命令进行新的安装,那么您应该得到所有正确的版本。

本项目所使用的的 Vicuna Weights 生成方式

  • 参考: How to Prepare Vicuna Weight
2.1下载 Vicuna Weight

当前版本的MiniGPT-4是建立在v0版本的 Vicuna-13B 之上的。请参考我们的说明来准备 Vicuna weights。最终的权重将在结构类似于以下的单个文件夹中:

  • 注:Vicuna是一个开源的基于llama的LLM,其性能接近ChatGPT。我们目前使用的是v0版本的Vicuna-13B。
    git lfs installgit clone https://huggingface.co/lmsys/vicuna-13b-delta-v1.1  # more powerful, need at least 24G gpu memory# orgit clone https://huggingface.co/lmsys/vicuna-7b-delta-v1.1  # smaller, need 12G gpu memory
  • 请注意,这不是直接的 working weight ,而是LLAMA-13B的 working weight 与 original weight 的差值。(由于LLAMA的规则,我们无法分配LLAMA的 weight 。)
2.2 下载 原始LLAMA-7B或LLAMA-13B权重

然后,您需要按照HuggingFace提供的原始权重 或 从互联网上获取 HuggingFace格式的原始LLAMA-7B或LLAMA-13B 权重。

  • 注:这里 直接 从 HuggingFace 下载 已转化为 HuggingFace格式的原始LLAMA-7B或LLAMA-13B 权重
 git lfs installgit clone https://huggingface.co/decapoda-research/llama-13b-hf  # more powerful, need at least 24G gpu memory# orgit clone https://huggingface.co/decapoda-research/llama-7b-hf  # smaller, need 12G gpu memory
2.3 构建真正的 working weight

当这两个 weight 备好后,我们可以使用Vicuna团队的工具来创建真正的 working weight 。

执行如下命令创建最终 working weight

python -m fastchat.model.apply_delta --base /path/to/llama-13bOR7b-hf/  --target /path/to/save/working/vicuna/weight/  --delta /path/to/vicuna-13bOR7b-delta-v1.1/ --low-cpu-mem
  • base-model-path:下载好的llama-13b模型的地址
  • delta-path:下载好的vicuna-13b模型的地址:
  • target-model-path:想要输出的最终的vicuna-13b的地址

运行Vicuna模型

python -m fastchat.serve.cli --model-path ./vicuna-7b-weight --style rich  --num-gpus 2

http://www.ppmy.cn/news/457473.html

相关文章

人工智能适合女生学吗?女生学AI

人们对于IT、程序员、人工智能这类词的固有印象是男生的行业,近年来人工智能AI逐渐成为国家未来发展的一个重要战略,许多人也纷纷开始投身进入这个行业,人工智能适合女生学吗?女生学AI怎么样?其实这几年进入人工智能行…

联想微型计算机boot,联想AIO520C微边框一体机台式电脑bios设置u盘启动教程

联想AIO520C微边框一体机台式电脑bios设置u盘启动教程是一款超级好用的一体机电脑,作为联想旗下非常高端的一款一体办公商用计算机,其办公的性能可以说是非常的有用,而且在使用的时候,用户们偶尔会遇到一些问题,于是就来求助小编,希望可以给大家带来帮助,于是小编就袋来…

k8s Service服务详解

1. Service 的概念: k8s中Service定义了这样一种抽象:一个pod的逻辑分组,一种可以访问他们的策略—通常称为微服务。这一组pod能够被Service访问到,通常是通过Label Selector Service能够提供负载均衡的能力,但是在使…

2小时掌握Allegro PCB 布局专题

🏡《总目录》   🏡《宝典目录》 目录 1,概述2,大纲Cadence Allegro 通孔PAD制作方法Cadence Allegro 摆放关键元件关键模块方法Cadence Allegro 对齐元件交换元件方法Cadence Allegro 等距离对齐元件方法Cadence Allegro 板框内缩创建布线区域和放置元件区域方法Cadenc…

51 最佳实践-安全最佳实践-qemu-ga

文章目录 51 最佳实践-安全最佳实践-qemu-ga51.1 概述51.2 操作方法 51 最佳实践-安全最佳实践-qemu-ga 51.1 概述 qemu-ga(Qemu Guest Agent)它是运行在虚拟机内部的守护进程,它允许用户在host OS上通过QEMU提供带外通道实现对guest OS的多…

初识 Linux 进程

问题 strace 输出中的 execve(...) 究竟是什么? 进程生命周期 操作系统内部定义了进程的不同状态 Linux 进程基本概念 进程是 Linux 任务的执行单元,也是 Linux 系统资源的分配单元 每个 Linux 应用程序运行后由一个或多个进程构成 每个 Linux 进程可…

OpenCV项目开发实战-- 将一个三角形变形为另一个三角形 ( C++ / Python )代码实现

文末附基于Python和C++两种方式实现的测试代码下载链接 图 1:左图中蓝色三角形内的所有像素都已转换为右图中的蓝色三角形。 在本教程中,我们将看到如何将图像中的单个三角形变形为不同图像中的另一个三角形。 在计算机图形学中,人们一直在处理扭曲三角形,因为任何 3D 表…

如何解压bz2后缀的压缩文件

.bz2 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName .tar.bz2 解压:tar jxvf FileName.tar.bz2 #显示解压详细过程 或tar --bzip xvf FileName.tar.bz2 #不显示解压详细过程 压缩:…