从云原生走向 AI 原生:一套面向未来的架构方法论 → 阅读《AI 原生基础设施》

HAMi 项目概览

已发行

HAMi 将 Kubernetes 变成一个 GPU 感知的控制平面,让 AI 工作负载能够按需获取 GPU 资源,而不需要独占整张显卡。

什么是 HAMi

HAMi 是一个 CNCF Sandbox 项目,定位为 GPU Resource Control Plane for Kubernetes。它的核心使命是将 Kubernetes 变成一个 GPU 感知的资源管理平台,让 AI 工作负载能够以显存、算力或设备数量为单位精细地获取 GPU 资源。

一句话概括:HAMi turns Kubernetes into a GPU-aware control plane for AI workloads.

HAMi 不是一个 GPU 驱动,不是 CUDA 的替代品,也不是一个模型服务框架。它专注于一个精确的定位,在 Kubernetes 调度层面解决 GPU 资源的管理和分配问题。

图 1: HAMi 在 Kubernetes 生态中的定位
图 1: HAMi 在 Kubernetes 生态中的定位

核心能力

加速器共享

HAMi 允许将一张物理 GPU 切分为多个逻辑单元,分配给不同的工作负载。支持三种维度的资源分配:

  • 显存分配指定工作负载可使用的显存上限
  • 算力分配指定工作负载可使用的 GPU 计算核心比例
  • 设备数量分配指定工作负载可见的 GPU 设备数
apiVersion: v1
kind: Pod
metadata:
  name: ai-inference
spec:
  containers:
  - name: inference
    image: tensorflow-serving:latest
    resources:
      limits:
        nvidia.com/gpu: 3        # 使用 3 个 GPU 设备
        nvidia.com/gpumem: 4000  # 每个设备 4000MB 显存

这个 Pod 使用 3 个 GPU 设备,每个设备分配 4000MB 显存。

资源隔离

每个工作负载的显存和算力使用都被限制在配额范围内:

  • 显存隔离超过配额的显存分配请求会被拒绝,防止一个工作负载耗尽整张 GPU 的显存
  • 算力隔离通过底层机制限制每个工作负载的 GPU 计算时间占比
  • 故障隔离一个工作负载的异常不会影响共享同一 GPU 的其他工作负载

设备感知调度

HAMi 的调度器扩展(Scheduler Extender)能够感知 GPU 的硬件拓扑和设备属性:

  • 拓扑感知优先将 Pod 调度到 NVLink 互联的 GPU 上,提升多卡通信性能
  • 类型感知区分不同型号的 GPU(如 A100 与 T4),按需匹配
  • 策略调度支持 binpack(紧凑装箱)、spread(分散部署)等策略
  • 自定义调度通过 Node Selector、Affinity 等标准 K8s 语义灵活控制

异构统一管理

HAMi 为不同厂商的加速器提供统一的资源抽象:

厂商设备类型资源标识支持状态
NVIDIAGPUnvidia.com/gpu稳定支持
华为昇腾NPUhuawei.com/Ascend910B3稳定支持
寒武纪MLUcambricon.com/vmlu稳定支持
海光DCUhygon.com/dcunum稳定支持
摩尔线程GPUmthreads.com/vgpu稳定支持
昆仑芯XPUkunlunxin.com/vxpu稳定支持
表 1: HAMi 支持的异构加速器

无论底层硬件是什么,工作负载都使用统一的资源配置方式。平台团队可以用一套流程管理所有厂商的设备,更多厂商与资源名示例见“异构设备支持”章节。

零应用改造

HAMi 的接入不需要修改应用代码。工作负载使用标准的 Kubernetes 资源声明即可启用 GPU 共享:

# 无需修改应用代码,只需在 resources 中声明
resources:
  limits:
    nvidia.com/gpu: 3         # 使用 3 个 GPU 设备
    nvidia.com/gpumem: 4000   # 4000MB 显存

对于已有的使用 nvidia.com/gpu 的工作负载,HAMi 通过 Mutating Webhook 自动转换资源请求,实现无缝迁移。

生产就绪

HAMi 提供完整的生产环境支持:

  • Prometheus:指标 GPU 利用率、显存使用、调度延迟等核心指标
  • WebUI:可视化查看 GPU 资源分配和使用情况
  • HelmChart:一键安装和升级
  • 事件增强调度:决策、资源分配等关键事件可追踪
  • 多租户支持:通过 Namespace 和 ResourceQuota 实现团队级别的资源配额

应用场景

AI 推理服务:多模型共享 GPU

推理场景是 HAMi 最典型的应用。一个在线服务平台通常需要同时部署多个模型,每个模型的资源需求远低于一张完整 GPU。

实际案例:一个 AI 平台需要同时部署 6 个推理模型(文本分类、图像识别、语音转写等),每个模型需要 8-12GB 显存。在传统模式下需要 6 张 GPU,使用 HAMi 后只需要 2 张 A100(80GB)。

# 模型 A:12GB 显存,20% 算力
apiVersion: apps/v1
kind: Deployment
metadata:
  name: text-classifier
spec:
  replicas: 2
  template:
    spec:
      containers:
      - name: server
        image: text-classifier:latest
        resources:
          limits:
            nvidia.com/gpu: 1         # 使用 1 个 GPU
            nvidia.com/cores: 20   # 20% 算力
            nvidia.com/gpumem: 12000  # 12GB 显存

训练与推理混合部署

在同一集群中混合运行训练和推理任务,最大化 GPU 利用率:

  • 训练任务:在非高峰期使用更多 GPU 资源
  • 推理任务:保持稳定的在线服务
  • 弹性调度:根据实际负载动态调整资源分配

企业 AI 平台:多团队共享

大型企业中多个 AI 团队共享 GPU 集群,需要公平、高效的资源分配:

  • 团队 A(NLP):运行大语言模型微调
  • 团队 B(视觉):运行目标检测训练
  • 团队 C(推荐):运行推荐模型推理
  • 团队 D(研究):运行实验性模型

HAMi 通过精细的资源分配和隔离,确保每个团队都能获得公平的 GPU 资源,同时最大化集群整体利用率。

主权 AI 基础设施:国产加速器支持

在需要国产化替代的场景中,HAMi 提供了统一的异构管理能力:

  • 同时管理 NVIDIA GPU 和昇腾 NPU
  • 工作负载无需针对不同硬件分别适配
  • 可以制定调度策略,将特定工作负载优先调度到国产加速器
  • 渐进式替代,无需一次性迁移所有工作负载

AI 云服务:GPU-as-a-Service

云服务商和 MLOps 平台可以使用 HAMi 构建 GPU 即服务:

  • 将物理 GPU 切分为多个逻辑单元,按需出租
  • 精确计量每个用户的 GPU 资源使用量
  • 支持弹性伸缩,根据负载自动调整 GPU 分配

与其他方案对比

vs 原生 Kubernetes Device Plugin

维度原生 Device PluginHAMi
资源粒度整卡显存/算力/设备数
共享能力不支持原生支持
多厂商统一各自独立统一抽象
调度策略无 GPU 感知拓扑/类型/策略感知
应用改动

vs NVIDIA MIG (Multi-Instance GPU)

维度NVIDIA MIGHAMi
硬件要求仅 A100/H100 等 Ampere+支持更广泛的 GPU 型号
切分粒度固定配额(1g.5gb、2g.10gb 等)灵活配额(任意显存和算力组合)
多厂商仅 NVIDIA多厂商统一
动态调整需要重启实例支持动态分配
配置复杂度需要手动配置 MIG Profile标准 Kubernetes 资源声明

vs 云厂商 GPU 虚拟化

维度云厂商方案HAMi
部署位置仅限特定云平台任意 Kubernetes 集群
厂商锁定强锁定无锁定
成本按云厂商定价开源免费
灵活性受限于云厂商能力完全可控
异构支持通常仅支持该云提供的 GPU多厂商统一支持

vs GPU 时间片方案

维度时间片方案HAMi
隔离性弱(时间片切换)强(显存和算力硬隔离)
可预测性差(性能波动大)好(配额保障)
显存隔离通常不支持支持
适用场景低负载容忍度高生产级工作负载

社区与生态

HAMi 是 CNCF Sandbox 项目,拥有活跃的开源社区:

作为 CNCF Sandbox 项目,HAMi 遵循云原生社区的最佳实践,包括开放的治理流程、清晰的贡献指南和透明的路线图规划。

小结

本章介绍了 HAMi 项目的核心定位和能力:

  • 定位:GPU Resource Control Plane for Kubernetes,CNCF Sandbox 项目
  • 核心能力:加速器共享、资源隔离、设备感知调度、异构统一管理、零应用改造、生产就绪
  • 应用场景:AI 推理服务、训练推理混合、企业 AI 平台、主权 AI 基础设施、AI 云服务
  • 方案优势:相比原生 Device Plugin、MIG、云厂商方案和 GPU 时间片,HAMi 在灵活性、多厂商支持和生产就绪度方面具有显著优势

下一章将进入动手实践环节,带你完成 HAMi 的安装和第一个工作负载的部署。

创建于 2026/06/04 更新于 2026/06/05 2488 字 阅读约 5 分钟