树莓派的性能太低了,我们需要对模型进行量化才能使用,所以现在的方案是,在windows上将模型格式和量化处理好,然后再将模型文件传输到树莓派上。而完成上面的操作就需要部署llama.cpp。
三、环境的准备
这里要求大家准备一个树莓派,这里我使用的是树莓派5,当然,也建议大家使用树莓派5。树莓派5运行1B并且F16量化的模型已经非常慢了。所以不推荐大家使用树莓派5以下的版本。这里要求大家将树莓派的系统安装好,并且可以远程到或者是使用HDMI连接显示器。总之需要大家能够操作到树莓派就行了。后面我就使用SSH远程树莓派进行演示。
四、llama.cpp的编译
这里已经我为我的树莓派装好了一个全新的系统,并且使用VNC连接到了树莓派:
1.安装llama.cpp编译所需的环境
因为树莓派本质属于国外的嵌入式开发板,所以可能一些软件源我们拉取比较慢甚至无法拉取,那么现在我们就来换一些树莓派的下载源。这里参考了:debian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
这里我们首先使用下面的命令打开软件源的配置文件:
sudo nano /etc/apt/sources.list
这里我们使用“#”将原本的源都注释掉:
然后将下面的内容复制到原本的源的下面:
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib
完成以上操作以后,我们保存并退出文件。
这里我们使用下面的命令来更新一下我们重新设置的源:
sudo apt update
下面我们来安装编译所需的环境,直接使用下面的命令即可:
sudo apt install cmake gcc g++
下载https://github.com/ggml-org/llama.cpp.git的项目文件,U盘拷到树莓派中,
llama.cpp的编译
现在我们准备开始编译llama.cpp。这里我们需要在llama.cpp的项目目录下新建一个文件夹,我们在llama.cpp的项目目录下使用下面的命令:
mkdir build
然后使用下面的命令进入这个目录:
cd build/
进入目录以后,我们使用下面的命令生成makefile文件:
cmake .. -DLLAMA_NATIVE=OFF
AI写代码
这里加上“-DLLAMA_NATIVE=OFF”是为了在ARM设备中提升兼容性。
执行命令以后,就生成了编译相关的文件,这些文件指导了编译的过程:
然后我们使用下面的命令进行编译:
make -j$(nproc)
后面的“-j$(nproc)”是为了自动传递多核参数。也就是说它会自动识别树莓派的处理器数量并且调用处理器进行编译。
命令执行以后,编译就开始了:
在前面我们已经部署好了llama.cpp,现在我们就使用llama.cpp来运行GGUF格式的模型了,至于什么是GGUF格式的模型以及如何对模型进行量化
./build/bin/llama-cli -m ./models/DeepSeek-R1-Distill-Qwen-1.5B/DeepSeek-R1-Distill-Qwen-1.5B-F16.gguf
启动完成以后,就可以进行对话了:
至此,我们在树莓派运行DeepSeek就已经完成了。以后,只要是类似的模型都可以使用这样的方法来使用树莓派来运行。