模型存储 - 模型缓存

type
status
date
slug
summary
tags
category
icon
password
网址
通过在本地缓存LLM模型,可以大大改善InferenceService的启动时间。对于具有多个副本的部署,本地持久卷可以使用预热的模型缓存为多个Pod提供服务。
  • LocalModelCache是一个KServe自定义资源,用于指定从持久存储中需要缓存到kubernetes节点本地存储的模型。
  • LocalModelNodeGroup是一个KServe自定义资源,用于管理缓存模型的节点组和本地持久存储。
  • LocalModelNode是一个KServe自定义资源,用于跟踪给定本地节点上已缓存模型的状态。
在本示例中,我们演示如何使用Kubernetes节点的本地磁盘NVMe卷从HF hub缓存模型。

创建LocalModelNodeGroup

使用指定的本地NVMe卷路径创建LocalModelNodeGroup,通过本地持久卷实现。
  • storageClassName应设置为local-storage
  • nodeAffinity应使用节点选择器指定要缓存模型的节点。
  • 应在PV上指定本地路径作为缓存模型的本地存储。

    配置本地模型下载作业命名空间

    在创建LocalModelCache资源以缓存模型之前,需要确保下载作业命名空间中已配置好凭据。下载作业将在配置的命名空间kserve-localmodel-jobs中创建。在本示例中,我们正在从HF hub缓存模型,因此应提前在相同命名空间中创建HF令牌密钥以及存储容器配置。
    创建HF Hub令牌密钥。
    创建HF Hub集群存储容器以引用HF Hub密钥。

    创建LocalModelCache

    创建LocalModelCache以指定源模型存储URI,用于预下载模型到本地NVMe卷以预热缓存。
    • sourceModelUri是用于下载模型进行本地缓存的模型持久存储位置。
    • nodeGroups用于指定要缓存模型的节点。
    创建LocalModelCache后,KServe会在组中的每个节点上创建下载作业,以将模型缓存在本地存储中。
    下载作业使用配置的PV/PVC创建。

    检查LocalModelCache状态

    LocalModelCache显示组中每个节点的模型下载状态。
    LocalModelNode显示预期在给定节点上缓存的每个模型的下载状态。

    使用LocalModelCache部署InferenceService

    最后,如果模型已经通过LocalModelCache资源预先缓存,您可以使用本地模型缓存通过匹配模型存储URI来部署LLM与InferenceService
    模型缓存目前默认是禁用的。要启用它,您需要修改inferenceservice-config ConfigMap上的localmodel.enabled字段。
    上一篇
    模型存储 - Hugging Face
    下一篇
    如何贡献代码
    Loading...
    文章列表
    Kserve中文文档
    快速开始
    管理指南
    用户指南
    开发指南
    机器学习概念
    大模型周报