跳到主要内容

ERNIE 4.5-0.3B

本文档讲述如何在瑞莎星睿 O6 / O6N 上使用 llama.cpp 启用 KleidiAI 加速推理百度文心一言 ERNIE-4.5-0.3BERNIE-4.5-0.3B-Base 模型。

模型地址:

模型下载

radxa 提供预编译好的 ERNIE-4.5-0.3B-PT-Q4_0.ggufERNIE-4.5-0.3B-Base-PT-Q4_0.gguf 模型,用户可以使用 modelscope 进行下载

Device
pip3 install modelscope
modelscope download --model radxa/ERNIE-4.5-GGUF ERNIE-4.5-0.3B-PT-Q4_0.gguf --local_dir ./ERNIE-4.5-0.3B-PT-Q4_0.gguf

模型转换

提示

如用户对转换 GGUF 模型感兴趣,可以参考本节内容在 X86 主机上进行模型转换,

如不想进行模型转换可以下载 radxa 提供的 GGUF 模型然后跳到 模型推理

编译 llama.cpp

在 X86 主机上编译 llama.cpp

提示

请根据 llama.cpp 在 X86 主机上编译带 llama.cpp

以下为编译命令

X86 PC
sudo apt install cmake gcc g++
git clone https://github.com/ggml-org/llama.cpp.git && cd llama.cpp
cmake -B build
cmake --build build --config Release

下载模型

请使用 modelscope 下载源模型

X86 PC
pip3 install modelscope
modelscope download --model PaddlePaddle/ERNIE-4.5-0.3B-PT --local_dir ./ERNIE-4.5-0.3B-PT

转换为浮点 GGUF 格式模型

X86 PC
cd llama.cpp
python3 convert_hf_to_gguf.py ./ERNIE-4.5-0.3B-PT

执行 convert_hf_to_gguf.py 会在源模型目录下生成一个 F16 的浮点 GGUF 模型

量化 GGUF 模型

使用 llama-quantize 工具对浮点 GGUF 模型进行 Q4_0 量化

X86 PC
cd llama.cpp
./build/bin/llama-quantize ERNIE-4.5-0.3B-PT/ERNIE-4.5-0.3B-PT-F16.gguf ERNIE-4.5-0.3B-PT/ERNIE-4.5-0.3B-PT-Q4_0.gguf Q4_0

执行 llama-quantize 会在指定目录下生成一个特定量化方式的 GGUF 模型

模型推理

编译 llama.cpp

提示

请根据 llama.cpp 在瑞莎星睿 O6/O6N 上编译带 KleidiAI 特性的 llama.cpp

以下为编译命令

Device
sudo apt install cmake gcc g++
git clone https://github.com/ggml-org/llama.cpp.git && cd llama.cpp
cmake -B build -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv9-a+i8mm+dotprod -DGGML_CPU_KLEIDIAI=ON
cmake --build build --config Release

推理模型

这里使用 llama-cli 进行模型对话

Device
cd llama.cpp
taskset -c 0,5,6,7,8,9,10,11 ./build/bin/llama-cli -m ERNIE-4.5-0.3B-PT-Q4_0.gguf -c 4096 -t 8 --conversation --jinja
(base) rock@orion-o6:~/baidu/llama.cpp/build/bin$ taskset -c 0,5,6,7,8,9,10,11 ./llama-cli -m ../../../gguf/ERNIE-4.5-0.3B-PT-Q4_0.gguf -c 4096 -t 8 --conversation --jinja

Loading model...


▄▄ ▄▄
██ ██
██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄
██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██
██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀
██ ██
▀▀ ▀▀

build : b7406-4aced7a63
model : ERNIE-4.5-0.3B-PT-Q4_0.gguf
modalities : text

available commands:
/exit or Ctrl+C stop or exit
/regen regenerate the last response
/clear clear the chat history
/read add a text file


> What is relativity?

Relativity is a philosophical and scientific theory that describes how the laws of physics are relative to different reference frames. It's a way of thinking and studying phenomena that treats the motion of objects as a coordinate in a three-dimensional space of spacetime, and it explains how frames of reference can be relative to each other.

[ Prompt: 224.0 t/s | Generation: 45.9 t/s ]

性能分析

可以使用 llama-bench 工具对模型进行性能分析

Device
taskset -c 0,5,6,7,8,9,10,11 ./llama-bench -m ERNIE-4.5-0.3B-PT-Q4_0.gguf -p 128 -n 128 -pg 128,128 -t 8
Modelernie4_5 0.3B Q4_0
Size219.68 MiB
params360.75 M
backendCPU
threads8
n-promptn-genprefill t/sgeneration t/sprefill+generation t/s
128128393.12 ± 3.1178.56 ± 0.89130.87 ± 1.04
512512439.33 ± 7.2677.05 ± 0.23116.79 ± 0.43
10241024374.82 ± 2.6770.65 ± 0.2290.95 ± 0.35
20482048293.03 ± 1.3858.21 ± 0.0966.94 ± 0.10
40964096206.78 ± 0.2845.48 ± 0.1144.76 ± 0.03

    您需要登录 GitHub 才能发表评论。如果您已登录,请忽略此消息。

    Radxa-docs © 2026 by Radxa Computer (Shenzhen) Co.,Ltd. is licensed under CC BY 4.0