准备工作:
安装vicuna之前需要做一些准备工作,比如:git、python3、升级openssl等
1、Git安装
因为要克隆项目源码所以要安装,安装过程很简单yum install git,这里不做过多介绍。如果不安装git也可以,项目源码可以去官网直接下载zip包。
2、升级openssl
为什么要先升级openssl?因为我先安装的python-3.10.11,后来发下openssl版本太低,导致又重新安装一般python。我这里安装的版本是openssl-1.1.1q,openssl-1.x最新版的是openssl-1.1.1s。
判断是否需要升级,先执行openssl version 看看版本是否低。
1)下载
https://www.openssl.org/source/old/1.1.1/openssl-1.1.1q.tar.gz
或者
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1q.tar.gz
2)解压缩
tar -zxvf openssl-1.1.1q
3)编译和安装
cd openssl-1.1.1q
./config --prefix=/usr/local/openssl_1.1.1 --openssldir=/usr/local/openssl_1.1.1
make && make install
4)备份与创建软连
mv /usr/bin/openssl /usr/bin/openssl.old ###备份
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old ###备份
ln -s /usr/local/openssl_1.1.1/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl_1.1.1/include/openssl /usr/include/openssl
ln -s /usr/local/openssl_1.1.1/lib/libssl.so /usr/lib64/libssl.so
5)配置lib库
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v ###建立动态链接
6)测试
openssl version
出现OpenSSL 1.1.1q 5 Jul 2022,升级成功。
3、python-3.10.11安装
1)下载:
我这里安装的python-3.10.11,下载地址:https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz
或者wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz直接下载
2)解压缩
tar -zxvf Python-3.10.11.tgz
3)修改安装文件解决ssl的问题
cd Python-3.10.11/Modules
vi Setup,找到如下内容,去掉注释,配置自己升级的openssl
OPENSSL=/usr/local/openssl_1.1.1
_ssl _ssl.c \
-I$(OPENSSL)/include -L$(OPENSSL)/lib \
-lssl -lcrypto
保存并退出
4)配置
cd ../Python-3.10.11
./configure --prefix=/usr/local/python3 (安装目录) --with-openssl=/usr/local/openssl_1.1.1(openssl安装目录)
5)准备编译环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
6)编译和安装
make & make install
7)备份系统自带的python和pip的软链,并创建python3、pip3的软链
mv /usr/bin/python3 /usr/bin/python3.old
mv /usr/bin/pip3 /usr/bin/pip3.old
ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip3
8)验证
python3 -V
pip3 -V
安装完成。
9)pip3国内镜像源配置
由于采用pip install 安装,需要下载很多的相关依赖,pip默认的镜像源太慢,这里配置国内阿里的源。
mkdir /root/.pip #创建文件夹
cd /root/.pip #进入目录
vim pip.conf #编辑配置文件
[global]
trusted-host = mirrors.aliyun.com
index-url = https://mirrors.aliyun.com/pypi/simple
命令配置
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com # 永久配置国内镜像源
pip3 config list # 查看下载源配置列表
配置好镜像源后,可以使用“pip config list”命令查看下载源配置列表,具体写入的配置文件路径为:/root/.config/pip/pip.conf
国内常用Python镜像源
阿里云
Simple Indexhttp://mirrors.aliyun.com/pypi/simple/
中国科学技术大学
Simple Indexhttps://pypi.mirrors.ustc.edu.cn/simple
清华大学
Simple Indexhttps://pypi.tuna.tsinghua.edu.cn/simple
豆瓣
Simple Indexhttp://pypi.douban.com/simple/
华中理工大学
http://pypi.hustunique.com/simplehttp://pypi.hustunique.com/simple
山东理工大学
http://pypi.sdutlinux.org/simplehttp://pypi.sdutlinux.org/simple
----------------------------------------------准备工作完成-----------------------------------------------------
安装vicuna
官网地址:https://github.com/lm-sys/FastChat
1、克隆FastChat项目源码
git clone https://github.com/lm-sys/FastChat.git
或者下载zip包
https://codeload.github.com/lm-sys/FastChat/zip/refs/heads/main
以克隆为例
2、更新pip3
pip3 install --upgrade pip
3、安装FastChat
pip3 install -e .
安装过程中会下载很多依赖,直到出现安装成功的提示出现。
-------------------------------------如果不做LLaMA模型的转换,到此安装结束-----------------------------------
4、下载转换后的小羊驼模型(vicuna-7b-v1.1或者vicuna-13b-v1.1)
7b-v1.1: 小羊驼模型7b-v1.1 (访问码:aj2u)
13b-v1.1:小羊驼模型13b-v1.1 (访问码:p3nk)
5、命令行运行模型开始提问
python3 -m fastchat.serve.cli --model-path /vicuna-7b-v1.1(模型存放的路径) --device cpu (我的环境是运行在cpu上的,也可以根据官网操作在gpu上)--style rich
python3 -m fastchat.serve.cli --model-path /vicuna-13b-v1.1 --device cpu --style rich
6、如果想要体验完整安装过程,我们这里接第3步。Transformers安装
pip3 list检查是否有transformers,如果没有执行下面的命令安装。
pip3 install git+https://github.com/huggingface/transformers
直到出现提示安装成功
7、下载LLAMA模型(windows10操作系统迅雷下载)
热心的码友也给出了磁力链接:
magnet:?xt=urn:btih:cdee3052d85c697b84f4c1192f43a2276c0daea0&dn=LLaMA
注意勾选中“tokenizer.model”、“tokenizer_checklist.chk”,否则后面转换vicuna模型时会报错。
完整备份:ipfs://Qmb9y5GCkTG7ZzbBWMu2BXwMkzyCKcUjtEKPpgdZ7GEFKm
7B: ipfs://QmbvdJ7KgvZiyaqHw5QtQxRtUd7pCAdkWWbzuvyKusLGTw
13B: ipfs://QmPCfCEERStStjg4kfj3cmCUu1TP7pVQbxdFMwnhpuJtxk
30B: ipfs://QmSD8cxm4zvvnD35KKFu8D9VjXAavNoGWemPW1pQ3AF9ZZ
65B: ipfs://QmdWH379NQu8XoesA8AFw9nKV2MpGR4KohK7WyugadAKTh
8、转换LLaMA模型
1)把下载的LLaMA模型上传到centos中下载的FastChat目录
切换到centos,进入LLaMA模型的目录,会看到7B、tokenizer.model、tokenizer_checklist.chk3个文件。
2)执行转换命令:
convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./output/7B
会得到在LLaMA目录会多出output这个转换后的模型。下图是在win10上转换的仅供参考。
如果报此错
执行:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple protobuf==3.19.0
可以解决
9、下载vicuna-7b-delta-v1.1权重
把vicuna-7b-delta-v1.1权重下载到LLaMA模型下
git lfs clone https://huggingface.co/lmsys/vicuna-7b-delta-v1.1
10、合并模型
进入LLaMA目录,执行如下命令
python3 -m fastchat.model.apply_delta --base ./output/7B/ --target ./vicuna-7b-v1.1 --delta vicuna-7b-delta-v1.1
合并后会得到和第4步一样的小羊驼模型(vicuna-7b-v1.1或vicuna-13b-v1.1)
执行第5步的命令,开始聊天提问
11、启动web ui页面
python3 -m fastchat.serve.controller
python -m fastchat.serve.model_worker --model-name 'vicuna-7b-v1.1' --device cpu --model-path ./vicuna-7b-v1.1(合并后的小羊驼模型)
python3 -m fastchat.serve.gradio_web_server
参考资料:
https://baijiahao.baidu.com/s?id=1762231153568504365&wfr=spider&for=pchttps://baijiahao.baidu.com/s?id=1762231153568504365&wfr=spider&for=pc
百度安全验证https://baijiahao.baidu.com/s?id=1762231153568504365&wfr=spider&for=pc
vicuna 13b 纯CPU部署 - Uk0's space
小羊驼模型(FastChat-vicuna)运行踩坑记录 - 知乎
开源GPT-4小羊驼(Vicuna)快速上手指南_摆摊的豆丁的博客-CSDN博客
大模型也内卷,Vicuna训练及推理指南,效果碾压斯坦福羊驼 - 知乎
这是一个用于发布“Vicuna:一款令人印象深刻的GPT-4开放式聊天机器人”的代码仓库。-ChatGPT玩法交流社区-玩网社区-FancyPig's blog
Linux离线安装python第三方库详细步骤_才疏学浅浅浅浅浅的博客-CSDN博客
python3安装完,出现 No module named '_ssl',解决方案_no module named _ssl___python__的博客-CSDN博客