在 AI 算力最紧张的时代,一块 A100 显卡就像一栋黄金地段的创业大楼:位置极佳、硬件豪华,过去却只能“整栋出租”。一家公司租下来,往往只用了几个工位,仓库(显存)却堆得满满当当,其他楼层全在吃灰;旁边的公司想入驻,连门都进不去。直到 NVIDIA 推出 MIG(Multi-Instance GPU,多实例 GPU),这栋大楼才被装上“实体隔断墙”,最多隔成 7 间独立办公室:每间都有独立小仓库、独立电表、独立电梯配额,一家公司烧水短路,绝不会牵连隔壁。 从此,园区多了两位“智能管家”:Slurm 像租约经理,按队列优先级把房间长租给作业;K8s 像智能门禁管家,容器启动时自动刷脸分房。两位管家都要先把 MIG 的每间办公室登记成正式“房源”,才能在集群中调度。本文就用“隔间装修 + 房源出租”这条故事线,带你彻底搞懂 MIG 的原理、配置、调度、隔离效果与落地技巧。
学完本节,你能在真实集群中用 Slurm/K8s 为推理、训练任务按需分配 MIG 实例,把 GPU 利用率从 30% 拉到 85%,也能从容回答面试中关于多实例 GPU 的高频问题——这是 AI 基础设施工程师的核心竞争力。
可视化演示
三步展示MIG多实例GPU:GPU物理结构(A100的7个GPC→SM流式多处理器→硬件级分区)、MIG Profile配置(1g.5gb最多7实例/2g.10gb/3g.20gb/7g.40gb)、多租户推理场景(7个1g.5gb实例分别托管BERT/ResNet等模型,硬件隔离互不影响)。
本节配有交互动效(进入视口后自动加载,约 3KB)。
A100 GPU物理结构 GPC:图形处理集群,7个GPC组成A100 SM:流式多处理器,每个GPC含多个SM 内存:40GB HBM2,每GPC分5GB MIG_instance = GPC_subset + SM_subset + memory_slice 硬件级分区实现强隔离。
MIG 基本概念
当年“整栋出租”的痛点,你肯定感同身受:团队 A 租下整块 A100,只开两个办公区的灯,仓库(显存)却堆到天花板;团队 B 的推理服务急着上线,只能眼巴巴排队。资源利用率低到 30%,是裸金属 GPU 集群的通病。MIG 要解决的,正是“大楼如何安全分租”这个根本问题。
MIG(Multi-Instance GPU,多实例 GPU)是 NVIDIA 在 Ampere 架构起引入的硬件级切分技术。它把一块物理 GPU 的计算核心、显存、L2 缓存和显存带宽切成若干独立分区,每个分区都是一个完整的 “小 GPU”——有自己的仓库门禁、独立电梯、独立电表,驱动会把它识别成独立设备。这和“拉个帘子”的时间切片、只在墙上挂公司牌子的 vGPU 有本质区别:MIG 的墙是实体墙,邻居抢不走你的资源。
在 A100(40GB)上,一块物理 GPU 最多可以切出 7 个 MIG 实例。每个实例独占一部分 SM(流式多处理器)计算单元、一部分显存容量和相应的带宽切片。任务跑在实例里,就像租户在自己的隔间办公,不需要关心隔壁是谁,也不需要改代码——CUDA 程序基本透明适配。
为了衡量“分租到底赚了多少”,我们引入资源利用率的概念:
回到大楼的比喻:MIG 之前,一栋楼只有一家公司,加班也只用三分之一的设备,利用率自然低;MIG 之后,七家租户轮班使用全楼,每个隔间都有人干活,整栋楼的“上座率”自然翻倍。
- 分子算力消耗之和:统计窗口内每个任务消耗的算力与运行时间的乘积,再求和。
- 分母理论峰值容量:GPU 以峰值算力 \(P_{\text{peak}}\) 连续运行总时间 \(T\) 能提供的最大算力。
- 利用率比值两者相除得到 0~1 之间的利用率,越接近 1 说明资源越物尽其用。
硬件切分原理
装修队进场了。要把创业大楼安全隔开,关键是怎么砌墙:既不能破坏承重结构,又要保证每家都有独立的水电。GPU 的“承重结构”就是 GPC(Graphics Processing Cluster,图形处理簇)。A100 的 108 个 SM 计算单元分成 7 个 GPC 分组,每个 GPC 天然是“一层标准办公区”。
MIG 的砌墙方案非常巧妙:把 7 个 GPC 对应的计算切片作为“楼层”,再把显存切成“仓库配额”,两者一一配套。一个 1g.5gb 的实例 = 拿到 1 层办公区(1 个 GPC 的计算切片)+ 5GB 显存配额 + 约 1/7 的 L2 缓存 + 约 1/7 的显存带宽。计算切片与内存切片像拼图一样组合,就形成了不同的“户型”。
显存带宽的隔离是硬件级的:每个 MIG 实例拥有独立的带宽切片,不会因为邻居疯狂读写显存而导致自己的数据传输变慢。L2 缓存也被分区,进一步减少跨租户的缓存争抢。这意味着哪怕“楼下”在跑满负荷的大模型训练,“楼上”做推理的延迟也纹丝不动。
用资源占比向量表示每个实例拿到的“房间配置”:
形象地说,装修队每砌一道墙,都会同步安装独立电表(算力)、独立水表(带宽)、独立储物柜(显存)。租户拿到钥匙的那一刻,就知道自己能用多少水、多少电,绝不会和邻居“抢龙头”。
- 计算切片占比实例 i 分到的 GPC 计算片数 \(c_i\) 除以总计算片数 \(C\)。A100 上 \(C=7\)。
- 显存占比实例 i 的显存配额 \(m_i\) 除以总显存 \(M\)。如 5GB ÷ 40GB = 1/8。
- 带宽占比实例 i 的带宽切片 \(b_i\) 除以总带宽 \(B\)。三个比例共同构成实例的资源画像。
实例类型配置
大楼的开发商(NVIDIA)提供了一套“标准户型图”,物业不能随意乱砌。A100 40GB 的官方户型有:1g.5gb、1g.10gb、2g.10gb、2g.20gb、3g.20gb、3g.40gb、4g.20gb、7g.40gb。名字里的数字不是随便写的:第一个数字是“计算片数”(g 代表 GPC 计算片),后半段是该实例独占的显存大小。
这里要区分两个层级:GPU Instance(GI,GPU 实例)是自己拥有独立显存的“整间办公室”;Compute Instance(CI,计算实例)则是装在 GI 里的“工位隔断”,可以进一步把算力细分,但显存归属仍归外层 GI 所有。理解这点,调度时才知道任务到底“住进了哪一层”。
配置有两条硬规则:第一,一张卡在某个时刻只能选择一种户型组合,不能一半切 1g.5gb、另一半切 4g.20gb 混搭;第二,切换户型必须让 GPU 完全空闲并执行 reset(相当于拉闸断电重装),不是热插拔。所以 MIG 的“装修”成本不低,规划要一次到位。
任意切分方案都要满足容量约束:
好比开发商规定:一层楼最多隔 7 间,每间的仓库和工位数都有标准模板。想临时把 1g 改成 2g?可以,但要整层楼清空、断电、重新砌墙,不能租户住着的时候施工。
- 计算片约束所有实例的计算片数之和不能超过 7 个 GPC 总片数。
- 显存约束所有实例显存配额之和不能超过物理显存总量。
- 数量上限约束A100 硬件最多支持 7 个实例同时存在。
集群调度集成
房间砌好了,接下来要让“智能管家”发钥匙。Slurm 和 K8s 是园区里最常见的两位管家,但它们管理房源的方式不同。Slurm 更像“租约经理”:系统管理员把 MIG 户型写进 gres.conf(租约台账),用户通过 --gres=gpu:1g.10gb 这样的参数申请指定户型,Slurm 负责在合适的节点上分配并保障租约期内独占。
K8s 则走“自动化管家”路线:NVIDIA Device Plugin(设备插件)相当于门禁系统的“房源登记模块”,它把每张卡上的 MIG 实例上报为集群资源,如 nvidia.com/mig-1g.10gb。用户容器只需在资源请求里写明要几个“1g 房间”,K8s 调度器就会自动找到有空房的节点并完成绑定。配合 NVIDIA MIG Manager(MIG 管理器),管理员可以在 K8s 里声明节点应切成哪种户型,由管理器自动执行切分。
两位管家都要解决同一个核心问题:调度器如何判断“这间房能不能给这位租客”。用匹配函数表达:
想象一下:租约经理用手写台账(Slurm GRES),逐条核对“这间房空不空”;智能门禁管家则把房源同步到中央系统(K8s API),自动匹配。理解了两者的差异,你就能在真实集群中选对工具——超算传统作业用 Slurm,云原生容器平台用 K8s。
- 请求量任务声明的 MIG 资源量,如 2 个 1g.10gb 实例。
- 可用量节点 j 当前空闲(未出租)的 MIG 资源总量。
- 匹配判定请求不超过可用量则标记为可调度候选,否则跳过该节点。
性能隔离特性
隔间装修完工,该验收“隔音效果”了。时间切片方案下,隔壁租户开会(跑满计算)时,你的视频会议就会卡顿;而 MIG 的实体墙保证了什么呢?第一是确定性性能:无论邻居负载多高,你的算力、带宽配额纹丝不动,任务完成时间可预期;第二是故障隔离:隔壁线路短路(GPU 报错、显存故障),不会传导到你的隔间,一个实例的异常不会拖垮整卡。
第二堵“墙”是带宽保障。MIG 给每个实例的显存带宽切片是硬件独享的,这意味着推理服务的 P99 延迟不会因为“楼下跑训练”而突然飙高。对比三种共享方案:时间切片(time-slicing)是轮流用同一张桌子,邻居开大会你就得等;CUDA MPS 是软件层面的协作调度,一个进程崩溃可能影响同卡其他人;而 MIG 是硬件级隔离,安全性和隔离性最强。
用加速比量化隔离收益:
楼里开派对不再吵到加班的人,跳闸也不会整楼停电——这就是实体墙的底气。对于延迟敏感的线上推理,MIG 的确定性比“纸面吞吐”更值钱。
- 共享环境完成时间任务在时间切片共享下,因邻居抢占而拉长的实际完成时间。
- MIG 环境完成时间同一任务在 MIG 隔离下不受干扰的基础完成时间。
- 加速比两者相除。S=1.5 意味着隔离环境下任务快了 50%,这就是“确定性”的价值。
配置管理实践
好户型需要规范的施工流程。管理员的操作手册大致四步:第一,用 nvidia-smi -mig 1 开启整张卡的 MIG 模式(相当于给大楼发“可分割”的规划许可);第二,在 GPU 空闲时执行切分配置,例如 nvidia-smi mig -cgi 1g.10gb,2g.20gb -cipc,把显存和计算片组合成目标户型;第三,用 nvidia-smi mig -lgi 验收各实例状态;第四,接入 DCGM 或 nvidia-smi dmon 持续监控每个实例的利用率与温度。
资源规划要警惕“碎片化”——这是分租最大的隐形杀手。假设你切成 3g+3g+1g,但排队任务里全是需要 2g 的租户,剩下那个 1g 房间就永远空置,而 2g 任务也塞不进 1g 房间。规划户型前必须统计真实负载画像:推理任务多就多切 1g/2g,训练任务多就保留 3g/7g 大户型。
碎片率是衡量规划水平的关键指标:
物业的智慧在于“先招商再装修”:先统计园区租户的规模分布,再决定隔几间大的、几间小的。盲目按最大户型切分,或全部切成鸽子笼,都会造成长期空置。
- 碎片显存当前剩余但无法匹配任何等待任务请求的显存空间。
- 总显存整卡物理显存容量。
- 碎片率比值越低说明户型与任务匹配度越高。实践中应结合队列历史调整户型。
应用场景案例
故事来到高潮:园区入驻了三位典型的租户。第一家是“多模型推理公司”,手握几十个小模型(BERT、GPT 小型号),每个模型只需 5~10GB 显存。它们把一张 A100 切成 7 个 1g.5gb 房间,7 个推理服务同时在线,吞吐量是整卡串行推理的 5 倍以上——这是 MIG 最经典的“模型推理”场景。
第二家是“多租户共享平台”,承接内部多个互不信任的团队。每个团队分到独立 MIG 实例,硬件隔离保证数据安全与性能互不干扰,团队之间再无“谁抢了谁的显存”的扯皮。管理员还能按团队优先级动态调整户型——当然,必须在低峰期重启后生效。
第三家是“混合负载工厂”:白天推理服务是主力(切 7×1g 细户型),夜间训练任务上场(切换为 2g+3g+3g 大户型)。通过脚本在固定时段自动 reset GPU 并重建 MIG 配置,实现了“一卡两吃”。核算下来,单位算力成本显著下降:
创客大楼的故事讲完了:硬件砌墙(MIG 原理)、户型选择(实例配置)、管家分房(调度集成)、隔音验收(性能隔离)、施工规范(配置管理),最终各家租户都找到了性价比最高的入住方式。理解这条完整链路,你就能在真实工作中把 MIG 用出真正的价值。
- 总成本包含 GPU 折旧、电费、机房与运维开销。
- 有效产出平均吞吐量与利用率的乘积,衡量系统“真正干活的量”。
- 单位成本总成本除以有效产出,得到每单位推理/训练量的开销。
AI 应用场景
多租户推理平台(K8s + MIG 混合切分)
阶段:算力集群与调度 / 资源分配
解决的问题:传统方式下,内部多个团队共享一台 8 卡 A100 服务器,互相抢显存、抢带宽;用时间切片虽能共存,但一个团队跑满计算就会拖慢所有人的延迟。MIG 把每张卡切成 1g.10gb + 1g.10gb + 2g.20gb + 3g.20gb 等多套户型,K8s 通过 Device Plugin 暴露 nvidia.com/mig-1g.10gb 等资源,各团队容器各居其室,互不干扰。
具体案例:某公司 NLP 平台将 8 张 A100 切成 32 个“1g 推理间”动态分配给线上问答服务,同时保留 8 个“3g 训练间”给模型微调。改造后 GPU 利用率从 35% 提升到 85%,推理 P99 延迟保持稳定。
超算中心 Slurm 队列小作业分流
阶段:作业调度 / 队列管理
解决的问题:超算中心大量小作业(单卡显存 <10GB)排队等整卡,浪费严重。Slurm 在 gres.conf 中将 MIG 户型登记为 GRES 资源类型,用户通过 srun --gres=gpu:1g.10gb 提交小任务,调度器把多个小任务塞进同一张物理卡的不同实例。
具体案例:某国家超算分中心在登录节点配置 MIG 后,小作业平均排队时间从 6 小时缩短到 1.5 小时,整卡利用率提升 3 倍,用户满意度显著上升。
推理训练错峰的成本优化
阶段:成本优化 / 容量规划
解决的问题:白天推理峰值、夜间训练峰值,静态切分无法适配。利用 MIG“切分需重启”的特性,在业务低峰期定时切换户型,实现一张卡白天当推理集群、晚上当训练集群。
具体案例:某自动驾驶公司白天将 A100 切成 7×1g 跑感知模型推理,夜间切换为 2g+3g+3g 跑数据回放训练,通过定时脚本运维自动完成 reset 与重配置,月度 GPU 采购成本节约 30%。
Python 演示
"""MIG 多实例 GPU 调度模拟器模拟一张 40GB / 7 计算片的 A100 被切成多个 MIG 实例,并为不同任务类型(推理/训练)匹配合适的户型。""" MIG_PROFILES = [ {"name": "1g.5gb", "compute": 1, "memory": 5}, {"name": "1g.10gb", "compute": 1, "memory": 10}, {"name": "2g.10gb", "compute": 2, "memory": 10}, {"name": "3g.20gb", "compute": 3, "memory": 20}, {"name": "7g.40gb", "compute": 7, "memory": 40},] class GpuNode: """一张支持 MIG 的物理 GPU""" def __init__(self, total_memory=40, total_compute=7): self.total_memory = total_memory self.total_compute = total_compute self.used_memory = 0 self.used_compute = 0 def free(self): return { "memory": self.total_memory - self.used_memory, "compute": self.total_compute - self.used_compute, } def allocate(self, profile): if profile["memory"] > self.free()["memory"]: return False if profile["compute"] > self.free()["compute"]: return False self.used_memory += profile["memory"] self.used_compute += profile["compute"] return True def release(self, profile): self.used_memory -= profile["memory"] self.used_compute -= profile["compute"] def schedule(jobs): """按任务类型返回推荐的 MIG 配置""" node = GpuNode() plan = [] for job in jobs: if job["type"] == "inference": profile = MIG_PROFILES[1] # 1g.10gb 适合小模型推理 elif job["type"] == "training": profile = MIG_PROFILES[3] # 3g.20gb 适合中型训练 else: profile = MIG_PROFILES[4] # batch 类型用整卡 if node.allocate(profile): plan.append((job["name"], profile["name"])) else: plan.append((job["name"], "排队等待")) return plan, node.free() if __name__ == "__main__": jobs = [ {"name": "bert-qa", "type": "inference"}, {"name": "resnet-train", "type": "training"}, {"name": "llm-train", "type": "training"}, {"name": "bert-senti", "type": "inference"}, ] plan, free = schedule(jobs) for name, profile in plan: print("%-14s -> %s" % (name, profile)) print("剩余资源: 显存 %dGB, 计算片 %d" % (free["memory"], free["compute"]))
class GpuNode:定义一张物理 GPU,记录总显存、总计算片及已用量,对应“整栋大楼”的资源台账。def free(self):返回当前剩余显存与计算片,相当于物业查询“还有几间空房”。def allocate(self, profile):尝试把一个 MIG 户型分配出去,容量不足时返回 False。profile = MIG_PROFILES[1]推理任务固定推荐 1g.10gb 小户型,避免浪费大房间。if node.allocate(profile):分配成功则写入方案,失败则进入“排队等待”。print("剩余资源: ...")输出最终剩余资源,反映切分规划是否合理。
常见误区
误区“MIG 不就是把 GPU 切分嘛,和 time-slicing、vGPU 差不多,都是让多个任务共用一张卡。”初学者常把三者混为一谈。
正解三者隔离层级完全不同。时间切片是时分复用,任务轮流用同一批计算单元,邻居满载你会被拖慢;vGPU 是虚拟化抽象,隔离靠软件层;MIG 是硬件级物理隔离,计算、显存、带宽、L2 全部独立切片,邻居无论怎么跑都影响不了你。用大楼比喻:时间切片是共用一张桌子的“轮班制”,MIG 是隔成独立办公室的“实体墙”,产权和基础设施完全分开。
为何常见:因为从用户视角看,三者都表现为“一张卡跑多个任务”,不深入硬件细节很难区分隔离层级。
误区“既然能用 nvidia-smi 命令切分,那生产环境里就可以根据流量动态调整 MIG 户型,白天多切 1g、晚上多切 3g。”
正解MIG 的配置变更必须在 GPU 完全空闲时执行 reset 操作才能生效。正在跑任务的实例无法被重新切分,切换前需要排空所有作业并重启 GPU。实际生产中的“动态调整”本质是:停机 → 重新切分 → 拉起新任务,只是把流程脚本化、自动化了。
为何常见:nvidia-smi 命令执行很快,容易让人误以为底层可以即改即用,忽略了 GPU 需要重启重建资源切片的限制。
误区“既然 1g 户型最小,那把整卡切成 7 个 1g 就是最优解,能塞最多任务。”
正解切分粒度必须匹配任务需求。7 个 1g.5gb 实例的总显存只有 35GB,且每个实例算力有限,无法运行需要 20GB+ 显存的模型。如果队列里全是 2g 任务,切成 7×1g 反而造成显存碎片和算力浪费。正确做法是统计负载画像,用混合户型(如 1g+2g+3g)对齐真实需求,才能最大化利用率。
为何常见:人直觉上认为“切得越小越灵活”,忽略了 MIG 户型有固定的计算-显存配比,以及任务本身有最小资源需求。
误区“只要 GPU 节点装了 NVIDIA 驱动,K8s 里自然就能调度 MIG 实例。”
正解K8s 要调度 MIG,需要三件套:开启 MIG 模式的驱动、NVIDIA Device Plugin 将 MIG 实例上报为扩展资源(如 nvidia.com/mig-1g.10gb)、以及 MIG Manager 负责按配置执行切分。缺了任何一环,调度器都“看不见”MIG 实例,只能把整卡当作普通 GPU 分配。
为何常见:普通 GPU 在 K8s 里即插即用,用户误以为 MIG 也同理,忽略了 MIG 需要额外的资源上报与管理组件。
面试题
Q1. MIG 的全称是什么?
- A.Multi-Instance GPU(多实例 GPU)← 正确答案
- B.Multi-Interface GPU(多接口 GPU)
- C.Memory-Isolated GPU(显存隔离 GPU)
- D.Mixed-Instance GPU(混合实例 GPU)
答案:A。MIG 是 Multi-Instance GPU 的缩写,核心含义是把一块物理 GPU 分成多个独立实例。B 的“接口”、C 的“显存隔离”、D 的“混合”都是对概念的歪曲,MIG 隔离的不只是显存,还包括计算和带宽。
Q2. 一块 A100 40GB 最多可切出多少个 MIG 实例?
- A.4 个
- B.7 个← 正确答案
- C.8 个
- D.16 个
答案:B。A100 的硬件架构将 GPU 划分为 7 个 GPC 计算簇,对应最多 7 个 MIG 实例。4 是常见 GPU 分区的数量错觉,8 和 16 来自于 V100 MPS 的时间分片数量,均不准确。
Q3. MIG 与时间切片(time-slicing)的本质区别是?
- A.MIG 只能跑推理任务
- B.MIG 是硬件级资源隔离,时间切片是时分复用← 正确答案
- C.MIG 不支持多租户
- D.时间切片不需要驱动支持
答案:B。MIG 通过硬件把计算、显存、带宽切成独立实例,邻居无法抢占;时间切片则是多个任务轮流使用同一套计算资源,负载高时互相拖慢。MIG 同样支持训练任务,天然适合多租户,故 A、C 错误;时间切片同样需要驱动,D 错误。
Q4. MIG 实例能够隔离下列哪些资源?(多选)
- A.显存容量← 正确答案
- B.计算核心(SM)← 正确答案
- C.显存带宽← 正确答案
- D.主机 CPU 核数
答案:ABC。MIG 隔离的是 GPU 内部的资源:显存容量、SM 计算核心、显存带宽和 L2 缓存。它不隔离主机侧 CPU 与内存,那些由容器或 Slurm 的 CPU 资源管理负责,因此 D 不属于 MIG 的能力范围。
Q5. 更换 MIG 配置(如从 1g.5gb 组合改为 2g.10gb)后,一般需要执行什么操作才能生效?
- A.立即热生效,无需任何操作
- B.在 GPU 空闲时执行 reset / 重启节点← 正确答案
- C.重新安装显卡驱动
- D.刷新主板 BIOS
答案:B。MIG 的切分由硬件资源切片决定,必须在 GPU 无运行上下文时执行 GPU reset 才能重建切片,不能热切换。无需重装驱动或刷新 BIOS,C、D 属于过度操作。
Q6. Slurm 中通常通过什么机制为作业分配 MIG 实例?
- A.GPU_FEATURES 环境变量
- B.GRES(通用资源)配合 --gres 参数← 正确答案
- C.--mem 内存参数
- D.CUDA_VISIBLE_DEVICES 掩码
答案:B。Slurm 通过 GRES(General Resource)机制管理 MIG,管理员在 gres.conf 中登记户型,用户用 --gres=gpu:1g.10gb 申请。GPU_FEATURES 只是特性描述,--mem 只管内存,CUDA_VISIBLE_DEVICES 是应用侧掩码,都不是调度分配机制。
Q7. K8s 中 MIG 设备由哪个组件上报为可分配资源?
- A.kubelet 原生代码
- B.NVIDIA Device Plugin← 正确答案
- C.Prometheus Exporter
- D.CSI 存储驱动
答案:B。NVIDIA Device Plugin 负责识别 GPU 上的 MIG 实例,并以 nvidia.com/mig-1g.10gb 等扩展资源名上报给 K8s。kubelet 本身不认识 MIG,Prometheus 只做监控,CSI 是存储接口,均与资源上报无关。
Q8. 关于"1g.10gb"这一 MIG 配置,下列说法正确的是?(多选)
- A.占用 1 个 GPC 计算片← 正确答案
- B.独占 10GB 显存← 正确答案
- C.获得约 1/7 的 L2 缓存与带宽← 正确答案
- D.可以在桌面级 RTX 4090 上使用
答案:ABC。1g 表示 1 个 GPC 计算片,10gb 表示独占 10GB 显存,同时按比例获得约 1/7 的 L2 和带宽。MIG 仅支持数据中心级 GPU(A100/H100 等),GeForce 系列不支持 MIG,故 D 错误。
Q9. MIG 配置切换后需要重启 GPU,其根本原因是什么?
- A.显存需要在物理层面重新布线
- B.GPU 必须在无计算上下文时重建硬件资源切片← 正确答案
- C.驱动文件需要重新编译加载
- D.必须拔插显卡重新枚举 PCIe
答案:B。MIG 切片是在 GPU 硬件层面划分的,切换户型必须清空所有计算上下文并执行 GPU reset,硬件才能重新分配 SM、显存、L2 等切片。驱动无需重编译,也不涉及物理布线或拔插显卡。
Q10. 下列哪些场景适合使用 MIG 多实例?(多选)
- A.多个小模型在线推理共享一张卡← 正确答案
- B.互不信任的租户间隔离部署← 正确答案
- C.单任务占满整卡的大规模分布式训练
- D.追求确定性延迟的混合负载← 正确答案
答案:ABD。MIG 适合小模型推理共卡、多租户隔离、混合负载等场景,硬件隔离保证性能确定。而单任务本就需要整卡算力和显存,再切分反而浪费,应使用 7g.40gb 整卡模式直接训练,故 C 不适合 MIG 切分。