2026年人工智能运维基础真题题库_第1页
2026年人工智能运维基础真题题库_第2页
2026年人工智能运维基础真题题库_第3页
2026年人工智能运维基础真题题库_第4页
2026年人工智能运维基础真题题库_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年人工智能运维基础真题题库1.单选题(每题2分,共20分)1.1在Kubernetes集群中,负责维护Pod副本数量与期望状态一致的核心组件是A.kube-proxy  B.kube-scheduler  C.kube-controller-manager  D.etcd答案:C解析:kube-controller-manager内部的ReplicationController确保实际副本数与期望副本数一致。1.2某训练任务使用混合精度(FP16+FP32)训练,LossScale初始值1024,在连续3个step出现溢出则自动减半,若第4个step仍溢出,则下一步LossScale为A.256  B.128  C.64  D.0答案:B解析:1024→512→256→128,连续三次减半。1.3在Prometheus的瞬时向量查询中,指标`gpu_utilization{gpu="0"}`返回0.78,其含义是A.GPU0在过去1min平均利用率78%  B.GPU0在采样瞬间利用率78%  C.GPU0在5min内峰值利用率78%  D.无法确定答案:B解析:瞬时向量反映采样时刻值。1.4使用Slurm提交作业时,若要求至少4块GPU且每节点不超过2块,应使用的参数组合为A.`--gres=gpu:4--gpu-per-node=2`  B.`--gres=gpu:2--nodes=2`  C.`--gres=gpu:4--tasks-per-node=2`  D.`--gres=gpu:4--gpus-per-node=2`答案:B解析:总GPU数4,每节点2,则至少2节点,Slurm无`--gpu-per-node`写法。1.5在KubeflowPipelinesDSL中,用于声明组件间数据依赖的关键字是A.`depends_on`  B.`after`  C.`inputs`  D.`container_op`答案:C解析:通过`inputs`将上游输出绑定到下游输入,形成依赖。1.6某模型checkpoint大小3.6GB,采用ZeRO-3优化,在8节点64卡环境下,理论上每张卡保存的参数量为A.56.25MB  B.112.5MB  C.225MB  D.450MB答案:A解析:ZeRO-3对参数、梯度、优化器状态均分片,3.6GB÷64=56.25MB。1.7在Linux系统使用`nvidia-smi-lgc1410`命令的作用是A.锁定GPU显存时钟1410MHz  B.锁定GPU图形时钟1410MHz  C.设置GPU功耗上限1410W  D.设置GPU温度上限1410°C答案:B解析:`-lgc`即lock-gpu-clocks。1.8当训练任务出现NCCL超时,以下最先排查的日志路径是A.`/var/log/kern.log`  B.`/var/log/nccl-debug.log`  C.`NC答案:C解析:若启动脚本导出`NCCL_DEBUG=INFO`并指定`NCCL_DEBUG_FILE`,则日志写入该变量路径。1.9在Grafana中,将Prometheus查询结果由每秒请求数转为每分钟请求数,应使用的PromQL函数为A.`rate()`  B.`irate()`  C.`increase()`  D.`rescale()`答案:C解析:`increase(http_requests_total[1m])`直接给出1min增量。1.10使用Docker19.x运行训练容器时,若需启用MIG(Multi-InstanceGPU)功能,宿主机驱动最低版本为A.450.80.02  B.460.32.03  C.470.42.01  D.510.39.01答案:C解析:MIG正式支持始于R470分支。2.多选题(每题3分,共15分;多选少选均不得分)2.1以下哪些做法可有效降低GPU训练功耗(多选)A.启用nvidia-smi的持久模式  B.使用混合精度训练  C.在数据加载阶段启用`pin_memory=False`  D.设置GPU功耗上限  E.使用梯度累积增大batch答案:B、D、E解析:混合精度减少计算量;功耗上限直接限制;梯度累积等价大batch提升吞吐,减少迭代次数。2.2关于Kubernetes的VerticalPodAutoscaler(VPA),下列描述正确的是A.可自动调整Pod的CPU、内存request/limit  B.依赖MetricsServer提供资源使用率  C.与HPA同时启用时可能产生冲突  D.需要admissionwebhook注入建议值  E.可直接修改运行中Pod的容器镜像答案:A、B、C、D解析:VPA不修改镜像。2.3以下属于分布式训练框架All-Reduce算法的有A.RingAll-Reduce  B.TreeAll-Reduce  C.ButterflyAll-Reduce  D.PS-Worker  E.ParameterServer答案:A、B、C解析:PS-Worker与ParameterServer同属参数服务器架构,非All-Reduce。2.4在Slurm集群中,若需限制用户u1每月GPU时长不超过10000分钟,可采用的策略包括A.启用SlurmAccounting并配置QoS最大Walltime  B.使用`gres/gpu`TRES与Association限制  C.通过`scontrol`实时杀掉超额作业  D.启用FairShare降低u1优先级  E.编写cron脚本每日统计`sacct`并邮件警告答案:A、B、E解析:C为事后补救;D仅影响调度优先级,不硬限制时长。2.5以下关于Docker镜像层缓存失效的场景,描述正确的是A.修改Dockerfile中`COPY`指令之前的内容不影响后续缓存  B.变更`RUNpipinstall-rrequirements.txt`的requirements.txt文件会导致缓存失效  C.使用`ARG`变量值变化会使后续指令缓存失效  D.使用`BuildKit`的`mount=type=cache`可让`aptupdate`保持缓存  E.镜像层缓存与构建上下文无关答案:B、C、D解析:A错误,任何指令变更都会使后续缓存失效;E错误,上下文变化会导致`COPY/ADD`校验和变化。3.判断题(每题1分,共10分;正确打“√”,错误打“×”)3.1使用`torch.cuda.empty_cache()`可立即将GPU显存归还给操作系统。答案:×解析:仅归还给CUDA运行时,未归还OS。3.2Kubernetes的hostNetwork模式下Pod无法使用Service的clusterIP访问自己。答案:√解析:hostNetworkPod跳过集群CNI,无法通过clusterIP转发。3.3在NCCL中,设置`NCCL_P2P_DISABLE=1`会强制禁用PCIe点对点传输,可能降低性能。答案:√解析:禁用后走内存复制,带宽下降。3.4当GPU温度达到95°C时,nvidia-smi显示GPU会自动降频至基础时钟以下。答案:√解析:热保护机制触发。3.5使用`kubectllogs-f`可以实时查看Deployment中所有副本的日志。答案:×解析:仅跟踪随机一个Pod。3.6在Docker构建镜像时,`--squash`参数可将多层合并为一层,从而减小镜像体积。答案:√解析:实验特性,合并后层数减少。3.7在Prometheus中,`histogram_quantile(0.99,rate(http_request_duration_seconds_bucket[5m]))`计算的是99%请求在5min内最大延迟。答案:×解析:计算的是99分位延迟,非最大值。3.8使用`srun`提交作业时添加`--unbuffered`可实时输出标准输出,避免缓冲。答案:√解析:等价于`python-u`。3.9在Kubeflow中,TFJob的`tfReplicaSpecs.Worker`字段为可选,若缺失则默认启动0个Worker。答案:√解析:官方CRD定义默认副本数为0。3.10使用`torchrun`启动分布式训练时,若节点数变化,只需修改`--nproc_per_node`即可,无需改动`--nnodes`。答案:×解析:还需同步`--nnodes`与`--node_rank`。4.填空题(每空2分,共20分)4.1在Kubernetes中,若某Pod的memoryrequest为4Gi,limit为8Gi,则该Pod在节点可分配内存不足______Gi时无法调度;在运行时若使用超过______Gi会被OOMKill。答案:4;8解析:调度看request;kill看limit。4.2使用`nvidia-smidmon-sp`可采集GPU的______指标与______指标。答案:功耗;温度4.3在PyTorch中,若需将模型保存为FP16格式,可使用`torch.save(model.half().state_dict(),'ckpt.pth')`,加载时应先调用`model.load_state_dict(torch.load('ckpt.pth',map_location='______'))`,再调用`model.______()`将参数转回FP32。答案:cuda;float4.4在Slurm中,查看作业历史资源消耗的指令为`sacct-j<jobid>-o______,_______,______`。答案:jobid,elapsed,gres/gpu4.5在Docker中,限制容器最多使用2.5个CPU的写法为`--cpus="______"`。答案:2.54.6在Prometheus的Alertmanager中,实现告警静默2h的配置字段为`______`。答案:silences4.7在Linux中,查看NUMA节点与GPU拓扑关系的指令为`______`。答案:nvidia-smitopo-m4.8在Kubernetes的HPA中,若指标名称为`gpu_utilization`,则需在`metrics`字段中指定`type:______`与`external.metrics.k8s.io`或`custom.metrics.k8s.io`。答案:External或Custom(任填一个即得分)5.简答题(每题8分,共24分)5.1描述一次GPU训练任务因PCIe拓扑不当导致NCCL性能下降的现象、定位步骤与优化方案。答案:现象:8卡训练,同样batch下相比基准集群吞吐下降40%,`nvidia-smitopo-m`显示GPU0-3挂在CPU0PCIe根,GPU4-7挂在CPU1,跨NUMA无NVLink,Ring顺序为0-1-2-3-4-5-6-7,导致跨NUMA流量大。定位:1)`nccl-tests`运行all_reduce_perf,带宽仅6GB/s;2)`perf`观察跨NUMA内存带宽饱和;3)`sacct`记录节点为dual-socketIntel6248。优化:1)调整`NCCL_TOPO_FILE`指定自定义XML,将Ring改为0-1-2-3-7-6-5-4,减少跨NUMA跳数;2)使用`NCCL_P2P_LEVEL=PIX`限制P2P仅在同一CPU内部;3)训练脚本绑定`numactl--cpunodebind=0--membind=0`处理前4卡,同理绑定NUMA1处理后4卡,采用数据并行+局部梯度累积;4)结果:带宽提升至10.5GB/s,吞吐恢复95%。5.2说明如何利用KubernetesCronJob实现每日凌晨02:00自动清理命名空间ai-dev中状态为Failed且创建时间超过7天的Pod,给出YAML关键片段。答案:```yamlapiVersion:batch/v1kind:CronJobmetadata:name:pod-gcnamespace:kube-systemspec:schedule:"02"schedule:"02"jobTemplate:spec:template:spec:serviceAccountName:pod-gc-sacontainers:name:kubectlimage:bitnami/kubectl:latestcommand:/bin/bashc|kubectlgetpod-nai-dev--field-selector=status.phase=Failed-ojson|\jq-r'.items[]|select(.metadata.creationTimestamp<(now7246060|strftime("%Y-%m-%dT%H:%M:%SZ")))|.'|\jq-r'.items[]|select(.metadata.creationTimestamp<(now7246060|strftime("%Y-%m-%dT%H:%M:%SZ")))|.'|\xargs-rkubectldeletepod-nai-devrestartPolicy:OnFailure```解析:利用`jq`过滤创建时间;`xargs-r`避免空参数;需提前绑定RBAC允许deletepod。5.3解释在Prometheus中为何`rate(http_requests_total[5m])`与`irate(http_requests_total[5m])`在稀疏样本场景下差异巨大,并给出选择策略。答案:`rate`对5min内所有样本线性回归,平滑但延迟高;`irate`仅取最后两个样本,灵敏但噪声大。稀疏样本(如30s采样一次)若出现单点抖动,`irate`会放大峰值,导致误报警。策略:1)对关键SLI告警使用`rate`避免抖动;2)对需快速检测毛刺的场景(如GPU利用率瞬间掉0)使用`irate`并配合`for:2m`抑制瞬时误报;3)在Grafana仪表盘同时展示两条曲线,标注差异。6.计算题(共11分)6.1某集群共8节点,每节点8张A10040GBGPU,采用ZeRO-3训练175B参数模型,参数以FP16存储,优化器使用Adamw(32bit主权重+动量+方差)。(1)计算纯参数占用的显存总量(单位GB);(3分)(2)计算Adamw状态占用的显存总量;(3分)(3)若采用CPUOffload优化器状态,求每张GPU仍需占用的最小显存(仅考虑参数+梯度,忽略激活)。(5分)答案:(1)参数175B×2Byte=350GB(2)Adamw状态:主权重350GB,动量350GB,方差350GB,共1050GB(3)ZeRO-3对参数与梯度分片:350GB÷64=5.47GB;梯度同样5.47GB;合计10.94GB解析:公式POG7.综合设计题(共20分)背景:某企业计划将单机PyTorch训练迁移至Kubernetes集群,要求:1)支持弹性扩缩节点,最大32GPU;2)训练中断可自动续训;3)支持灰度升级镜像不丢训练进度;4)需监控GPU利用率、显存、温度,并在温度>85°C时自动发送飞书告警。请给出整体架构图(文字描述即可)、关键技术选型、CRD设计、监控告警方案与灰度流程。答案:架构:训练框架:PyTorch+ElasticTrainer(torchrun封装)调度:Kubernetes1.29+KubeflowTrainingOperator(PyTorchJobCRDv1)存储:PVC挂载NFS保存checkpoint,ReadWriteMany,路径`/ckpt/global_step/`弹性:启用`elasticPolicy`字段,设置`minReplicas=2,maxReplicas=32`,`maxRestarts=10`续训:PyTorchJob的`restartPol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论