(2025校招)人工智能工程師筆試題及答案_第1頁
(2025校招)人工智能工程師筆試題及答案_第2頁
(2025校招)人工智能工程師筆試題及答案_第3頁
(2025校招)人工智能工程師筆試題及答案_第4頁
(2025校招)人工智能工程師筆試題及答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

(2025校招)人工智能工程師筆試題及答案一、單項(xiàng)選擇題(每題2分,共20分)1.在PyTorch2.1中,若模型已開啟pile(),下列哪種操作會(huì)觸發(fā)圖回退(graphbreak)?A.使用torch.tensor([1,2,3])創(chuàng)建新張量B.在forward里調(diào)用list.append()C.使用torch.nn.functional.relu()D.使用torch.cuda.stream()上下文管理器答案:B解析:pile基于TorchDynamo捕獲Python字節(jié)碼,遇到副作用明顯的Python原生容器操作(如list.append)時(shí),為保證正確性會(huì)主動(dòng)圖回退。其余選項(xiàng)均為已支持的圖內(nèi)操作。2.某ViT模型采用16×16patch,輸入224×224×3,patchembedding后加1個(gè)clstoken,則Transformerencoder第一層的QKV矩陣參數(shù)量(不含偏置)為:A.1.97×10?B.5.90×10?C.1.18×10?D.2.36×10?答案:C解析:patch數(shù)=(224/16)2=196,加clstoken共197;embeddingdim通常768。QKV各需768×768,共3×768×768=1.77×10?,但題目問“矩陣參數(shù)量”,即權(quán)重矩陣元素個(gè)數(shù),故為3×768×768=1.18×10?。3.在DeepSpeedZeRO3中,下列哪項(xiàng)內(nèi)存占用不會(huì)被自動(dòng)分區(qū)到所有GPU?A.optimizer.statesB.model.parametersC.gradientbuffersD.activationcheckpoints答案:D解析:ZeRO3對參數(shù)、梯度、優(yōu)化器狀態(tài)均做分區(qū);activationcheckpoints屬于前向重計(jì)算策略,仍由計(jì)算GPU按需保存,不參與分區(qū)。4.使用FlashAttention2時(shí),若head_dim=64,batch=8,heads=12,seq=2048,GPUSRAM為96KB,則理論上最大可并行處理的attentionhead數(shù)為:A.1B.2C.3D.4答案:C解析:FlashAttention2以SRAMtile為單位,每tile需存儲(chǔ)Q、K、V、O共4個(gè)head_dim×block_size的緩沖。設(shè)block_size=64,則每tile占4×64×64×4B=64KB;96KB/64KB≈1.5,向上取整為2tile,可同時(shí)處理2head;但GPU需留1tile做pingpong,故最大并行head=3。5.在RLHF中,若使用PPOclip,old_policy與new_policy的KL散度上限設(shè)為0.1,則clip系數(shù)ε通常?。篈.0.05B.0.1C.0.2D.0.5答案:C解析:經(jīng)驗(yàn)上ε=0.2可在探索與穩(wěn)定性間平衡,且與KL上限0.1無直接數(shù)值沖突,實(shí)際運(yùn)行中通過earlystopping控制KL。6.某推薦系統(tǒng)采用雙塔結(jié)構(gòu),負(fù)樣本為batch內(nèi)隨機(jī)采樣,batch=1024,embeddingdim=128,則InfoNCE估計(jì)的梯度方差與下列哪項(xiàng)成正比?A.1/128B.1/1024C.128/1024D.1024/128答案:B解析:梯度方差與負(fù)樣本量成反比,batch內(nèi)負(fù)樣本數(shù)為1023,故∝1/1024。7.在DiffusionModel中,若采用DDIM采樣50步,η=0.0,則生成樣本的隨機(jī)性來源于:A.初始潛變量z_TB.每一步的ε_(tái)θ預(yù)測C.隨機(jī)采樣路徑D.無隨機(jī)性,生成確定答案:A解析:DDIMη=0時(shí)為確定性采樣,僅z_T~N(0,I)引入隨機(jī)性。8.在Mojo語言中,與Python交互時(shí),下列哪段代碼可將Pythonlist[float]零拷貝轉(zhuǎn)為MojoTensor?A.tensor.from_python(list)B.tensor.from_buffer(list.__array_interface__['data'])C.tensor.from_numpy(np.array(list))D.無法零拷貝,必須復(fù)制答案:B解析:Mojo支持通過__array_interface__獲取PyObject底層指針,實(shí)現(xiàn)零拷貝;from_numpy會(huì)觸發(fā)一次拷貝。9.在NVIDIAH100上,若使用TransformerEngine,F(xiàn)P8GEMM的累加器位寬為:A.FP8B.FP16C.FP32D.INT32答案:C解析:TE采用FP8輸入,乘積累加使用FP32,保證精度。10.在聯(lián)邦學(xué)習(xí)FedAvg中,若客戶端本地epoch=5,lr=0.01,服務(wù)器聚合后學(xué)習(xí)率衰減0.9,則等價(jià)于中心式SGD的effectivelr為:A.0.01B.0.009C.0.05D.0.045答案:D解析:本地epoch=5相當(dāng)于5步SGD,lr=0.01;服務(wù)器聚合無梯度平均,僅參數(shù)平均,等效lr=0.01×5×0.9=0.045。二、多項(xiàng)選擇題(每題3分,共15分,多選少選均不得分)11.下列哪些技術(shù)可降低LLM推理首token時(shí)延(TTFT)?A.ContinuousbatchingB.KVcachequantizationtoINT4C.SpeculativedecodingwithdraftmodelD.Prefixcaching答案:A、B、D解析:A提升吞吐間接降低排隊(duì)時(shí)延;B減少內(nèi)存帶寬;D復(fù)用前綴KV;C主要降低每token時(shí)延,對首token無直接收益。12.在StableDiffusionXL中,與SD1.5相比新增的設(shè)計(jì)有:A.雙textencoder(CLIP+OpenCLIP)B.UNetbackbone擴(kuò)大至3.5B參數(shù)C.引入refiner模型做高分辨率噪聲修正D.使用vparameterization答案:A、C、D解析:SDXLUNet為2.3B,B錯(cuò)誤。13.關(guān)于LoRA微調(diào),下列說法正確的是:A.秩r越大,可恢復(fù)全參微調(diào)性能上界越高B.初始化A~N(0,σ2),B=0,可保持初始輸出不變C.合并權(quán)重時(shí),ΔW=BA,可離線融合到原權(quán)重D.在FP16下,LoRA可降低顯存占用約(2r/d)倍答案:A、B、C解析:D應(yīng)為(2r/(d+r)),近似2r/d僅當(dāng)r?d。14.在自動(dòng)駕駛感知中,BEVFormer采用:A.空間交叉注意力將圖像特征查詢到BEV網(wǎng)格B.時(shí)間自注意力融合歷史BEV特征C.使用LSS的顯式深度估計(jì)D.采用可學(xué)習(xí)位置編碼編碼BEV坐標(biāo)答案:A、B、D解析:BEVFormer無需顯式深度,C錯(cuò)誤。15.在推薦系統(tǒng)多任務(wù)學(xué)習(xí)中,MMoE與SharedBottom相比:A.參數(shù)量隨專家數(shù)線性增加B.可緩解任務(wù)間負(fù)遷移C.門控網(wǎng)絡(luò)采用SoftmaxD.所有任務(wù)共享同一專家集合答案:A、B、C解析:D錯(cuò)誤,每個(gè)任務(wù)有獨(dú)立門控,專家集合共享。三、填空題(每空2分,共20分)16.在PyTorch中,若模型已開啟torch.backends.cudnn.benchmark=True,則卷積算法選擇策略為________,此時(shí)輸入尺寸頻繁變化會(huì)導(dǎo)致________。答案:窮舉搜索所有實(shí)現(xiàn)并計(jì)時(shí)選擇最快者;性能下降。17.使用FlashAttention時(shí),attention計(jì)算復(fù)雜度從O(n2d)降至________,內(nèi)存復(fù)雜度降至________。答案:O(nd2);O(nd)。18.在RLHF中,rewardmodel通常采用________損失函數(shù),其數(shù)學(xué)表達(dá)式為________。答案:pairwiseranking;logσ(r_θ(x,y_w)r_θ(x,y_l))。19.若LLaMA7B采用GQA(groupqueryattention),num_heads=32,num_kv_heads=8,則每組query共享________個(gè)kvhead,內(nèi)存占用下降比例為________。答案:4;18/32=75%。20.在DiffusionTransformer(DiT)中,adaLNZero將________向量線性映射為________組縮放與偏移參數(shù),用于調(diào)制LayerNorm。答案:timestep;6(γ1,β1,α1,γ2,β2,α2)。四、算法與編程題(共30分)21.(10分)實(shí)現(xiàn)帶旋轉(zhuǎn)位置編碼(RoPE)的多頭注意力前向,要求:輸入:Q,K,V∈R^(b×h×n×d),freqs_cos,freqs_sin∈R^(n×d)預(yù)計(jì)算。輸出:out∈R^(b×h×n×d)。語言:Python+PyTorch,禁止調(diào)用現(xiàn)成RoPEAPI。答案:```pythondefrope(x,cos,sin):x:(...,n,d)x1,x2=x[...,::2],x[...,1::2]偶奇拆分cos1,cos2=cos[...,::2],cos[...,1::2]sin1,sin2=sin[...,::2],sin[...,1::2]y1=x1cos1x2sin1y2=x2cos2+x1sin2y=torch.empty_like(x)y[...,::2]=y1y[...,1::2]=y2returnydefmultihead_rope_attention(Q,K,V,freqs_cos,freqs_sin):b,h,n,d=Q.shapeQ=rope(Q.transpose(1,2),freqs_cos,freqs_sin).transpose(1,2)K=rope(K.transpose(1,2),freqs_cos,freqs_sin).transpose(1,2)scores=torch.matmul(Q,K.transpose(2,1))/(d0.5)attn=torch.softmax(scores,dim=1)out=torch.matmul(attn,V)returnout```解析:RoPE通過復(fù)數(shù)旋轉(zhuǎn)實(shí)現(xiàn)相對位置編碼,需對偶奇維度交替應(yīng)用旋轉(zhuǎn)矩陣;后接標(biāo)準(zhǔn)attention。22.(10分)給定二維張量X∈R^(n×d),實(shí)現(xiàn)GPU友好的Topk稀疏化算子:要求:返回掩碼M∈{0,1}^(n×d),每行僅k個(gè)1,對應(yīng)絕對值最大元素。時(shí)間復(fù)雜度O(ndlogk),空間O(nd)。提供CUDA核函數(shù)偽代碼(Python可調(diào)用)。答案:```pythonimporttorchdeftopk_mask(x,k):_,topi=torch.topk(x.abs(),k,dim=1,sorted=False)mask=torch.zeros_like(x,dtype=torch.bool)mask.scatter_(dim=1,index=topi,value=True)returnmaskCUDA偽核(每行一個(gè)warp)__global__voidtopk_mask_kernel(constfloatx,boolmask,intn,intd,intk){introw=blockIdx.x;if(row>=n)return;extern__shared__floatsmem[];floatvals=smem;//d個(gè)元素intidxs=(int)&vals[d];for(inti=threadIdx.x;i<d;i+=blockDim.x){vals[i]=fabs(x[rowd+i]);idxs[i]=i;}__syncthreads();//使用warp級bitonicselection,選出topkbitonic_select_topk(vals,idxs,d,k);__syncthreads();for(inti=threadIdx.x;i<k;i+=blockDim.x){intcol=idxs[i];mask[rowd+col]=true;}}```解析:利用warp級并行bitonicselection,將每行復(fù)雜度降至O(dlogk),避免全局排序。23.(10分)實(shí)現(xiàn)GradientCheckpointing的反向傳播內(nèi)存計(jì)算:給定L層Transformer,每層參數(shù)量P,激活占用A,batch=b,seq=n,d=hidden。求:1.無checkpoint峰值內(nèi)存;2.使用checkpoint峰值內(nèi)存;3.若采用CPUoffloading存儲(chǔ)checkpoint,PCIe帶寬為BGB/s,每層重計(jì)算耗時(shí)ts,求帶寬最小值B_min使重計(jì)算不成為瓶頸。答案:1.峰值內(nèi)存=參數(shù)+激活+梯度+優(yōu)化器狀態(tài)=P+LA+P+2P=3P+LA2.峰值內(nèi)存=參數(shù)+2A+P+2P=3P+2A(僅保存每層輸入,反向時(shí)重計(jì)算)3.每層需傳輸A數(shù)據(jù),重計(jì)算耗時(shí)t,則B_min×t≥A?B_min≥A/t解析:CPUoffloading將激活換出,反向時(shí)流式回傳,帶寬需滿足A/t,否則PCIe成為瓶頸。五、系統(tǒng)設(shè)計(jì)題(共15分)24.設(shè)計(jì)一個(gè)支持千億參數(shù)LLM的推理服務(wù)系統(tǒng),要求:單卡80GB,模型采用INT4量化+GQA+FlashAttention2;支持動(dòng)態(tài)batch+streaming輸出;P99首token時(shí)延<500ms,吞吐>2000tokens/s;給出:1)系統(tǒng)架構(gòu)圖;2)關(guān)鍵路徑時(shí)延估算;3)容量規(guī)劃公式;4)故障恢復(fù)策略。答案:1)架構(gòu):┌──────────┐┌──────────┐┌──────────┐│Gateway│────?│Scheduler│────?│Inference││(Nginx)││(Continuous)││Pod×N│└──────────┘└──────────┘└──────────┘▲▲│││▼MetricsKVCacheSharedNVMe(Prometheus)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論