推理服务通过挂载OSS或NAS读取模型文件,受网络带宽影响,存在延时问题。EAS提供模型缓存加速功能,将模型文件缓存到内存中,提高读取速度,减少延时。
工作原理
模型缓存加速支持以下两种缓存方式:
-
本地缓存:利用推理服务自身的空闲内存缓存模型文件,以文件系统目录形式呈现。适用于服务扩容场景——同一服务的多个实例组成P2P网络,新实例可直接从已有缓存的实例获取数据,无需回源OSS/NAS。
-
本地缓存 + 预热缓存:基于本地缓存,再额外部署一个独立的预热缓存服务,提前将模型文件加载到内存中。适用于全新部署场景,弥补本地缓存无法解决的首次冷启动问题。
配置完成后,推理服务实例会挂载一个加速目录,业务程序直接读取该目录的模型文件,无需修改代码。模型加载的优先顺序如下:
-
冷启动:优先从预热缓存服务获取(如已配置);未配置则从OSS/NAS拉取并缓存到本地。
-
扩容:优先命中本地缓存(支持LRU淘汰);未命中时预热缓存服务获取;仍未命中再回源OSS/NAS。
注意事项
-
为保持数据一致性,挂载的加速目录是只读的,无法写操作。
-
如需添加模型文件,请在源目录中新增文件,加速目录会读取源目录中的文件。
-
不建议直接更新或删除源目录中的模型文件,这可能导致读取到缓存的脏数据。
配置方法
自定义部署
-
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS。
-
单击部署服务,然后在自定义模型部署区域,单击自定义部署。
-
关键参数说明如下,其他请参见自定义部署。
-
在环境信息区域,配置存储挂载,将模型文件挂载到容器目录。比如选择OSS:
-
Uri:模型文件所在的OSS路径,如
oss://path/to/models/Qwen3-8B/。 -
挂载路径:挂载到容器中的路径,如
/mnt/models/Qwen3-8B/。
-
-
在服务功能区域,打开分布式缓存加速开关,配置以下参数:
参数
描述
占用最大内存
缓存占用的最大内存,单位GB,超过限制时按LRU策略淘汰。示例:
20GB。源路径
需加速文件的源目录。填写OSS/NAS挂载到容器的路径。
加速路径
本地缓存的路径。业务程序从该目录读取模型,须与源路径不同。示例:
/mnt/models/Qwen3-8B-fast/。模型缓存预热服务
(可选)选择已部署的模型预热缓存服务。适用于全新部署或对冷启动速度有较高要求的场景(例如模型文件较大、需要频繁扩容)。如需使用,请先部署模型预热缓存服务。
-
在环境信息区域,修改运行命令,将命令中原本的模型文件源路径改为加速路径。以部署LLM服务为例:
vllm serve /mnt/models/Qwen3-8B-fast/
-
-
参数配置完成后,单击部署。
JSON部署
-
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS。
-
在模型在线服务 (EAS)页面,单击部署服务,然后在自定义模型部署区域,单击JSON独立部署。
-
输入JSON配置,示例如下。
{ "cloud": { "computing": { "instances": [ { "type": "ecs.gn6e-c12g1.3xlarge" } ] }, "networking": { "security_group_id": "your-security-group-id", "vpc_id": "your-vpc-id", "vswitch_id": "your-vswitch-id" } }, "containers": [ { "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/vllm:0.11.2-py312-mows0.5.1", "port": 8000, "script": "vllm serve /mnt/models/Qwen3-8B/" } ], "metadata": { "cpu": 12, "disk": "30Gi", "gpu": 1, "instance": 1, "memory": 92000, "name": "vllm_test", "workspace_id": "your-workspace-id" }, "storage": [ { "mount_path": "/mnt/models/Qwen3-8B/", "oss": { "path": "oss://path/to/models/Qwen3-8B/", "readOnly": false } }, { "cache": { "capacity": "10G", "path": "/mnt/models/Qwen3-8B/", "cacheroot_service": "your-cacheroot-service" }, "mount_path": "/mnt/models/Qwen3-8B-fast/" } ] }内存缓存加速参数说明如下,其他参数配置说明参见JSON部署。
参数
描述
containers.script
将运行命令中指向模型文件的路径,从源路径(OSS/NAS挂载目录)改为加速路径,使业务程序从加速目录读取模型。
storage[].cache
capacity
被加速文件占用的最大内存,单位GB。被加速文件占用的最大内存,超过限制时采用LRU策略淘汰。
path
需加速文件的源目录。填写OSS/NAS挂载到容器的路径。
preload
表示在拉起服务时将文件缓存到内存中。设置为
"/"。cacheroot_service
预热缓存服务的名称。
storage[].mount_path
OSS/NAS挂载到容器中的路径。
-
单击部署。
部署模型预热缓存服务
模型预热缓存服务是用于预先加载指定模型缓存的独立服务,能够为启用模型缓存加速的推理服务提供高速访问的数据源。适用于LLM、AI生图、AI生视频等需要使用OSS/NAS挂载大型模型文件的场景。
推理服务中模型缓存加速的源路径所对应的OSS地址,必须与模型预热缓存服务挂载的OSS地址保持一致,否则预热缓存将无法生效。
例如,推理服务中缓存加速配置的源路径为/mnt/models/Qwen3-8B/,对应OSS地址oss://path/to/models/Qwen3-8B/,则预热缓存服务也必须挂载oss://path/to/models/Qwen3-8B/。
-
在推理服务页签,单击部署服务,然后在场景化模型部署区域,单击模型预热缓存服务部署。
-
配置以下关键参数,然后单击部署。
参数
说明
基本信息
部署资源
根据所需内存大小选择资源。
缓存配置
缓存路径
要缓存的模型目录,支持挂载多个路径。
占用最大内存
必填。预热缓存服务可使用的最大内存。
网络信息
专有网络
必填。必须与推理服务所在VPC保持一致,否则预热缓存服务将无法被推理服务访问。
关联负载均衡NLB
必须开启。默认由系统自动创建NLB。
加速效果
参考如下数据了解模型缓存加速效果,您的最终加速效果以实际情况为准。
Qwen3-32B
模型:Qwen3-32B(62G)
机器:ml.gu8is.c64m512.4-gu60 | 64核512G+4张GU60(48G) | L20
|
部署模式 |
模型加载耗时 |
模型加载速率 |
服务就绪耗时 |
|
常规(无缓存加速) |
01:05 |
7.63Gbit/s |
01:43 |
|
冷启动加速(预热缓存) |
00:21 |
23.62Gbit/s |
01:01 |
|
扩容加速(本地缓存) |
00:18 |
27.55Gbit/s |
00:58 |
MiniMax-M2
模型:MiniMax-M2(215G)
机器:ml.gu8tf.8.40xlarge | 160vcpu+1800GB+8*GU8T | H20(96G)
|
部署模式 |
模型加载耗时 |
模型加载速率 |
服务就绪耗时 |
|
常规(无缓存加速) |
06:42 |
4.28Gbit/s |
09:16 |
|
冷启动加速(预热缓存) |
01:49 |
15.78Gbit/s |
04:49 |
|
扩容加速(本地缓存) |
01:42 |
16.86Gbit/s |
04:34 |
DeepSeek-V3.2
模型:DeepSeek-V3.2(643G)
机器:ml.gu8tef.8.46xlarge | 184vcpu+1800GB+8*GU8TE | H20-3e(141G)
|
部署模式 |
模型加载耗时 |
模型加载速率 |
服务就绪耗时 |
|
常规(无缓存加速) |
12:33 |
6.83Gbit/s |
27:41 |
|
冷启动加速(预热缓存) |
02:43 |
31.56Gbit/s |
13:01 |
|
扩容加速(本地缓存) |
01:58 |
43.60Gbit/s |
12:49 |