WeAir

离线安装部署llama.cpp

llama.cpp是一个开源的高性能大语言模型(LLM)推理框架。

准备

提前准备好和离线设备架构及系统完全一致的干净的联网设备,以确保所有必要的依赖包都能被完整下载。

离线安装开发工具

联网设备下载安装包

1
2
3
mkdir -p ./pkgs
dnf groupinstall "Development Tools" --downloadonly --destdir=$(pwd)/pkgs
dnf download kernel-devel-$(uname -r) kernel-headers-$(uname -r) --downloadonly --destdir=$(pwd)/pkgs

将pkgs文件夹拷贝至离线设备并安装开发工具

1
2
cd ./pkgs
dnf localinstall *.rpm --disablerepo=* --nogpgcheck

验证安装

1
2
gcc --version
make --version

离线安装编译工具

CMake下载页面下载预编译包并拷贝至离线设备解压至指定路径。

1
2
mkdir -p /usr/local/cmake
tar -zxvf cmake-*-linux-x86_64.tar.gz -C /usr/local/cmake --strip-components=1

配置Cmake环境变量

1
2
3
echo 'export CMAKE_HOME=/usr/local/cmake
export PATH=$CMAKE_HOME/bin:$PATH' > /etc/profile.d/cmake.sh
source /etc/profile.d/cmake.sh

验证安装

1
cmake --version

禁用Nouveau驱动

创建配置文件

1
2
echo 'blacklist nouveau
options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf

备份并重新生成initramfs镜像

1
2
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

重启设备并验证

1
2
reboot
lsmod | grep -i nouveau

安装Nvidia显卡驱动及CUDA Toolkit

查看显卡型号

1
lspci | grep -i nvidia

Nvidia驱动官网下载对应型号的.run驱动文件并拷贝至离线设备。

1
2
chmod +x NVIDIA-Linux-x86_64-*.run
./NVIDIA-Linux-x86_64-*.run -no-x-check -no-nouveau-check -no-opengl-files

CUDA Toolkit下载页面下载对应版本的.run文件并拷贝至离线设备。

1
2
chmod +x cuda_*_linux.run
./cuda_*_linux.run --silent --toolkit

配置CUDA环境变量

1
2
3
4
echo 'export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' > /etc/profile.d/cuda.sh
source /etc/profile.d/cuda.sh

验证安装

1
2
nvidia-smi
nvcc --version

编译安装llama.cpp

llama.cpp下载页面下载源代码并拷贝至离线设备编译安装。

1
2
3
4
5
cmake -B build \
-DGGML_CUDA=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/llama
cmake --build build --config Release -j $(nproc)
cmake --install build

配置llama.cpp环境变量

1
2
3
4
echo 'export LLAMA_HOME=/usr/local/llama
export PATH=$LLAMA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LLAMA_HOME/lib64:$LD_LIBRARY_PATH' > /etc/profile.d/llama.sh
source /etc/profile.d/llama.sh

验证安装

1
llama-cli --version

下载并运行模型

Hugging Face或者ModelScope下载GGUF格式的模型并拷贝至离线设备指定路径。

1
2
3
llama-cli -m models/model.gguf -ngl 99 -c 4096 -cnv

llama-server -m models/model.gguf -ngl 99 -c 4096 --host 0.0.0.0 --port 8080