这里记录一下离线部署量化后的大模型的记录。负载均衡和生产级部署放在其他文章里。
目前有一台有显卡的主机,打算部署稍大参数的模型;有一台日常用的macbookpro,打算部署一个中量的量化后的gguf格式的模型;另外还有一些小设备,打算只有玩玩更小的模型比如qwen3.5-0.8b的,离线部署边缘计算。
目的很简单,就是瞎折腾。公司里不允许私自搭建部署,只能使用copilot,虽然能使用一些比较好的模型比如claude最新的模型,也能用cli,但是不开放api。自己有一些想法想尝试一下,需要特化的模型,但私人的设备也仅仅能对参数量少的模型做,同时也玩玩初级的具身智能,搞点玩具。
需要多模态的模型,文本、语音、视觉,打算选择qwen3.5的模型。https://modelscope.cn/organization/qwen?tab=model
先从无显卡的mbp开始,首先需要llama.cpp,在其github中有不少的文档:https://github.com/ggml-org/llama.cpp/tree/master/docs
可以从git拉取后cmake
brew install cmake
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build -DGGML_CUDA=OFF
cmake --build build --config Release -j
或者直接用brew装
brew install llama.cpp
从modelscope下载qwen3.5-4b的量化模型文件,选择Qwen3.5-4B-Q5_K_M.ggufGGUF https://modelscope.cn/models/unsloth/Qwen3.5-4B-GGUF/files
先启动对话模式,运行这个命令
llama-cli \
-m models/Qwen3.5-4B-Q4_K_M.gguf \
-c 8192 \
-t 4 \
-cnv \
--temp 0.7 \
--jinja \
--chat-template-kwargs '{"enable_thinking":false}'
此时稍等小会,我这16g的老mbp用起来都还算流畅。然后看到了llama的文字,以及对话的光标,可以开始进行问答,如下图

也可以启动一个带有简易界面的server,类似于使用ds或glm之类的在线版,不过这电脑的回复没有那么快,虽然也能接受。毕竟性能还是不太够,之后会用有显卡的主机来做。
运行命令
llama-server \
-m models/Qwen3.5-4B-Q4_K_M.gguf \
--host 0.0.0.0 \
--port 8080 \
-c 8192 \
-t 4 \
--jinja \
--cache-type-k q8_0 \
--cache-type-v q8_0
可以上传文件,可以添加mcp server,如下图

需要注意的是,虽然3.5-4b这个模型被标注为视觉多模态,但是此时会发现上传image和video的选项是灰显的,只能上传text和pdf,这是因为还需要mmproj文件。
此时再去下载一份mmproj-BF16.gguf文件,并且在运行命令中加一个参数:--mmproj models/mmproj-BF16.gguf \
重新启动后便能上传图片和视频了,如下图:

其实简单文字识别还不错,只是响应明显比纯文字慢,毕竟消耗更多的token。
文章评论 (0)