单选题

1.关于模型泛化能⼒的理论保证,以下哪项描述最准确?

A.训练误差越⼩泛化能⼒⼀定越强

B.模型复杂度与泛化能⼒呈正⽐关系

C.充⾜的数据量与合适的模型复杂度有助于提升泛化能⼒

D.测试集精度完全代表模型在实际应⽤中的表现

答案:C

解析:泛化能⼒取决于多个因素的平衡。训练误差⼩可能导致过拟合(A错误);模型复杂度过⾼反⽽会降低泛化能⼒(B错误);测试集只是对泛化能⼒的⼀个估计,不能完全代表实际表现(D错误)。只有C选项准确地指出了数据量和模型复杂度之间的平衡关系。

2.在以下场景中,哪项最适合应⽤提⽰学习⽅法?

A.需要从零开始训练⼀个全新的深度学习模型

B.希望利⽤现有预训练模型完成特定⽂本分类任务

C.处理⼤规模结构化数据的统计分析

D.进⾏复杂的数学公式推导计算

答案:B

解析:提⽰学习(PromptLearning)的核⼼是利⽤预训练模型的知识,通过设计合适的提⽰来引导模型完成特定任务,⽆需⼤量标注数据和重新训练。因此最适合B选项的场景。A选项需要从零训练,C和D选项不是提⽰学习的典型应⽤场景。

3.在筛选⾼质量指令数据时,以下哪项标准最能有效识别低质量数据?

A.指令⻓度超过20个字符

B.回答内容与指令语义不匹配

C.使⽤英⽂书写的指令

D.指令中包含数字符号

答案:B

解析:⾼质量指令数据的核⼼要求是指令与回答之间的语义⼀致性和相关性。指令⻓度、语⾔类型、是否包含数字符号都不是判断数据质量的关键标准。只有B选项指出的"回答内容与指令语义不匹配"才是真正的低质量数据特征。

4.关于大语言模型的代表性模型,以下哪项描述最准确?

A.GPT、Llama等基于Transformer的预训练模型通常被视为⼤语⾔模型

B.Transformer架构模型参数量必然很⼩,不可能成为⼤语⾔模型

C.卷积神经⽹络是⼤语⾔模型的唯⼀形式

D.线性回归模型由于结构简单,是⼤语⾔模型的典型代表

答案:A

解析:⼤语⾔模型主要基于Transformer架构,GPT、Llama系列是其代表性模型。Transformer架构恰恰能够⽀持⼤规模参数(B错误);卷积神经⽹络主要⽤于图像处理(C错误);线性回归是传统统计模型,不属于⼤语⾔模型(D错误)。

5.关于模型评测中的公平性问题,以下哪项描述最准确?

A.公平性仅涉及算法设计的数学公平

B.评测数据集的选择不会影响公平性评估

C.公平性要求模型在不同群体间表现⼀致

D.公平性问题只存在于监督学习模型中

答案:C

解析:模型公平性的核⼼是确保模型对不同群体(如不同性别、种族、年龄等)提供⼀致的服务质量,避免歧视。公平性不仅是数学问题,还涉及社会伦理(A错误);数据集选择会显著影响公平性(B错误);所有类型的机器学习模型都可能存在公平性问题(D错误)。

6.关于基于Transformer的三种主流模型架构(Encoder-only、Decoder-only、Encoder‒Decoder),以下描述正确的是:

A.Encoder‒Decoder架构仅适⽤于机器翻译任务

B.Decoder-only架构通过因果掩码使每个位置只能关注⾃⾝及之前的内容

C.Encoder-only架构不包含⾃注意⼒机制

D.三种架构的参数量在相同任务下始终⼀致

答案:B

解析:Decoder-only架构(如GPT)使⽤因果掩码确保⾃回归⽣成,每个位置只能看到之前的信息,这是其核⼼特征。Encoder-Decoder架构可⽤于多种序列到序列任务(A错误);Encoder-only架构(如BERT)的核⼼就是⾃注意⼒机制(C错误);不同架构的参数量差异很⼤(D错误)。

7.关于批量大小(BatchSize)对模型训练的影响,以下说法错误的是:

A.较⼤的批量⼤⼩可以提⾼训练的并⾏效率

B.较⼩的批量⼤⼩通常使梯度估计更加准确

C.批量⼤⼩的选择需要在训练速度和模型性能之间权衡

D.过⼤的批量⼤⼩可能导致模型泛化能⼒下降

答案:B

解析:从优化理论的⻆度,单次mini-batch梯度估计的期望等于真实梯度,与batchsize⽆关。较⼤的批量⼤⼩能提供⽅差更⼩的梯度估计(因为平均了更多样本的梯度,统计上更稳定),⽽较⼩的批量⼤⼩梯度噪声更⼤(⽅差⼤)。⼩batch的噪声有时反⽽有助于逃出局部最优、提升泛化能⼒。因此B选项中"更加准确"这⼀说法不严谨,是错误的。其他选项都正确:⼤批量提⾼并⾏效率(A)、需要权衡(C)、过⼤批量可能影响泛化(D)。

8.指令微调(InstructionTuning)的核⼼⽬标是:

A.从零开始训练⼀个全新的语⾔模型

B.提⾼模型理解和遵循⼈类指令的能⼒

C.减少模型的参数量以降低推理成本

D.消除预训练数据中的所有偏⻅

答案:B

解析:指令微调是在预训练模型基础上进⾏的,通过使⽤指令-响应数据对进⾏训练,使模型更好地理解和执⾏⼈类指令。它不是从零训练(A错误)、不直接减少参数量(C错误)、也⽆法完全消除偏⻅(D错误)。

9.在大语言模型的训练中,监督学习(SupervisedLearning)的主要特征是什么?

A.使⽤未标记数据进⾏训练

B.使⽤标记数据进⾏训练

C.不需要训练数据

D.仅使⽤测试数据进⾏学习

答案:B

解析:监督学习的核⼼特征是使⽤带有标签的数据进⾏训练,即每个输⼊都有对应的正确输出(标记)。未标记数据⽤于⽆监督学习(A错误);任何机器学习都需要训练数据(C错误);测试数据⽤于评估⽽⾮训练(D错误)。

10.关于DeepSeek-R1的特点,以下哪项描述最准确?

A.DeepSeek-R1专注于强化推理能⼒,结合强化学习与思维链⽣成策略

B.DeepSeek-R1是2010年发布的图像分类模型,仅⽀持离线部署

C.DeepSeek-R1完全不开源,⽆法进⾏任何微调或评估

D.DeepSeek-R1仅⽤于传统统计语⾔建模,未引⼊⾃注意⼒机制

答案:A

解析:DeepSeek-R1是⼀个现代⼤语⾔模型,其特点是通过强化学习增强推理能⼒,并采⽤思维链(Chain-of-Thought)策略来提升复杂问题的解决能⼒。其他选项的时间、定位、开源性和技术架构描述都不正确。

11.以下哪⼀项是精确率(Precision)的计算公式?注:TP(TruePositive,真阳性)、FP(FalsePositive,假阳性)、TN(TrueNegative,真阴性)、FN(FalseNegative,假阴性);

A.TP/(TP+FP)

B.TP/(TP+FN)

C.(TP+TN)/(TP+TN+FP+FN)

D.(TP+FP)/(TP+TN+FP+FN)

答案:A

解析:精确率(Precision)衡量的是"预测为正例中真正是正例的⽐例",即在所有预测为正的样本中,实际为正的⽐例。公式为TP/(TP+FP)。B选项是召回率(Recall),C选项是准确率(Accuracy)。

12.在预训练技术中,下⼀个词元预测任务(NextTokenPrediction)主要基于以下哪种核⼼思想?

A.根据前⽂词元序列预测下⼀个可能出现的词元

B.随机遮盖输⼊序列中的部分词元并进⾏重构

C.同时预测输⼊序列中所有位置的词元

D.将输⼊序列转换为图像特征进⾏识别

答案:A

解析:下⼀个词元预测是⾃回归语⾔模型(如GPT)的核⼼训练任务,模型根据已有的前⽂序列预测下⼀个词元。B选项描述的是掩码语⾔模型(如BERT)的训练⽅式。C和D选项都不是标准的语⾔模型训练⽅式。

13.关于自注意力机制,以下哪项描述是正确的?

A.只能处理序列中的单个元素

B.查询(Query)、键(Key)、值(Value)通常来⾃同⼀输⼊序列

C.不需要计算注意⼒权重

D.只能⽤于图像处理任务

答案:B

解析:⾃注意⼒机制的"⾃"体现在Query、Key、Value都来⾃同⼀输⼊序列,通过计算序列内部元素之间的关系来获取上下⽂信息。⾃注意⼒可以处理整个序列(A错误)、必须计算注意⼒权重(C错误)、主要⽤于NLP任务(D错误)。

14.关于大语言模型的优势与局限性,以下描述正确的是?

A.⼤语⾔模型在创造性任务上表现优异,但可能存在事实性错误

B.⼤语⾔模型完全不会产⽣偏⻅内容

C.⼤语⾔模型在所有任务上都优于⼈类专家

D.⼤语⾔模型不需要⼤量训练数据即可达到最佳效果

答案:A

解析:⼤语⾔模型在⽂本⽣成、创造性写作等⽅⾯表现出⾊,但可能产⽣"幻觉"(hallucination),即⽣成看似合理但实际错误的内容。模型会继承训练数据中的偏⻅(B错误)、在某些专业领域不如⼈类专家(C错误)、需要海量数据训练(D错误)。

15.关于大语言模型的训练流程,以下哪项分阶段描述最准确?

A.数据收集与预处理→⼤规模预训练→指令微调与对⻬

B.在线推理→实时部署→⽤⼾体验评估

C.需求分析→产品设计→市场推⼴

D.只进⾏⼀次预训练即可,⽆需其他阶段

答案:A

解析:⼤语⾔模型的典型训练流程分为三个主要阶段:⾸先收集和预处理⼤规模⽂本数据,然后进⾏预训练学习通⽤语⾔表⽰,最后通过指令微调和⼈类对⻬使模型更好地服从⼈类意图。B选项描述的是部署阶段,C选项是产品开发流程,D选项过于简化。

16.除了无害性、有用性和诚实性,人类对齐还可能包含哪些重要标准?

A.语⾔表达的准确性和⽂化适应性

B.符合特定社会背景下的道德规范

C.尊重⽤⼾隐私和数据安全

D.其它所有选项

答案:D

解析:⼈类对⻬是⼀个多维度的概念,除了基本的⽆害性、有⽤性和诚实性(3H原则),还包括语⾔和⽂化适应性、道德规范、隐私保护等多个⽅⾯。不同的应⽤场景和⽂化背景可能对对⻬标准有不同要求,因此A、B、C都是重要的对⻬标准。

17.下列哪个项是大语言模型产⽣偏⻅的主要来源?

A.训练数据中特定群体的样本数量不⾜

B.模型算法的计算速度过快

C.硬件设备的存储容量限制

D.⽤⼾界⾯的设计不够美观

答案:A

解析:模型偏⻅主要源于训练数据的不平衡和偏⻅。如果训练数据中某些群体的样本不⾜或存在刻板印象,模型会学习并放⼤这些偏⻅。计算速度(B)、硬件容量(C)和界⾯设计(D)都与模型偏⻅的产⽣⽆直接关系。

18.按照语言模型的发展历程,以下四代模型的正确时间顺序是:

A.统计语⾔模型→预训练语⾔模型→神经⽹络语⾔模型→⼤语⾔模型

B.统计语⾔模型→神经⽹络语⾔模型→预训练语⾔模型→⼤语⾔模型

C.神经⽹络语⾔模型→统计语⾔模型→预训练语⾔模型→⼤语⾔模型

D.预训练语⾔模型→统计语⾔模型→神经⽹络语⾔模型→⼤语⾔模型

答案:B

解析:语⾔模型的发展经历了四个主要阶段:最早的统计语⾔模型(如N-gram)→基于神经⽹络的语⾔模型(如RNN、LSTM)→预训练语⾔模型(如BERT、GPT)→⼤规模预训练的⼤语⾔模型(如GPT-3/4、ChatGPT)。这个发展顺序反映了技术的逐步演进。

19.关于贪心搜索(GreedySearch)和束搜索(BeamSearch)这两种解码策略,以下描述正确的是:

A.贪⼼搜索在每⼀步选择概率最⾼的词元,计算效率⾼但可能错过全局最优解

B.束搜索的束宽(BeamWidth)越⼤,⽣成结果⼀定越好

C.贪⼼搜索等同于束宽为0的束搜索

D.束搜索的计算复杂度与贪⼼搜索完全相同

答案:A

解析:贪⼼搜索每步选择最优词元,速度快但可能陷⼊局部最优。束搜索保留多个候选路径来寻找更好的全局解。束宽越⼤计算成本越⾼,且不保证结果更好(B错误);贪⼼搜索相当于束宽为1的束搜索(C错误);束搜索的计算复杂度远⾼于贪⼼搜索(D错误)。

20.关于过拟合(Overfitting)现象,以下描述正确的是?

A.模型在训练集和测试集上表现都很好

B.模型过于简单,⽆法捕捉数据特征

C.模型在训练集上表现很好,但在测试集上表现差

D.模型参数数量过少导致性能下降

答案:C

解析:过拟合是指模型过度学习了训练数据的细节和噪声,导致在训练集上表现优异,但在未⻅过的测试集上泛化能⼒差。A选项描述的是理想情况,B和D选项描述的是⽋拟合(Underfitting)现象。

编程题1

Qwen2.5-VL是多模态大语言模型(Vision-Language Model, VLM),能够同时处理图像与文本输入 ,实现图文问答与视觉描述等任务。以下代码演示了使用Qwen2.5-VL-7B-Instruct模型,对输入图像进行分析并生成文本回答。请阅读以下代码,并根据描述完成空缺部分。

import torch
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from PIL import Image
model_name = "Qwen/Qwen2.5-VL-7B-Instruct"
# 1) 加载处理器与模型
processor = ____[1]____
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
  model_name,
  device_map="auto",
  torch_dtype=torch.bfloat16,
  trust_remote_code=True
)
# 2) 读取输⼊图像
image = ____[2]____
# 3) 构建多模态输⼊提⽰
messages = [
  {
    "role": "user",
    "content": [
      {"type": "image", "image": image},
      {"type": "text", "text": "请描述图⽚中的主要内容。"}
    ]
  }
]
text = ____[3]____
inputs = processor(text=[text], images=[image],
return_tensors="pt").to(model.device)
# 4) 模型推理⽣成回答
model = model.eval()
with ____[4]____:
  output_ids = model.generate(
    **inputs,
    max_new_tokens=128,
    temperature=0.7,
  )
  generated_ids = ____[5]____
  answer = processor.tokenizer.batch_decode(generated_ids,skip_special_tokens=True)[0]
  print("模型回答:", answer)

[1]Qwen2.5-VL模型依赖自定义多模态处理逻辑,需启⽤remotecode。请选择⼀种能正确加载该模型处理器的方式:

A.AutoProcessor.from_pretrained(model_name)

B.AutoProcessor.from_pretrained(model_name, trust_remote_code=True)

C.AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

D.Qwen2_5_VLProcessor.from_pretrained(model_name)

答案:B

解析:Qwen2.5-VL是多模态模型,需要使⽤AutoProcessor 来同时处理图像和⽂本(C选项的AutoTokenizer 只能处理⽂本)。由于模型使⽤了⾃定义的处理逻辑,必须设置trust_remote_code=True来允许加载远程代码(A选项缺少此参数会失败)。D选项的专⽤处理器类名不正确。

[2]输⼊图像应以PIL.Image对象的RGB格式提供给processor。请选择正确的实现方式:

A.Image.open("image.jpg").convert("RGB")

B.cv2.cvtColor(cv2.imread("image.jpg"), cv2.COLOR_BGR2RGB)

C.np.array(Image.open("image.jpg").convert("RGB"))

D.transforms.ToTensor()(Image.open("image.jpg").convert("RGB"))

答案:A

解析:Qwen2.5-VL的processor期望接收PIL.Image对象。A选项直接返回PIL.Image对象并转换为RGB格式,是最直接正确的⽅式。B选项返回numpy数组⽽⾮PIL.Image对象;C选项同样转换为了numpy数组;D选项返回的是PyTorch张量。虽然processor内部可能会处理这些格式,但直接使用PIL.Image对象是最标准的做法。

[3]对于对话式多模态模型,需要使用chat template格式化输⼊。请选择正确的实现方式:

A.processor.format_messages(messages)

B.processor.apply_chat_template(messages, tokenize=False,add_generation_prompt=True)

C.processor.tokenize(messages,add_special_tokens=True)

D.json.dumps(messages)

答案:B

解析:apply_chat_template 是Hugging Face transformers库中⽤于将对话消息格式化为模型所需格式的标准⽅法。参数tokenize=False 表⽰只返回格式化后的⽂本⽽不进⾏分词,add_generation_prompt=True会添加⽣成提⽰符以引导模型开始回答。A选项的⽅法不存在;C选项是分词⽅法,不处理对话格式;D选项只是简单的JSON序列化,不会应⽤模型特定的对话模板。

[4]推理时应使用专用上下⽂管理器以禁用梯度计算并优化性能。请选择最适合推理的方式:

A.torch.enable_grad(False)

B.torch.set_grad_enabled(False)

C.torch.autograd.set_detect_anomaly(False)

D.torch.inference_mode()

答案:D

解析:torch.inference_mode() 是PyTorch推荐⽤于推理的上下⽂管理器,它不仅禁⽤梯度计算,还会禁⽤⾃动求导引擎以获得更好的性能。相⽐ torch.no_grad(),它的性能优化更彻底。A选项不是有效的PyTorch API;B选项虽然可以禁⽤梯度,但不是上下⽂管理器且性能优化不如inference_mode() ;C选项⽤于调试异常检测,与推理优化⽆关。

[5]模型输出包含输入和生成部分,需要提取仅新生成的token。请选择正确的实现方式:

A.output_ids[inputs['input_ids'].shape[0]:]

B.output_ids.squeeze()

C.output_ids[:, inputs['input_ids'].shape[1]:]

D.output_ids[:, -128:]

答案:C

解析:⽣成式模型的输出包含完整的序列(输⼊+⽣成的内容)。output_ids的形状是[batch_size, total_length],我们需要从第⼆个维度(序列⻓度维度)切⽚,去掉输⼊部分。inputs['input_ids'].shape[1] 获取输⼊序列的⻓度,output_ids[:,inputs['input_ids'].shape[1]:] 从该位置开始切⽚,得到新⽣成的token。A选项在错误的维度切⽚;B选项只是去除维度,不提取新token;D选项假设固定⽣成128个token,不够灵活且可能不准确。

编程题2

在大语言模型的实际部署中,推理阶段通常需要在保证稳定性、时延与显存效率之间取得平衡。常⻅策略包括:

• 将模型切换至推理模式以禁用Dropout;

• 在推理时关闭梯度计算以减少显存占⽤;

• 通过温度采样(TemperatureSampling)或核采样(Top-pSampling)控制⽣成的多样性。

以下示例基于Qwen2.5-7B模型,实现了推理函数deploy_generate,演示如何完成多轮增量文本生成与结果解码。请阅读以下代码,并在[1]⾄[5]处选择合适选项填入。​​​​​​​

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# === 模型路径 ===
model_name = "Qwen/Qwen2.5-7B"
# === 准备模型与分词器 ===
tokenizer = ____[1]____
model = ____[2]____
# === 推理函数(deploy_generate) ===
def deploy_generate(model, tokenizer, prompts, max_new_tokens=64,
temperature=0.8, eos_id=None, device="cuda"):
  # 0)模型切换为推理模式
  model = ____[3]____
 
  # 1) Tokenize 输⼊
  inputs = tokenizer(prompts, return_tensors="pt", padding=True)
  tokens = inputs["input_ids"].to(device)
  batch_size = tokens.size(0)
  # 2)预热:完整提⽰构建 KV 缓存并得到⾸个 logits
  with torch.inference_mode():
    prime_logits = model(tokens).logits[:, -1, :] # 取最后⼀步的 logits
  start_pos = tokens.size(1)
  generated = []
  finished = torch.zeros(batch_size, dtype=torch.bool, device=device)
  # 3)增量⽣成循环
  with torch.inference_mode():
    logits = prime_logits
    for step in range(max_new_tokens):
      # 温度缩放与softmax
      probs = ____[4]____
      next_token = torch.multinomial(probs, num_samples=1) # 采样⼀个token
      # 拼接⽣成序列
      tokens = torch.cat([tokens, next_token], dim=1)
      generated.append(next_token)
      # 判断是否结束
      if eos_id is not None:
        finished |= (next_token.squeeze(1) == eos_id)
        if torch.all(finished):
          break
     
      # 增量步(此处使⽤简化形式重新计算logits)
      logits = model(tokens).logits[:, -1, :]
      start_pos += 1
  # 4)拼接新增 tokens 并解码
  if len(generated) > 0:
    new_tokens = torch.cat(generated, dim=1)
  else:
    new_tokens = torch.empty(batch_size, 0, dtype=torch.long,device=device)
  texts = []
  for i in range(batch_size):
    texts.append(____[5]____)
  return texts
if __name__ == "__main__":
  prompts = [
    "介绍⼀下西安的特⾊美⻝。",
    "请写⼀⾸关于秋天的短诗。"
  ]
  results = deploy_generate(model, tokenizer, prompts, max_new_tokens=50)
  for i, res in enumerate(results):
    print(f"\nPrompt {i+1}: {prompts[i]}")
    print("Model output:", res)

[1]Qwen2.5模型需要加载支持自定义代码的分词器。请选择正确的加载方式:

A.AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

B.AutoTokenizer.load(model_name)

C.AutoProcessor.from_pretrained(model_name)

D.AutoTokenizer(model_name)

答案:A

解析:Qwen2.5模型使⽤了⾃定义的分词逻辑,必须通过

AutoTokenizer.from_pretrained()⽅法加载,并设置trust_remote_code=True以允许执⾏远程代码。B选项的load()⽅法不存在;C选项的AutoProcessor⽤于多模态模型;D选项直接实例化类的⽅式不正确。

[2]为优化推理效率,需要自动分配GPU设备并使用半精度格式以节省显存。请选择正确的模型加载方式:

A.AutoModelForCausalLM.from_pretrained(model_name, device_map="auto",trust_remote_code=True)

B.AutoModelForSeq2SeqLM.from_pretrained(model_name, device_map="auto",

torch_dtype=torch.float16, trust_remote_code=True)

C.AutoModelForCausalLM.load(model_name, device_map="auto",torch_dtype=torch.float16, trust_remote_code=True)

D.AutoModelForCausalLM.from_pretrained(model_name, device_map="auto",torch_dtype=torch.float16, trust_remote_code=True)

答案:D

解析:Qwen2.5是因果语⾔模型(⾃回归⽣成),需要使⽤AutoModelForCausalLM(B选项的AutoModelForSeq2SeqLM⽤于编码器-解码器架构如T5)。完整配置包括:device_map="auto"⾃动分配GPU设备,torch_dtype=torch.float16使⽤半精度节省显存,trust_remote_code=True 允许⾃定义代码。C选项的load()⽅法不存在;A选项缺少半精度配置。

[3]推理前需要将模型移至目标设备并切换到评估模式以禁用Dropout等训练行为。请选择正确的实现方式:

A.model.train()

B.model.to(device).eval()

C.model.cuda()

D.model.bfloat16()

答案:B

解析:推理时需要两步操作:model.to(device)将模型移⾄指定设备(如GPU),model.eval()切换到评估模式,禁⽤Dropout、BatchNorm等训练特有的⾏为。这两个操作可以链式调⽤。A选项的train() 是训练模式,与需求相反;C选项只移动到CUDA设备但未切换评估模式;D选项是数据类型转换,不是模式切换。

[4]需要对logits应用温度缩放并通过softmax转换为概率分布以控制生成多样性。请选择正确的实现方式:

A.torch.softmax(logits / temperature, dim=-1)

B.torch.softmax(logits * temperature, dim=0)

C.torch.sigmoid(logits)

D.torch.softmax(logits, dim=-2)

答案:A

解析:温度采样通过logits / temperature进⾏缩放来控制⽣成的多样性:temperature>1使分布更平滑(更随机),temperature<1使分布更尖锐(更确定)。然后在最后⼀个维度(词表维度)上应⽤softmax得到概率分布。B选项使⽤乘法且维度错误;C选项的sigmoid⽤于⼆分类,不适合多分类;D选项的维度-2不是词表维度。

[5]生成完成后需要将新增的token序列解码为可读文本。请选择正确的解码方式:

A.tokenizer.decode(new_tokens[i])

B.tokenizer.batch_decode(new_tokens, skip_special_tokens=True)

C.tokenizer.decode(new_tokens[i].tolist(), skip_special_tokens=True)

D.tokenizer.decode(tokens, skip_special_tokens=False)

答案:C

解析:在循环中逐个处理每个样本(通过索引i),需要使⽤tokenizer.decode()⽽⾮批量解码。输⼊必须是Python列表或⼀维张量,因此需要.tolist() 转换;skip_special_tokens=True移除特殊token(如<pad> , </s>等)使输出更清晰。A选项缺少tolist() 和参数;B选项是批量解码但代码在循环中;D选项解码了完整序列(包括输⼊)且保留特殊token。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐