测试环境: RK3588 Arm架构 8+64G Ubuntu20.04(建议使用8G内存及以上配置主板, Ubuntu 20.04 LTS 及以上版本系统)


方法一、RKLLM量化部署(性能优化)


NPU占用率可达83%,1.5B模型响应延迟低至毫秒级,存储仅1.89GB


  1. 参考 rkllm 的 example,下载官方量化后的模型,后面会要用到(也可自行转模型,步骤较复杂)
提取码:rkllm

下载地址:https://meta.box.lenovo.com/v/link/view/ad7482f6712844b48902f07287ed3359

文件名:DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm
  1. 安装编译环境,找到编译器所在位置(例如:/usr/bin/gcc)
sudo apt install -y cmake gcc g++

which gcc g++
  1. 执行以下命令克隆 rkllm 仓库,进入指定目录(国外服务器,所以需要较好的网络环境下载)
sudo apt install -y git

sudo git clone https://github.com/airockchip/rknn-llm.git

cd rknn-llm/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy
  1. 编辑脚本文件,找到以下内容,手动修改为编译器所在位置(如:/usr/bin/gcc)
sudo vim build-linux.sh

C_COMPILER=${GCC_COMPILER_PATH}-gcc
CXX_COMPILER=${GCC_COMPILER_PATH}-g++
STRIP_COMPILER=${GCC_COMPILER_PATH}-strip

# 修改如下:

C_COMPILER=/usr/bin/gcc
CXX_COMPILER=/usr/bin/g++
STRIP_COMPILER=/usr/bin/strip
  1. 修改完成后,给脚本添加可执行权限,进行编译
sudo chmod a+x build-linux.sh

sudo ./build-linux.sh
  1. 编译完成后在当前文件夹会出现 install/demo_Linux_aarch64 目录,进入目录中
cd install/demo_Linux_aarch64

sudo mv /tmp/DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm .

# 可使用FTP等文件传输工具,将刚开始下载的模型,从电脑上传到目标设备中

# demo_Linux_aarch64 目录中会有lib文件夹和llm_demo文件,将最开始下载好的模型放到 demo_Linux_aarch64 目录中
  1. 将lib库中的so文件拷贝到/usr/lib库中,命令中的路径要替换成自己模型所在目录,运行即可在终端进行交互
export LD_LIBRARY_PATH=./lib

echo "export LD_LIBRARY_PATH=$(pwd)/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc

source ~/.bashrc

taskset f0 ./llm_demo /path/to/your/rkllm/model 2048 4096

# 例:taskset f0 ./llm_demo /rknn-llm/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy/install/demo_Linux_aarch64/DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm 2048 4096

# f0 是一个 CPU 亲和性掩码(即绑定到 CPU 0-3 核心),如果你想绑定到所有核心,可以去掉 taskset f0

# 2048 和 4096 是模型推理时的参数,通常用于控制上下文窗口大小和生成的最大 token 数

    # 如果希望降低响应延迟,可以减小 4096,例如 1024 或 2048,这样模型会更快停止生成。
    # 如果输入文本较长(如 3000 词以上),可以尝试增大 2048,但要确保 NPU 资源够用。
    # 如果 4096 过大,模型可能会在生成过程中耗尽显存/内存,导致崩溃,需要根据硬件情况调整
    
  1. 可同时使用以下命令查看NPU的使用情况
watch -n 1 sudo cat /sys/kernel/debug/rknpu/load


方法二、Ollama工具部署,快速测试,备选方案(简易步骤)


主要是通过 GitHub 网址上的自动化脚本快速安装部署,需要较好的网络环境,可能会出现下载失败的情况,重试多次即可

该方式依赖CPU运算,NPU未被调用,适合快速验证模型功能,CPU占用率100%,模型精度较低


  1. 从官网上下载Ollama自动化安装脚本
curl -fsSL https://ollama.com/install.sh | sh
  1. 执行以下命令,Ollama 会自动下载并运行 DeepSeek R1 模型,在终端中输入对话内容即可与 DeepSeek 模型交互
ollama run deepseek-r1:1.5b

方法三、Ollama工具部署,快速测试,备选方案(详细步骤)


  1. 安装依赖工具
sudo apt update

sudo apt install build-essential curl wget python3-venv -y
  1. 下载 ARM64 版安装包,安装 Ollama 工具(建议解压到 /opt 目录)
sudo mkdir -p /opt/ollama

cd /opt/ollama

sudo wget https://ollama.com/download/ollama-linux-arm64.tgz
或
sudo wget https://github.com/ollama/ollama/releases/download/v0.5.7/ollama-linux-arm64.tgz

sudo tar -xzvf ollama-linux-arm64.tgz
  1. 添加 Ollama 路径到环境变量
echo 'export OLLAMA_HOME=/opt/ollama' | sudo tee -a /etc/profile

echo 'export PATH=$OLLAMA_HOME/bin:$PATH' | sudo tee -a /etc/profile

source /etc/profile
  1. 创建 systemd 服务文件,配置 Ollama 作为系统服务
sudo vim /etc/systemd/system/ollama.service
  1. 将以下内容复制到 ollama.service 文件中
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/opt/ollama/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_KEEP_ALIVE=-1"
Environment="OLLAMA_MODELS=/opt/ollama/models"
Environment="PATH=$PATH"

[Install]
WantedBy=default.target
  1. 启用并启动服务,最后验证安装
sudo systemctl daemon-reload

sudo systemctl enable ollama

sudo systemctl start ollama

ollama -v
  1. 执行以下命令,Ollama 会自动下载并运行 DeepSeek R1 模型,在终端中输入对话内容即可与 DeepSeek 模型交互
ollama run deepseek-r1:1.5b
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐