推理服务通过挂载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 |