cfx · 4月5日

【“星睿O6”AI PC开发套件评测】在O6开发板使用gemma-2b测试CPU性能

前提条件:

x64 Linux 主机:安装CMake 和 arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-linux-gnu
radxa O6主机

1.从 Kaggle 获取模型权重和分词器

Gemma 3 2B 模型文件:访问 Kaggle 上的 Gemma 模型页面 https://www.kaggle.com/models/google/gemma
Gemma C++ . On this tab, theVariation` 下拉菜单包含以下选项。请注意,bfloat16 权重选项具有更高的保真度,而 8 位切换浮点权重可实现更快的推理。
下载如下:
2b-it-sfp 20 亿参数的指令调优模型,8 位切换浮点

2.解压缩文件 模型权重和分词器

tar -zxf archive.tar.gz
这应该会生成一个包含模型权重(例如 2b-it-sfp.sbs)和分词器文件 (tokenizer.spm) 的文件
2b-it-sfp.sbs
tokenizer.spm

3.构建可执行程序

下载代码:
git clone https://github.com/google/gem... -b v0.1.4

交叉编译
进入到gemma.cpp代码目录下:
mkdir build && cd build

cmake -DCMAKE_C_COMPILER=${ARMCC_PREFIX}gcc \
-DCMAKE_CXX_COMPILER=${ARMCC_PREFIX}g++ \
-DCMAKE_C_FLAGS="${ARMCC_FLAGS}" \
-DCMAKE_CXX_FLAGS="${ARMCC_FLAGS}" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
-DBENCHMARK_ENABLE_TESTING=ON \
-DCMAKE_BUILD_TYPE=Release \
..

在build目录中生成gemma、benchmarks可执行程序

4.执行

拷贝gemma、tokenizer.spm、2b-it-sfp.sbs到O6主机主机中。
修改文件权限:
chmod 700 benchmarks
chmod 700 gemma

执行:
./gemma --tokenizer tokenizer.spm --weights 2b-it-sfp.sbs --model 2b-it
gemma-test1.jpg
5.性能测试
./benchmarks --weights 2b-it-sfp.sbs --tokenizer tokenizer.spm --model 2b-it

如其中的1个测试项:
[ Timing info ] Prefill: 2368 ms for 54 prompt tokens (22.80 tokens / sec); Time to first token: 2714 ms

[ Timing info ] Generate: 49690 ms for 256 tokens (5.15 tokens / sec)
gemma-benchmark.jpg

5.总结

从CPU性能测试数据看,与HW Krini 9020芯片、2022年的高通8gen1或HW的数据相当。作为创业公司的首颗SOC就能有如此表现,表现令人赞叹。

推荐阅读
关注数
1086
内容数
17
搭载安谋科技“周易”NPU的此芯AI PC开发套件瑞莎星睿O6开发板文档、活动及评测等专栏,加开发者群请添加极术小姐姐(id:aijishu20))。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息