当前位置: 代码网 > 科技>电脑产品>CPU > text-generation-webui大模型部署

text-generation-webui大模型部署

2024年08月01日 CPU 我要评论
可以不使用官方的一键安装脚本,因为其会新下载一个conda并新建一个环境,并且下载过程会从国外官方的源下载所需要的环境包,比较慢。首先,激活conda环境,根据平台安装pytorch,如果使用GPU则安装cuda版本的,并且安装cuda相关的库等等,这里不再赘述。其次,根据GPU与CPU选择对应的依赖文件,例如,支持NVIDIA GPU但不支持AVX2指令集的则选择,使用清华源进行加速使用AVX2指令集有可能在模型部署的推理阶段出现的bug,可以根据链接重新下载对应的包。

1 简介

text-generation-webui是一个挺好用的大模型部署ui,提供了很多便于交互的接口,安装部署好之后将model放置到对应的位置即可在网页访问,若是在服务器部署也可以通过ssh端口转发至公网服务器进行访问。
其中,模型的下载可参考这个教程,比较有效的是利用镜像网站下载脚本进行下载,还有直接在浏览器中点击下载后再上传服务器。

2 安装

2.1 官方安装

先把库下载到本地

git clone https://github.com/oobabooga/text-generation-webui.git

然后进入文件夹,即可按照官方的教程进行安装,主要是根据系统类型,支不支持avx指令集,以及是否使用gpu来选择。

2.2 自定义安装

2.2.1 环境

可以不使用官方的一键安装脚本,因为其会新下载一个conda并新建一个环境,并且下载过程会从国外官方的源下载所需要的环境包,比较慢。
首先,激活conda环境,根据平台安装pytorch,如果使用gpu则安装cuda版本的,并且安装cuda相关的库等等,这里不再赘述。
其次,根据gpucpu选择对应的依赖文件,例如,支持nvidia gpu但不支持avx2指令集的则选择requirements_noavx2.txt,使用清华源进行加速

pip install -r requirements_noavx2.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

题外话: 使用avx2指令集有可能在模型部署的推理阶段出现illegal instruction (core dumped) error的bug,可以根据链接重新下载对应的包。

2.2.2 模型

然后,根据示例放置好模型文件。比如,量化后的gguf模型可以直接放置。但是使用q4量化的模型时,会出现attributeerror: ‘llamacppmodel’ object has no attribute 'model’的bug,推荐使用q5以上的。

text-generation-webui
└── models
    └── llama-2-13b-chat.q4_k_m.gguf

原始的模型需要放在models文件夹下的子文件夹中,示意如下。

text-generation-webui
├── models
│   ├── lmsys_vicuna-33b-v1.3
│   │   ├── config.json
│   │   ├── generation_config.json
│   │   ├── pytorch_model-00001-of-00007.bin
│   │   ├── pytorch_model-00002-of-00007.bin
│   │   ├── pytorch_model-00003-of-00007.bin
│   │   ├── pytorch_model-00004-of-00007.bin
│   │   ├── pytorch_model-00005-of-00007.bin
│   │   ├── pytorch_model-00006-of-00007.bin
│   │   ├── pytorch_model-00007-of-00007.bin
│   │   ├── pytorch_model.bin.index.json
│   │   ├── special_tokens_map.json
│   │   ├── tokenizer_config.json
│   │   └── tokenizer.model

text-generation-webui模型读取中,有多种模式,可根据不同的情况进行选择。
此外,在模型加载时,还容易出现attributeerror: ‘nonetype’ object has no attribute ‘llama’,可根据平台选择对应的库下载安装llama-cpp-python即可。
特别地,在linux/arm64平台下下载安装时,会出现error: failed building wheel for llama-cpp-python,可尝试升级gcc(已经在aarch平台上成功验证),或者安装arm64-wheels的版本(还没测试过)。

3 部署

3.1 启动

在目录下启动即可。

python server.py

此时会返回显示在localhost:7860生成web ui

3.2 autossh转发

在内网的服务器上部署,访问不太方便,参考ssh隧道,可利用autossh转发到公网服务器上进行访问。安装autossh后,在服务器上运行以下命令

# 80 公网端口
# 7860 本地端口
# username@xxx.xx.xx.xx 公网服务器用户和ip地址
# (-p xxx) 公网的ssh端口 一般默认22 可不写
autossh -m 4010 -nr 80:localhost:7860 username@xxx.xxx.xxx.xxx (-p xxxx)

参数解释:

  • -m 4010:表示用4010端口监听ssh连接的状态
  • -n:表示不执行远程命令
  • -r:将公网服务器的某个端口转发到本机的某个端口

注意:一般非root用户不能使用1024以下的端口,所以公网服务器的端口选择依情况而定,并且对于阿里云等租赁的服务器,还要在网站的控制台打开对应的端口才行,仅在服务器上操控防火墙开放端口还不行。

执行命令后,即可在个人电脑输入公网ip:端口进行访问web ui。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com