如何安装和使用vicuna

2023-10-27

Vicuna 是基于 LLaMa 微调得来的大规模语言对话模型。

本文以 Vicuna-7B 模型为例,安装和使用 Vicuna。若需使用 Vicuna-13B 模型,仅需把参数 7B 改成 13B 即可。

0. 虚拟环境

在 conda 中创建虚拟环境,python 版本要求在 3.8 以上:https://blog.csdn.net/Yu_L2/article/details/105186991

虚拟环境还要安装 torch:https://pytorch.org/get-started/previous-versions/

以及 transformers:https://huggingface.co/docs/transformers/installation

等库。

1. 克隆项目到本地

克隆 Vicuna 库到本地。

git clone https://github.com/lm-sys/FastChat.git

2.安装LLaMA

可以通过以下命令下载 LLaMA。

pip install pyllama -U
python -m llama.download --model_size 7B

【提示】模型下载速度较慢,可以通过 Ctrl+C 终止下载,再重新运行该命令继续下载。

3.转换模型

下载转换程序并运行。

python convert_llama_weights_to_hf.py --input_dir ./llama --model_size 7B --output_dir ./output/

--input_dir 后的参数表示 LLaMA 模型下载的目录,--output_dir 模型表示转换后的模型所在目录。

4.合并模型

首先需要下载 Vicuna模型的 delta 参数。

git clone https://huggingface.co/lmsys/vicuna-7b-delta-v1.1

其次把 LLaMA 参数与 Vicuna 的 delta 参数进行合并,得到 Vicuna 模型参数。

python -m fastchat.model.apply_delta
	--base-model-path ./output
	--target-model-path ./vicuna-7b
	--delta-path ./vicuna-7b-delta-v1.1

--base-model-path 参数为转换后的模型位置,--target-model-path 表示最终模型输出的位置,--delta-path 参数表示下载的delta权重位置。

【提示】如果出现关于 git lfs 相关的错误,可以在 delta 目录下执行以下命令。

git lfs pull
git lfs install

5.运行模型

模型可以在 GPU 上运行。

python -m fastchat.serve.cli --model-path ./vicuna-7b

--model-path 参数表示合并后的模型位置。

还可以通过 --num-gpus 指定 GPU 个数。

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

若想让模型运行在CPU上,则使用--device 参数。

python -m fastchat.serve.cli --model-path ./vicuna-7b --device cpu

使用 --load-8bit 参数减小占用的内存。

python -m fastchat.serve.cli --model-path ./vicuna-7b --load-8bit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何安装和使用vicuna 的相关文章

  • 如何训练斯坦福 NLP 情感分析工具

    地狱大家 我正在使用斯坦福核心 NLP 包 我的目标是对推文直播进行情感分析 按原样使用情感分析工具对文本 态度 的分析非常差 许多积极因素被标记为中性 许多消极因素被评为积极 我已经在文本文件中获取了超过一百万条推文 但我不知道如何实际获
  • 快速NLTK解析成语法树

    我正在尝试将数百个句子解析为语法树 我需要快速完成 问题是如果我使用 NLTK 那么我需要定义一个语法 而我不知道我只知道它会是英语 我尝试使用this https github com emilmont pyStatParser统计解析器
  • 快速 shell 命令删除文本文件中的停用词

    我有一个 2GB 的文本文件 我正在尝试从此文件中删除经常出现的英语停用词 我有 stopwords txt 包含这样的 a an the for and I 使用 shell 命令 例如 tr sed 或 awk 执行此操作的快速方法是什
  • 使用正则表达式标记化进行 NLP 词干提取和词形还原

    定义一个函数 名为performStemAndLemma 它需要一个参数 第一个参数 textcontent 是一个字符串 编辑器中给出了函数定义代码存根 执行以下指定任务 1 对给出的所有单词进行分词textcontent 该单词应包含字
  • 阻止斯坦福核心 NLP 服务器输出它收到的文本

    我正在运行一个斯坦福核心自然语言处理 http stanfordnlp github io CoreNLP server java mx4g cp edu stanford nlp pipeline StanfordCoreNLPServe
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • PHP 和 NLP:嵌套括号(解析器输出)到数组?

    想要将带有嵌套括号的文本转换为嵌套数组 以下是 NLP 解析器的输出示例 TOP S NP PRP I VP VBP love NP NP DT a JJ big NN bed PP IN of NP NNS roses 原文 我喜欢一大床
  • 举例解释bpe(字节对编码)?

    有人可以帮忙解释一下背后的基本概念吗BPE模型 除了这张纸 https arxiv org abs 1508 07909 目前还没有那么多解释 到目前为止我所知道的是 它通过将罕见和未知的单词编码为子词单元序列来实现开放词汇表上的 NMT
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • 从 Penn Treebank 格式的文本中提取子句

    说我有一句话 After he had eaten the cheese Bill went to the grocery 在我的程序中 我得到以下输出 PARSE TREE ROOT S SBAR IN After S NP PRP he
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • R 中带有变音符号的字符列表

    我试图将字符串中的电话 字符 出现次数制成表格 但变音符号单独作为字符制成表格 理想情况下 我有一个国际音标的单词列表 其中包含大量变音符号以及它们与基本字符的几种组合 我在这里给出了仅包含一个单词的 MWE 但对于单词列表和更多类型的组合
  • 在 Python 中识别大型字符串列表中的项目之间的文本相似性的最有效方法是什么?

    下面的代码实现了我想要实现的结果 有一个称为 引理 的字符串列表 其中包含特定类别单词的可接受形式 另一个列表称为 形式 包含在不同时期和特定语言的不同方言的大量文本中发现的单词的许多拼写变体 对于 forms 中的每个单词 我想获取 le
  • 使用 Huggingface 变压器仅保存最佳权重

    目前 我正在使用 Huggingface transformers 构建一个新的基于 Transformer 的模型 其中注意力层与原始模型不同 我用了run glue py检查我的模型在 GLUE 基准测试上的性能 但是 我发现huggi
  • 如何改进 NLTK 中的荷兰语 NER 词块划分器

    感谢这个伟大的答案 我使用 NLTK 和 Conll2002 语料库训练自己的荷兰语 NE 词块划分器 有了一个良好的开端 NLTK 荷兰语命名实体识别 https stackoverflow com questions 11293149
  • 在Python中表示语料库句子的一种热门编码

    我是 Python 和 Scikit learn 库的初学者 我目前需要从事一个 NLP 项目 该项目首先需要通过 One Hot Encoding 来表示一个大型语料库 我已经阅读了 Scikit learn 关于 preprocessi
  • 如何返回 Keras 中验证丢失的历史记录

    使用 Anaconda Python 2 7 Windows 10 我正在使用 Keras 示例训练语言模型 print Build model model Sequential model add GRU 512 return seque
  • 检查语言模型的困惑度

    我使用 Keras LSTM 创建了一个语言模型 现在我想评估它是否良好 因此我想计算困惑度 在 Python 中计算模型的困惑度的最佳方法是什么 我已经提出了两个版本并附上了相应的来源 请随时查看链接 def perplexity raw
  • Spacy tokenizer,添加 tokenizer 异常

    嘿 我正在尝试使用 spacy 2 02 添加对某些标记进行标记的例外 我知道存在这种情况 tokenizer add special case 我在某些情况下使用它 但例如像 100 美元这样的代币 spacy 分成两个代币 美元 SYM
  • 给定 2 个句子字符串计算余弦相似度

    From Python tf idf cosine 查找文档相似度 https stackoverflow com questions 12118720 python tf idf cosine to find document simil

随机推荐

  • Mybatis中Mapper.xml文件中注释存在中文报错问题

    报以下错误 java lang ExceptionInInitializerError at com hu dao UserDaoTest selectTest UserDaoTest java 21 at sun reflect Nati
  • 动态生成java源代码_Java运行时动态生成类实现过程详解

    最近一个项目中利用规则引擎 提供用户拖拽式的灵活定义规则 这就要求根据数据库数据动态生成对象处理特定规则的逻辑 如果手写不仅每次都要修改代码 还要每次测试发版 而且无法灵活根据用户定义的规则动态处理逻辑 所以想到将公共逻辑写到父类实现 将特
  • 这世界公平吗?

    我最喜欢的一段台词 送给为买房而苦熬的人 我不是没有尝试过 尝试安分守己 拼命干活 挣那么一点点钱 我试过 但是外面那些人 外面那些人 他们懂建筑懂盖楼吗 他们只是拿 一点点钱出来 花一点点时间 把房价炒高不断的赚大钱 这叫做公平吗 你去问
  • js字符串RTrim方法(right trim)

    String prototype RTrim function c if c c var reg new RegExp c gi return this replace reg 附其他 function trim str 删除左右两端的空格
  • idea提升编码效率的12种插件

    前言 基本上每个程序员都会写代码 但写代码的速度不尽相同 为什么有些人 一天只能写几百行代码 而有些人 一天可以写几千行代码 有没有办法 可以提升开发效率 在相同的时间内 写出更多的代码呢 今天我跟大家一起聊聊在idea中 能提升编码效率的
  • main方法不能直接调用 非静态方法

    public class Test public static void main String args amethod args public void amethod String args 问题原因 main方法是静态方法 静态方法
  • C语言进阶——程序环境和预处理详解

    目录 一 程序环境 1 翻译环境 1 预编译 预处理 2 编译 3 汇编 4 链接 2 执行环境 运行环境 二 预处理详解 1 预定义符号 2 define 1 define定义标识符常量 2 define定义宏 3 define替换规则
  • 组合特征(四)linearsvm-tfidf(word)+lr-tfidf(article)

    将linearsvm挑选的tfidf word 特征和lr挑选的tfidf article import pickle from scipy import sparse from scipy sparse import hstack wit
  • 深入理解express框架

    写在前面 Express 是一个简洁而灵活的 node js Web应用框架 提供了一系列强大特性帮助你创建各种 Web 应用 和丰富的 HTTP 工具 使用 Express 可以快速地搭建一个完整功能的网站 http jafeney co
  • [Kaggle Courses]数据清洗 Data Cleaning

    文章目录 一 简介 二 数据鸟瞰和空值处理 1 数据鸟瞰 2 空值处理 三 缩放 Scaling 归一化 MinMax 和标准化 Normalization 1 缩放和归一化 2 标准化 四 时间转换 五 字符编码 六 不一致的数据输入 一
  • 前端响应式开发浅谈

    前言 我们的程序猿们在日常工作中可能会遇到部分项目需要使用到响应式布局 响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验 而且随着大屏幕移动设备的普及 为了避免重复开发 响应式布局显得尤为重要 在这里我就分享一下我使用到的处
  • 卷积层输出特征图大小计算

    假设输入图片为 3 200 200 普通卷积 nn Conv2d input nc output nc kernel size 3 stride 2 padding 1 特征图计算公式为 其中 为输出特征图的大小 为输入图片 特征图的大小
  • 如何用jmeter工具进行性能测试

    前言 今天我们来说说jmeter如何进行性能测试 我们都知道jmeter工具除了可以进行接口功能测试外 还可以进行性能测试 当项目趋于稳定 根据性能需求就可以着手准备性能测试了 今天就说一说jmeter如何进行性能测试 jmeter进行性能
  • Python pygame实现中国象棋单机版源码

    今天给大家带来的是关于Python实战的相关知识 文章围绕着用Python pygame实现中国象棋单机游戏版展开 文中有非常详细的代码示例 需要的朋友可以参考下 coding utf 8 Created on Sun Jun 13 15
  • 顺序、随机IO和Java多种读写文件性能对比

    概述 对于磁盘的读写分为两种模式 顺序IO和随机IO 随机IO存在一个寻址的过程 所以效率比较低 而顺序IO 相当于有一个物理索引 在读取的时候不需要寻找地址 效率很高 基本流程 总体结构 我们编写的用户程序读写文件时必须经过的OS和硬件交
  • HTTP学习重点

    1 HTTP与TCP关系 1 1 什么是HTTP协议 HTTP Hypertext Transfer Protocol 超文本传输协议 是一个简单的请求 响应协议 它通常运行在TCP之上 2 url URL Uniform Resource
  • web前端基础:CSS背景样式

    背景样式 设置元素的背景颜色 设置元素的背景图片 background color 设置元素的背景颜色 background image 把图像设置为背景 background position 设置背景图像的起始位置 background
  • 解决Django 配置mysql 遇到 No module named MySQLdb or MySQL-python

    解决Django 配置mysql 遇到 No module named MySQLdb or MySQL python 防止环境变量带来的一系列问题 先安装python 虚拟环境 pip install virtualenv 具体可浏览 h
  • 做短视频千万不要错过这5个视频素材网

    这个要看你创作什么内容 dy里面很多视频素材都是创作者自己拍摄 要不就插入一些网上找的视频素材 现在网上找到一些视频素材很多都是有版权 除非花钱买 也有免费的 但就是质量不算高 各取所需 下面我就推荐几个视频素材网站 你可以根据自己的情况选
  • 如何安装和使用vicuna

    Vicuna 是基于 LLaMa 微调得来的大规模语言对话模型 本文以 Vicuna 7B 模型为例 安装和使用 Vicuna 若需使用 Vicuna 13B 模型 仅需把参数 7B 改成 13B 即可 0 虚拟环境 在 conda 中创建