模型缓存加速

更新时间:
复制为 MD 格式

推理服务通过挂载OSSNAS读取模型文件,受网络带宽影响,存在延时问题。EAS提供模型缓存加速功能,将模型文件缓存到内存中,提高读取速度,减少延时。本文介绍如何配置模型缓存加速及其加速效果。

工作原理

模型缓存加速支持以下两种缓存方式:

  • 本地缓存:利用推理服务自身的空闲内存缓存模型文件,以文件系统目录形式呈现。适用于服务扩容场景——同一服务的多个实例组成P2P网络,新实例可直接从已有缓存的实例获取数据,无需回源OSS/NAS。

  • 本地缓存 + 预热缓存:基于本地缓存,再额外部署一个独立的预热缓存服务,提前将模型文件加载到内存中。适用于全新部署场景,弥补本地缓存无法解决的首次冷启动问题。

配置完成后,推理服务实例会挂载一个加速目录,业务程序直接读取该目录的模型文件,无需修改代码。模型加载的优先顺序如下:

  • 冷启动:优先从预热缓存服务获取(如已配置);未配置则从OSS/NAS拉取并缓存到本地。

  • 扩容:优先命中本地缓存(支持LRU淘汰);未命中时预热缓存服务获取;仍未命中再回源OSS/NAS。

注意事项

  • 为保持数据一致性,挂载的加速目录是只读的,无法写操作。

  • 如需添加模型文件,请在源目录中新增文件,加速目录会读取源目录中的文件。

  • 不建议直接更新或删除源目录中的模型文件,这可能导致读取到缓存的脏数据。

配置模型本地缓存

自定义部署

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 单击部署服务,然后在自定义模型部署区域,单击自定义部署

  3. 关键参数说明如下,其他请参见自定义部署

    1. 环境信息区域,配置存储挂载,将模型文件挂载到容器目录。比如选择OSS:

      • Uri:模型文件所在的OSS路径,如oss://path/to/models/Qwen3-8B/

      • 挂载路径:挂载到容器中的路径,如/mnt/models/Qwen3-8B/

    2. 服务功能区域,打开分布式缓存加速开关,配置以下参数:

      参数

      描述

      占用最大内存

      缓存占用的最大内存,单位GB,超过限制时按LRU策略淘汰。示例:20 GB。

      源路径

      需加速文件的源目录。填写OSS/NAS挂载到容器的路径。

      加速路径

      本地缓存的路径。业务程序从该目录读取模型,须与源路径不同。示例:/mnt/models/Qwen3-8B-fast/

      模型缓存预热服务

      (可选)选择已部署的模型预热缓存服务。适用于全新部署或对冷启动速度有较高要求的场景(例如模型文件较大、需要频繁扩容)。如需使用,请先部署模型预热缓存服务

    3. 环境信息区域,修改运行命令,将命令中原本的模型文件源路径改为加速路径。以部署LLM服务为例:

      vllm serve /mnt/models/Qwen3-8B-fast/
  4. 参数配置完成后,单击部署

JSON部署

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 模型在线服务 (EAS)页面,单击部署服务,然后在自定义模型部署区域,单击JSON独立部署

  3. 输入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挂载到容器中的路径。

  4. 单击部署

部署模型预热缓存服务

模型预热缓存服务是用于预先加载指定模型缓存的独立服务,能够为启用模型缓存加速的推理服务提供高速访问的数据源。适用于LLM、AI生图、AI生视频等需要使用OSS/NAS挂载大型模型文件的场景。

重要

推理服务中模型缓存加速的源路径所对应的OSS地址,必须与模型预热缓存服务挂载的OSS地址保持一致,否则预热缓存将无法生效。

例如,推理服务中缓存加速配置的源路径为/mnt/models/Qwen3-8B/,对应OSS地址oss://path/to/models/Qwen3-8B/,则预热缓存服务也必须挂载oss://path/to/models/Qwen3-8B/

  1. 推理服务页签,单击部署服务,然后在场景化模型部署区域,单击模型预热缓存服务部署

  2. 配置以下关键参数,然后单击部署

    参数

    说明

    基本信息

    部署资源

    根据所需内存大小选择资源。

    缓存配置

    缓存路径

    要缓存的模型目录,支持挂载多个路径。

    占用最大内存

    必填。预热缓存服务可使用的最大内存。

    网络信息

    专有网络

    必填。必须与推理服务所在VPC保持一致,否则预热缓存服务将无法被推理服务访问。

    关联负载均衡NLB

    必须开启。默认由系统自动创建NLB。

加速效果

参考如下数据了解模型缓存加速效果,您的最终加速效果以实际情况为准。

Qwen3-32B

模型:Qwen3-32B(62G)

机器:ml.gu8is.c64m512.4-gu60 | 64512G+4GU60(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