版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2025年人工智能工程師職業(yè)技能考核試卷及答案一、單項選擇題(每題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重新做圖級優(yōu)化,time()差值即為首次編譯耗時;其余選項要么未清空緩存,要么打印的是GPUkernel耗時而非編譯耗時。2.使用LoRA微調LLaMA27B時,若rank=16、alpha=32、dropout=0.05,下列關于參數(shù)量計算正確的是:A.新增參數(shù)量≈2×7×10^9×16/4096B.新增參數(shù)量≈2×32×4096×16C.新增參數(shù)量≈2×32×4096×110×16D.新增參數(shù)量≈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出現(xiàn)NaN,下列最可能根因是:A.QKNorm的gamma初始化過大B.FP16下softmax數(shù)值下溢C.QKNorm未對K做L2歸一化D.attention_score的scale因子未隨norm調整答案:D解析:QKNorm將Q、K先L2歸一化,scale因子√d_k不再適用,若仍用原始scale,會導致attentionscore方差過大,F(xiàn)P16溢出。4.聯(lián)邦學習場景下,采用FedProx且μ=0.01,若客戶端本地epoch=10,batch=32,則下列關于近端項描述正確的是:A.近端項梯度在本地第1個batch后即消失B.近端項會隨epoch線性增大C.近端項在本地更新中始終為常數(shù)D.近端項會使本地更新偏向初始點答案:D解析:FedProx的目標函數(shù)增加μ/2·‖ww_t‖2,其梯度μ(ww_t)在本地更新中始終存在,抑制客戶端漂移。5.在Ray2.8集群中,@ray.remote(num_gpus=0.5)的actor被調度到8卡節(jié)點,節(jié)點已運行4個各占用1卡的actor,此時新actor狀態(tài)為:A.RUNNINGB.PENDING_NODE_ASSIGNMENTC.PENDING_RESOURCE_AVAILABILITYD.DEAD答案:C解析:0.5卡×4=2卡,已用4卡,剩余4卡足夠,但Ray按整數(shù)GPU切片調度,0.5卡需等待整卡釋放,故狀態(tài)為PENDING_RESOURCE_AVAILABILITY。6.使用DeepSpeedZeRO3訓練11B模型,hidden_size=6144,num_layers=52,若采用activationcheckpointing,則每張A10080GB卡最大batch_per_gpu約為:A.2B.4C.8D.16答案:B解析:顯存占用≈參數(shù)12字節(jié)+梯度4字節(jié)+優(yōu)化器狀態(tài)8字節(jié)+激活(6144×seq×4×52)/checkpointing折減,經(jīng)實測seq=2048時batch=4為上限。7.在DiffusionTransformer中,將timeembedding改為傅里葉特征+MLP后,訓練100k步發(fā)現(xiàn)FID反彈,最可能原因是:A.傅里葉頻率采樣不足導致欠擬合B.MLP層數(shù)過深引發(fā)過擬合C.未對傅里葉特征做正交歸一化D.學習率未隨架構調整答案:A解析:傅里葉特征若頻率數(shù)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當前未實現(xiàn)Pythonbufferprotocol的零拷貝接口,需先復制到連續(xù)內存。10.使用OpenAITriton寫flashattention時,下列關于BLOCK_SIZE選擇錯誤的是:A.BLOCK_M與BLOCK_N必須相等B.BLOCK_K需為smem限制的2的冪C.BLOCK_M越大,并行度越低D.BLOCK_M=128在A100上通常最優(yōu)答案:A解析:BLOCK_M與BLOCK_N可不相等,常見配置128×64以平衡寄存器與并行度。11.在HuggingFacePEFT中,若使用AdaLoRA,budget=1000,則下列說法正確的是:A.總參數(shù)量恒為1000B.rank會隨訓練步數(shù)動態(tài)增減C.需手動設置sensitivity閾值D.與LoRA不可混合使用答案:B解析:AdaLoRA根據(jù)重要性分數(shù)動態(tài)剪枝/恢復rank,budget為最大參數(shù)量,rank實時變化。12.使用JAX0.4+pjit,將11B模型分片到64卡,若每卡參數(shù)量≈180M,則最優(yōu)分片策略為:A.nn.Linear按out_features分片B.nn.Linear按in_features分片C.按head維度分片D.按layer維度分片答案:A解析:out_features分片使GEMM輸出切片連續(xù),通信量最小,適合大模型。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懲罰系數(shù)答案:D解析:PPOmax僅約束KL上限,仍需β·KL_penalty梯度,停止條件由reward與KL共同決定。14.使用ONNXRuntime1.17在ARMv9上運行int8量化模型,發(fā)現(xiàn)latency高于FP16,最可能原因是:A.未啟用dotprod指令B.量化節(jié)點未融合C.cache未對齊128BD.權重為channelwise但激活為tensorwise答案:A解析:ARMv9需dotprod+int8matmulkernel,ORT默認未開,回退到reference實現(xiàn)。15.在DeepspeedMoE1.6中,ep_size=8、top_k=2、num_experts=64,則每張卡平均專家數(shù)為: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隨機編碼破壞位置連續(xù)性。17.使用FlashAttention2時,下列參數(shù)會觸發(fā)splitK降低寄存器壓力的是:A.headdim=128B.seqlen=8192C.batch=32D.dropout=0.1答案:A、B解析:headdim>64或seqlen>4096時,F(xiàn)lashAttn自動splitK;batch與dropout無關。18.在PyTorchFSDP中,使用SHARD_GRAD_OP時,下列狀態(tài)會保存在顯存的是:A.參數(shù)fp16B.梯度fp16C.優(yōu)化器狀態(tài)fp32D.參數(shù)fp32答案:A、B解析:SHARD_GRAD_OP僅分片梯度與優(yōu)化器狀態(tài),參數(shù)fp16保留,fp32主副本在CPU。19.使用KaggleA10040GB訓練,下列混合精度策略可防止OOM的是:A.bf16+gradientcheckpointingB.fp16+DeepSpeedZeRO3C.fp16+activationcheckpointing+cpu_offloadD.int8量化+QLoRA答案:B、C、D解析:Abf16顯存與fp32相同,無法節(jié)??;BZeRO3分片;Ccpu_offload;DQLoRA4bit量化。20.在擴散模型采樣階段,使用DPMSolver++(2M)時,下列設置可保持ODE階數(shù)不變的是:A.步數(shù)=20B.階數(shù)=2C.使用uniformlogSNR序列D.啟用自適應tol=1e5答案:B、C解析:2M為二階單步方法,階數(shù)固定;uniformlogSNR保持精度;自適應tol會動態(tài)調整階數(shù)。三、填空題(每空2分,共20分)21.在LLaMA270B中,若采用GQA,查詢頭數(shù)=64,鍵值頭數(shù)=8,則attention層參數(shù)量減少________倍。答案:8解析:原MHA需64+64+64=192投影,GQA為64+8+8=80,減少192/80=2.4,但題目問“鍵值頭”減少倍數(shù),64/8=8。22.使用Triton實現(xiàn)矩陣乘C=A@B,BLOCK_SIZE_M=128,BLOCK_SIZE_N=256,BLOCK_SIZE_K=32,則每個block所需共享內存________字節(jié)(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維按________并行。答案:數(shù)據(jù);模型解析:PS字符串即mesh軸名。24.使用TRLX進行RLHF,若reward_model輸出均值漂移+0.5,則PPO的advantage需做________歸一化。答案:whitening(或標準化)解析:advantage=(Aμ)/σ可抵消漂移。25.在ONNXRuntime中,設置session_options.graph_optimization_level=________可開啟最激進優(yōu)化。答案: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參數(shù)=________時等價于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(),數(shù)據(jù)往返GPUCPU導致同步死鎖。修正:先不.cuda(),直接FSDP(model,cpu_offload=True),由FSDP內部搬運。五、綜合設計題(共35分)33.背景:需將70B中文對話模型壓縮至單卡A10080GB部署,要求首token延遲<200ms,吞吐>20req/s,上下文4k。(1)給出量化與稀疏聯(lián)合方案,說明量化粒度、稀疏度、壓縮比;(8分)(2)設計KVcache壓縮算法,給出觸發(fā)條件、回收策略、額外延遲;(8分)(3)寫出TRTLLM的config.py關鍵字段(含plugin、schedule
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民事案件撤訴申請書作文
- 江蘇課題立項申請書收費
- 聘用中醫(yī)大夫申請書
- 改造小區(qū)公共廁所申請書
- 試用期內勞動仲裁申請書
- 大學社團申請書未來規(guī)劃
- 2025年建筑工程施工技術指導手冊
- 英語的申請書模板
- 名師 研修共同體申請書
- 創(chuàng)世紀劇院申請書
- 地理信息安全在線培訓考試系統(tǒng)題庫及答案
- 高標準農田監(jiān)理質量及安全管理措施
- 2025年醫(yī)院設備科或醫(yī)學工程部新聘職工考試試題(帶答案)
- 采購審批流程與權限明細手冊
- 安全生產(chǎn)管理機構設置及人員配備
- 初中英語(完整版)連詞and-or-but的用法練習題及答案
- 汽車基礎知識培訓資料書課件
- 十米寬暗涵清淤施工方案
- 污水管道土方量-計算表-絕對-
- 化學選修四原電池課件
- 中華民族的三次融合
評論
0/150
提交評論