Qwen3.8-27B 推理部署实录:RISC-V 平台的算子调度与多核优化
大模型在 RISC-V 上跑起来,不是把计算图移植过去就行。GPU 有 CUDA 生态,RISC-V 没有现成的推理栈,从模型架构分析到算子实现再到多核协同,每一步都得自己搭。最近 Qwen3.8-27B 发布,达摩院玄铁完成了在 RISC-V 处理器上的 Day 0 适配,这里从部署视角拆解一下整个过程。
模型架构:不只是 Transformer
先看模型本身。Qwen3.8-27B 是 270 亿参数的稠密模型,架构上沿用了 Qwen3.5 的混合设计。64 层语言模型按"3 层 Gated DeltaNet + 1 层 Gated Attention"为一组循环 16 次,每层后面接 FFN。跟传统 Transformer 不同的地方在于,推理链路里不再只有一种 Attention 计算。
- Gated DeltaNet:负责投影、门控和状态更新
- Gated Attention:处理 Q/K/V 投影、RoPE、Softmax 和 KV Cache 访问
- FFN:承担主要的矩阵计算
跑编程或 Agent 任务时,这条链路会被反复调用,工具调用的返回结果不断追加到上下文里,任务越长,Decode 效率和内存调度的影响就越突出。
部署的第一步是摸清推理链路的热点。哪些算子是计算瓶颈,哪些环节存在数据搬运开销,需要逐层分析。搞清楚这些之后,才能把算子合理地分配到不同计算单元上。
硬件映射:三条计算路径各司其职
玄铁 C950 提供了三条计算路径:CPU 通用计算、RVV 向量扩展、TPE 矩阵计算引擎(通过 AME 调用)。在模型推理中:
| 计算路径 | 承接负载 |
|---|---|
| Matrix(TPE) | Attention 投影、FFN 等矩阵密集型计算 |
| RVV 向量扩展 | RMSNorm、RoPE、激活函数、规约等操作 |
| CPU 通用核 | 模型控制和任务调度 |
但算子跟计算单元之间不是一一绑定的关系,具体走哪条路径取决于数据类型、张量形状和数据布局,运行时动态决策。
SHL 算子库:调度与数据处理的中枢
SHL 是连接模型计算图与底层硬件的桥梁,以 MatMul 和 Linear 为例,它根据数据精度和计算形态选择对应的矩阵计算内核;Softmax、RMSNorm 等算子有专用实现,条件变化时退回 RVV 或通用路径。
算子选择只是一半,数据处理是另一半。推理过程中频繁的格式转换、内存申请和中间结果读写,如果不做优化,实际性能会大打折扣。SHL 的做法是权重重排、输入预处理、缓冲区复用和算子融合,多核场景下再加上任务划分和缓存复用。
实测性能与芯片生态
64 核 C950 上的实测数据:
| 模型 | Decode 性能 | TTFT |
|---|---|---|
| Qwen3.8-27B(稠密) | 30+ tokens/s | 1.9 秒 |
| Qwen3.8-2.4T-A95B(MoE) | 7.2 tokens/s | 8.5 秒 |
这组数字背后是整条链路从架构分析到算子实现到多核协同的系统工程。
芯片生态方面,江原科技 D20、瑞芯微 RK1828 AI 协处理器等搭载玄铁 RISC-V 处理器的芯片也已同步完成适配。不同芯片面向不同场景,开发者有比较灵活的选择空间。
在 RISC-V 上部署 27B 稠密模型,核心是把推理链路中矩阵计算、向量运算和数据搬移的衔接做好,让异构算力各司其职。这条路径正在被越来越多的芯片和模型验证。
浙公网安备 33010602011771号