微调Huggingface RobertaForQuestionAnswering的输入输出参数含义疑问
RobertaForQuestionAnswering参数含义解释
输入参数(仅微调训练阶段需要传入)
start_positions:人工标注的真值标签,代表答案片段在整个输入token序列中的起始位置索引,索引和tokenizer(question, text)返回的input_ids序列一一对应。训练阶段模型会用该标签计算起始位置预测的交叉熵损失。end_positions:和start_positions配套的真值标签,代表答案片段在整个输入token序列中的结束位置索引。你示例代码中传入的start_positions=1、end_positions=3,就表示本次训练样本的正确答案,是输入token序列中索引1到索引3的token组成的片段。
输出变量(训练/推理阶段都会返回)
start_scores(也叫start_logits):模型对输入序列每个token预测的「作为答案起始位置」的打分,是未经过softmax归一化的logits值,维度为(batch_size, 序列长度)。要得到每个位置是答案起点的概率,对该张量在序列长度维度做softmax运算即可。end_scores(也叫end_logits):和start_scores对应,是模型对输入序列每个token预测的「作为答案结束位置」的未归一化打分,维度和start_scores完全一致。推理时取起始概率最高的位置、以及结束位置不早于起始位置且概率最高的位置,二者之间的token拼接起来就是模型输出的答案。
补充说明:如果是推理预测阶段,不需要传入
start_positions和end_positions两个参数,直接用输出的两个打分解码答案即可。
内容的提问来源于stack exchange,提问作者tarang ranpara
相关产品推荐
相关产品推荐

