赞
踩
目录
正常我们要调用大模型,就需要将企业或个人信息传递到外部的大模型服务器,这种情况在目前极为重视数据安全的情况下,可能就有问题了。但是,本地部署大模型就没有这个问题,本地部署大模型后,不需要联网即可调用大模型,就没有了通过调用外部大模型导致数据泄露的问题。
再一个一说起大模型,不管训练还是推理,一般都是需要GPU。能不能有一些方法实现本地也可以部署大模型进行推理?
以上也就是写这一篇的初衷了。
目前有vllm、chatglm.cpp(llama.cpp也类似是通过C++实现)--提供编程能力,可以命令行运行,可以提供webapi
Ollama--命令行运行,可以提供webapi
lmstudio--纯界面操作
vllm主要作用其实是可以提高推理性能,但是必须在linux下运行,而且必须有GPU
官网地址
vllm官网 Welcome to vLLM! — vLLMhttps://docs.vllm.ai/en/latest/
这里以下载千问7B为例,由于模型文件会比较大,因此安装git的lfs插件
git lfs install
git clone https://huggingface.co/Qwen/Qwen-7B-Chat
安装的话,为了避免python环境冲突问题,先通过conda创建一个新的虚拟环境
然后pip install vllm
也可以先从github下载,再去安装
vllm github地址https://github.com/vllm-project/vllm
python -m vllm.entrypoints.openai.api_server --model="Qwen/Qwen-7B-Chat" --trust-remote-code --port 1234
注意:--model参数这里,如果之前已经下载了模型文件,这里是参数值改为模型文件路径,否则设置为模型名,然后会自动下载
注意2:通过aipost工具调用大模型,model参数需要和如上cmd运行命令的--model参数一致,否则会提示找不到model,这个我觉得是比较不好的一点
1)通过apipost工具调用webapi,回答完,还会继续输出其他内容
一样,没搞懂为啥
补充:运行增加VLLM_USE_MODELSCOPE=True 推理速度会快很多,即:
VLLM_USE_MODELSCOPE=True python -m vllm.entrypoints.openai.api_server --model="Qwen/Qwen-7B-Chat" --trust-remote-code --port 1234
说是通过魔塔进行了加速,但是其所以然还没搞明白。
chatglm.cpp主要通过C++编译,实现性能的提升
git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp
git submodule update --init --recursive
第二句主要是用于当前代码还引用了其他第三方代码库的情况,用于嵌套更新代码状态
安装相关包
python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece
用于 convert.py 将 ChatGLM-6B 转换为量化的 GGML 格式。要将 fp16 原始模型转换为 q4_0(量化 int4)GGML 模型,请运行:
python3 chatglm_cpp/convert.py -i THUDM/chatglm3-6b -t q4_0 -o chatglm3-ggml.bin
第一步:使用 CMake 配置项目并在当前目录下创建一个名为 "build" 的构建目录
cmake -B build
第二步:使用先前生成的构建系统文件在构建目录 "build" 中构建项目,采用并行构建和 Release 配置
cmake --build build -j --config Release
第三步:运行
./build/bin/main -m chatglm3-ggml.bin -p 你好
注意:这里cmake在linux下没问题,在windows下需要通过VS(Visual Studio)安装C++ Cmake工具
python3 ./examples/web_demo.py -m chatglm3-ggml.bin
注意:这里可能会出错,提示找不到chatglm_cpp,这个时候可以先pip install .(.就是代表安装当前代码包,或.替换为chatglm_cpp也可以,或者去chatglm.cpp项目的Github网站--release下载对应系统对应python版本的whl文件进行安装也可以)
chatglm.cpp主要是用于让普通CPU也可以进行推理,因此默认它是CPU推理。但是不妨碍它可以GPU推理,毕竟效率更高。
cmake的时候,增加-DGGML_CUBLAS=ON,即可实现命令行运行通过GPU推理
webdemo运行的话,也需要对pip install .增加同样的参数,完整命令:CMAKE_ARGS="-DGGML_CUBLAS=ON" pip install .,这个时候再次运行webdemo即可实现GPU推理
ollama主要简化了部署大模型的复杂度
github地址:ollama/ollama:启动并运行 Llama 2、Mistral、Gemma 和其他大型语言模型。 (github.com)https://github.com/ollama/ollama
github上可以看ollama相关介绍,包括如何使用
ollama一开始主要支持linux,docker也可以,目前有windows下的预览版可以下载
ollama官网 windows预览版下载https://ollama.com/download/OllamaSetup.exe
安装完成即可通过cmd窗口使用ollama命令来运行大模型(注意第一次会先下载模型文件,我这里用的llama2的大小是4G多,还可以)
接下来就可以输入进行大模型对话了
不过命令行在实际应用中不方便,那么也可以通过ollama实现webapi调用方式
ollama serve--启用server模式
ollama run llama2(这里就是具体模型名称)
接下来即可通过postman、apipost等工具调用大模型了
注意这里地址是:localhost:11434/api/chat
同一个模型,一般会有多个参数量,一般有7B、13B
如上运行ollama run llama2,其实是按默认参数量下载并运行模型了,也可以设置参数量
如:ollama run gemma:2b
:2b即具体参数量
1)命令行下速度很快,但是webapi方式就很慢。可能还是在windows下还是预览版,没那么稳定
还没搞懂咋回事,现在只是初步知道了怎么用。后面再试试其他模型,看看是不是模型的问题
lmStudio是一个很简单的大模型使用工具,直接安装客户端,完全界面操作,无需编辑代码、无需运行命令,即可纯界面操作来使用大模型。
非常适合不懂技术的人员使用
访问lmstudio官网LM Studio 官网 - Discover, download, and run local LLMshttps://lmstudio.ai/
选择对应操作系统的版本下载即可
打开软件默认界面,就是一个搜索框,输入你需要使用的模型名,点击Go进行搜索。
常用的模型,如LLama2、Gemma、QWen等
注:这里只能是开源大模型
在搜索结果页面,左侧是搜索结果,点击左侧其中一个结果,右侧显示出所有可以下载的文件,主要是量化参数不一样,一般选择q4_0的即可,选择对应文件下载即可。
页面最下方会显示下载进度
模型文件下载完成,点击最左侧“AI Chat”图标,在最上方有个模型列表,选择下载的模型文件,会自动加载模型文件
接下来,就可以进行模型对话了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。