版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年人工智能工程师职业技能考核试卷及答案一、单项选择题(每题2分,共30分)1.在PyTorch2.1中,若模型已编译为pile(...,mode="maxautotune"),下列哪段代码能正确捕获并打印首次图编译耗时?A.torch.cuda.synchronize();t0=time();model(x);print(time()t0)B.withfile()asp:model(x);print(p.key_averages().table())C.torch._dynamo.reset();t0=time();model(x);print(time()t0)D.piler.reset();t0=time();model(x);print(time()t0)答案:C解析:torch._dynamo.reset()会清空缓存,迫使pile重新做图级优化,time()差值即为首次编译耗时;其余选项要么未清空缓存,要么打印的是GPUkernel耗时而非编译耗时。2.使用LoRA微调LLaMA27B时,若rank=16、alpha=32、dropout=0.05,下列关于参数量计算正确的是:A.新增参数量≈2×7×10^9×16/4096B.新增参数量≈2×32×4096×16C.新增参数量≈2×32×4096×110×16D.新增参数量≈2×32×4096×32×16答案:C解析:LLaMA27B共110层,每层2个线性权重(q_proj、v_proj),每层新增2×alpha×hidden_size×rank,hidden_size=4096,故总量≈2×32×4096×110×16。3.在StableDiffusionXL的UNet中引入QKNorm后,训练时FP16出现NaN,下列最可能根因是:A.QKNorm的gamma初始化过大B.FP16下softmax数值下溢C.QKNorm未对K做L2归一化D.attention_score的scale因子未随norm调整答案:D解析:QKNorm将Q、K先L2归一化,scale因子√d_k不再适用,若仍用原始scale,会导致attentionscore方差过大,FP16溢出。4.联邦学习场景下,采用FedProx且μ=0.01,若客户端本地epoch=10,batch=32,则下列关于近端项描述正确的是:A.近端项梯度在本地第1个batch后即消失B.近端项会随epoch线性增大C.近端项在本地更新中始终为常数D.近端项会使本地更新偏向初始点答案:D解析:FedProx的目标函数增加μ/2·‖ww_t‖²,其梯度μ(ww_t)在本地更新中始终存在,抑制客户端漂移。5.在Ray2.8集群中,@ray.remote(num_gpus=0.5)的actor被调度到8卡节点,节点已运行4个各占用1卡的actor,此时新actor状态为:A.RUNNINGB.PENDING_NODE_ASSIGNMENTC.PENDING_RESOURCE_AVAILABILITYD.DEAD答案:C解析:0.5卡×4=2卡,已用4卡,剩余4卡足够,但Ray按整数GPU切片调度,0.5卡需等待整卡释放,故状态为PENDING_RESOURCE_AVAILABILITY。6.使用DeepSpeedZeRO3训练11B模型,hidden_size=6144,num_layers=52,若采用activationcheckpointing,则每张A10080GB卡最大batch_per_gpu约为:A.2B.4C.8D.16答案:B解析:显存占用≈参数12字节+梯度4字节+优化器状态8字节+激活(6144×seq×4×52)/checkpointing折减,经实测seq=2048时batch=4为上限。7.在DiffusionTransformer中,将timeembedding改为傅里叶特征+MLP后,训练100k步发现FID反弹,最可能原因是:A.傅里叶频率采样不足导致欠拟合B.MLP层数过深引发过拟合C.未对傅里叶特征做正交归一化D.学习率未随架构调整答案:A解析:傅里叶特征若频率数n=64,远低于原Transformer的512维正弦编码,导致time信息丢失,生成质量下降。8.使用TRTLLM部署GPTJ6B,batch=16、input=512、output=128,在FP16下实测吞吐仅达理论峰值的35%,瓶颈最可能是:A.GEMM未使用TF32B.KVcache未分页C.attention未融合D.未开启GQA答案:C解析:TRTLLM默认已开TF32与分页KVcache,GPTJ为MHA,无GQA,实测attentionkernel耗时占比>60%,未融合导致吞吐低。9.在Mojo0.8中,将Python列表转为Tensor,下列写法能零拷贝的是:A.Tensor[float](py_list)B.Tensor[float](py_list.data)C.tensor_from_dlpack(py_list)D.无法零拷贝答案:D解析:Mojo当前未实现Pythonbufferprotocol的零拷贝接口,需先复制到连续内存。10.使用OpenAITriton写flashattention时,下列关于BLOCK_SIZE选择错误的是:A.BLOCK_M与BLOCK_N必须相等B.BLOCK_K需为smem限制的2的幂C.BLOCK_M越大,并行度越低D.BLOCK_M=128在A100上通常最优答案:A解析:BLOCK_M与BLOCK_N可不相等,常见配置128×64以平衡寄存器与并行度。11.在HuggingFacePEFT中,若使用AdaLoRA,budget=1000,则下列说法正确的是:A.总参数量恒为1000B.rank会随训练步数动态增减C.需手动设置sensitivity阈值D.与LoRA不可混合使用答案:B解析:AdaLoRA根据重要性分数动态剪枝/恢复rank,budget为最大参数量,rank实时变化。12.使用JAX0.4+pjit,将11B模型分片到64卡,若每卡参数量≈180M,则最优分片策略为:A.nn.Linear按out_features分片B.nn.Linear按in_features分片C.按head维度分片D.按layer维度分片答案:A解析:out_features分片使GEMM输出切片连续,通信量最小,适合大模型。13.在RLHF阶段,使用PPOmax算法,若KL阈值=0.1,reward模型输出均值=2.5,则下列关于earlystopping正确的是:A.当KL>0.1立即停止B.当KL>0.1且reward<2.5停止C.当KL>0.1且reward增长<1%停止D.需额外设置KL惩罚系数答案:D解析:PPOmax仅约束KL上限,仍需β·KL_penalty梯度,停止条件由reward与KL共同决定。14.使用ONNXRuntime1.17在ARMv9上运行int8量化模型,发现latency高于FP16,最可能原因是:A.未启用dotprod指令B.量化节点未融合C.cache未对齐128BD.权重为channelwise但激活为tensorwise答案:A解析:ARMv9需dotprod+int8matmulkernel,ORT默认未开,回退到reference实现。15.在DeepspeedMoE1.6中,ep_size=8、top_k=2、num_experts=64,则每张卡平均专家数为:A.8B.16C.64D.128答案:B解析:ep_size=8表示8路专家并行,64专家分8组,每组8专家,top_k=2激活2专家,故每张卡平均2×8=16。二、多项选择题(每题3分,共15分)16.关于Transformer架构中RoPE外推,下列做法能提升>8k上下文泛化的是:A.线性缩放scale=8k/训练长度B.位置插值PI+微调10BtokenC.NTKRoPEα=8D.随机位置编码答案:A、B、C解析:A线性缩放简单有效;BPI+微调可恢复长上下文;CNTKRoPE高频分量外推;D随机编码破坏位置连续性。17.使用FlashAttention2时,下列参数会触发splitK降低寄存器压力的是:A.headdim=128B.seqlen=8192C.batch=32D.dropout=0.1答案:A、B解析:headdim>64或seqlen>4096时,FlashAttn自动splitK;batch与dropout无关。18.在PyTorchFSDP中,使用SHARD_GRAD_OP时,下列状态会保存在显存的是:A.参数fp16B.梯度fp16C.优化器状态fp32D.参数fp32答案:A、B解析:SHARD_GRAD_OP仅分片梯度与优化器状态,参数fp16保留,fp32主副本在CPU。19.使用KaggleA10040GB训练,下列混合精度策略可防止OOM的是:A.bf16+gradientcheckpointingB.fp16+DeepSpeedZeRO3C.fp16+activationcheckpointing+cpu_offloadD.int8量化+QLoRA答案:B、C、D解析:Abf16显存与fp32相同,无法节省;BZeRO3分片;Ccpu_offload;DQLoRA4bit量化。20.在扩散模型采样阶段,使用DPMSolver++(2M)时,下列设置可保持ODE阶数不变的是:A.步数=20B.阶数=2C.使用uniformlogSNR序列D.启用自适应tol=1e5答案:B、C解析:2M为二阶单步方法,阶数固定;uniformlogSNR保持精度;自适应tol会动态调整阶数。三、填空题(每空2分,共20分)21.在LLaMA270B中,若采用GQA,查询头数=64,键值头数=8,则attention层参数量减少________倍。答案:8解析:原MHA需64+64+64=192投影,GQA为64+8+8=80,减少192/80=2.4,但题目问“键值头”减少倍数,64/8=8。22.使用Triton实现矩阵乘C=A@B,BLOCK_SIZE_M=128,BLOCK_SIZE_N=256,BLOCK_SIZE_K=32,则每个block所需共享内存________字节(A、B均为fp16)。答案:(128×32+256×32)×2=24576解析:A切片128×32×2B=8192,B切片256×32×2B=16384,合计24576。23.在JAXpjit中,partition_spec=PS("data","model")表示第0维按________并行,第1维按________并行。答案:数据;模型解析:PS字符串即mesh轴名。24.使用TRLX进行RLHF,若reward_model输出均值漂移+0.5,则PPO的advantage需做________归一化。答案:whitening(或标准化)解析:advantage=(Aμ)/σ可抵消漂移。25.在ONNXRuntime中,设置session_options.graph_optimization_level=________可开启最激进优化。答案:ORT_ENABLE_ALL解析:枚举值99即ENABLE_ALL。26.使用bitsandbytesint8量化Linear,若输入x∈R^(b×4096),权重W∈R^(4096×4096),则量化后显存减少________倍。答案:4解析:fp16→int8减半,absmaxscale额外占4B每4096元素,综合≈4倍。27.在Diffusers库中,调度器DDIM的eta参数=________时等价于DDPM。答案:1.0解析:eta=1引入随机噪声,与DDPM一致。28.使用FlashAttention时,smem每线程块最大________KB(A100)。答案:163解析:A100共享内存163KB。29.在MegatronLM中,pipeline并行度=4,micro_batch=2,则一次前向需________次send/recv。答案:6解析:4阶段→3边界,每边界双向send+recv,2micro_batch,共3×2=6。30.使用Optuna进行HPO,若pruner=MedianPruner(n_startup_trials=5),则第________次trial后开始剪枝。答案:6解析:n_startup=5表示前5次不剪,第6次起比较。四、代码阅读与改错(共20分)31.阅读下列Tritonflashattn前向kernel片段,指出3处错误并给出修正(每处2分)。```python@triton.jitdef_fwd_kernel(Q,K,V,sm_scale,Out,stride_qm,stride_qk,stride_kn,stride_vn,stride_ok,stride_om,BLOCK_M:tl.constexpr,BLOCK_N:tl.constexpr,HEAD_DIM:tl.constexpr):pid_m=gram_id(0)pid_bh=gram_id(1)offs_m=pid_mBLOCK_M+tl.arange(0,BLOCK_M)offs_n=tl.arange(0,BLOCK_N)q=tl.load(Q+offs_m[:,None]stride_qm+offs_n[None,:]stride_qk)错误1k=tl.load(K+offs_n[:,None]stride_kn+tl.arange(0,HEAD_DIM)[None,:])v=tl.load(V+offs_n[:,None]stride_vn+tl.arange(0,HEAD_DIM)[None,:])s=tl.dot(q,k)sm_scalep=tl.softmax(s,axis=1)错误2o=tl.dot(p,v)tl.store(Out+offs_m[:,None]stride_om+tl.arange(0,HEAD_DIM)[None,:],o)错误3```修正:错误1:q索引应使用offs_k=tl.arange(0,HEAD_DIM),而非offs_n。错误2:softmax应在行方向axis=0,因s形状为(BLOCK_M,BLOCK_N)。错误3:store索引需与q一致,Out偏移应为offs_m×stride_om+offs_k[None,:]。32.下列PyTorchFSDP初始化代码导致NCCL超时,请指出问题并修正(4分)。```pythonimporttorch,torch.distributedasdistfromtorch.distributed.fsdpimportFullyShardedDataParallelasFSDPtorch.cuda.set_device(dist.get_rank())model=MyModel().cuda()model=FSDP(model,cpu_offload=True)```问题:cpu_offload=True时,模型已.cuda(),数据往返GPUCPU导致同步死锁。修正:先不.cuda(),直接FSDP(model,cpu_offload=True),由FSDP内部搬运。五、综合设计题(共35分)33.背景:需将70B中文对话模型压缩至单卡A10080GB部署,要求首token延迟<200ms,吞吐>20req/s,上下文4k。(1)给出量化与稀疏联合方案,说明量化粒度、稀疏度、压缩比;(8分)(2)设计KVcache压缩算法,给出触发条件、回收策略、额外延迟;(8分)(3)写出TRTLLM的config.py关键字段(含plugin、schedule
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司安全合规性保证承诺书3篇
- 2026年及未来5年中国自卸式垃圾转运车市场运行态势及行业发展前景预测报告
- 夏日海滨美景描写(8篇)
- 春天的校园描写校园四季变化(6篇)
- 2026年及未来5年中国二磺酸行业发展前景预测及投资方向研究报告
- 2026年及未来5年中国地脚螺栓行业市场运行态势与投资战略咨询报告
- 2026年及未来5年中国智慧金融行业运行态势及未来发展趋势预测报告
- 2026年及未来5年中国无油压缩机市场运行态势及行业发展前景预测报告
- 物资采购合同履约保证承诺书5篇
- 数字平台安全管控承诺函4篇范文
- 高标准农田监理质量及安全管理措施
- 2025年医院设备科或医学工程部新聘职工考试试题(带答案)
- 采购审批流程与权限明细手册
- 安全生产管理机构设置及人员配备
- 初中英语(完整版)连词and-or-but的用法练习题及答案
- 汽车基础知识培训资料书课件
- 十米宽暗涵清淤施工方案
- 污水管道土方量-计算表-绝对-
- 化学选修四原电池课件
- 中华民族的三次融合
- 2026届湖南省长沙市一中化学高一第一学期期末检测试题含解析
评论
0/150
提交评论