如何调整LLM以给出完整且详细的答案

问题描述 投票:0回答:1

我正在构建一个应用程序,您可以在其中从模型列表中选择一个开源模型并询问一般问题。我正在使用 searchxng 在网络上搜索上下文。虽然所有这些都运行良好并且我能够得到结果,但我无法得到详细或完整的答案。例如,如果我问 2007 年 f1 世界冠军是谁,我得到的答案是莱科宁。

我希望我的答案结构正确。我理想的答案是“2007 年 F1 世界冠军是基米·莱科宁”。

我以这种方式使用拥抱面变压器管道:

model_name = question.model
question_answerer = pipeline(
"question-answering",
model=AutoModelForQuestionAnswering.from_pretrained(model_name),
tokenizer=AutoTokenizer.from_pretrained(model_name),
device=0  # Use GPU if available
)

response = question_answerer(question=question.question, context=summarized_content, batch_size=16)

return response

目前,我正在使用 deepset/roberta-base-squad2 模型

我尝试向模型发送大量上下文,希望得到详细的答案。我也尝试了很多不同的模型,但得到了相似的结果

python machine-learning huggingface-transformers large-language-model nlp-question-answering
1个回答
0
投票

您正在使用

deepset/roberta-base-squad2
,它显然是在
squad_v2
数据集上进行训练的。如果你看一下这个数据集,你会发现所有的答案都很短,因此无论你的上下文有多长,答案总是很短的。在这种情况下,使用其他模型(例如 T5 系列、BART 或在此数据集上训练的任何模型)将得到简短的答案。您应该寻找在具有较长答案的数据集上训练的模型。以下是一些需要考虑的事项:

  1. Eli5:https://yjernite.github.io/lfqa.html# Generation
  2. CoQA:https://stanfordnlp.github.io/coqa/
  3. QuAC:https://quac.ai/

您可以在 HuggingFace 上搜索上述任一数据集,并会找到在这些数据集上训练的模型。

© www.soinside.com 2019 - 2024. All rights reserved.