首页 > 其他分享 >利用text-generation-webui快速搭建chatGLM2-6b/LLAMA2-7B-chat大模型运行环境

利用text-generation-webui快速搭建chatGLM2-6b/LLAMA2-7B-chat大模型运行环境

时间:2023-08-19 18:01:09浏览次数:37  
标签:6b github 7B generation platform llama https com cp310

text-generation-webui  是一个基于Gradio的LLM Web UI开源项目,可以利用其快速搭建各种文本生成的大模型环境。

一、安装

text-generation-webui的readme其实已写得相当详细了,这里就不再重复,只说1个可能存在的坑:

安装 peft 安装卡住

requirements.txt 中有一些依赖项,需要访问github网站,国内经常会打不开,看看这个文件的内容:

aiofiles==23.1.0
fastapi==0.95.2
gradio_client==0.2.5
gradio==3.33.1

accelerate==0.21.0
colorama
datasets
einops
markdown
numpy
pandas
Pillow>=9.5.0
pyyaml
requests
safetensors==0.3.1
scipy
sentencepiece
tensorboard
tqdm
wandb

git+https://github.com/huggingface/peft@4b371b489b9850fd583f204cdf8b5471e098d4e4
git+https://github.com/huggingface/transformers@baf1daa58eb2960248fd9f7c3af0ed245b8ce4af

bitsandbytes==0.41.1; platform_system != "Windows"
https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.1-py3-none-win_amd64.whl; platform_system == "Windows"
https://github.com/PanQiWei/AutoGPTQ/releases/download/v0.4.1/auto_gptq-0.4.1+cu117-cp310-cp310-win_amd64.whl; platform_system == "Windows"
https://github.com/PanQiWei/AutoGPTQ/releases/download/v0.4.1/auto_gptq-0.4.1+cu117-cp310-cp310-linux_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64"
https://github.com/jllllll/exllama/releases/download/0.0.10/exllama-0.0.10+cu117-cp310-cp310-win_amd64.whl; platform_system == "Windows"
https://github.com/jllllll/exllama/releases/download/0.0.10/exllama-0.0.10+cu117-cp310-cp310-linux_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64"

# llama-cpp-python without GPU support
llama-cpp-python==0.1.78; platform_system != "Windows"
https://github.com/abetlen/llama-cpp-python/releases/download/v0.1.78/llama_cpp_python-0.1.78-cp310-cp310-win_amd64.whl; platform_system == "Windows"
# llama-cpp-python with CUDA support
https://github.com/jllllll/llama-cpp-python-cuBLAS-wheels/releases/download/textgen-webui/llama_cpp_python_cuda-0.1.78+cu117-cp310-cp310-win_amd64.whl; platform_system == "Windows"
https://github.com/jllllll/llama-cpp-python-cuBLAS-wheels/releases/download/textgen-webui/llama_cpp_python_cuda-0.1.78+cu117-cp310-cp310-linux_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64"

# GPTQ-for-LLaMa
https://github.com/jllllll/GPTQ-for-LLaMa-CUDA/releases/download/0.1.0/gptq_for_llama-0.1.0+cu117-cp310-cp310-win_amd64.whl; platform_system == "Windows"
https://github.com/jllllll/GPTQ-for-LLaMa-CUDA/releases/download/0.1.0/gptq_for_llama-0.1.0+cu117-cp310-cp310-linux_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64"

# ctransformers
https://github.com/jllllll/ctransformers-cuBLAS-wheels/releases/download/AVX2/ctransformers-0.2.22+cu117-py3-none-any.whl

如果安装peft时,项目无法下载,可以把 这行注释掉。然后再开1个终端,直接用

pip install peft -i  https://pypi.tuna.tsinghua.edu.cn/simple
pip install transformers -i  https://pypi.tuna.tsinghua.edu.cn/simple
pip install accelerate -i  https://pypi.tuna.tsinghua.edu.cn/simple

走国内镜像安装,然后再回到原来的终端 pip install -r requirements.txt, 其它依赖项,也是这个思路。

 

二、启动及model下载

python server.py 即可启动,刚启动时没有任何模型,需要手动下载。

huggingface.co的模型,只要允许下载的,text-generation-webui都能下载, 不过这个速度比较慢,而且容易中断,我个人更建议手动下载(比如 git LFS工具,或者国内有一些镜像或网盘上,有热心网友上传了副本),如果是手动下载,只要把模型放到 text-generation-webui/models 目录下即可。

 

三、加载模型

3.1 Llam2 模型加载

这里选择 TheBloke/Llama-2-7B-Chat-GGML · Hugging Face 这个Llama2模型测试,选择后发现自动默认用了llama.cpp 这个c++版本的loader(注:c++版本的推理速度更快)

 然后就可以 体验了,建议先设置成chat模式:

 测试一下:

 可以发现,Llama2对中文支持一般般,默认情况下,用中文提问,回答却是英文。除非手动加上指令"[用中文回答]",而且不会作诗(这一点比不上国产的chatGLM)

 

3.2 ChatGLM2-6B

 text-generate-webui 对chatGLM的支持还不太完善,虽然能跑,但有些坑:

坑1:bitsandbytes 这个库在我机器上(windows 10 + WSL2 + ubuntu,LLM模型跑在WSL2上),必须把它给卸载(pip uninstall bitsandbytes) ,否则模型加载会失败

坑2:不能选量化(不管是4还是8均报错),还必须勾上trust-remote-code

另外:WSL2的内存设置,建议至少24G,不然加载模型时,可以因为内存不足会自动Killed(加载完成后过一会儿,内存好象又会略降一些),下图是我机器的实际内存占用

bitsandbytes与WSL2中的cuda不能很好兼容,就算跑在GPU上,感觉也有点卡,不如chatGLM.cpp顺畅 ,但不太影响小白学习

另外,如果有网友遇到model加载成功,但是测试过程中,AI总是不回答,可以尝试下,修改chatGLM2-6B目录中tokenization_chatglm.py,78行后,加一行代码:

self._eos_token='<eos>'

 

四、API模式

启用时,还可以增加参数--api,以同时启动api 

api-examples目录下,有相应的api调用示例: (仍然以模型Llama-2-7B-Chat-GGML 为例)

 api方式,似乎不识别[用中文回答]这类指令

这点跟web-UI上的差别有些大:

 

参考文章:

chatglm2 support · Issue #2906 · oobabooga/text-generation-webui (github.com)

标签:6b,github,7B,generation,platform,llama,https,com,cp310
From: https://www.cnblogs.com/yjmyzz/p/text_generation_webui_with_llama2_and_chatglm2.html

相关文章

  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践
    一.前言近期,ChatGLM-6B的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性:①.基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6;②.支持8K-32k的上下文;③.推理性能提升了42%;④.对学术研究完全开放,允许申请商用授权。目前大多数部署方案采用的是fastapi+uvi......
  • CF446B DZY Loves Modification
    题目大意给出一个\(n\timesm\)的矩阵,并进行\(k\)次操作,每次操作将矩阵的一行或一列的所有元素的值减\(p\),得到的分数为这次修改之前这一列或一行的元素和,求分数最大值。思路先说一下假贪心为什么是错的。有一个很显然的贪心思路,分别用两个堆分别维护行与列的和,每次在两......
  • CentOS7 上安装部署chatglm2-6b
          按照说明文档,先按照了最新版本的Python,官网下载了最新的版本3.11后,一顿操作感觉分分钟就安装完了。但是继续安装chatglm2-6b所需的依赖包时,就遇到了N多坑点,为了解决这些坑点,耗时真的很长(按周计算的那种)。如果是CPU服务器,则至少需要30G内存。      ......
  • ChatGLM2-6B 微调改变AI自我认知
    一、前言上篇说到ChatGLM2-6B及百川大模型的本地部署实战,实际商业项目中可能还需要在此基础上对模型进行相关微调再进行应用。本篇文章带大家微调入门教学。注意:当前为AI技术高速发展期,技术更新迭代快,本文章仅代表作者2023年8月的观点。  上篇文章:ChatGLM2-6B清华......
  • 《AUDIOGEN: TEXTUALLY GUIDED AUDIO GENERATION》论文学习
    一、INTRODUCTION神经生成模型挑战了我们创造数字内容的方式。从生成高质量图像和语音,到生成长文本,再到最近提出的文本引导的图像生成,这些模型展示了令人印象深刻的结果。这引出一个问题,对于文本引导的生成模型来说,音频的等效物是什么?可以是文本吗?我们用文本来抽象出世界上纷繁复......
  • 在矩池云使用ChatGLM-6B & ChatGLM2-6B
    ChatGLM-6B和ChatGLM2-6B都是基于GeneralLanguageModel(GLM)架构的对话语言模型,是清华大学KEG实验室和智谱AI公司于2023年共同发布的语言模型。模型有62亿参数,一经发布便受到了开源社区的欢迎,在中文语义理解和对话生成上有着不凡的表现。ChatGLM-6B可以在消费级......
  • CF1857B Maximum Rounding 题解
    题面题目大意给定\(T\)组数据,每组数据一个自然数\(n\),可以多次选择第\(k\)位数进行四舍五入,求出四舍五入后该数的最大值。分析思路思想:贪心。这里给定了两种操作。四舍和五入。显然我们想要让最终的结果最大,我们的操作只能进行五入而不可以进行四舍。因为如果我们进行了......
  • oobabooga-text-generation-webui可能是最好的语言模型启动器(包含手把手安装教程)
    https://www.bilibili.com/read/cv24006101/引言:问:oobabooga是什么?oobabooga-text-generation-webui是一个用于运行类似Chatglm、RWKV-Raven、Vicuna、MOSS、LLaMA、llama.cpp、GPT-J、Pythia、OPT和GALACTICA等大型语言模型的GradioWeb用户界面。它的目标是成为文本生成的AUT......
  • [论文阅读] Neural Transformation Fields for Arbitrary-Styled Font Generation
    Pretitle:NeuralTransformationFieldsforArbitrary-StyledFontGenerationaccepted:CVPR2023paper:https://openaccess.thecvf.com/content/CVPR2023/html/Fu_Neural_Transformation_Fields_for_Arbitrary-Styled_Font_Generation_CVPR_2023_paper.htmlcode:htt......
  • 【必看!】阿里云推出QWen-7B和QWen-7b-Chat,开放免费商用!
    阿里云于8月3日宣布开源两款重要的大型模型——QWen-7B和QWen-7b-Chat。这两款模型的参数规模达到了令人瞩目的70亿,并且已经在HuggingFace和ModelScope平台上开放,并可免费商用。以下是相关链接:GitHub项目主页:https://github.com/QwenLM/Qwen-7BHuggingFace:https://huggingface......