MiniCPM-V系列发布后,除了优秀的多模能力,最让我偏爱的是端侧部署能力,面壁智能的工程师fork llama.cpp做修改以支持多模MiniCPM-V。本人也一直在官方的llama.cpp项目提意见,但一直未做相应支持,这点上必须给面壁智能点赞 。V2.5的时候折腾过,没成功,V2.6出来后又勾起来我的好奇心,今天终于走通了个大概吧??特此记录,端侧设备:小米10-pro。 ① 首先依旧是下载模型到本地-电脑,各位可以从mdoelscope(需要注册)和HF下载(HF需要翻墙),不过也可以使用HF的镜像网站:https://hf-mirror.com/,具体下载命令如下: pip install -U huggingface_hubLinux: export HF_ENDPOINT=https://hf-mirror.comWindows env:HF_ENDPOINT = "https://hf-mirror.com"
#huggingface中的模型较多,可以按需下载,但是mmproj-model-f16.gguf必须下载huggingface-clidownload--local-dir-use-symlinksFalse--resume-downloadOpenBMB/MiniCPM-V-2_6-gguf--local-dirOpenBMB/MiniCPM-V-2_6-gguf
#也可以使用modelscope下载git lfs installgit clone https://www.modelscope.cn/OpenBMB/MiniCPM-V-2_6-gguf.git
下载完成应该是下面的列表: ② 此时需要在手机上安装Termux(可以在手机上运行命令行,linux指令),我下载的是对勾这个版本: https://github.com/termux/termux-app/releases  ③ 安装好后需要克隆代码,可以先在电脑上下载完成,使用下面命令,然后用数据线连接手机和电脑,打开文件传输,将llama.cpp和前面下载的模型MiniCPM-V-2_6-gguf打包一起拷贝到手机的下载(downloads)目录:gitclonegit@github.com:OpenBMB/llama.cpp.gitcdllama.cppgitcheckoutminicpmv-main ④ 接下来打开手机上的Termux软件,在命令行执行下面的命令(默认的路径就是手机上的home路径): aptupdate&&aptupgrade-yaptinstallgitmakecmakeaptinstallffmpegaptinstallpkg-config#这个命令可能需要执行两次,可以将手机存储路径打开权限#执行后会多出一个storage目录termux-setup-storage cdstorage/downloads/llama.cppmake-j4makellama-minicpmv-cli ⑥ 一切都准备ok,执行下面命令,可以看到结果没问题,但是推理速度非常慢,应该是推理在cpu上:./llama-minicpmv-cli-m../MiniCPM-V-2_6-gguf/ggml-model-Q4_K_M.gguf--mmproj../MiniCPM-V-2_6-gguf/mmproj-model-f16.gguf-c4096--temp0.7--top-p0.8--top-k100--repeat-penalty1.05--imagexx.jpg-p"Whatisintheimage?" 
 1. 如果键盘支持蓝牙可以用手机连接,这样在上面输入也会方便很多。2. 只在cpu上运行,还未跑通gpu,npu的路径。参考: 1.https://github.com/OpenBMB/llama.cpp/blob/minicpmv-main/examples/llava/README-minicpmv2.6.md
|