61 lines
4.5 KiB
Markdown
61 lines
4.5 KiB
Markdown
# 架构设计
|
||
|
||
## 硬件假设与边界
|
||
|
||
RTX 4070 Ti SUPER 是 Ada 16GB 卡,不能按 Blackwell 原生 FP4 性能设计。vLLM 有 NVFP4 权重压缩、W4A16 Marlin 计算路径,但线性层支持不证明该模型的 MoE、QSA、PLE、视觉和 MTP 全链路兼容,逐项测试后才能选择。
|
||
|
||
CPU 不虚构型号。登记物理核心、AVX2/AVX-512、内存通道及实测带宽;CPU 专家计算方案的性能高度依赖这些项目。SSD 登记型号、PCIe 协商链路、文件系统、随机读延迟、温度和剩余空间,不能把标称顺序带宽当作 PLE 查表速度。
|
||
|
||
首选原生 Linux 以便记录 cgroup、文件页缓存和 I/O。Windows/WSL2 是后续独立平台,不能混用测量结果。
|
||
|
||
## 数据流
|
||
|
||
```mermaid
|
||
flowchart TD
|
||
API[本机 API:单请求] --> R[Flash-Next 推理运行时]
|
||
R --> G[GPU:注意力、稠密路径、缓存、部分专家]
|
||
R --> C[CPU:卸载专家计算与 PLE 查询]
|
||
C --> RAM[内存:专家工作集、PLE 页缓存、暂存区]
|
||
SSD[NVMe:模型文件、PLE、非驻留专家] --> RAM
|
||
RAM --> G
|
||
C --> G
|
||
```
|
||
|
||
这是逻辑设计,不是已经实现的调度器。GPU/CPU 专家划分首先采用候选引擎已有的静态逐层配置;不假设它拥有动态热门专家缓存。对非驻留 CPU 权重采用文件后备时,由操作系统分页或引擎显式加载,实际行为必须从源码和磁盘读量确认。
|
||
|
||
## 资源上限
|
||
|
||
| 项目 | 起始预算 | 说明 |
|
||
|---|---:|---|
|
||
| GPU 推理总占用 | ≤14GiB | 包含权重、KV/循环状态、视觉编码器峰值、计算缓冲 |
|
||
| GPU 预留 | 约2GiB | 桌面显示、驱动及波动;不是额外可用权重空间 |
|
||
| CPU 进程树+计费文件缓存 | ≤24GiB | 加载期和稳态均须满足;不能只测主进程 RSS |
|
||
| 主机预留 | 约8GiB | OS、客户端和峰值;真实可用容量以实机为准 |
|
||
| SSD 模型与实验空间 | 初期约400GiB预算 | 原版、一个候选量化、转换临时文件分开核算;转换可能超出此预算 |
|
||
|
||
保持至少约20% SSD 可用空间作为初始管理目标;不为了达到固定分区比例移动用户数据。模型以只读目录挂载,缓存、输出、凭据分目录。
|
||
|
||
NVIDIA checkpoint 约133GB(十进制);历史部署记录约123.568GiB。即使把14+24GiB全部用于权重,仍有约85.6GiB不能同时驻留,实际缺口更大。不能把 PLE 的约47.7GiB独立映射后就宣称问题解决,剩余主体仍过大。
|
||
|
||
SSD 只解决容量,不保证访问时间。PLE 稀疏读取和路由专家访问分别统计,避免用平均数据量掩盖随机 I/O 延迟。被 mmap 的页会占用内存缓存;mmap 不等于零内存,也不等于每步必然访问物理 SSD。
|
||
|
||
## 路线选择
|
||
|
||
| 路线 | 优先级 | 决定条件 |
|
||
|---|---|---|
|
||
| 同一 Flash-Next 的 GGUF,CPU MoE+PLE/专家文件后备 | 首先审计 | 确认精确分支支持架构、惰性加载、视觉、视频输入;≤24GiB 总内存才继续 |
|
||
| EXL3,CPU MoE+磁盘 PLE | 第二候选 | 社区3.05bpw方案报告约47.8GiB RAM,不能原样采用;需支持混合专家放置或更低位量化并通过质量评估 |
|
||
| NVIDIA NVFP4+vLLM/其他引擎 | 原始 checkpoint 对照路线 | Ada 全算子兼容、专家卸载与PLE磁盘路径可组合、加载峰值有界;目前未证实 |
|
||
|
||
不自动裁剪专家、删除视觉编码器或过度量化 PLE 来满足容量。GGUF/EXL3 是量化变体,保留原模型结构不代表输出质量等价。先从现成且来源可核对的量化版本评估,避免在32GB主机上盲目执行可能需要数百GB内存的转换。
|
||
|
||
## 容量模拟的正确用法
|
||
|
||
以后若在更大的测试机器上做试验,CPU容器内存限24GiB、禁用该容器swap,且把所有worker放在同一cgroup。GPU显存需要引擎分配预算配合实际峰值监控;Docker内存限制不限制显存。
|
||
|
||
不要通过占满其他显存来冒充4070TiSUPER,不通过全局drop_caches干扰生产服务。共享宿主的预热文件页、缓存计费归属、不同CPU/GPU与PCIe都会影响结果。限额实验只报告“受限容量加载结果”;实际延迟、功耗与吞吐必须在4070TiSUPER上测量。
|
||
|
||
## 服务形态
|
||
|
||
通过验收后封装单服务API,默认绑定127.0.0.1,权重只读、凭据单独挂载,前端按需增加。先验证文字,再验证图像与视频;最终目标始终保留三者。如果引擎只接受视频抽帧,记录采样率、帧数和时间顺序,不把“识别一张图片”当作视频验收。
|