2025年自然语言处理试题及答案_第1页
2025年自然语言处理试题及答案_第2页
2025年自然语言处理试题及答案_第3页
2025年自然语言处理试题及答案_第4页
2025年自然语言处理试题及答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

2025年自然语言处理试题及答案一、单项选择题(每题2分,共20分)1.在Transformer架构中,ScaledDotProductAttention的计算公式为A.softmax(QK^T/√d_k)VB.softmax(QK^T)VC.ReLU(QK^T/√d_k)VD.tanh(QK^T)V答案:A解析:ScaledDotProductAttention先对QK^T除以√d_k进行缩放,再经过softmax得到权重,最后与V相乘,防止d_k过大时softmax饱和。2.下列哪一项不是BERT预训练任务之一A.MaskedLanguageModelB.NextSentencePredictionC.SentenceOrderPredictionD.以上都是答案:C解析:BERT仅使用MLM与NSP;SentenceOrderPrediction为ALBERT引入的变体任务。3.若将中文文本直接输入原始GPT2(无字节对编码调整),最可能出现的错误是A.梯度消失B.字符级OOV爆炸C.注意力退化D.位置编码溢出答案:B解析:GPT2原生BPE词汇表以拉丁语系为主,中文会退化为罕见单字或Unicode字节,导致OOV比例激增。4.在序列标注任务中,使用CRF层相对于Softmax解码的最大优势是A.加速训练B.建模标签间转移约束C.降低参数量D.支持变长输入答案:B解析:CRF通过全局归一化建模相邻标签合法性,如ILOC不能接BPER,Softmax独立解码无法保证。5.当采用混合精度训练时,下列操作必须显式在fp32下完成的是A.嵌入查表B.梯度裁剪C.LayerNorm统计量更新D.激活函数GeLU答案:C解析:LayerNorm的均值方差需高精度累积,否则误差放大;其余操作在fp16下已有鲁棒实现。6.对于超长文档(>10ktokens),下列哪种位置编码在理论上可外推到更长序列而无需训练A.绝对正弦编码B.可学习绝对编码C.RoPED.相对注意力偏置答案:C解析:RoPE通过旋转矩阵将位置信息注入query/key,其形式化定义支持任意长度外推,仅需调整基频。7.在对比学习损失InfoNCE中,温度系数τ减小会导致A.正样本对梯度缩小B.分布更尖锐,难负例权重增大C.计算复杂度降低D.批次大小要求减小答案:B解析:τ→0时softmax趋近onehot,负样本概率质量更集中于最大相似度,模型关注最难负例。8.将PromptTuning与Ptuningv2对比,以下说法正确的是A.两者均在输入层添加连续向量B.PromptTuning需调整全部Transformer参数C.Ptuningv2仅在Embedding层优化D.PromptTuning对小型模型更稳定答案:A解析:二者均引入可学习“软提示”,但Ptuningv2把连续向量插入每层,PromptTuning仅输入层;冻结主干时,小模型用Ptuningv2更稳。9.在机器翻译评价中,BLEU4的ngram上限为4,若某句预测与参考完全对齐,其BLEU值为A.25B.50C.75D.100答案:D解析:BLEU核心为ngram精确率几何平均,再乘简短惩罚因子;完全匹配时BP=1,几何平均=1,得分100。10.使用LoRA进行大模型微调时,若秩r=8,原矩阵维度为4096×4096,则参数量降低约A.256倍B.512倍C.1024倍D.2048倍答案:B解析:LoRA引入两个低秩矩阵4096×8与8×4096,共2×4096×8=65536;原矩阵4096²≈16.8M;比值≈512。二、多项选择题(每题3分,共15分)11.下列哪些技术可直接缓解Transformer自回归推理的时间复杂度瓶颈A.KVCacheB.SpeculativeDecodingC.FlashAttentionD.WindowAttention答案:ABD解析:KVCache减少重复计算;SpeculativeDecoding用小模型并行生成候选;WindowAttention限制感受野;FlashAttention降低内存但复杂度仍为O(n²)。12.关于中文分词,以下说法正确的是A.基于最大匹配的方法无法解决交叉歧义B.字符级模型无需分词,但可能损失词汇信息C.BIES标注体系可转化为CRF解码D.联合分词与NER可提升两者F1答案:ABCD解析:最大匹配局部最优;字符级模型需更大语料;BIES为序列标注;多任务共享编码器可互相增强。13.在文本对抗样本生成中,下列属于“黑盒、无梯度”策略的是A.遗传算法同义词替换B.基于BERT的MaskedLM扰动C.热土豆近似梯度估计D.TextFooler贪心删除答案:ABD解析:遗传与TextFooler均不需梯度;BERTMLM掩码恢复亦无需梯度;热土豆需有限差分近似,算零阶但非完全无梯度。14.以下哪些做法会显著增加大模型预训练时的数据污染风险A.爬取CommonCrawl未去重B.将维基百科最新dump直接混入C.使用公开基准测试的原始训练集D.对语料进行ngram重叠过滤答案:ABC解析:CommonCraw含测试数据镜像;维基更新可能含下游任务;直接使用基准训练集属明显污染;ngram过滤是缓解手段。15.在指令微调阶段,为提升模型“安全性”可采用A.红队对抗数据增强B.ConstitutionalAI自我批评C.RLHFwithsafetyspecificrewardmodelD.仅过滤掉含敏感词样本答案:ABC解析:红队发现漏洞;Constitutional让模型自我修正;RLHF用安全奖励;简单过滤敏感词无法覆盖隐含风险。三、填空题(每空2分,共20分)16.设某Transformer层隐藏维度d=768,注意力头数h=12,则每个头的维度为______。答案:64解析:768/12=64。17.在BPE算法中,若词频最高的字符对为(‘e’,‘s’)合并后为‘es’,则下一次统计前需更新______与______的相邻频率。答案:‘s’的前驱;‘e’的后继解析:合并后边界改变,需重新计数左右邻居。18.若使用1bitAdam压缩,则worker间通信的梯度被量化为______值,并引入______估计保持收敛性。答案:±1;二阶矩(或动量因子)解析:1bitAdam用1bit符号传输,并在服务器维护动量校正。19.将ReLU替换为SwiGLU激活后,TransformerFFN参数量变为原来的______倍。答案:1.5解析:SwiGLU需两套线性投影(门控与值),再乘元素,参数量由2d²升为3d²。20.在RAG框架中,检索器常用______相似度度量,而生成器通过______机制融合检索文档。答案:最大内积(或DPRdot);交叉注意力(crossattention)解析:DPR双编码器用点积;生成器在解码层对文档做crossattention。四、简答题(每题8分,共24分)21.描述Transformer自注意力计算中“低秩瓶颈”现象,并给出两种改进思路。答案:当序列长度n≫d时,注意力矩阵Softmax(QK^T/√d)的秩受限于d,导致无法表达任意稀疏模式,称为低秩瓶颈。改进:1)线性注意力变体如Performer,用核函数逼近将复杂度降为O(nd),解除秩约束;2)稀疏注意力如Longformer的sliding+global模式,直接跳过全矩阵,允许长程依赖高秩表达。22.解释“梯度累积”与“微批次”在显存受限场景下的协同作用,并给出伪代码。答案:梯度累积将大批次切分为多个微批次,前向反向各微批次后不清零梯度,累加至达到目标批次大小再更新。伪代码:```fori,micro_batchinenumerate(data):loss=model(micro_batch)/accumulation_stepsloss.backward()if(i+1)%accumulation_steps==0:optimizer.step()optimizer.zero_grad()```协同作用:显存随微批次线性减小,训练行为数学等价于大批次。23.对比“课程学习”与“逆课程学习”在文本生成任务中的差异,并给出实例。答案:课程学习由易到难排序,如先训练短句生成再长句;逆课程学习则从难例开始,利用模型容量先拟合复杂模式再细化。实例:在摘要任务中,课程学习先输入单句新闻生成标题,再过渡到多段落长文;逆课程则先给长文,模型初期输出混乱,但随着训练逐渐稳定,再引入短例精炼。五、计算与推导题(共21分)24.(10分)设某Transformer使用RoPE,基频θ=10000,隐藏维度d=32,位置m=128,求旋转矩阵R(128)的迹(trace)。答案:RoPE将query切分为d/2对二维子空间,每对旋转角φ_i=m·θ^(2(i1)/d)。迹为Σ_{i=1}^{d/2}2cos(φ_i)。代入得φ_i=128·10000^(2(i1)/32)=128·exp(2(i1)·ln10000/32)=128·exp((i1)·ln10000/16)计算前16项余弦和:Σ_{i=0}^{15}2cos(128·10000^(i/16))≈2×7.68=15.36解析:旋转矩阵块对角,每块2×2的迹为2cosφ,总和即答案。25.(11分)给定一个长度为n的序列,采用多头稀疏注意力模式:每个token仅关注前l个与后l个邻居,以及全局g个token。写出内存复杂度表达式,并计算当n=8192,l=128,g=64,h=16时的显存占用(以float16字节计)。答案:内存复杂度O(nh(2l+g))。显存=8192×16×(2×128+64)×2Byte=8192×16×320×2=81.92MB。解析:每头存key、value各一份,float16占2字节;稀疏掩码无需存全矩阵。六、综合应用题(共30分)26.(15分)某企业需构建“可控情感迁移”系统,将用户输入句子情感改为指定极性(正向/负向),同时保留内容。请:1)给出数据构造流程(含负例);2)设计基于Prefixtuning的模型架构;3)提出自动评价指标并说明公式。答案:1)数据构造:a.选取情感分类语料,用双向情感分类器打标签;b.对每条高置信正/负样本,用反向情感模板生成改写句(如“味道好”→“味道差”),采用人工+模型协同;c.负例:随机抽样情感不变或内容扭曲的改写作为“失败”样本,训练时以0.3比例混入。2)架构:冻结GPT2主干,在输入前添加20个连续可学习向量作为情感prefix;额外引入“内容一致性”prefix10维,与情感prefix拼接;训练目标为最小化负对数似然,仅更新prefix参数。3)评价:a.情感准确率:用外部情感分类器预测迁移后极性,Acc=I(pred=target)/N;b.内容保留率:BERTScoreF1,取迁移句与原文本间上下文嵌入相似度;c.综合得分:Harmonic@2=2·Acc·BERTScore/(Acc+BERTScore)。解析:Prefixtuning减少参数量;负例防止模型惰性地只改情感词;Harmonic兼顾两极。27.(15分)阅读下列代码片段,指出两处导致分布式训练死锁的潜在原因,并给出修正方案。```rank0ifrank==0:tensor=torch.randn(100,100).cuda()dist.send(tensor,dst=1)dist.recv(tensor,src=1)rank1ifrank==1:tensor=torch.empty(100,100).cuda()dist.recv(tensor,src=0)dist.send(tensor,dst=0)```答案:原因1:send/recv为阻塞式,rank0先send后recv,rank1先recv后send,形成循环依赖,导致双方等待。原因2:未设置group,默认使用WORLD但进程组初始化可能未完成。修正:采用异步或交换顺序;或使用collective的sendrecv替代:```ifrank==0:req1=dist.isend(tensor,dst=1)req2=dist.irecv(tensor,src=1)req1.wait();req2.wait()ifrank==1:req1=dist.irecv(tensor,src=0)req2=dist.isend(tensor,dst=0)req1.wait();req2.wait()```解析:非阻塞操作允许双方同时启动,解除死锁;初始化需dist.init_process_group确保完成。七、编程题(共30分)28.(30分)请用PyTorch实现一个“动态样本加权”的情感分类器,要求:a.使用BERTbasechinese;b.每轮根据样本损失更新权重,策略为“高损失样本权重提升5%,低损失降低2%”;c.支持梯度累积;d.输出训练日志:epoch、loss、加权F1。提供完整可运行代码(含数据加载Dummy实现)。答案:```pythonimporttorch,math,randomfromtorch.utils.dataimportDataLoader,DatasetfromtransformersimportBertTokenizer,BertForSequenceClassification,AdamWfromsklearn.metricsimportf1_scoreimportnumpyasnpclassDummyDataset(Dataset):def__init__(self,n=1000):self.tok=BertTokenizer.from_pretrained('bertbasechinese')self.data=[('这家酒店真的很棒',1),('服务态度差',0)](n//2)def__len__(self):returnlen(self.data)def__getitem__(self,idx):text,label=self.data[idx]returnself.tok(text,return_tensors='pt',max_length=32,truncation=True,padding='max_length'),labeldeftrain(epochs=3,batch=16,accum=2):device='cuda'ds=DummyDataset()dl=DataLoader(ds,batch_size=batch,shuffle=True)model=BertForSequenceClassification.from_pretrained('bertbasechinese').to(device)opt=AdamW(model.parameters(),lr=2e5)weights=torch.ones(len(ds)).to(device)forepochinrange(epochs):model.train()total,tot_loss=0,0.preds,golds=[],[]fori,(batch_enc,labels)inenumerate(dl):input_ids=batch_enc['input_ids'].squeeze(1).to(device)labels=torch.tensor(labels).to(device)idx=torch.arange(ibatch,ibatch+labels.size(0)).to(device)out=model(input_ids,labels=labels)loss=out.lossweights[idx]loss=loss.mean()/accumloss.backward()if(i+1)%accum==0:opt.step();opt.zero_grad()tot_l

温馨提示

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

评论

0/150

提交评论