กรอบงานการตรวจจับอาการประสาทหลอนหลายรูปแบบที่ใช้งานง่ายสำหรับ MLLM
?การรับทราบ • ?เกณฑ์มาตรฐาน • ?การสาธิต • ?ภาพรวม • ?ModelZoo • ?การติดตั้ง • ⏩เริ่มต้นอย่างรวดเร็ว • การอ้างอิง
การดำเนินการบางส่วนของโครงการนี้ได้รับการช่วยเหลือและได้รับแรงบันดาลใจจากชุดเครื่องมือภาพหลอนที่เกี่ยวข้อง รวมถึง FactTool, Woodpecker และอื่นๆ พื้นที่เก็บข้อมูลนี้ยังได้รับประโยชน์จากโครงการสาธารณะจาก mPLUG-Owl, MiniGPT-4, LLaVA, GroundingDINO และ MAERec เราปฏิบัติตามใบอนุญาตเดียวกันสำหรับโอเพ่นซอร์ส และขอขอบคุณพวกเขาสำหรับการมีส่วนร่วมต่อชุมชน
EasyDetect เป็นแพ็คเกจที่เป็นระบบซึ่งเสนอเป็นเฟรมเวิร์กการตรวจจับอาการประสาทหลอนที่ใช้งานง่ายสำหรับ Multimodal Large Language Models (MLLM) เช่น GPT-4V, Gemini, LlaVA ในการทดลองวิจัยของคุณ
ข้อกำหนดเบื้องต้นสำหรับการตรวจจับแบบรวมศูนย์คือการจัดหมวดหมู่ที่สอดคล้องกันของประเภทหลักของภาพหลอนภายใน MLLM บทความของเราตรวจสอบอย่างผิวเผินเกี่ยวกับอนุกรมวิธานประสาทหลอนต่อไปนี้จากมุมมองที่เป็นหนึ่งเดียว:
รูปที่ 1: การตรวจจับภาพหลอนหลายรูปแบบแบบรวมศูนย์มีจุดมุ่งหมายเพื่อระบุและตรวจจับภาพหลอนที่ขัดแย้งกับกิริยาในระดับต่างๆ เช่น วัตถุ คุณลักษณะ และข้อความในฉาก รวมถึงภาพหลอนที่ขัดแย้งกับข้อเท็จจริงทั้งในภาพเป็นข้อความและข้อความเป็นภาพ รุ่น.
ภาพหลอน Modality ที่ขัดแย้งกัน บางครั้ง MLLM จะสร้างเอาต์พุตที่ขัดแย้งกับอินพุตจากวิธีการอื่นๆ ซึ่งนำไปสู่ปัญหาต่างๆ เช่น วัตถุ คุณลักษณะ หรือข้อความในฉากที่ไม่ถูกต้อง ตัวอย่างในรูปที่ (ก) ด้านบนประกอบด้วย MLLM ที่อธิบายเครื่องแบบของนักกีฬาอย่างไม่ถูกต้อง โดยแสดงให้เห็นความขัดแย้งในระดับแอตทริบิวต์เนื่องจากความสามารถที่จำกัดของ MLLM ในการจัดแนวข้อความและรูปภาพที่มีความละเอียด
ภาพหลอนที่ขัดแย้งกับข้อเท็จจริง ผลลัพธ์จาก MLLM อาจขัดแย้งกับความรู้ข้อเท็จจริงที่มีอยู่ โมเดลรูปภาพเป็นข้อความสามารถสร้างเรื่องราวที่เบี่ยงเบนไปจากเนื้อหาจริงโดยการผสมผสานข้อเท็จจริงที่ไม่เกี่ยวข้อง ในขณะที่โมเดลการแปลงข้อความเป็นรูปภาพอาจสร้างภาพที่ล้มเหลวในการสะท้อนความรู้ข้อเท็จจริงที่มีอยู่ในข้อความแจ้ง ความแตกต่างเหล่านี้เน้นย้ำถึงการต่อสู้ของ MLLM เพื่อรักษาความสอดคล้องของข้อเท็จจริง ซึ่งแสดงถึงความท้าทายที่สำคัญในโดเมน
การตรวจจับอาการประสาทหลอนหลายรูปแบบแบบรวมศูนย์จำเป็นต้องมีการตรวจสอบคู่ข้อความรูปภาพแต่ละคู่ a={v, x}
โดยที่ v
หมายถึงอินพุตภาพที่ให้กับ MLLM หรือเอาต์พุตภาพที่สังเคราะห์โดยมัน ในทำนองเดียวกัน x
หมายถึงการตอบกลับด้วยข้อความที่สร้างขึ้นของ MLLM โดยอิงตาม v
หรือการสืบค้นข้อความของผู้ใช้สำหรับการสังเคราะห์ v
ภายในงานนี้ x
แต่ละรายการอาจมีการอ้างสิทธิ์หลายรายการ โดยระบุเป็น a
เพื่อพิจารณาว่าเป็น "ภาพหลอน" หรือ "ไม่ใช่ภาพหลอน" โดยให้เหตุผลในการตัดสินตามคำจำกัดความที่ให้ไว้ของภาพหลอน การตรวจจับภาพหลอนด้วยข้อความจาก LLM แสดงถึงกรณีย่อยในการตั้งค่านี้ โดยที่ v
เป็นค่าว่าง
เพื่อพัฒนาวิถีการวิจัยนี้ เราขอแนะนำเกณฑ์มาตรฐานการประเมินเมตา MHaluBench ซึ่งครอบคลุมเนื้อหาจากการสร้างภาพเป็นข้อความและข้อความเป็นภาพ โดยมีจุดมุ่งหมายเพื่อประเมินความก้าวหน้าในเครื่องตรวจจับอาการประสาทหลอนหลายรูปแบบอย่างเข้มงวด รายละเอียดทางสถิติเพิ่มเติมเกี่ยวกับ MHaluBench มีอยู่ในรูปด้านล่าง
ตารางที่ 1: การเปรียบเทียบเกณฑ์มาตรฐานที่เกี่ยวข้องกับการตรวจสอบข้อเท็จจริงหรือการประเมินภาพหลอนที่มีอยู่ "ตรวจสอบ." บ่งชี้ถึงการตรวจสอบความสอดคล้องของข้อเท็จจริง "Eval" หมายถึงการประเมินภาพหลอนที่เกิดจาก LLM ที่แตกต่างกัน และการตอบสนองจะขึ้นอยู่กับ LLM ที่แตกต่างกันภายใต้การทดสอบ ในขณะที่ "Det" รวบรวมการประเมินความสามารถของเครื่องตรวจจับในการระบุภาพหลอน
รูปที่ 2: สถิติข้อมูลระดับการอ้างสิทธิ์ของ MHaluBench "IC" หมายถึงคำบรรยายภาพ และ "T2I" หมายถึงการสังเคราะห์ข้อความเป็นรูปภาพ ตามลำดับ
รูปที่ 3: การกระจายตัวของประเภทภาพหลอนภายในการอ้างสิทธิ์ที่มีป้ายกำกับภาพหลอนของ MHaluBench
ในการจัดการกับความท้าทายที่สำคัญในการตรวจจับอาการประสาทหลอน เราแนะนำกรอบงานแบบครบวงจรในรูปที่ 4 ที่จัดการกับการระบุอาการประสาทหลอนหลายรูปแบบอย่างเป็นระบบสำหรับงานทั้งแบบรูปภาพเป็นข้อความและข้อความเป็นรูปภาพ กรอบงานของเราใช้ประโยชน์จากจุดแข็งเฉพาะโดเมนของเครื่องมือต่างๆ เพื่อรวบรวมหลักฐานหลายรูปแบบเพื่อยืนยันอาการประสาทหลอนอย่างมีประสิทธิภาพ
รูปที่ 4: ภาพประกอบเฉพาะของ UniHD สำหรับการตรวจจับอาการประสาทหลอนหลายรูปแบบแบบครบวงจร
คุณสามารถดาวน์โหลด HalDet-LLaVA, 7b และ 13b ได้สองเวอร์ชันบนสามแพลตฟอร์ม: HuggingFace, ModelScope และ WiseModel
กอดใบหน้า | โมเดลสโคป | ปรีชาญาณรุ่น |
---|---|---|
ฮัลเดต-ลาวา-7b | ฮัลเดต-ลาวา-7b | ฮัลเดต-ลาวา-7b |
ฮัลเดต-ลาวา-13b | ฮัลเดต-ลาวา-13b | ฮัลเดต-ลาวา-13b |
ระดับการอ้างสิทธิ์เป็นผลจากชุดข้อมูลการตรวจสอบ
ประเภทงาน | แบบอย่าง | บัญชี | ค่าเฉลี่ยล่วงหน้า | เรียกคืนค่าเฉลี่ย | แมค.F1 |
รูปภาพเป็นข้อความ | ตรวจสอบตัวเอง 0shot (GPV-4V) | 75.09 | 74.94 | 75.19 | 74.97 |
ตรวจสอบตัวเอง 2shot (GPV-4V) | 79.25 | 79.02 | 79.16 | 79.08 | |
ฮัลเดต (LLAVA-7b) | 75.02 | 75.05 | 74.18 | 74.38 | |
ฮัลเดต (LLAVA-13b) | 78.16 | 78.18 | 77.48 | 77.69 | |
UniHD(GPT-4V) | 81.91 | 81.81 | 81.52 | 81.63 | |
UniHD(GPT-4o) | 86.08 | 85.89 | 86.07 | 85.96 | |
ข้อความเป็นรูปภาพ | ตรวจสอบตัวเอง 0shot (GPV-4V) | 76.20 | 79.31 | 75.99 | 75.45 |
ตรวจสอบตัวเอง 2shot (GPV-4V) | 80.76 | 81.16 | 80.69 | 80.67 | |
ฮัลเดต (LLAVA-7b) | 67.35 | 69.31 | 67.50 | 66.62 | |
ฮัลเดต (LLAVA-13b) | 74.74 | 76.68 | 74.88 | 74.34 | |
UniHD(GPT-4V) | 85.82 | 85.83 | 85.83 | 85.82 | |
UniHD(GPT-4o) | 89.29 | 89.28 | 89.28 | 89.28 |
หากต้องการดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับ HalDet-LLaVA และชุดข้อมูลรถไฟ โปรดดูที่ readme
การติดตั้งเพื่อการพัฒนาท้องถิ่น:
git clone https://github.com/zjunlp/EasyDetect.git
cd EasyDetect
pip install -r requirements.txt
การติดตั้งเครื่องมือ (GroundingDINO และ MAERec):
# install GroundingDINO
git clone https://github.com/IDEA-Research/GroundingDINO.git
cp -r GroundingDINO pipeline/GroundingDINO
cd pipeline/GroundingDINO/
pip install -e .
cd ..
# install MAERec
git clone https://github.com/Mountchicken/Union14M.git
cp -r Union14M/mmocr-dev-1.x pipeline/mmocr
cd pipeline/mmocr/
pip install -U openmim
mim install mmengine
mim install mmcv
mim install mmdet
pip install timm
pip install -r requirements/albu.txt
pip install -r requirements.txt
pip install -v -e .
cd ..
mkdir weights
cd weights
wget -q https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
wget https://download.openmmlab.com/mmocr/textdet/dbnetpp/dbnetpp_resnet50-oclip_fpnc_1200e_icdar2015/dbnetpp_resnet50-oclip_fpnc_1200e_icdar2015_20221101_124139-4ecb39ac.pth -O dbnetpp.pth
wget https://github.com/Mountchicken/Union14M/releases/download/Checkpoint/maerec_b_union14m.pth -O maerec_b.pth
cd ..
เรามีโค้ดตัวอย่างให้ผู้ใช้เริ่มต้นใช้งาน EasyDetect ได้อย่างรวดเร็ว
ผู้ใช้สามารถกำหนดค่าพารามิเตอร์ของ EasyDetect ในไฟล์ yaml ได้อย่างง่ายดาย หรือใช้พารามิเตอร์เริ่มต้นในไฟล์การกำหนดค่าที่เราจัดเตรียมไว้ให้ได้อย่างรวดเร็ว เส้นทางของไฟล์การกำหนดค่าคือ EasyDetect/pipeline/config/config.yaml
openai :
api_key : Input your openai api key
base_url : Input base_url, default is None
temperature : 0.2
max_tokens : 1024
tool :
detect :
groundingdino_config : the path of GroundingDINO_SwinT_OGC.py
model_path : the path of groundingdino_swint_ogc.pth
device : cuda:0
BOX_TRESHOLD : 0.35
TEXT_TRESHOLD : 0.25
AREA_THRESHOLD : 0.001
ocr :
dbnetpp_config : the path of dbnetpp_resnet50-oclip_fpnc_1200e_icdar2015.py
dbnetpp_path : the path of dbnetpp.pth
maerec_config : the path of maerec_b_union14m.py
maerec_path : the path of maerec_b.pth
device : cuda:0
content : word.number
cachefiles_path : the path of cache_files to save temp images
BOX_TRESHOLD : 0.2
TEXT_TRESHOLD : 0.25
google_serper :
serper_api_key : Input your serper api key
snippet_cnt : 10
prompts :
claim_generate : pipeline/prompts/claim_generate.yaml
query_generate : pipeline/prompts/query_generate.yaml
verify : pipeline/prompts/verify.yaml
รหัสตัวอย่าง
from pipeline . run_pipeline import *
pipeline = Pipeline ()
text = "The cafe in the image is named " Hauptbahnhof " "
image_path = "./examples/058214af21a03013.jpg"
type = "image-to-text"
response , claim_list = pipeline . run ( text = text , image_path = image_path , type = type )
print ( response )
print ( claim_list )
โปรดอ้างอิงพื้นที่เก็บข้อมูลของเราหากคุณใช้ EasyDetect ในงานของคุณ
@article { chen23factchd ,
author = { Xiang Chen and Duanzheng Song and Honghao Gui and Chengxi Wang and Ningyu Zhang and
Jiang Yong and Fei Huang and Chengfei Lv and Dan Zhang and Huajun Chen } ,
title = { FactCHD: Benchmarking Fact-Conflicting Hallucination Detection } ,
journal = { CoRR } ,
volume = { abs/2310.12086 } ,
year = { 2023 } ,
url = { https://doi.org/10.48550/arXiv.2310.12086 } ,
doi = { 10.48550/ARXIV.2310.12086 } ,
eprinttype = { arXiv } ,
eprint = { 2310.12086 } ,
biburl = { https://dblp.org/rec/journals/corr/abs-2310-12086.bib } ,
bibsource = { dblp computer science bibliography, https://dblp.org }
}
@inproceedings { chen-etal-2024-unified-hallucination ,
title = " Unified Hallucination Detection for Multimodal Large Language Models " ,
author = " Chen, Xiang and
Wang, Chenxi and
Xue, Yida and
Zhang, Ningyu and
Yang, Xiaoyan and
Li, Qiang and
Shen, Yue and
Liang, Lei and
Gu, Jinjie and
Chen, Huajun " ,
editor = " Ku, Lun-Wei and
Martins, Andre and
Srikumar, Vivek " ,
booktitle = " Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) " ,
month = aug,
year = " 2024 " ,
address = " Bangkok, Thailand " ,
publisher = " Association for Computational Linguistics " ,
url = " https://aclanthology.org/2024.acl-long.178 " ,
pages = " 3235--3252 " ,
}
เราจะเสนอการบำรุงรักษาระยะยาวเพื่อแก้ไขข้อบกพร่อง แก้ไขปัญหา และตอบสนองคำขอใหม่ ดังนั้นหากคุณมีปัญหาใด ๆ โปรดแจ้งปัญหาให้เราทราบ