项目介绍:Llama-3-Patronus-Lynx-8B-Instruct-v1.1
项目背景
Llama-3-Patronus-Lynx-8B-Instruct-v1.1是一个开源的幻想评估模型,旨在检测文本生成中的幻想成分。它由Patronus AI研发,并经过了精心的优化调整,基于Meta-Llama-3.1-8B-Instruct模型而精炼。主要使用的语言是英语,模型的主要应用场景包括处理与事实不符的文本生成内容。
数据集与训练
该模型的训练数据集包括了CovidQA、PubmedQA、DROP以及RAGTruth,这些数据中混合了人工标注和合成的数据。该模型支持的最大序列长度为128,000个token,这使得它能够很好地处理长文本。
使用指南
Llama-3-Patronus-Lynx-8B-Instruct-v1.1被设计用于在回忆生成(RAG)场景中检测幻想成分。提供文档、问题和答案后,模型能够评估答案是否忠实于所给的文档。
模型使用建议的提示格式如下:
PROMPT = """
您必须分析以下问题、文档和答案,并确定答案是否忠实于文档内容。答案不得提供超出文档所给予内容的新信息。答案也不能与文档所提供的信息相矛盾。严格按照以下格式输出您的最终判决:"PASS" 如果答案忠实于文档;"FAIL" 如果答案不忠实于文档。请展示您的推理。
--
QUESTION (这不算作背景信息):
{question}
--
DOCUMENT:
{context}
--
ANSWER:
{answer}
--
您的输出应为JSON格式,其键为"REASONING"和"SCORE":
{{"REASONING": <您的推理作为要点>, "SCORE": <您的最终评分>}}
"""
使用者可以使用这些提示轻松地执行模型推理,模型将根据答案是否忠实于文档输出"PASS"或"FAIL"的评价,并附加推理过程。
推理方法
可以通过使用Hugging Face的pipeline
工具来进行推理:
model_name = 'PatronusAI/Llama-3-Patronus-Lynx-8B-Instruct-v1.1'
pipe = pipeline(
"text-generation",
model=model_name,
max_new_tokens=600,
device="cuda",
return_full_text=False
)
messages = [
{"role": "user", "content": prompt},
]
result = pipe(messages)
print(result[0]['generated_text'])
需要注意的是,由于训练是基于对话格式的,必须将提示作为用户消息传递。
模型评估
Llama-3-Patronus-Lynx-8B-Instruct-v1.1在多种数据集上进行了评估,其中包括PatronusAI/HaluBench。评估结果表明,该模型在多个基准测试上表现出色,特别是在检测CovidQA和PubmedQA数据集的幻想成分上,分别达到了96.9%和88.9%的精确率。
许可与引用
该模型遵循CC BY-NC-4.0许可证。如果您使用该模型,请引用以下论文:
@article{ravi2024lynx,
title={Lynx: An Open Source Hallucination Evaluation Model},
author={Ravi, Selvan Sunitha and Mielczarek, Bartosz and Kannappan, Anand and Kiela, Douwe and Qian, Rebecca},
journal={arXiv preprint arXiv:2407.08488},
year={2024}
}
联系方式
有关更多信息或技术支持,请联系以下人员: