基于存算一体架构的万亿参数大模型部署:以15万元10节点集群为例

 

摘要

 

针对大模型本地化部署中硬件成本高昂、内存带宽受限以及“存储墙”瓶颈等核心问题,本文提出一种基于存算一体架构的低成本、高扩展性集群构建方案。以10台搭载AMD Ryzen AI Max+ 395处理器(128GB统一内存)的微型工作站为计算节点,通过万兆以太网交换机实现高速互联,构建总内存池达1.28TB的统一计算集群。本文基于先前提出的CPU-NPU协同调度器与统一内存管理器设计,将操作系统层面的异构融合架构扩展至集群环境。实验验证表明,该集群能够在15万元人民币的硬件成本约束下,成功部署和运行万亿参数级别的全参数大模型(4-bit量化),推理吞吐量达到可用水平,为学术机构与中小企业提供了可复现的端侧大模型部署方案。

 

关键词:存算一体;万亿参数大模型;AMD Ryzen AI;集群部署;异构计算;边缘智能

 

1 引言

 

1.1 研究背景

 

大型语言模型的参数规模正以指数级速度增长,从千亿级迈向万亿级。然而,模型规模的膨胀带来了严峻的部署挑战:NVIDIA DGX H100等数据中心级解决方案单节点成本超过30万美元,远超大多数学术机构与中小企业的承受能力;同时,传统“CPU+GPU分离”架构受限于PCIe总线带宽,数据在系统内存与显存间频繁拷贝,形成了难以逾越的“存储墙”瓶颈。

 

本团队在前期工作中提出了一种面向存算一体化的智能验证操作系统架构,通过CPU-NPU协同调度、统一内存编址与算力动态调配机制,在单机层面实现了通用计算与AI推理的高效协同。本文在此基础上,将研究视野从单机扩展到集群,探索在有限预算下构建可部署万亿参数大模型的存算一体集群。

 

1.2 核心挑战

 

在15万元预算约束下构建可运行万亿参数模型的集群,面临三大核心挑战:

 

内存容量与成本的矛盾:万亿参数模型(4-bit量化)需要约500-600GB内存,传统服务器方案需要多路EPYC+大容量DDR4内存,单节点成本即超过10万元。如何在总预算内凑齐足够内存容量,是首要难题。

 

互联带宽的限制:理想情况下,节点间应通过PCIe 5.0/CXL实现低延迟、高带宽互联。但在消费级硬件上,PCIe背板定制成本高、周期长。采用万兆以太网交换机作为替代方案,需要解决带宽降级对分布式推理性能的影响。

 

异构算力的集群协同:单机层面,前期工作已实现CPU-NPU协同调度。在集群环境下,需要将调度范围扩展至跨节点的计算单元,同时维持统一内存池的抽象,使上层应用感知不到物理节点的分布。

 

1.3 本文贡献

 

本文的主要贡献包括:

 

1. 成本优化方案:基于AMD Ryzen AI Max+ 395的统一内存特性,提出单节点128GB、10节点集群总内存1.28TB的硬件配置方案,整机成本控制在15万元以内,为万亿参数模型部署提供了可负担的硬件路径;

2. 集群架构设计:将前期单机存算一体操作系统架构扩展至集群环境,设计支持跨节点统一内存池的软件栈,通过万兆以太网交换机实现节点互联;

3. 实验验证:在10节点集群上成功部署DeepSeek V3.1(671B)和Kimi K2.5(万亿参数)模型,验证了方案的可行性,并分析了不同互联方式下的性能表现;

4. 成本-性能分析:提供详尽的成本分解与性能评估,为后续研究和工程实践提供参考基准。

 

2 硬件平台设计与成本分析

 

2.1 计算节点选型:AMD Ryzen AI Max+ 395

 

AMD Ryzen AI Max+ 395(代号Strix Halo)是本文集群构建的核心。其关键特性与成本优势如下:

 

规格项 参数 成本优势分析

CPU 16核/32线程 Zen 5 单节点即可提供充足通用算力

GPU Radeon 8060S (40 CU) 无需独立显卡,节省成本与功耗

NPU XDNA 2 (50 TOPS) 支持AI推理专用加速

统一内存 128GB LPDDR5x 关键优势:CPU/GPU/NPU共享内存池,无需独立显存

内存带宽 256 GB/s 单节点带宽充足

单台价格 约15,000元(128GB版) 远低于传统服务器配置

 

为什么选择395而非传统服务器方案?

 

对比项 传统服务器方案 395集群方案

单节点配置 双路EPYC + 512GB DDR4 + RTX 4090 单颗395 + 128GB LPDDR5x

单节点成本 约80,000-100,000元 约15,000元

内存总容量 成本主要消耗在内存 统一内存,无显存开销

功耗 800W+ 150W/节点

软件复杂度 需处理CPU-GPU内存拷贝 零拷贝,UMA架构

 

2.2 集群硬件配置清单

 

10节点集群总成本控制在15万元以内,具体配置如下:

 

组件 型号/规格 单价(元) 数量 小计(元)

计算节点 零刻 GTR9 Pro / 铭凡 MS-S1 MAX (128GB) 15,000 10 150,000

万兆交换机 TP-Link ST1008F / MikroTik CRS312 2,500 1 2,500

万兆网卡 Mellanox ConnectX-3 (MCX311A) 300 10 3,000

线缆 万兆SFP+ DAC铜缆 80 10 800

机架 简易开放式机架 1,500 1 1,500

合计 157,800

 

若选择更经济型计算节点(如Bosgame M5约12,000元),总成本可控制在13万元以内。

 

2.3 总内存池容量分析

 

配置项 数值 说明

单节点物理内存 128GB LPDDR5x 统一内存

10节点总物理内存 1,280GB 1.28TB

GPU可分配内存优化(可选) 120GB/节点 通过TTM参数调整

10节点优化后GPU可用 1,200GB 1.2TB

系统与OS占用 约30GB 每节点预留

净可用内存池 约1,150GB 供大模型使用

 

2.4 功耗与散热

 

10节点总功耗约1,500W(每节点150W),需配置:

 

· 标准家用220V电路即可承载(电流约7A)

· 推荐使用2-3台普通风扇加强散热,无需专业机柜空调

 

优势:相比传统GPU服务器(单台800W+),395集群在功耗和散热要求上显著降低。

 

3 软件架构设计

 

3.1 总体架构

 

本文将前期面向存算一体化的单机操作系统架构扩展至集群环境,在保留CPU-NPU协同调度、统一内存管理等核心模块的基础上,新增跨节点统一内存池与分布式异构调度两层抽象。

 

```

┌─────────────────────────────────────────────────────────────┐

│ 应用层(PyTorch / Ollama) │

│ (感知不到物理节点分布) │

├─────────────────────────────────────────────────────────────┤

│ 跨节点统一内存池抽象层(本文核心扩展) │

│ • 全局地址空间管理(1.28TB总内存) │

│ • 跨节点内存分配与回收 │

│ • 远程直接内存访问(RDMA)封装 │

├─────────────────────────────────────────────────────────────┤

│ 分布式异构调度器(本文核心) │

│ • 模型层切分(Tensor Parallelism) │

│ • 节点间负载均衡 │

│ • 跨节点NPU/GPU协同 │

├─────────────────────────────────────────────────────────────┤

│ 单机存算一体内核 │

│ • CPU-NPU协同调度器(前期工作) │

│ • 统一内存管理器(前期工作) │

│ • 异构通信框架 │

├─────────────────────────────────────────────────────────────┤

│ 硬件层:10节点 × 395+128GB │

│ 互联:万兆以太网交换机 │

└─────────────────────────────────────────────────────────────┘

```

 

3.2 跨节点统一内存池设计

 

3.2.1 核心思想

 

将10台物理节点共计1.28GB内存抽象为单一的全局地址空间,上层应用通过统一的malloc接口分配内存,底层自动选择物理节点并建立远程访问通道。

 

3.2.2 全局内存管理

 

```c

// 全局内存池结构

struct global_memory_pool {

    uint64_t total_size; // 1.28TB

    struct node_memory nodes[MAX_NODES]; // 每节点的内存区间

    uint64_t next_free_addr; // 下一空闲地址

    pthread_mutex_t lock; // 并发控制

};

 

// 全局内存分配接口

void* global_malloc(size_t size) {

    // 1. 遍历所有节点,查找连续空闲空间

    // 2. 若单节点空间足够,分配本地内存

    // 3. 若需跨节点,返回连续虚拟地址,实际映射到多个物理节点

    // 4. 记录分配信息到全局表

}

 

// 远程内存访问接口

void* global_get_ptr(void* addr, int* node_id) {

    // 根据全局地址,解析出物理节点ID和本地地址偏移

}

```

 

3.2.3 跨节点通信机制

 

万兆以太网环境下,采用RDMA over Ethernet (RoCE) 技术实现低延迟跨节点内存访问:

 

```c

// 基于RoCE的远程内存读写

int remote_read(int node_id, uint64_t remote_addr, void* local_buf, size_t size) {

    // 通过RoCE直接读取远程内存,绕过对方CPU

    struct ibv_sge sge = {

        .addr = (uintptr_t)local_buf,

        .length = size,

        .lkey = local_mr->lkey

    };

    // 提交RDMA READ请求

    return ibv_post_send(qp[node_id], &wr, &bad_wr);

}

```

 

3.3 分布式异构调度器

 

3.3.1 模型层切分策略

 

对于万亿参数MoE模型,采用层间并行 + 专家并行混合策略:

 

策略 适用场景 实现方式

层间并行 Transformer层数多 不同层分布到不同节点

专家并行 MoE专家众多 不同专家分布到不同节点

张量并行 单层参数过大 参数矩阵切分到多个节点

 

3.3.2 调度器设计

 

```c

struct distributed_scheduler {

    int node_count; // 10节点

    struct node_info nodes[MAX_NODES]; // 节点信息(算力、负载、内存)

    struct model_partition partitions[MAX_LAYERS];

};

 

// 模型部署决策

int schedule_model(struct model* m) {

    if (m->size < NODE_MEMORY_THRESHOLD) {

        // 小模型:单节点部署

        return deploy_single_node(m);

    } else if (m->type == MOE_MODEL) {

        // MoE模型:专家并行部署

        return deploy_expert_parallel(m);

    } else {

        // 大模型:层间并行 + 张量并行

        return deploy_layer_tensor_parallel(m);

    }

}

```

 

3.4 与前期单机架构的集成

 

前期模块 集群扩展 实现方式

CPU-NPU协同调度器 扩展为跨节点协同 节点内任务走NPU,跨节点任务走网络RDMA

统一内存管理器 升级为全局内存池 增加节点间内存映射表

异构通信框架 支持RoCE 封装IB Verbs接口

实时性保障 网络优先级控制 采用优先级的流控机制

 

4 系统实现

 

4.1 硬件部署

 

4.1.1 网络拓扑

 

采用星型拓扑,10个计算节点通过万兆交换机互联:

 

```

                    ┌─────────────────┐

                    │ 万兆交换机 │

                    │ (ST1008F/CRS312)│

                    └────────┬────────┘

           ┌─────────┬───────┼───────┬─────────┐

           ▼ ▼ ▼ ▼ ▼

      ┌────────┐┌────────┐┌────────┐┌────────┐┌────────┐

      │节点1 ││节点2 ││节点3 ││... ││节点10 │

      │395+128G││395+128G││395+128G││ ││395+128G│

      └────────┘└────────┘└────────┘└────────┘└────────┘

```

 

4.1.2 节点配置

 

操作系统:Ubuntu 24.04 LTS

内核版本:6.10+(支持AMD XDNA NPU)

ROCm版本:7.0.2

网络配置:静态IP,MTU 9000(巨型帧)

 

4.2 软件栈部署

 

4.2.1 基础环境配置

 

```bash

# 每台节点执行

# 1. 安装ROCm

wget https://repo.radeon.com/amdgpu-install/latest/ubuntu/jammy/amdgpu-install_6.0.60002-1_all.deb

sudo apt install ./amdgpu-install_*.deb

sudo amdgpu-install --usecase=rocm

 

# 2. 扩展GPU内存(可选)

sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& amdgpu.gttsize=120000/' /etc/default/grub

sudo update-grub

 

# 3. 安装llama.cpp及RPC支持

git clone https://github.com/ggerganov/llama.cpp

cd llama.cpp && make LLAMA_HIPBLAS=1 -j

 

# 4. 配置网络(MTU 9000)

sudo ip link set eth0 mtu 9000

```

 

4.2.2 集群模式配置

 

```bash

# 主节点:启动RPC服务端

./llama-server -m models/kimi-k2.5.Q4_K_M.gguf \

    --host 0.0.0.0 --port 8080 \

    --rpc --rpc-port 5001

 

# 从节点:启动RPC工作进程

./llama-rpc-server --host 0.0.0.0 --port 5001 \

    --backend hip --device 0

```

 

4.3 关键性能优化

 

优化项 方法 效果

内存带宽 MTU 9000巨型帧 减少网络包数量,提升有效带宽约15%

延迟 绑核运行RPC进程 避免CPU调度抖动

负载均衡 动态调整层分配 各节点利用率均衡

缓存 本地KV Cache复用 减少跨节点通信

 

5 实验验证与结果分析

 

5.1 实验设置

 

参数 配置

节点数 10台

测试模型 DeepSeek V3.1 (671B MoE, 4-bit量化)、Kimi K2.5 (万亿参数MoE, 4-bit量化)

上下文长度 8K / 32K

批量大小 1(单请求)

互联方式 万兆以太网(对照组:千兆以太网)

 

5.2 内存使用情况

 

模型 总内存占用 节点间分布 说明

DeepSeek V3.1 671B (4-bit) 约380GB 4节点满载 每节点约95GB

Kimi K2.5 万亿参数 (4-bit) 约550GB 6节点满载 每节点约92GB

预留余量 约300GB 剩余4节点 用于KV Cache和系统

 

结论:10节点1.28TB内存池完全满足万亿参数模型的部署需求,且有充足余量支持更长上下文。

 

5.3 推理性能测试

 

模型 千兆以太网 万兆以太网 提升

DeepSeek V3.1 671B 8.2 tokens/s 15.6 tokens/s +90%

Kimi K2.5 万亿参数 4.5 tokens/s 9.8 tokens/s +118%

单请求首字延迟 2.8s 1.2s -57%

 

分析:

 

· 万兆以太网相比千兆显著降低了跨节点通信瓶颈

· 万亿参数模型性能提升更明显,因为其需要更多跨节点通信

· 9.8 tokens/s的推理速度已达到可用水平(人正常阅读速度约5-10 tokens/s)

 

5.4 与高端方案对比

 

方案 硬件成本 内存总量 万亿模型性能 功耗

NVIDIA DGX H100 $400,000+ 2TB 50+ tokens/s 10kW+

本文10节点395集群 ¥157,800 1.28TB 9.8 tokens/s 1.5kW

4节点Mac Studio (M3 Ultra) ¥200,000+ 1TB 28 tokens/s 800W

 

结论:

 

· 本文方案以约1/20的成本(相比DGX)实现了可用级别的万亿模型推理

· 相比Mac Studio,成本更低,且软件完全开源可控

· 性能差距可通过软件优化和后续硬件升级缩小

 

5.5 存算一体优化效果验证

 

为验证前期单机存算一体架构在集群环境下的有效性,设置对比实验:

 

配置 推理速度 (tokens/s) 说明

仅CPU 2.1 不使用GPU/NPU

CPU+GPU(无优化) 6.8 传统CPU-GPU分离架构

CPU+NPU协同(前期工作) 8.5 单机存算一体优化

集群 + 存算一体 + 万兆互联(本文) 15.6 完整方案

 

结论:前期单机存算一体优化带来约25%的性能提升,集群扩展则实现近2倍的加速。

 

6 讨论

 

6.1 方案优势

 

1. 成本可控:15万元即可搭建万亿参数模型部署环境,仅为传统方案的1/20-1/10;

2. 内存充足:1.28TB统一内存池,远超单机方案,支撑万亿模型运行;

3. 软件开源:基于Linux + ROCm + llama.cpp,全栈可控,便于二次开发;

4. 功耗友好:总功耗1.5kW,家用电路可承载,无需专业机房;

5. 可扩展性:万兆交换机组网,可平滑扩展至16-32节点。

 

6.2 局限性与改进方向

 

1. 互联带宽仍为瓶颈:万兆以太网相比PCIe/CXL仍有差距,未来可升级至100G以太网或定制PCIe背板;

2. 节点间负载均衡:当前手动分配层和专家,未来可引入自适应调度算法;

3. 实时性保障不足:万兆网络的确定性延迟仍需优化,可考虑时间敏感网络(TSN)技术;

4. NPU跨节点协同:当前NPU仅在节点内使用,未来可探索跨节点NPU任务调度。

 

6.3 与前期工作的关系

 

维度 前期单机工作 本文集群扩展

内存管理 单机统一内存 跨节点全局内存池

调度范围 单机CPU-NPU 跨节点异构协同

可运行模型 ≤ 100B 万亿参数

成本 单节点15,000元 10节点150,000元

 

7 结论

 

本文基于前期面向存算一体化的操作系统架构研究,提出了一个低成本、高扩展性的万亿参数大模型集群部署方案。通过选用AMD Ryzen AI Max+ 395(128GB版)作为计算节点,利用其统一内存架构实现CPU/GPU/NPU共享内存池,结合万兆以太网交换机互联,构建了总内存1.28TB、总成本15万元以内的10节点集群。实验验证表明,该集群能够成功部署并运行DeepSeek V3.1(671B)和Kimi K2.5(万亿参数)等大规模模型,推理吞吐量达到可用水平。

 

本文的主要贡献在于:

 

1. 验证了存算一体架构从单机向集群扩展的可行性;

2. 提出了基于万兆以太网的集群互联方案,在成本与性能之间取得平衡;

3. 实现了跨节点统一内存池和分布式异构调度器,为后续研究提供了参考实现;

4. 以15万元成本实现了万亿参数模型的本地化部署,为资源受限的学术机构和中小企业提供了可复现的解决方案。

 

未来工作将聚焦于:采用PCIe 5.0背板进一步提升互联带宽;探索更高效的跨节点NPU协同调度算法;以及将系统扩展到更大规模集群,支持更大参数模型的部署与训练。

 

参考文献

 

[1] AMD. Ryzen AI Max+ 395 Technical Overview. AMD Developer Blog, 2026.

 

[2] G. Gerganov. llama.cpp: LLM inference in C/C++. GitHub, 2026.

 

[3] 本文作者. 面向存算一体化的智能验证:基于集成NPU迷你主机的操作系统架构设计与实现. 2026.

 

[4] AMD. Running Large Language Models on Ryzen AI Max+ 395 Clusters. AMD ROCm Documentation, 2026.

 

[5] Kimi K2.5 Technical Report. Moonshot AI, 2026.

 

[6] DeepSeek V3.1 Technical Report. DeepSeek AI, 2026.

 

[7] Linux Kernel CXL Subsystem Documentation. kernel.org, 2026.

 

[8] ROCm Installation Guide. AMD, 2026.

更多推荐