junyangwang0410 / HaELM

An automatic MLLM hallucination detection framework
https://arxiv.org/abs/2308.15126
16 stars 0 forks source link

How to use HaELM to eval MLLM's hallucination, like LLaVA? #1

Open OliverLeeXZ opened 1 month ago

OliverLeeXZ commented 1 month ago

你好,我运行了inference.py这个文件,它的输出都是'yes' or 'no',文章中给的指标是F1 score等,如何计算出呢?看到prompt给的是 prompt += "\nIs our caption accurate?\n",所以是不是理解为accuracy =(yes)/(yes+no)?并且是否可以提供py文件,以便我们评测更多的MLLM模型而不是只能使用mplug.json?

junyangwang0410 commented 1 month ago

你好,我运行了inference.py这个文件,它的输出都是'yes' or 'no',文章中给的指标是F1 score等,如何计算出呢?看到prompt给的是 prompt += "\nIs our caption accurate?\n",所以是不是理解为accuracy =(yes)/(yes+no)?并且是否可以提供py文件,以便我们评测更多的MLLM模型而不是只能使用mplug.json?

你好,感谢关注我们的工作。我们的测试集中同时包含有幻觉caption(caption中包含图片中没有的目标)和非幻觉caption。HaELM作为一个幻觉检测方法,我们期望的查准率是指HaELM认为是幻觉caption的情况下,有多少是真的幻觉caption,而召回率则是指测试集中所有幻觉caption中,有多少被检测出来。F1 score最终是计算的查准率和召回率的调和平均。如果你想测试自己的模型的幻觉水平,可以自己寻找测试集并使用被测试的模型生成caption,再通过HaELM计算accuracy =(yes)/(yes+no)来量化。

OliverLeeXZ commented 1 month ago

好的,请问mPLUG_caption.jsonl这个文件中的’reference caption‘这个内容是不是都是经过人工矫正过的,是不是可以认为是没有幻觉的caption?然后interfence.py中输出的yes就是认为无幻觉的和原caption保持一致,no的就是有幻觉的?我这个理解对吗?

junyangwang0410 commented 1 month ago

好的,请问mPLUG_caption.jsonl这个文件中的’reference caption‘这个内容是不是都是经过人工矫正过的,是不是可以认为是没有幻觉的caption?然后interfence.py中输出的yes就是认为无幻觉的和原caption保持一致,no的就是有幻觉的?我这个理解对吗?

是的,reference caption是来自COCO的人工标注,我们认为是完全没有幻觉的。如果输出no,则是模型认为被测试的caption跟reference caption是不匹配的,即存在幻觉