【Super Point】RWKV x Spacemit K3 - 在K3 Pico-ITX上运行RWKV模型(llama.cpp和Ollama)

前言

2026年1月29日,全球首颗RVA23标准的RISC-V芯片进迭时空K3正式发布,四个月后,K3-Pico-ITX终于到我手上了,那么拿到手后第一件事是什么呢?没错,那肯定是要跑一下RWKV模型玩玩。

准备工作

所需的框架:
llama.cpp
Ollama
本次所使用的模型:
RWKV7-G1g-7.2B(均为Q4_K_M,因为Ollama默认就是Q4_K_M,所以为了控制变量,下载了相应变量的gguf模型)

操作步骤

Ollama

直接通过ollama run命令运行即可(如果没有安装请先使用sudo apt install spacemit-ollama-toolkit安装Ollama)

ollama run mollysama/rwkv-7-g1g:7.2b

输出结果如下:

>>> /set nothink
Set 'nothink' mode.
>>> 为什么声音无法在真空中传播?

声音在真空中无法传播,这是因为声波的传播需要介质(如气体、液体或固体)来振动并传递能量。以下是详细解释:
1. **声波的本质**:声音是一种机械波,它通过物质的振动传播。当声源振动时,会迫使周围的介质(如空气分子)也跟着振动,形成压缩和稀疏区域,这些变化以波的形式向外扩散。
2. **真空的特性**:真空是一个没有物质的区域,其中没有气体、液体或固体分子。因此,在真空中不存在任何介质来承载声波的振动。
3. **能量传递需要介质**:声波的传播依赖于分子之间的相互作用。在真空中,没有分子可以接收和传递这种振动能量,所以声音无法继续传播。
4. **实际例子**:我们日常生活中体验到的声音(如说话、音乐)都是在空气中产生的。当进入真空环境(如太空舱或外太空)时,声音会立即消失,因为没有介质来传递振动。
5. **科学原理**:这符合物理学中的波动方程和机械波传播原理。声波在介质中传播是通过分子间的碰撞和相互作用实现的,而真空缺乏这种碰撞机制。
总之,声音无法在真空中传播是因为它需要介质来振动和传递能量,而真空没有任何物质存在。

total duration:       2m32.418893059s
load duration:        125.217689ms
prompt eval count:    28 token(s)
prompt eval duration: 2.950119716s
prompt eval rate:     9.49 tokens/s
eval count:           452 token(s)
eval duration:        2m29.016823691s
eval rate:            3.03 tokens/s
>>> /set think
Set 'think' mode.
>>> 为什么声音无法在真空中传播?
Thinking...
嗯,用户问为什么声音不能在真空中传播。这个问题看起来挺基础的,但作为AI助手,我需要仔细思考如何解释清楚。首先,我得回忆一下物理学中关于声音传播的知识。声音是通过介质中的振动传播
的,比如空气、水或者固体。而真空是没有物质的空间,所以自然不能传播声音。
不过用户可能已经知道这个基本概念,但可能想了解更深入的原因。比如,为什么介质对声音传播至关重要?或者是否有例外情况?比如在真空中发射的声音是否会有其他表现形式?
接下来,我需要考虑用户可能的背景。可能是一个学生,正在学习物理或科学课程,遇到了这个问题。或者是对日常现象感到好奇,比如为什么太空中没有声音传播。也有可能用户对科幻作品中的场景
感兴趣,比如在真空中使用通讯设备,但实际上无法传播声音。
然后,我需要验证自己的理解是否正确。声音的传播确实依赖于介质中的粒子振动,当没有介质时,这种振动无法进行。例如,在真空中,即使有高压设备产生声波,因为没有物质来传递振动,所以无
法形成声音。
不过,可能用户会混淆声音和光的传播方式。光可以在真空中传播,但声音不行。这时候需要解释两者的区别:光是电磁波,不需要介质;而声音是机械波,必须依赖介质。
另外,用户可能想知道具体例子。比如在太空中,宇航员之间的对话需要通过无线电传输,因为真空中没有声音。或者在科幻电影中,有时会出现在真空中发射声音的情况,但实际上这是不可能的。
还要考虑用户可能的误解。比如,是否认为声音在真空中以其他方式传播?或者是否有关于量子力学中的某些现象与声音传播相关?这时候需要明确区分经典物理和量子力学的不同解释。
此外,可能需要提到不同介质中的声速差异,但重点还是真空的特性。比如,在水中声音传播得更快,因为水的密度更高,但无论如何都需要介质。
总结来说,回答需要涵盖以下几点:
1. 声音是机械波,依赖介质中的粒子振动。
2. 真空没有物质粒子,因此无法传递振动。
3. 对比光(电磁波)在真空中的传播能力。
4. 举例说明现实中的应用,如太空通讯使用无线电。
5. 澄清可能的误解,如声音在真空中是否存在其他形式。
需要确保解释清晰,避免使用过于专业的术语,但也要准确。同时,检查是否有遗漏的关键点,比如介质中的分子或原子如何相互作用传递振动。可能还需要提到声音在不同介质中的传播速度差异,但
重点放在真空上。
最后,确认回答是否解决了用户的疑问,并且逻辑连贯。可能用户还想知道如果没有真空,声音会怎样传播,或者为什么有些设备需要在真空中工作时调整通讯方式。不过根据问题本身,应该集中在声
音无法传播的原因上。
...done thinking.

声音无法在真空中传播,主要是因为声音是一种机械波,其传播依赖于介质中的粒子振动。以下是详细解释:
---
### 1. **声音的本质**
   - 声音是由物体振动产生的机械波,通过介质(如空气、水或固体)中的粒子碰撞传递能量。
   - 例如,当你说话时,声带振动产生压力变化,这些变化通过空气分子传递到耳朵。
---
### 2. **真空的特性**
   - **真空是指没有物质粒子的区域**(如太空),因此不存在可以振动的介质。
   - 即使在真空中存在高压设备或其他能量形式,声音仍无法传播,因为缺乏传递振动的物质载体。
---
### 3. **对比光与声音**
   - **光(电磁波)**:可以在真空中直接传播,因为它不需要介质。
   - **声音(机械波)**:必须依赖介质中的粒子振动,真空无法提供这种媒介。
---
### 4. **现实应用与误解**
   - **太空通讯**:宇航员在太空中使用无线电(电磁波)而非声音传播信息,因为真空不支持声音。
   - **科幻作品的误区**:有些作品描述在真空中发射声音,但这违背物理规律。例如,若飞船爆炸产生“真空中的爆炸声”,实际上只是通过无线电传递信号。
---
### 5. **例外情况**
   - 在极端条件下(如量子场论中),某些理论模型可能涉及“虚拟粒子”或量子涨落,但这不属于经典声学范畴,且无法用于实际通讯。
---
### 总结
声音的传播需要介质中的物质粒子参与振动。真空缺乏这些粒子,因此无法支持声音传播。这一原理也解释了为什么我们在地球表面能听到声音,而在太空舱内却需要依赖电磁波(如无线电)进行通讯
。

total duration:       9m26.993622204s
load duration:        127.749094ms
prompt eval count:    502 token(s)
prompt eval duration: 2.53169735s
prompt eval rate:     198.29 tokens/s
eval count:           1671 token(s)
eval duration:        9m23.132304209s
eval rate:            2.97 tokens/s

虽然在K3 Pico-ITX上用Ollama跑RWKV模型是可行的,但是目前由于适配问题无法使用A100 AI加速核,只能使用X100 CPU核运行该模型。

llama.cpp

首先我们从魔搭社区上下载rwkv7-g1g-7.2b-Q4_K_M.gguf

然后先用该模型进行跑分(我将模型放在了家目录的models文件夹下,模型路径可根据实际情况调整)

llama-bench -m models/rwkv7-g1g-7.2b-Q4_K_M.gguf -t 8 -p 64 -n 64 -mmp 0 -fa 1

跑分结果:

| model                          |       size |     params | backend    | threads | fa | mmap |            test |                  t/s |
| ------------------------------ | ---------: | ---------: | ---------- | ------: | -: | ---: | --------------: | -------------------: |
| rwkv7 7B Q4_K - Medium         |   4.26 GiB |     7.20 B | CPU        |       8 |  1 |    0 |            pp64 |         16.18 ± 0.00 |
| rwkv7 7B Q4_K - Medium         |   4.26 GiB |     7.20 B | CPU        |       8 |  1 |    0 |            tg64 |          4.12 ± 0.00 |

build: 17ce6aa (1)

然后运行结果如下:

Loading model...  


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

build      : b1-17ce6aa
model      : rwkv7-g1g-7.2b-Q4_K_M.gguf
modalities : text

available commands:
  /exit or Ctrl+C     stop or exit
  /regen              regenerate the last response
  /clear              clear the chat history
  /read <file>        add a text file
  /glob <pattern>     add text files using globbing pattern


> You are a helpful assistant

 

[ Prompt: 10.1 t/s | Generation: 6.2 t/s ]

> 为什么声音无法在真空中传播?

好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好的的好好的好好好好好好好好的好好好好好好的好好好好好好的好好好好
世好(的好好好的好好的好好的的好好的的好好的的好好的的好好的的好好的的好好的好好好的的好好的的好好的的好好的的好的好的的好好的的好好的的好好的的好好的的好好的好好的好好好的好好的好好的的好好的的好的的好好的的好好的的好好的的好好的的好好的的的好好的的好好的的好好的的
的好,的好,的, 
,,(,,的好好,的的
,(
,
, the
 and and (, (
和
 ( 
 (  and 好 and a and,好,好,的的好好,的的 University (, Johnson, Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson Johnson

[ Prompt: 13.4 t/s | Generation: 3.3 t/s ]

虽然llama.cpp使用了8个A100 AI加速核,但使用RWKV7模型时输出错乱。

而且我也顺便按照官方文档尝试了双路llama.cpp推理(rwkv7-g1g-7.2b-Q4_K_M.gguf+Qwen3.5-9B,4+4分配),效果如下:

总结

目前来说在K3-Pico-ITX上用Ollama运行RWKV模型是可以的,但是由于A100 AI加速核没有适配Ollama,直接使用X100 CPU运行模型,所以导致输出速度不是很理想。
但是llama.cpp虽然能跑,但是输出结果是十分混乱的。

接下来做什么

在K3-Pico-ITX上尝试运行RWKV-Server、 RWKV-FLA和Ai00

个人建议

  1. 更智能的A100 AI加速核分配,如根据实际负载和任务所需线程数动态调度,优先分配空闲的A100 AI加速核
  2. 需解决Ollama对A100 AI加速核适配

参考资料

llama.cpp 推理教程 - RWKV

Ollama 推理教程 - RWKV

进迭时空Llama.cpp文档
https://www.spacemit.com/community/document/info?lang=zh&nodepath=ai/compute_stack/ai_compute_stack/llama.cpp.md

1 个赞

恭喜点亮 【K3 共建计划】 Super Point 精选反馈!相关权益和后续进展我们会通过论坛或社群同步。

llama.cpp/ggml中的很多算子都没有按照RISC-V RVV sizeless的规范去写,写死了vlen128、vlen256等等,而且不报错(深恶痛绝),导致A100的vlen1024被错误计算,输出乱码,我们有想法去支持更多ggml算子,敬请期待,当然,如果你有兴趣,也可以自行向llama.cpp提bugfixed PR。至于ollama的问题,ollama现在自己搞了一套计算后端,不再复用ggml,可移植性很差,短期内不会考虑

1 个赞