当前位置: 首页 > news >正文

【“星睿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/gemma.cpp.git -b v0.1.4

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

cmake -DCMAKE_C_COMPILER= A R M C C P R E F I X g c c   − D C M A K E C X X C O M P I L E R = {ARMCC_PREFIX}gcc \ -DCMAKE_CXX_COMPILER= ARMCCPREFIXgcc DCMAKECXXCOMPILER={ARMCC_PREFIX}g++
-DCMAKE_C_FLAGS=“ A R M C C F L A G S "   − D C M A K E C X X F L A G S = " {ARMCC_FLAGS}" \ -DCMAKE_CXX_FLAGS=" ARMCCFLAGS" DCMAKECXXFLAGS="{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
在这里插入图片描述

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)
在这里插入图片描述

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

http://www.dtcms.com/a/122549.html

相关文章:

  • 测试用例 [软件测试 基础]
  • 加油站小程序实战教程10开通会员
  • 重构居家养老安全网:从 “被动响应” 到 “主动守护”
  • Windows上使用Qt搭建ARM开发环境
  • 如何在idea中快速搭建一个Spring Boot项目?
  • <项目代码>苹果识别<目标检测>
  • 从零到精通:Kafka学习路径全解析
  • 阅读MySQL实战45讲第9天
  • Windows + vmware + ubuntu+docker + docker-android实现Android模拟器构建和启动
  • Java——字符串(黑马个人听课笔记)
  • flutter开发音乐APP(前提准备)
  • 计算机网络笔记-分组交换网中的时延
  • 【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(一)
  • MongoDB 的详细介绍
  • 网络基础2
  • 【含文档+PPT+源码】基于python爬虫的豆瓣电影、音乐、图书数据分析系统
  • Vue 基础语法介绍
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day9
  • 探秘 Svelte+Vite+TS+Melt - UI 框架搭建,开启高效开发
  • Could not resolve com.google.guava:guava:32.1.1-jre.
  • 【设计模式】面向对象开发学习OOPC
  • vue、vue2、vue3
  • mamba学习1
  • 蓝桥杯填空题攻克
  • 【C++】二叉搜索树(二叉查找树、二叉排序树)详解
  • Go 微服务框架 | 路由实现
  • 【BFT帝国】20250409更新PBFT总结
  • idea手动创建resources文件夹
  • checkra1n越狱出现的USB error -10问题解决
  • 面向数据库场景的大模型交互微调数据集