人工智能实战:基于Ubuntu操作系统 和Llama.cpp应用程序,使用Tesla V100 GPU推理 通义千问3.6 27B大模型
人工智能实战:基于Ubuntu操作系统和Llama.cpp应用程序,使用Tesla V100 GPU推理通义千问3.6 27B大模型
准备
-
正常运行 Ubuntu 操作系统的计算机一台。具体为:
-
已在主板的 PCIe x16 插槽上安装了 NVIDIA Tesla V100 计算卡。
注意事项:
安装形式不限,SXM2 转接 PCIe x16 或原生 PCIe x16 形式均可。
-
已设置主板 BIOS 中开启以下选项:
-
已启用 “Above 4G Decoding” 项。以提高 GPU 性能。
-
已将目标 PCIe 插槽的 CPU 总线分配为了 x16 速度的带宽。以提高 GPU 性能。
-
-
已安装 x86架构的、64位的、24.04 版本的Ubuntu Desktop 或 Ubuntu Server 操作系统。
-
已配置好 Python 和 Pip 环境。
参见:
-
开始
禁用原操作系统中开源的 NVIDIA GPU 驱动程序
-
使用 vi 命令编辑位于 /etc/modprobe.d 目录下的 blacklist.conf 配置文件,并在文件末尾填入以下内容后,保存并退出,以禁用:
blacklist nouveau options nouveau modeset=0注意事项:
若配置文件打开失败,则可能原因多为 etc 目录下的 modprobe.d 目录不存在。手动创建后重试即可。
-
键入并执行以下命令,以更新初始内存文件系统(initramfs):
sudo update-initramfs -u -
重启电脑。
-
键入并执行以下命令,查看原操作系统中的显卡驱动信息:
lsmod | grep nouveau若无任何输出,则表明禁用成功。
了解 NVIDIA 闭源 GPU 驱动程序、NVIDIA CUDA Toolkit 和 NVIDIA cuDNN 之间的版本兼容性和硬件兼容性关系
依照并访问常用网站中的 “NVIDIA cuDNN 兼容性列表”,示例结果如下所示:

由上可知:
9.10.2 版本的 cuDNN 在软件方面最大支持 12.9.X 版本的 CUDA Toolkit,在硬件方面支持 CUDA 硬件计算单元版本为 7.0 且产品代号为 Volta 的计算卡。
在 GPU-L 安卓应用程序上搜索 “v100” 关键字,示例结果如下所示:

可以得知,NVIDIA Tesla V100 计算卡的架构代号就是 Volta,且 CUDA 计算单元的硬件版本就是 7.0,与兼容性列表相匹配。
所以得出,适用于 NVIDIA Tesla V100 计算卡的套件信息如下:
| 组件 | 版本号 | 下载地址 | 备注 |
|---|---|---|---|
| NVIDIA 闭源 GPU 驱动程序 | - | - | 已含于 NVIDIA CUDA Toolkit 组件中,无需单独下载安装。 |
| NVIDIA CUDA Toolkit | 12.9 Update 2 | CUDA Toolkit 12.9 Update 2 Downloads | 只要是 12.9 版本均可,无关最后的小版本号。 |
| NVIDIA cuDNN | 9.10.2 | cuDNN 9.10.2 Downloads | - |
安装 NVIDIA CUDA Toolkit(含 NVIDIA 闭源 GPU 驱动程序)
-
依照常用软件和组件下载地址中 NVIDIA CUDA Toolkit 的下载地址,下载适用于本机操作系统版本的二进制安装包,并将其保存在本机任意位置。
示例命令如下所示:
wget https://developer.download.nvidia.com/compute/cuda/12.9.2/local_installers/cuda_12.9.2_575.57.08_linux.run -
使用 cd 命令切换到保存位置下,视实际情况,键入并执行以下命令,以为其赋予可执行权限:
sudo chmod +x [NVIDIA CUDA Toolkit二进制安装包位置]示例命令如下所示:
sudo chmod +x cuda_12.9.2_575.57.08_linux.run -
视实际情况,键入并执行以下命令,以启动安装:
sudo sh [NVIDIA CUDA Toolkit二进制安装包位置]示例命令如下所示:
sudo sh cuda_12.9.2_575.57.08_linux.run注意事项:
执行后需要耐心等待,不要认为终端无输出就是卡住了。
-
按照向导的提示正常安装即可。
注意事项:
在选择安装组件时,必须将“Driver”项、“CUDA Toolkit”项勾选。后两项随意勾选。最后一项不要勾选。
示例如下所示:

然后选中“Install”项安装即可。同样需要耐心等待,不要强制中断。-
键入并执行以下命令,以验证:
nvidia-smi示例结果输出如下所示:
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 575.57.08 Driver Version: 575.57.08 CUDA Version: 12.9 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 Tesla V100-SXM2-16GB Off | 00000000:03:00.0 Off | 0 | | N/A 38C P0 36W / 300W | 0MiB / 16384MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+由上可知:
-
GPU 驱动程序的版本号为 575.57.08,满足在[了解 NVIDIA 闭源 GPU 驱动程序、NVIDIA CUDA Toolkit 和 NVIDIA cuDNN 之间的版本兼容性和硬件兼容性关系](#了解 NVIDIA 闭源 GPU 驱动程序、NVIDIA CUDA Toolkit 和 NVIDIA cuDNN 之间的版本兼容性和硬件兼容性关系)所示的兼容性列表中 Linux 平台 GPU 驱动程序版本号大于等于 570.26 的要求。
-
CUDA Version(即:NVIDIA CUDA Toolkit)的版本号为 12.9,符合在[了解 NVIDIA 闭源 GPU 驱动程序、NVIDIA CUDA Toolkit 和 NVIDIA cuDNN 之间的版本兼容性和硬件兼容性关系](#了解 NVIDIA 闭源 GPU 驱动程序、NVIDIA CUDA Toolkit 和 NVIDIA cuDNN 之间的版本兼容性和硬件兼容性关系)所示的兼容性列表中 CUDA Toolkit Version 版本号为 12.9 的要求。
-
GPU 产品型号正确识别为了 Tesla V100-SXM2-16GB,说明驱动已正常工作。
-
-
安装 cuDNN
-
依照常用软件和组件下载地址中 NVIDIA cuDNN 的下载地址,下载适用于本机操作系统版本的应用程序安装包,并将其保存在本机任意位置。
示例命令如下所示:
sudo wget https://developer.download.nvidia.com/compute/cudnn/9.10.2/local_installers/cudnn-local-repo-ubuntu2404-9.10.2_1.0-1_amd64.deb -
使用 cd 命令切换到保存位置下,视实际情况,键入并执行以下命令,以为其赋予可执行权限:
sudo chmod +x [NVIDIA cuDNN应用程序安装包位置]示例命令如下所示:
sudo chmod +x cudnn-local-repo-ubuntu2404-9.10.2_1.0-1_amd64.deb -
视实际情况,键入并执行以下命令,以安装:
sudo dpkg -i [NVIDIA cuDNN应用程序安装包位置]示例命令如下所示:
sudo dpkg -i cudnn-local-repo-ubuntu2404-9.10.2_1.0-1_amd64.deb -
键入并执行以下命令,以拷贝证书:
sudo cp /var/cudnn-local-repo-ubuntu2404-9.10.2/cudnn-*-keyring.gpg /usr/share/keyrings/ -
键入并执行以下命令,以更新系统软件源:
sudo apt-get update -
键入并执行以下命令,以安装:
sudo apt-get install cudnn -y -
键入并执行以下命令,以验证:
dpkg -l | grep cudnn示例结果输出如下所示:
ii cudnn 9.10.2-1 amd64 NVIDIA CUDA Deep Neural Network library (cuDNN) ii cudnn-local-repo-ubuntu2404-9.10.2 1.0-1 amd64 cudnn-local repository configuration files ii cudnn9 9.10.2-1 amd64 NVIDIA CUDA Deep Neural Network library (cuDNN) ii cudnn9-cuda-12 9.10.2.21-1 amd64 NVIDIA cuDNN for CUDA 12 ii cudnn9-cuda-12-9 9.10.2.21-1 amd64 NVIDIA cuDNN for CUDA 12.9 ii libcudnn9-cuda-12 9.10.2.21-1 amd64 cuDNN runtime libraries for CUDA 12.9 ii libcudnn9-dev-cuda-12 9.10.2.21-1 amd64 cuDNN development libraries for CUDA 12.9 ii libcudnn9-headers-cuda-12 9.10.2.21-1 amd64 cuDNN header files for CUDA 12.9 ii libcudnn9-samples 9.10.2.21-1 all cuDNN samples ii libcudnn9-static-cuda-12 9.10.2.21-1 amd64 cuDNN static libraries for CUDA 12.9由上可知:
适用于 CUDA Toolkit 12 的 NVIDIA cuDNN 9 已成功安装。
下载 Llama.cpp 源码
键入并执行以下命令,以将最新版本的 llama.cpp 源代码下载并保存到本机任意位置。
示例命令如下所示:
sudo git clone https://down.mxw.xx.kg/https://github.com/ggml-org/llama.cpp.git
编译 Llama.cpp 源码
💡 先决条件:
已配置好 OpenSSL。
参见:[操作系统笔记 - Linux - 应用软件 - 安装和配置 OpenSSL](操作系统笔记_Linux.md#安装和配置 OpenSSL)。
-
使用 cd 命令切换到已克隆的 llama.cpp 源代码位置下,键入并执行以下命令,以在其内创建用于编译的目录:
sudo mkdir build && cd build -
视实际情况,键入并执行以下命令,以预编译:
sudo cmake .. -G "Unix Makefiles" \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -DCMAKE_BUILD_TYPE=Release \ -DLLAMA_BUILD_SERVER=ON \ -DLLAMA_BUILD_EXAMPLES=ON \ -DGGML_CUDA=ON \ -DCMAKE_CUDA_COMPILER=[nvcc二进制可执行文件的位置] \ -DCMAKE_CUDA_ARCHITECTURES="[GPU的cuda硬件单元版本号乘以10]" \ -DCMAKE_INSTALL_RPATH="[cuda组件的安装位置]/lib64;\$ORIGIN" \ -DGGML_NATIVE=ON注意事项:
-
nvcc 二进制可执行文件的位置,可使用 whereis 命令查询得到。
-
GPU的cuda硬件单元版本号,可访问Legacy CUDA GPU Compute Capability | NVIDIA Developer网站查询得到。
-
cuda组件的安装位置,一般默认位于 /usr/local 下。
示例命令如下所示:
sudo cmake .. -G "Unix Makefiles" \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -DCMAKE_BUILD_TYPE=Release \ -DLLAMA_BUILD_SERVER=ON \ -DLLAMA_BUILD_EXAMPLES=ON \ -DGGML_CUDA=ON \ -DCMAKE_CUDA_COMPILER=/usr/local/cuda-12.9/bin/nvcc \ -DCMAKE_CUDA_ARCHITECTURES="70" \ -DCMAKE_INSTALL_RPATH="/usr/local/cuda-12.9/lib64;\$ORIGIN" \ -DGGML_NATIVE=ON -
-
键入并执行以下命令,以编译:
sudo cmake --build . --config Release -j$(nproc) -
编译后,将在当前位置下的 bin 中生成关于 llama.cpp 的二进制可执行文件。
示例文件如下所示:
total 85M lrwxrwxrwx 1 root root 17 Jul 1 12:16 libggml-base.so -> libggml-base.so.0 lrwxrwxrwx 1 root root 22 Jul 1 12:16 libggml-base.so.0 -> libggml-base.so.0.15.3 -rwxr-xr-x 1 root root 893K Jul 1 12:16 libggml-base.so.0.15.3 lrwxrwxrwx 1 root root 16 Jul 1 12:17 libggml-cpu.so -> libggml-cpu.so.0 lrwxrwxrwx 1 root root 21 Jul 1 12:17 libggml-cpu.so.0 -> libggml-cpu.so.0.15.3 -rwxr-xr-x 1 root root 1.1M Jul 1 12:17 libggml-cpu.so.0.15.3 lrwxrwxrwx 1 root root 17 Jul 1 12:22 libggml-cuda.so -> libggml-cuda.so.0 lrwxrwxrwx 1 root root 22 Jul 1 12:22 libggml-cuda.so.0 -> libggml-cuda.so.0.15.3 -rwxr-xr-x 1 root root 51M Jul 1 12:22 libggml-cuda.so.0.15.3 lrwxrwxrwx 1 root root 12 Jul 1 12:22 libggml.so -> libggml.so.0 lrwxrwxrwx 1 root root 17 Jul 1 12:22 libggml.so.0 -> libggml.so.0.15.3 -rwxr-xr-x 1 root root 55K Jul 1 12:22 libggml.so.0.15.3 -rwxr-xr-x 1 root root 45K Jul 1 12:24 libllama-batched-bench-impl.so -rwxr-xr-x 1 root root 457K Jul 1 12:24 libllama-bench-impl.so -rwxr-xr-x 1 root root 2.0M Jul 1 12:24 libllama-cli-impl.so lrwxrwxrwx 1 root root 20 Jul 1 12:23 libllama-common.so -> libllama-common.so.0 lrwxrwxrwx 1 root root 24 Jul 1 12:23 libllama-common.so.0 -> libllama-common.so.0.0.0 -rwxr-xr-x 1 root root 5.7M Jul 1 12:23 libllama-common.so.0.0.0 -rwxr-xr-x 1 root root 109K Jul 1 12:24 libllama-completion-impl.so -rwxr-xr-x 1 root root 36K Jul 1 12:24 libllama-fit-params-impl.so -rwxr-xr-x 1 root root 161K Jul 1 12:24 libllama-perplexity-impl.so -rwxr-xr-x 1 root root 88K Jul 1 12:24 libllama-quantize-impl.so -rw-rw-r-- 1 stevejrong stevejrong 6.6M Jul 1 12:37 libllama-server-impl.so lrwxrwxrwx 1 root root 13 Jul 1 12:22 libllama.so -> libllama.so.0 lrwxrwxrwx 1 root root 17 Jul 1 12:22 libllama.so.0 -> libllama.so.0.0.0 -rwxr-xr-x 1 root root 3.9M Jul 1 12:22 libllama.so.0.0.0 lrwxrwxrwx 1 root root 12 Jul 1 12:23 libmtmd.so -> libmtmd.so.0 lrwxrwxrwx 1 root root 16 Jul 1 12:23 libmtmd.so.0 -> libmtmd.so.0.0.0 -rwxr-xr-x 1 root root 1.4M Jul 1 12:23 libmtmd.so.0.0.0 -rwxr-xr-x 1 root root 57K Jul 1 12:24 llama -rwxr-xr-x 1 root root 50K Jul 1 12:24 llama-batched -rwxr-xr-x 1 root root 16K Jul 1 12:24 llama-batched-bench -rwxr-xr-x 1 root root 18K Jul 1 12:24 llama-bench -rwxr-xr-x 1 root root 18K Jul 1 12:24 llama-cli -rwxr-xr-x 1 root root 16K Jul 1 12:24 llama-completion -rwxr-xr-x 1 root root 65K Jul 1 12:24 llama-convert-llama2c-to-ggml -rwxr-xr-x 1 root root 88K Jul 1 12:24 llama-cvector-generator -rwxr-xr-x 1 root root 240K Jul 1 12:24 llama-debug -rwxr-xr-x 1 root root 211K Jul 1 12:24 llama-debug-template-parser -rwxr-xr-x 1 root root 76K Jul 1 12:24 llama-diffusion-cli -rwxr-xr-x 1 root root 63K Jul 1 12:24 llama-embedding -rwxr-xr-x 1 root root 40K Jul 1 12:24 llama-eval-callback -rwxr-xr-x 1 root root 88K Jul 1 12:24 llama-export-lora -rwxr-xr-x 1 root root 40K Jul 1 12:24 llama-finetune -rwxr-xr-x 1 root root 16K Jul 1 12:24 llama-fit-params -rwxr-xr-x 1 root root 17K Jul 1 12:16 llama-gemma3-cli -rwxr-xr-x 1 root root 59K Jul 1 12:24 llama-gen-docs -rwxr-xr-x 1 root root 29K Jul 1 12:22 llama-gguf -rwxr-xr-x 1 root root 97K Jul 1 12:22 llama-gguf-hash -rwxr-xr-x 1 root root 48K Jul 1 12:24 llama-gguf-split -rwxr-xr-x 1 root root 40K Jul 1 12:24 llama-idle -rwxr-xr-x 1 root root 332K Jul 1 12:24 llama-imatrix -rwxr-xr-x 1 root root 17K Jul 1 12:16 llama-llava-cli -rwxr-xr-x 1 root root 54K Jul 1 12:24 llama-lookahead -rwxr-xr-x 1 root root 55K Jul 1 12:24 llama-lookup -rwxr-xr-x 1 root root 37K Jul 1 12:24 llama-lookup-create -rwxr-xr-x 1 root root 22K Jul 1 12:24 llama-lookup-merge -rwxr-xr-x 1 root root 42K Jul 1 12:24 llama-lookup-stats -rwxr-xr-x 1 root root 17K Jul 1 12:16 llama-minicpmv-cli -rwxr-xr-x 1 root root 86K Jul 1 12:24 llama-mtmd-cli -rwxr-xr-x 1 root root 54K Jul 1 12:24 llama-mtmd-debug -rwxr-xr-x 1 root root 67K Jul 1 12:24 llama-parallel -rwxr-xr-x 1 root root 49K Jul 1 12:24 llama-passkey -rwxr-xr-x 1 root root 16K Jul 1 12:24 llama-perplexity -rwxr-xr-x 1 root root 22K Jul 1 12:24 llama-q8dot -rwxr-xr-x 1 root root 18K Jul 1 12:24 llama-quantize -rwxr-xr-x 1 root root 17K Jul 1 12:16 llama-qwen2vl-cli -rwxr-xr-x 1 root root 50K Jul 1 12:24 llama-results -rwxr-xr-x 1 root root 69K Jul 1 12:24 llama-retrieval -rwxr-xr-x 1 root root 18K Jul 1 12:24 llama-server -rwxr-xr-x 1 root root 27K Jul 1 12:23 llama-simple -rwxr-xr-x 1 root root 32K Jul 1 12:23 llama-simple-chat -rwxr-xr-x 1 root root 74K Jul 1 12:24 llama-speculative -rwxr-xr-x 1 root root 81K Jul 1 12:24 llama-speculative-simple -rwxr-xr-x 1 root root 193K Jul 1 12:24 llama-template-analysis -rwxr-xr-x 1 root root 32K Jul 1 12:24 llama-tokenize -rwxr-xr-x 1 root root 414K Jul 1 12:24 llama-tts -rwxr-xr-x 1 root root 22K Jul 1 12:24 llama-vdot -rwxr-xr-x 1 root root 50K Jul 1 12:23 test-alloc -rwxr-xr-x 1 root root 56K Jul 1 12:23 test-arg-parser -rwxr-xr-x 1 root root 18K Jul 1 12:23 test-autorelease -rwxr-xr-x 1 root root 1.1M Jul 1 12:24 test-backend-ops -rwxr-xr-x 1 root root 115K Jul 1 12:23 test-backend-sampler -rwxr-xr-x 1 root root 26K Jul 1 12:23 test-barrier -rwxr-xr-x 1 root root 16K Jul 1 12:22 test-c -rwxr-xr-x 1 root root 1.2M Jul 1 12:25 test-chat -rwxr-xr-x 1 root root 749K Jul 1 12:24 test-chat-auto-parser -rwxr-xr-x 1 root root 706K Jul 1 12:24 test-chat-peg-parser -rwxr-xr-x 1 root root 312K Jul 1 12:24 test-chat-template -rwxr-xr-x 1 root root 18K Jul 1 12:23 test-col2im-1d -rwxr-xr-x 1 root root 243K Jul 1 12:24 test-export-graph-ops -rwxr-xr-x 1 root root 23K Jul 1 12:23 test-gbnf-validator -rwxr-xr-x 1 root root 85K Jul 1 12:23 test-gguf -rwxr-xr-x 1 root root 214K Jul 1 12:24 test-gguf-model-data -rwxr-xr-x 1 root root 234K Jul 1 12:23 test-grammar-integration -rwxr-xr-x 1 root root 45K Jul 1 12:23 test-grammar-parser -rwxr-xr-x 1 root root 731K Jul 1 12:24 test-jinja -rwxr-xr-x 1 root root 403K Jul 1 12:24 test-json-schema-to-grammar -rwxr-xr-x 1 root root 67K Jul 1 12:23 test-llama-archs -rwxr-xr-x 1 root root 46K Jul 1 12:23 test-llama-grammar -rwxr-xr-x 1 root root 18K Jul 1 12:23 test-log -rwxr-xr-x 1 root root 17K Jul 1 12:23 test-model-load-cancel -rwxr-xr-x 1 root root 17K Jul 1 12:23 test-mtmd-c-api -rwxr-xr-x 1 root root 68K Jul 1 12:23 test-opt -rwxr-xr-x 1 root root 1003K Jul 1 12:24 test-peg-parser -rwxr-xr-x 1 root root 22K Jul 1 12:23 test-quantize-fns -rwxr-xr-x 1 root root 42K Jul 1 12:23 test-quantize-perf -rwxr-xr-x 1 root root 228K Jul 1 12:23 test-quantize-stats -rwxr-xr-x 1 root root 251K Jul 1 12:24 test-quant-type-selection -rwxr-xr-x 1 root root 35K Jul 1 12:23 test-reasoning-budget -rwxr-xr-x 1 root root 45K Jul 1 12:23 test-recurrent-state-rollback -rwxr-xr-x 1 root root 22K Jul 1 12:23 test-rope -rwxr-xr-x 1 root root 50K Jul 1 12:23 test-sampling -rwxr-xr-x 1 root root 59K Jul 1 12:23 test-save-load-state -rwxr-xr-x 1 root root 41K Jul 1 12:23 test-state-restore-fragmented -rwxr-xr-x 1 root root 51K Jul 1 12:23 test-thread-safety -rwxr-xr-x 1 root root 53K Jul 1 12:23 test-tokenizer-0 -rwxr-xr-x 1 root root 28K Jul 1 12:23 test-tokenizer-1-bpe -rwxr-xr-x 1 root root 23K Jul 1 12:23 test-tokenizer-1-spm
替换编译后 llama-server 功能实现库文件
不知为何,以 llama-cli 启动运行大模型一切正常,但以 llama-server 启动运行大模型,在访问 Web 页面时会报 404 的错误。
几番尝试以后,最终发现将官方编译好的 Llama.cpp 目录下的 libllama-server-impl.so 库文件,替换到本地编译好的 Llama.cpp 的 /build/bin 目录下能解决问题,于是需要做这一步。若后续以 llama-server 启动并从 Web 访问无问题,则可跳过此步骤,无需替换。
替换步骤为:
-
访问llama.cpp 的产品发布页面,下载适用于 Linux 操作系统的、以 CPU 推理的二进制应用程序压缩包,并将其保存和解压到本机任意位置。
如下所示:

示例下载地址如下所示:
sudo wget https://down.mxw.xx.kg/https://github.com/ggml-org/llama.cpp/releases/download/b9859/llama-b9859-bin-ubuntu-x64.tar.gz -
将官方编译好的 Llama.cpp 目录下的 libllama-server-impl.so 库文件,替换到本地编译好的 Llama.cpp 的 /build/bin 目录下。
如下所示:

注意事项:
图片示例中是早已替换好的,所以能发现文件大小几乎一致。实际上,替换前 libllama-server-impl.so 库的文件大小只有约现在的一半。也是从这里发现问题的。如果包含 Web 资源,实现库肯定不能这么小,然后与官方编译的文件大小一比,问题乍现。
下载大模型
访问魔改蒸馏版通义千问3.6大模型的产品发布页面,登录并下载 q4km 量化版本的、gguf 格式的大模型文件,并使用 scp 命令将其传输到目标主机上。
如下所示:

运行大模型
-
使用 cd 命令切换到本地编译好的 Llama.cpp 的 /build/bin 下。
-
视实际情况,键入并执行以下命令,以启动大模型并以 Web 服务的形式提供操作接口:
./llama-server \ -m [gguf格式的大模型文件位置] \ --host [Web服务需要绑定的IP地址。这里写0.0.0.0] --port [Web服务需要暴露的端口号。不与宿主机上的任意端口号重复即可] \ --cache-type-k q4_0 --cache-type-v q4_0 --flash-attn on --reasoning off --threads 20 --mlock \ --ctx-size 32768 --temp 0.6 --top-p 0.95 --parallel 2 --jinja示例命令如下所示:
./llama-server \ -m /home/stevejrong/ai/models/Qwen3.6-27B-DSV4Pro-Distill-MTP-Q4_K_M-imatrix.gguf \ --host 0.0.0.0 --port 8888 \ --cache-type-k q4_0 --cache-type-v q4_0 --flash-attn on --reasoning off --threads 20 --mlock \ --ctx-size 32768 --temp 0.6 --top-p 0.95 --parallel 2 --jinja
效果展示
大模型推理速度为 9Token/秒。
示例结果如下所示:

推理期间 GPU 的负载信息如下所示:
+-----------------------------------------------------------------------------------------+ stevejrongnas: Thu Jul 2 11:31:36 2026
Thu Jul 2 11:31:36 2026
| NVIDIA-SMI 575.57.08 Driver Version: 575.57.08 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla V100-SXM2-16GB Off | 00000000:03:00.0 Off | 0 |
| N/A 59C P0 266W / 300W | 15035MiB / 16384MiB | 100% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 337919 C ./llama-server 15032MiB |
+-----------------------------------------------------------------------------------------+
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)