版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
(2025校招)人工智能工程師招聘筆試試題及答案一、單選題(每題2分,共20分)1.在PyTorch2.1中,若模型已編譯為`pile(...,mode="maxautotune")`,下列哪種操作最可能導(dǎo)致已緩存的CUDAGraph被強(qiáng)制重建?A.將模型某層權(quán)重`requires_grad`由True改為FalseB.把輸入張量`dtype`從`float16`改為`bfloat16`C.在`forward`里新增一行`print(x.shape)`D.把`batch_size`從32改為32(未改變)答案:B解析:CUDAGraph要求輸入內(nèi)存布局、類型、大小完全靜態(tài)。bfloat16與float16的內(nèi)存格式不同,會(huì)觸發(fā)重建;A僅影響梯度計(jì)算圖,不影響CUDAGraph;C的打印語(yǔ)句在編譯模式會(huì)被丟棄;D無(wú)變化。2.在VisionTransformer中,若將patchsize從16×16改為8×8,同時(shí)保持圖像分辨率不變,則序列長(zhǎng)度與計(jì)算復(fù)雜度分別如何變化?A.序列長(zhǎng)度×2,計(jì)算復(fù)雜度×2B.序列長(zhǎng)度×4,計(jì)算復(fù)雜度×8C.序列長(zhǎng)度×4,計(jì)算復(fù)雜度×16D.序列長(zhǎng)度×2,計(jì)算復(fù)雜度×4答案:C解析:序列長(zhǎng)度與patch數(shù)成正比,16→8面積縮小4倍,序列長(zhǎng)度×4;SelfAttention復(fù)雜度O(n2d),n×4則復(fù)雜度×16。3.使用混合精度訓(xùn)練時(shí),LossScaling的主要目的是:A.避免激活溢出B.避免梯度下溢C.加速通信D.減少顯存碎片答案:B解析:fp16下梯度容易下溢,LossScaling通過(guò)放大loss來(lái)放大梯度,反向后再縮放,保證有效位不丟失。4.在推薦系統(tǒng)Wide&Deep中,Wide側(cè)通常采用哪種優(yōu)化器?A.AdamB.FTRLC.LBFGSD.SGDwithMomentum答案:B解析:Wide側(cè)為稀疏線性模型,F(xiàn)TRL對(duì)稀疏特征有良好表現(xiàn)且可產(chǎn)生稀疏解。5.以下哪項(xiàng)不是StableDiffusion中UNet的交叉注意力層輸入?A.文本編碼器輸出的hiddenstatesB.時(shí)間步t的embeddingC.噪聲圖latentz_tD.VAE解碼器輸出的像素張量答案:D解析:交叉注意力只接收文本條件,像素張量尚未生成。6.在聯(lián)邦學(xué)習(xí)FedAvg中,客戶端本地epoch過(guò)多可能導(dǎo)致:A.客戶端漂移(clientdrift)B.通信壓縮率下降C.服務(wù)器學(xué)習(xí)率上升D.模型聚合權(quán)重減小答案:A解析:本地訓(xùn)練過(guò)擬合本地?cái)?shù)據(jù),導(dǎo)致權(quán)重遠(yuǎn)離全局最優(yōu),即客戶端漂移。7.使用DeepSpeedZeRO3時(shí),下列哪種參數(shù)狀態(tài)被分區(qū)到所有GPU?A.Optimizerstates+Gradients+ParametersB.僅OptimizerstatesC.Parameters+ActivationsD.僅Gradients答案:A解析:ZeRO3對(duì)優(yōu)化器狀態(tài)、梯度、參數(shù)均做分片,實(shí)現(xiàn)最大顯存節(jié)省。8.在CTR預(yù)估中,F(xiàn)M與FFM的主要區(qū)別是:A.是否使用隱向量B.隱向量是否依賴fieldC.是否做高階組合D.是否使用attention答案:B解析:FFM為每個(gè)field特征對(duì)維護(hù)隱向量,F(xiàn)M僅按特征。9.在強(qiáng)化學(xué)習(xí)PPO中,clip參數(shù)ε通常取0.2,若將其改為0.5,最可能的結(jié)果是:A.策略更新更保守B.策略更新更激進(jìn)C.價(jià)值函數(shù)方差減小D.熵正則失效答案:B解析:clip范圍變大,允許更大比率的概率更新,策略更激進(jìn)。10.在NVIDIAA100上使用TF32進(jìn)行矩陣乘,其有效位數(shù)為:A.10bitB.19bitC.23bitD.7bit答案:B解析:TF32采用1810格式,尾數(shù)10位,加上隱含1位,log10(2^11)≈3.3位十進(jìn)制,共約19位十進(jìn)制動(dòng)態(tài)范圍。二、多選題(每題3分,共15分,多選少選均不得分)11.關(guān)于Transformer位置編碼,下列說(shuō)法正確的是:A.相對(duì)位置編碼可直接外推到更長(zhǎng)序列B.RoPE通過(guò)旋轉(zhuǎn)矩陣注入位置信息C.絕對(duì)位置編碼無(wú)法區(qū)分“左”與“右”D.ALiBi在attentionscore中直接加偏置答案:A、B、D解析:C錯(cuò)誤,絕對(duì)編碼可區(qū)分左右,只是無(wú)法泛化長(zhǎng)度。12.以下哪些技術(shù)可有效降低LLM推理時(shí)延(batch=1)?A.KVCacheB.ContinuousBatchingC.speculativedecodingD.INT8WeightOnlyQuantization答案:A、C、D解析:ContinuousBatching主要提升吞吐,對(duì)單樣本延遲無(wú)幫助。13.在DiffusionModel采樣過(guò)程中,下列哪些操作可提升生成質(zhì)量?A.DDIM采樣增大ηB.ClassifierFreeGuidance增大guidancescaleC.使用DPMSolver多步調(diào)度D.提高采樣步數(shù)答案:B、C、D解析:DDIMη增大會(huì)降低質(zhì)量,η=0最確定。14.關(guān)于GradientCheckpointing,正確的是:A.前向時(shí)丟棄中間激活B.反向時(shí)重新計(jì)算前向C.顯存占用從O(n)降為O(1)D.訓(xùn)練時(shí)間增加約20%答案:A、B、D解析:顯存降為O(√n)而非O(1)。15.在推薦系統(tǒng)多任務(wù)學(xué)習(xí)中,MMoE與ESMM的共同點(diǎn)是:A.共享底層表示B.使用attention門(mén)控C.解決樣本選擇偏差D.支持多任務(wù)聯(lián)合訓(xùn)練答案:A、D解析:ESMM無(wú)attention門(mén)控,解決的是CVR樣本選擇偏差,MMoE不解決。三、填空題(每空2分,共20分)16.在PyTorch中,若模型已啟用`torch.cuda.amp.autocast`,要手動(dòng)將某張量`x`轉(zhuǎn)為float32,應(yīng)寫(xiě)代碼:________。答案:`withtorch.cuda.amp.autocast(enabled=False):x=x.float()`17.VisionTransformer中,若圖像224×224,patch14×14,則序列長(zhǎng)度=________,若隱藏維度768,則MultiHeadAttention(12頭)中每頭維度=________。答案:257(224/14)2+1=257;6418.在StableDiffusionv2中,文本編碼器由________模型替換CLIP,以支持多語(yǔ)言。答案:OpenCLIP19.在聯(lián)邦學(xué)習(xí)安全聚合中,采用________加密機(jī)制可防止服務(wù)器看到單個(gè)客戶端梯度。答案:SecureAggregation(或Paillier同態(tài))20.使用DeepSpeed訓(xùn)練時(shí),若開(kāi)啟ZeRO2,optimizerstate分片數(shù)為_(kāi)_______,參數(shù)分片數(shù)為_(kāi)_______。答案:world_size;121.在CTR預(yù)估中,DIN使用________機(jī)制捕捉用戶興趣與候選商品的局部相關(guān)性。答案:Attention22.在LLM推理中,KVCache顯存占用與序列長(zhǎng)度成________關(guān)系,與batchsize成________關(guān)系。答案:線性;線性23.在PPO中,優(yōu)勢(shì)函數(shù)A_t采用________估計(jì)可減少方差。答案:GAE(GeneralizedAdvantageEstimation)24.在DiffusionModel中,若噪聲調(diào)度為linearβ_t,則前向過(guò)程q(x_t|x_0)的方差σ_t2=________。答案:1α?_t,其中α?_t=∏_{i=1}^t(1β_i)25.在推薦系統(tǒng)冷啟動(dòng)中,使用________向量可將新商品快速納入召回池。答案:內(nèi)容/語(yǔ)義embedding(或zeroshotembedding)四、計(jì)算與推導(dǎo)題(共30分)26.(8分)給定一個(gè)注意力機(jī)制,查詢Q∈R^{n×d},鍵K∈R^{n×d},值V∈R^{n×d},掩碼M∈R^{n×n}為下三角矩陣(含對(duì)角0)。寫(xiě)出帶掩碼的softmaxattention輸出O的表達(dá)式,并推導(dǎo)當(dāng)d=64、n=1024時(shí),單精度浮點(diǎn)計(jì)算量(FLOPs)。答案:O=softmax(QK^T/√d+M)VFLOPs:QK^T:n×d×n×2=2n2d=2×10242×64=134,217,728Softmax:3n2(減max、exp、除)≈3×10242=3,145,728×V:n×n×d×2=2n2d=134,217,728總計(jì)≈272MFLOPs27.(10分)在StableDiffusion訓(xùn)練階段,VAE編碼器將512×512×3圖像映射至64×64×4的latent。若采用KL正則化,其損失為L(zhǎng)_{kl}=β·D_{KL}(q(z|x)||N(0,I))。(1)推導(dǎo)單張圖像的KL項(xiàng)解析式;(2)若β=1e6,batch=4,實(shí)測(cè)L_{kl}=0.32,求平均每個(gè)latent維度的KL值;(3)說(shuō)明β過(guò)大對(duì)生成效果的影響。答案:(1)設(shè)q(z|x)=N(μ,σ2),則D_{KL}=?∑(μ2+σ2?logσ2?1)(2)latent維度=64×64×4=16384,單樣本KL=0.32/4=0.08,每維0.08/16384≈4.9e6(3)β過(guò)大迫使latent逼近先驗(yàn),導(dǎo)致信息壓縮過(guò)度,生成圖像模糊、細(xì)節(jié)丟失。28.(12分)在推薦系統(tǒng)多任務(wù)學(xué)習(xí)場(chǎng)景,任務(wù)A(CTR)與任務(wù)B(CVR)共享底層embedding。設(shè)任務(wù)A正樣本率5%,任務(wù)B正樣本率1%。采用ESMM框架,其損失為:L=?∑w_i[y_i^CTRlogp_i^CTR+(1?y_i^CTR)log(1?p_i^CTR)]?∑w_i[y_i^CTCVRlogp_i^CTCVR+(1?y_i^CTCVR)log(1?p_i^CTCVR)]其中p^{CTCVR}=p^{CTR}·p^{CVR}。(1)解釋ESMM如何緩解CVR任務(wù)的樣本選擇偏差;(2)若batch=1024,其中點(diǎn)擊樣本50,轉(zhuǎn)化樣本10,求CTR、CVR、CTCVR的正樣本數(shù);(3)推導(dǎo)p^{CVR}的梯度?L/?p^{CVR}。答案:(1)ESMM用全曝光樣本訓(xùn)練CTR,用點(diǎn)擊樣本訓(xùn)練CTCVR,CVR僅作為中間變量,不直接使用點(diǎn)擊樣本訓(xùn)練,從而避免訓(xùn)練集與測(cè)試集分布不一致。(2)CTR正樣本50,CVR正樣本10,CTCVR正樣本10(因CTCVR=CTR∩CVR)。(3)令y=y^{CTCVR},p=p^{CTCVR}=p^{CTR}p^{CVR},則?L/?p^{CVR}=?L/?p·?p/?p^{CVR}=?(y/p?(1?y)/(1?p))·p^{CTR}五、編程題(共35分)29.(15分)用PyTorch實(shí)現(xiàn)一個(gè)帶RoPE的多頭自注意力,要求:支持任意偶數(shù)d_model,頭數(shù)h;RoPE采用復(fù)數(shù)旋轉(zhuǎn)形式,支持最大長(zhǎng)度2048;輸入張量x:[batch,seq,d_model],輸出同形;禁止調(diào)用現(xiàn)成庫(kù)(如`transformers`)。請(qǐng)寫(xiě)出完整代碼并附測(cè)試用例。答案:```pythonimporttorchimporttorch.nnasnnimportmathclassRoPEMultiHeadAttention(nn.Module):def__init__(self,d_model,h,max_len=2048):super().__init__()assertd_model%h==0self.d_model=d_modelself.h=hself.d_k=d_model//hself.scale=math.sqrt(self.d_k)self.w_q=nn.Linear(d_model,d_model)self.w_k=nn.Linear(d_model,d_model)self.w_v=nn.Linear(d_model,d_model)self.w_o=nn.Linear(d_model,d_model)預(yù)計(jì)算旋轉(zhuǎn)角頻率inv_freq=1.0/(10000(torch.arange(0,self.d_k,2).float()/self.d_k))t=torch.arange(max_len,dtype=torch.float32)freqs=torch.outer(t,inv_freq)[max_len,d_k//2]self.register_buffer("cos",freqs.cos())self.register_buffer("sin",freqs.sin())defrotate(self,x):x:[batch,h,seq,d_k]seq_len=x.size(2)cos=self.cos[:seq_len,:][seq,d_k//2]sin=self.sin[:seq_len,:]x1,x2=x[...,::2],x[...,1::2]x_rot=torch.empty_like(x)x_rot[...,::2]=x1cosx2sinx_rot[...,1::2]=x1sin+x2cosreturnx_rotdefforward(self,x,mask=None):batch,seq,_=x.size()Q=self.w_q(x).view(batch,seq,self.h,self.d_k).transpose(1,2)K=self.w_k(x).view(batch,seq,self.h,self.d_k).transpose(1,2)V=self.w_v(x).view(batch,seq,self.h,self.d_k).transpose(1,2)Q=self.rotate(Q)K=self.rotate(K)scores=torch.einsum("bhqd,bhkd>bhqk",Q,K)/self.scaleifmaskisnotNone:scores=scores.masked_fill(mask==0,1e9)attn=torch.softmax(scores,dim=1)out=torch.einsum("bhqk,bhkd>bhqd",attn,V)out=out.transpose(1,2).contiguous().view(batch,seq,self.d_model)returnself.w_o(out)測(cè)試torch.manual_seed(0)m=RoPEMultiHeadAttention(d_model=512,h=8)x=torch.randn(2,100,512)y=m(x)asserty.shape==x.shapeprint("RoPEattentionoutputshape:",y.shape)```30.(20分)實(shí)現(xiàn)一個(gè)簡(jiǎn)化版DeepSpeedZeRO1優(yōu)化器狀態(tài)分片,支持Adam。要求:僅分片optimizerstate(momentum+variance);支持任意world_size;提供`step()`接口,完成梯度聚合、更新、分片回傳;用純PyTorch,不依賴DeepSpeed庫(kù)。答案:```pythonimporttorchimporttorch.distributedasdistclassShardedAdam(torch.optim.Optimizer):def__init__(self,params,lr=1e3,betas=(0.9,0.999),eps=1e8,rank=0,world_size=1):defaults=dict(lr=lr,betas=betas,eps=eps)super().__init__(params,defaults)self.rank=rankself.world_size=world_size為每個(gè)參數(shù)分配狀態(tài)分片forgroupinself.param_groups:forpingroup['params']:state=self.state[p]state['step']=0sz=p.numel()chunk=(sz+world_size1)//world_sizestart=min(rankchunk,sz)end=min(start+chunk,sz)state['m']=torch.zeros(endstart,dtype=p.dtype,device=p.device)state['v']=torch.zeros_like(state['m'])@torch.no_grad()defstep(self,closure=None):forgroupinself.param_groups:beta1,beta2=group['betas']lr=group['lr']eps=group['eps']forpingroup['params']:ifp.gradisNone:continuegrad=p.grad.flatten()state=self.state[p]sz=p.numel()chunk=(sz+self.world_size1)//self.world_sizestart=min(self.rankchunk,sz)end=min(start+chunk,sz)local_grad=grad[start:end]聚合梯度到當(dāng)前rankdist.all_reduce(local_grad,op=dist.ReduceOp.SUM)local_grad/=self.world_size更新m,vm,v=state['m'],state['v']m.lerp_(local_grad,1beta1)v.lerp_(local_grad.square(),1beta2)state['step']+=1bias_correction1=1beta1state['step']bias_correction2=1beta2state['step']denom=(v.sqrt()/math.sqrt(bias_correction2)).add_(eps)step_size=lr/bias_correction1更新參數(shù)分片p_flat=p.flatten()p_flat[start:end]=step_sizem/denomdist.barrier()使用示例(需torchrun啟動(dòng))defdemo():dist.init_process_group("nccl")rank=dist.get_rank()world_size=dist.get_world_size()torch.cuda.set_device(rank)model=torch.nn.Linear(1024,1024,bias=False).cuda()opt=ShardedAdam(model.parameters(),lr=1e3,rank=rank,world_size=world_size)x=torch.randn(32,1024,device='cuda')y=model(x).sum()y.backward()opt.step()print(f"rank{rank}updated")if__name__=="__main__":demo()```六、系統(tǒng)設(shè)計(jì)題(共30分)31.(30分)設(shè)計(jì)一個(gè)支持千億參數(shù)、多模態(tài)(文本+圖像)、低延遲(<200ms)的在線推理系統(tǒng)。要求:描述整體架構(gòu),包括負(fù)載均衡、緩存、量化、連續(xù)批處理、動(dòng)態(tài)插值、多機(jī)并行;給出顯存與帶寬估算,假設(shè)單卡A10080GB,模型參數(shù)量100B,采用INT8權(quán)重+FP16激活;說(shuō)明如何支持圖文混排輸入,如“描述這張圖像并生成營(yíng)銷文案”;給出異常處理與自動(dòng)擴(kuò)縮容策略;繪制關(guān)鍵模塊時(shí)序圖(文字描述即可)。答案:架構(gòu):1.接入層:APIGateway按模型路由,支持HTTP/gRPC,限流熔斷。2.推理層:連續(xù)批處理調(diào)度器(vLLM+PagedAttention)動(dòng)態(tài)合并請(qǐng)求;多機(jī)Pipeline并行:層間切分,8機(jī)×8卡,共64A100;量化:權(quán)重INT8+Perchannel,激活FP16,KVCacheFP16;緩存:Redis存熱點(diǎn)prompt前
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- SSM軟件框架開(kāi)發(fā)技術(shù)任務(wù)式教程 習(xí)題及答案 第3章練習(xí)題
- 學(xué)校具備高三開(kāi)學(xué)申請(qǐng)書(shū)
- 企業(yè)崗位人員調(diào)整申請(qǐng)書(shū)
- 航空運(yùn)輸服務(wù)操作流程與規(guī)范(標(biāo)準(zhǔn)版)
- 2026年地下水開(kāi)采的環(huán)境與社會(huì)效應(yīng)
- 短篇求職申請(qǐng)書(shū)英文模板
- 2025年建筑工程項(xiàng)目施工安全規(guī)范手冊(cè)
- 入編個(gè)人申請(qǐng)書(shū)
- 嘉興質(zhì)量體系認(rèn)證申請(qǐng)書(shū)
- 企業(yè)信息化基礎(chǔ)設(shè)施建設(shè)指南
- 2026年七臺(tái)河職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試備考試題帶答案解析
- 內(nèi)蒙古包頭市昆都侖區(qū)2025-2026學(xué)年七年級(jí)上學(xué)期期末考試道德與法治試卷(含答案)
- 2026年湖南交通職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題附答案詳解
- 2026特區(qū)建工集團(tuán)校園招聘(公共基礎(chǔ)知識(shí))測(cè)試題附答案
- 齒輪泵的課件
- 2025至2030中國(guó)消防車行業(yè)運(yùn)行規(guī)模及前景競(jìng)爭(zhēng)趨勢(shì)預(yù)判報(bào)告
- GB/T 18344-2025汽車維護(hù)、檢測(cè)、診斷技術(shù)規(guī)范
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強(qiáng)液壓型規(guī)范
- 春よ、來(lái)い(春天來(lái)了)高木綾子演奏長(zhǎng)笛曲譜鋼琴伴奏
- ARJ21機(jī)型理論知識(shí)考試題庫(kù)(匯總版)
- 2023年婁底市建設(shè)系統(tǒng)事業(yè)單位招聘考試筆試模擬試題及答案解析
評(píng)論
0/150
提交評(píng)論