WWW.YOUINFO.SITE
标签聚合 降到

/tag/降到

V2EX - 技术 · 2026-05-28 16:17:58+08:00 · tech

最近在看 Kubernetes 上 AI 推理服务的冷启动问题,发现很多时候慢的不只是模型加载,容器镜像本身也很夸张。 比如 vLLM 这类镜像,里面有 PyTorch 、CUDA 、Python 依赖、系统库,动不动就是 10GB+。传统 containerd / overlayfs 路径下,节点要先完整下载并解压镜像,Pod 才能真正起来。对 Karpenter 这种弹性扩容场景来说,这部分时间会很明显。 我们做了一个小项目 Hermes: https://github.com/cloudpilot-ai/hermes 想法是:不让业务团队改 Dockerfile 、不重建镜像、不改 CI/CD ,也不改原来的 image reference 。平台侧定义一个 HermesPolicy ,controller 在集群内自动为匹配到的镜像构建并缓存 SOCI index ,节点上的 daemon 再用这些 index 做 lazy loading 。 这次用 EKS + Karpenter 跑了一个简单对比,镜像是: 763104351884.dkr.ecr.us-east-1.amazonaws.com/vllm:0.9-gpu-py312-ec2 大概 10.8GB 。 普通节点上,从 Pod 调度到节点后,到容器 Running/Ready: 5m04s - 29s = 4m35s 开启 Hermes 的节点上,在 HermesPolicy 已经 Ready 、SOCI artifact 已经构建好的前提下: 44s - 30s = 14s 也就是这个场景里,镜像拉取/挂载到容器启动这段,从 4m35s 降到了 14s 。 需要强调一下:这个结果不包含首次 index 构建耗时,也不等于 vLLM first token latency 。Pod Ready 变快,只说明容器镜像这条路径被 lazy loading 优化了。后面还需要继续测 vLLM readiness 、first request TTFT 、warmup 后真实请求延迟。 Hermes 现在的定位更像一个集群侧能力:应用继续发原来的 OCI image ,平台通过策略决定哪些镜像需要被 lazy load 。类似: apiVersion: hermes.cloudpilot.ai/v1alpha1 kind: HermesPolicy metadata: name: prod-large-images spec: paused: false imageSelectors: - imageRegex: ".*vllm.*" platforms: - linux/amd64 目前还比较早期,欢迎大家关注项目: https://github.com/cloudpilot-ai/hermes

V2EX - 技术 · 2026-05-28 16:17:58+08:00 · tech

最近在看 Kubernetes 上 AI 推理服务的冷启动问题,发现很多时候慢的不只是模型加载,容器镜像本身也很夸张。 比如 vLLM 这类镜像,里面有 PyTorch 、CUDA 、Python 依赖、系统库,动不动就是 10GB+。传统 containerd / overlayfs 路径下,节点要先完整下载并解压镜像,Pod 才能真正起来。对 Karpenter 这种弹性扩容场景来说,这部分时间会很明显。 我们做了一个小项目 Hermes: https://github.com/cloudpilot-ai/hermes 想法是:不让业务团队改 Dockerfile 、不重建镜像、不改 CI/CD ,也不改原来的 image reference 。平台侧定义一个 HermesPolicy ,controller 在集群内自动为匹配到的镜像构建并缓存 SOCI index ,节点上的 daemon 再用这些 index 做 lazy loading 。 这次用 EKS + Karpenter 跑了一个简单对比,镜像是: 763104351884.dkr.ecr.us-east-1.amazonaws.com/vllm:0.9-gpu-py312-ec2 大概 10.8GB 。 普通节点上,从 Pod 调度到节点后,到容器 Running/Ready: 5m04s - 29s = 4m35s 开启 Hermes 的节点上,在 HermesPolicy 已经 Ready 、SOCI artifact 已经构建好的前提下: 44s - 30s = 14s 也就是这个场景里,镜像拉取/挂载到容器启动这段,从 4m35s 降到了 14s 。 需要强调一下:这个结果不包含首次 index 构建耗时,也不等于 vLLM first token latency 。Pod Ready 变快,只说明容器镜像这条路径被 lazy loading 优化了。后面还需要继续测 vLLM readiness 、first request TTFT 、warmup 后真实请求延迟。 Hermes 现在的定位更像一个集群侧能力:应用继续发原来的 OCI image ,平台通过策略决定哪些镜像需要被 lazy load 。类似: apiVersion: hermes.cloudpilot.ai/v1alpha1 kind: HermesPolicy metadata: name: prod-large-images spec: paused: false imageSelectors: - imageRegex: ".*vllm.*" platforms: - linux/amd64 目前还比较早期,欢迎大家关注项目: https://github.com/cloudpilot-ai/hermes

V2EX - 技术 · 2026-05-28 13:31:51+08:00 · tech

最近在看 Kubernetes 上 AI 推理服务的冷启动问题,发现很多时候慢的不只是模型加载,容器镜像本身也很夸张。 比如 vLLM 这类镜像,里面有 PyTorch 、CUDA 、Python 依赖、系统库,动不动就是 10GB+。传统 containerd / overlayfs 路径下,节点要先完整下载并解压镜像,Pod 才能真正起来。对 Karpenter 这种弹性扩容场景来说,这部分时间会很明显。 我们做了一个小项目 Hermes: https://github.com/cloudpilot-ai/hermes 想法是:不让业务团队改 Dockerfile 、不重建镜像、不改 CI/CD ,也不改原来的 image reference 。平台侧定义一个 HermesPolicy ,controller 在集群内自动为匹配到的镜像构建并缓存 SOCI index ,节点上的 daemon 再用这些 index 做 lazy loading 。 这次用 EKS + Karpenter 跑了一个简单对比,镜像是: 763104351884.dkr.ecr.us-east-1.amazonaws.com/vllm:0.9-gpu-py312-ec2 大概 10.8GB 。 普通节点上,从 Pod 调度到节点后,到容器 Running/Ready: 5m04s - 29s = 4m35s 开启 Hermes 的节点上,在 HermesPolicy 已经 Ready 、SOCI artifact 已经构建好的前提下: 44s - 30s = 14s 也就是这个场景里,镜像拉取/挂载到容器启动这段,从 4m35s 降到了 14s 。 需要强调一下:这个结果不包含首次 index 构建耗时,也不等于 vLLM first token latency 。Pod Ready 变快,只说明容器镜像这条路径被 lazy loading 优化了。后面还需要继续测 vLLM readiness 、first request TTFT 、warmup 后真实请求延迟。 Hermes 现在的定位更像一个集群侧能力:应用继续发原来的 OCI image ,平台通过策略决定哪些镜像需要被 lazy load 。类似: apiVersion: hermes.cloudpilot.ai/v1alpha1 kind: HermesPolicy metadata: name: prod-large-images spec: paused: false imageSelectors: - imageRegex: ".*vllm.*" platforms: - linux/amd64 目前还比较早期,欢迎大家关注项目: https://github.com/cloudpilot-ai/hermes