在 RK3588 平台上运行 W8A8(8-bit)量化模型时,内存和存储的计算逻辑比较直接。由于 RK3588 是 统一内存架构(UMA),即 CPU 和 NPU 共享物理内存,因此计算公式非常简单:

1. 内存(RAM)需求计算公式

内存需求 = (模型权重大小 + KV Cache + 系统预留)

  • 模型权重: 在 W8A8 量化下,每个参数占用 1 字节(8-bit = 1 Byte)。

    • 例如:1.5B 参数模型 ≈ 1.5 GB,3B 参数模型 ≈ 3 GB。

  • KV Cache(推理上下文): 随着对话长度增加,需要额外占用内存。为了保证系统流畅,通常需要预留 1 - 2 GB 的空间。

  • 系统预留: 考虑到操作系统(Linux/Android)和 NPU 驱动的开销,至少需要 1 - 1.5 GB 的额外空间。

推荐配置参考表(W8A8 量化):

模型规模

模型权重 (GB)

推荐总内存 (RAM)

运行体验

1.5B

~1.5 GB

4GB - 8GB

非常流畅,适合实时对话

3B

~3 GB

8GB

流畅,适合处理复杂逻辑

7B

~7 GB

16GB

较慢,仅在 16GB 内存下可行

关键警示: 若使用 8GB 内存版本,运行 7B 模型时系统很容易触发内存不足(OOM),导致强制杀掉进程。如果你的 To C 产品计划跑 3B 以上模型,建议直接锁定 16GB 内存配置。

2. 存储(Flash/eMMC/SSD)需求

存储需求相对宽松,因为模型文件是一次性加载到内存中的,但考虑到产品的生命周期:

  • 模型文件: 每个量化后的 .rkllm 模型文件大小约为其参数量的 1.1 - 1.2 倍(包含一些元数据)。

  • 系统镜像: 预留 2 - 4 GB 用于存放操作系统和必要的运行环境。

  • 建议存储容量:

    • 基础版(仅跑一个模型): 16GB eMMC 足够。

    • Pro 版(支持多模型切换或本地存储): 32GB - 64GB eMMC/UFS

    • 高性能版(若有视频存储需求): 建议集成 M.2 SSD 接口 或直接板载 128GB+ 存储,因为高清视频流会迅速吃掉存储空间。

3. 给 To C 产品的设计建议

  1. 内存分级策略:

    • 不要为了省 2-3 美元的内存成本(从 8GB 降到 4GB)而牺牲掉大模型的运行能力。在消费者眼中,“卡顿”造成的退货成本远高于这几美元。

    • 标准版: 8GB RAM + 32GB eMMC(跑 1.5B/3B 模型)。

    • Pro 版: 16GB RAM + 64GB/128GB eMMC(跑 3B/7B 模型,多任务)。

  2. KV Cache 管理:

    • 在网关产品中,如果你不需要极长的上下文,建议在软件层限制 最大上下文长度(Max Context Length)(例如限制为 2048 或 4096 tokens),这样可以固定并压缩 KV Cache 的占用,防止系统因对话过长而死机。

  3. IO 读写性能:

    • 模型加载速度取决于存储读写速度(eMMC vs SSD)。若用户体验要求“秒开”模型,建议使用 eMMC 5.1 或以上规格,避免使用低速 SD 卡作为主系统盘。

总结:针对 W8A8 模式8GB 是“及格线”,16GB 是“舒适线”。作为 To C 产品,务必通过预留内存测试,确保在多任务并发(如一边运行 AI 分析,一边处理网络转发)时系统依然稳定。